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: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
This commit is contained in:
Родитель
38b1a3c619
Коммит
2da3db7f49
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче