Commit 8246b5b0 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-next

parents 36adf151 d06080cf
...@@ -398,7 +398,8 @@ static int tpa6130a2_probe(struct i2c_client *client, ...@@ -398,7 +398,8 @@ static int tpa6130a2_probe(struct i2c_client *client,
TPA6130A2_MUTE_L; TPA6130A2_MUTE_L;
if (data->power_gpio >= 0) { if (data->power_gpio >= 0) {
ret = gpio_request(data->power_gpio, "tpa6130a2 enable"); ret = devm_gpio_request(dev, data->power_gpio,
"tpa6130a2 enable");
if (ret < 0) { if (ret < 0) {
dev_err(dev, "Failed to request power GPIO (%d)\n", dev_err(dev, "Failed to request power GPIO (%d)\n",
data->power_gpio); data->power_gpio);
...@@ -419,16 +420,16 @@ static int tpa6130a2_probe(struct i2c_client *client, ...@@ -419,16 +420,16 @@ static int tpa6130a2_probe(struct i2c_client *client,
break; break;
} }
data->supply = regulator_get(dev, regulator); data->supply = devm_regulator_get(dev, regulator);
if (IS_ERR(data->supply)) { if (IS_ERR(data->supply)) {
ret = PTR_ERR(data->supply); ret = PTR_ERR(data->supply);
dev_err(dev, "Failed to request supply: %d\n", ret); dev_err(dev, "Failed to request supply: %d\n", ret);
goto err_regulator; goto err_gpio;
} }
ret = tpa6130a2_power(1); ret = tpa6130a2_power(1);
if (ret != 0) if (ret != 0)
goto err_power; goto err_gpio;
/* Read version */ /* Read version */
...@@ -440,15 +441,10 @@ static int tpa6130a2_probe(struct i2c_client *client, ...@@ -440,15 +441,10 @@ static int tpa6130a2_probe(struct i2c_client *client,
/* Disable the chip */ /* Disable the chip */
ret = tpa6130a2_power(0); ret = tpa6130a2_power(0);
if (ret != 0) if (ret != 0)
goto err_power; goto err_gpio;
return 0; return 0;
err_power:
regulator_put(data->supply);
err_regulator:
if (data->power_gpio >= 0)
gpio_free(data->power_gpio);
err_gpio: err_gpio:
tpa6130a2_client = NULL; tpa6130a2_client = NULL;
...@@ -457,14 +453,7 @@ static int tpa6130a2_probe(struct i2c_client *client, ...@@ -457,14 +453,7 @@ static int tpa6130a2_probe(struct i2c_client *client,
static int tpa6130a2_remove(struct i2c_client *client) static int tpa6130a2_remove(struct i2c_client *client)
{ {
struct tpa6130a2_data *data = i2c_get_clientdata(client);
tpa6130a2_power(0); tpa6130a2_power(0);
if (data->power_gpio >= 0)
gpio_free(data->power_gpio);
regulator_put(data->supply);
tpa6130a2_client = NULL; tpa6130a2_client = NULL;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment