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

Commit a98a0bc6 authored by Alexander Sverdlin's avatar Alexander Sverdlin Committed by Mark Brown
Browse files

ASoC: CS4271: Move Chip Select control out of the CODEC code.



Move Chip Select control out of the CODEC code for CS4271.

Signed-off-by: default avatarAlexander Sverdlin <subaparts@yandex.ru>
Reviewed-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 338ee253
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@

struct cs4271_platform_data {
	int gpio_nreset;	/* GPIO driving Reset pin, if any */
	int gpio_disable;	/* GPIO that disable serial bus, if any */
};

#endif /* __CS4271_H */
+3 −19
Original line number Diff line number Diff line
@@ -441,22 +441,11 @@ static int cs4271_probe(struct snd_soc_codec *codec)
	struct cs4271_platform_data *cs4271plat = codec->dev->platform_data;
	int ret;
	int gpio_nreset = -EINVAL;
	int gpio_disable = -EINVAL;

	codec->control_data = cs4271->control_data;

	if (cs4271plat) {
		if (gpio_is_valid(cs4271plat->gpio_nreset))
	if (cs4271plat && gpio_is_valid(cs4271plat->gpio_nreset))
		gpio_nreset = cs4271plat->gpio_nreset;
		if (gpio_is_valid(cs4271plat->gpio_disable))
			gpio_disable = cs4271plat->gpio_disable;
	}

	if (gpio_disable >= 0)
		if (gpio_request(gpio_disable, "CS4271 Disable"))
			gpio_disable = -EINVAL;
	if (gpio_disable >= 0)
		gpio_direction_output(gpio_disable, 0);

	if (gpio_nreset >= 0)
		if (gpio_request(gpio_nreset, "CS4271 Reset"))
@@ -471,7 +460,6 @@ static int cs4271_probe(struct snd_soc_codec *codec)
	}

	cs4271->gpio_nreset = gpio_nreset;
	cs4271->gpio_disable = gpio_disable;

	/*
	 * In case of I2C, chip address specified in board data.
@@ -509,10 +497,9 @@ static int cs4271_probe(struct snd_soc_codec *codec)
static int cs4271_remove(struct snd_soc_codec *codec)
{
	struct cs4271_private *cs4271 = snd_soc_codec_get_drvdata(codec);
	int gpio_nreset, gpio_disable;
	int gpio_nreset;

	gpio_nreset = cs4271->gpio_nreset;
	gpio_disable = cs4271->gpio_disable;

	if (gpio_is_valid(gpio_nreset)) {
		/* Set codec to the reset state */
@@ -520,9 +507,6 @@ static int cs4271_remove(struct snd_soc_codec *codec)
		gpio_free(gpio_nreset);
	}

	if (gpio_is_valid(gpio_disable))
		gpio_free(gpio_disable);

	return 0;
};