Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68020db8 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown
Browse files

ASoC: uda1380: Convert to gpio_request_one()



Using gpio_request_one can make the error handling simpler.

Also remove a redundant "Failed to issue reset" error message.
We already show the error message in uda1380_reset() error path.

Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent aec60f51
Loading
Loading
Loading
Loading
+8 −20
Original line number Diff line number Diff line
@@ -732,27 +732,21 @@ static int uda1380_probe(struct snd_soc_codec *codec)
		return -EINVAL;

	if (gpio_is_valid(pdata->gpio_reset)) {
		ret = gpio_request(pdata->gpio_reset, "uda1380 reset");
		ret = gpio_request_one(pdata->gpio_reset, GPIOF_OUT_INIT_LOW,
				       "uda1380 reset");
		if (ret)
			goto err_out;
		ret = gpio_direction_output(pdata->gpio_reset, 0);
		if (ret)
			goto err_gpio_reset_conf;
	}

	if (gpio_is_valid(pdata->gpio_power)) {
		ret = gpio_request(pdata->gpio_power, "uda1380 power");
		if (ret)
			goto err_gpio;
		ret = gpio_direction_output(pdata->gpio_power, 0);
		ret = gpio_request_one(pdata->gpio_power, GPIOF_OUT_INIT_LOW,
				   "uda1380 power");
		if (ret)
			goto err_gpio_power_conf;
			goto err_free_gpio;
	} else {
		ret = uda1380_reset(codec);
		if (ret) {
			dev_err(codec->dev, "Failed to issue reset\n");
			goto err_reset;
		}
		if (ret)
			goto err_free_gpio;
	}

	INIT_WORK(&uda1380->work, uda1380_flush_work);
@@ -776,13 +770,7 @@ static int uda1380_probe(struct snd_soc_codec *codec)

	return 0;

err_reset:
err_gpio_power_conf:
	if (gpio_is_valid(pdata->gpio_power))
		gpio_free(pdata->gpio_power);

err_gpio_reset_conf:
err_gpio:
err_free_gpio:
	if (gpio_is_valid(pdata->gpio_reset))
		gpio_free(pdata->gpio_reset);
err_out: