diff options
Diffstat (limited to 'drivers/extcon/extcon-arizona.c')
| -rw-r--r-- | drivers/extcon/extcon-arizona.c | 20 | 
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c index d836d4ce5ee4..ed78b7c26627 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, @@ -1412,21 +1408,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;  | 
