Currently we handle both old style GPIO and new style GPIOD differently
simplify this slightly by converting the old style GPIO to a GPIOD and
just using that from then on.

Signed-off-by: Charles Keepax <ckee...@opensource.wolfsonmicro.com>
---
 drivers/extcon/extcon-arizona.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 56e6c4c..aeab47d 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -236,12 +236,8 @@ static void arizona_extcon_set_mode(struct 
arizona_extcon_info *info, int mode)
 
        mode %= info->micd_num_modes;
 
-       if (arizona->pdata.micd_pol_gpio > 0)
-               gpio_set_value_cansleep(arizona->pdata.micd_pol_gpio,
-                                       info->micd_modes[mode].gpio);
-       else
-               gpiod_set_value_cansleep(info->micd_pol_gpio,
-                                        info->micd_modes[mode].gpio);
+       gpiod_set_value_cansleep(info->micd_pol_gpio,
+                                info->micd_modes[mode].gpio);
 
        regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
                           ARIZONA_MICD_BIAS_SRC_MASK,
@@ -1410,21 +1406,21 @@ static int arizona_extcon_probe(struct platform_device 
*pdev)
                regmap_update_bits(arizona->regmap, ARIZONA_GP_SWITCH_1,
                                ARIZONA_SW1_MODE_MASK, arizona->pdata.gpsw);
 
-       if (arizona->pdata.micd_pol_gpio > 0) {
+       if (pdata->micd_pol_gpio > 0) {
                if (info->micd_modes[0].gpio)
                        mode = GPIOF_OUT_INIT_HIGH;
                else
                        mode = GPIOF_OUT_INIT_LOW;
 
-               ret = devm_gpio_request_one(&pdev->dev,
-                                           arizona->pdata.micd_pol_gpio,
-                                           mode,
-                                           "MICD polarity");
+               ret = devm_gpio_request_one(&pdev->dev, pdata->micd_pol_gpio,
+                                           mode, "MICD polarity");
                if (ret != 0) {
                        dev_err(arizona->dev, "Failed to request GPIO%d: %d\n",
-                               arizona->pdata.micd_pol_gpio, ret);
+                               pdata->micd_pol_gpio, ret);
                        goto err_register;
                }
+
+               info->micd_pol_gpio = gpio_to_desc(pdata->micd_pol_gpio);
        } else {
                if (info->micd_modes[0].gpio)
                        mode = GPIOD_OUT_HIGH;
-- 
2.1.4

Reply via email to