diff options
| author | Axel Lin <axel.lin@ingics.com> | 2014-06-16 10:12:25 +0800 | 
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2014-06-27 12:51:05 +0100 | 
| commit | d7da152c52c15b41e4b4c9a9319d844a890ecb09 (patch) | |
| tree | caf65767b7de98f1f1165eef2af9cad2072f1c38 | |
| parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) | |
regulator: max8952: Convert to devm_gpio_request_one()
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
| -rw-r--r-- | drivers/regulator/max8952.c | 34 | 
1 files changed, 10 insertions, 24 deletions
| diff --git a/drivers/regulator/max8952.c b/drivers/regulator/max8952.c index c2792f0271ab..f7f9efcfedb7 100644 --- a/drivers/regulator/max8952.c +++ b/drivers/regulator/max8952.c @@ -229,7 +229,6 @@ static int max8952_pmic_probe(struct i2c_client *client,  		config.ena_gpio_flags |= GPIOF_OUT_INIT_HIGH;  	rdev = devm_regulator_register(&client->dev, ®ulator, &config); -  	if (IS_ERR(rdev)) {  		ret = PTR_ERR(rdev);  		dev_err(&client->dev, "regulator init failed (%d)\n", ret); @@ -241,21 +240,19 @@ static int max8952_pmic_probe(struct i2c_client *client,  	if (gpio_is_valid(pdata->gpio_vid0) &&  			gpio_is_valid(pdata->gpio_vid1)) { -		if (!gpio_request(pdata->gpio_vid0, "MAX8952 VID0")) -			gpio_direction_output(pdata->gpio_vid0, -					(pdata->default_mode) & 0x1); -		else +		unsigned long gpio_flags; + +		gpio_flags = max8952->vid0 ? +			     GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW; +		if (devm_gpio_request_one(&client->dev, pdata->gpio_vid0, +					  gpio_flags, "MAX8952 VID0"))  			err = 1; -		if (!gpio_request(pdata->gpio_vid1, "MAX8952 VID1")) -			gpio_direction_output(pdata->gpio_vid1, -				(pdata->default_mode >> 1) & 0x1); -		else { -			if (!err) -				gpio_free(pdata->gpio_vid0); +		gpio_flags = max8952->vid1 ? +			     GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW; +		if (devm_gpio_request_one(&client->dev, pdata->gpio_vid1, +					  gpio_flags, "MAX8952 VID1"))  			err = 2; -		} -  	} else  		err = 3; @@ -314,16 +311,6 @@ static int max8952_pmic_probe(struct i2c_client *client,  	return 0;  } -static int max8952_pmic_remove(struct i2c_client *client) -{ -	struct max8952_data *max8952 = i2c_get_clientdata(client); -	struct max8952_platform_data *pdata = max8952->pdata; - -	gpio_free(pdata->gpio_vid0); -	gpio_free(pdata->gpio_vid1); -	return 0; -} -  static const struct i2c_device_id max8952_ids[] = {  	{ "max8952", 0 },  	{ }, @@ -332,7 +319,6 @@ MODULE_DEVICE_TABLE(i2c, max8952_ids);  static struct i2c_driver max8952_pmic_driver = {  	.probe		= max8952_pmic_probe, -	.remove		= max8952_pmic_remove,  	.driver		= {  		.name	= "max8952",  		.of_match_table = of_match_ptr(max8952_dt_match), | 
