summaryrefslogtreecommitdiffstats
path: root/drivers/extcon
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@ew.tq-group.com>2021-11-23 15:53:01 +0100
committerChanwoo Choi <cw00.choi@samsung.com>2021-12-24 07:27:52 +0100
commit2da3db7f498d8b6137566b4869d289938b69de13 (patch)
treebea5a047d1c5ecf7c14566e58faf0b137ed59eeb /drivers/extcon
parentextcon: usb-gpio: fix a non-kernel-doc comment (diff)
downloadlinux-2da3db7f498d8b6137566b4869d289938b69de13.tar.xz
linux-2da3db7f498d8b6137566b4869d289938b69de13.zip
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>
Diffstat (limited to 'drivers/extcon')
-rw-r--r--drivers/extcon/extcon.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index e7a9561a826d..a09e704fd0fa 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -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)