Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

extcon: arizona: Simplify micd_pol_gpio handling

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 <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>

authored by

Charles Keepax and committed by
Chanwoo Choi
6c467a10 a121103c

+8 -12
+8 -12
drivers/extcon/extcon-arizona.c
··· 236 236 237 237 mode %= info->micd_num_modes; 238 238 239 - if (arizona->pdata.micd_pol_gpio > 0) 240 - gpio_set_value_cansleep(arizona->pdata.micd_pol_gpio, 241 - info->micd_modes[mode].gpio); 242 - else 243 - gpiod_set_value_cansleep(info->micd_pol_gpio, 244 - info->micd_modes[mode].gpio); 239 + gpiod_set_value_cansleep(info->micd_pol_gpio, 240 + info->micd_modes[mode].gpio); 245 241 246 242 regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1, 247 243 ARIZONA_MICD_BIAS_SRC_MASK, ··· 1408 1412 regmap_update_bits(arizona->regmap, ARIZONA_GP_SWITCH_1, 1409 1413 ARIZONA_SW1_MODE_MASK, arizona->pdata.gpsw); 1410 1414 1411 - if (arizona->pdata.micd_pol_gpio > 0) { 1415 + if (pdata->micd_pol_gpio > 0) { 1412 1416 if (info->micd_modes[0].gpio) 1413 1417 mode = GPIOF_OUT_INIT_HIGH; 1414 1418 else 1415 1419 mode = GPIOF_OUT_INIT_LOW; 1416 1420 1417 - ret = devm_gpio_request_one(&pdev->dev, 1418 - arizona->pdata.micd_pol_gpio, 1419 - mode, 1420 - "MICD polarity"); 1421 + ret = devm_gpio_request_one(&pdev->dev, pdata->micd_pol_gpio, 1422 + mode, "MICD polarity"); 1421 1423 if (ret != 0) { 1422 1424 dev_err(arizona->dev, "Failed to request GPIO%d: %d\n", 1423 - arizona->pdata.micd_pol_gpio, ret); 1425 + pdata->micd_pol_gpio, ret); 1424 1426 goto err_register; 1425 1427 } 1428 + 1429 + info->micd_pol_gpio = gpio_to_desc(pdata->micd_pol_gpio); 1426 1430 } else { 1427 1431 if (info->micd_modes[0].gpio) 1428 1432 mode = GPIOD_OUT_HIGH;