Commit 2da3db7f authored by Alexander Stein's avatar Alexander Stein Committed by Chanwoo Choi
Browse files

extcon: Deduplicate code in extcon_set_state_sync()



Finding the cable index and checking for changed status is also done
in extcon_set_state(). So calling extcon_set_state_sync() will do these
checks twice. Remove them and use these checks from extcon_set_state().

Signed-off-by: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
parent 38b1a3c6
Loading
Loading
Loading
Loading
+1 −13
Original line number Diff line number Diff line
@@ -576,19 +576,7 @@ EXPORT_SYMBOL_GPL(extcon_set_state);
 */
int extcon_set_state_sync(struct extcon_dev *edev, unsigned int id, bool state)
{
	int ret, index;
	unsigned long flags;

	index = find_cable_index_by_id(edev, id);
	if (index < 0)
		return index;

	/* Check whether the external connector's state is changed. */
	spin_lock_irqsave(&edev->lock, flags);
	ret = is_extcon_changed(edev, index, state);
	spin_unlock_irqrestore(&edev->lock, flags);
	if (!ret)
		return 0;
	int ret;

	ret = extcon_set_state(edev, id, state);
	if (ret < 0)