From: Chanwoo Choi <[email protected]>

This patch remvoes the usage of extcon_update_state() because
the extcon_update_state() use directly the bit masking calculation
to change the state of external connector without the unique id of
external connector. It makes the code diffcult to read it.
So, this patch uses the extcon_set_cable_state_() instead.

Signed-off-by: Chanwoo Choi <[email protected]>
Acked-by: Charles Keepax <[email protected]>
Signed-off-by: Kishon Vijay Abraham I <[email protected]>
---
 drivers/extcon/extcon-arizona.c |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index be4d93d..493bd9f 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -1149,10 +1149,13 @@ static irqreturn_t arizona_jackdet(int irq, void *data)
                                         info->micd_ranges[i].key, 0);
                input_sync(info->input);
 
-               ret = extcon_update_state(info->edev, 0xffffffff, 0);
-               if (ret != 0)
-                       dev_err(arizona->dev, "Removal report failed: %d\n",
-                               ret);
+               for (i = 0; i < ARRAY_SIZE(arizona_cable) - 1; i++) {
+                       ret = extcon_set_cable_state_(info->edev,
+                                       arizona_cable[i], false);
+                       if (ret != 0)
+                               dev_err(arizona->dev,
+                                       "Removal report failed: %d\n", ret);
+               }
 
                regmap_update_bits(arizona->regmap,
                                   ARIZONA_JACK_DETECT_DEBOUNCE,
-- 
1.7.9.5

Reply via email to