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: Alexander Sverdlin <subaparts@yandex.ru> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
338ee25393
commit
a98a0bc6c9
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
struct cs4271_platform_data {
|
struct cs4271_platform_data {
|
||||||
int gpio_nreset; /* GPIO driving Reset pin, if any */
|
int gpio_nreset; /* GPIO driving Reset pin, if any */
|
||||||
int gpio_disable; /* GPIO that disable serial bus, if any */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __CS4271_H */
|
#endif /* __CS4271_H */
|
||||||
|
|
|
@ -441,22 +441,11 @@ static int cs4271_probe(struct snd_soc_codec *codec)
|
||||||
struct cs4271_platform_data *cs4271plat = codec->dev->platform_data;
|
struct cs4271_platform_data *cs4271plat = codec->dev->platform_data;
|
||||||
int ret;
|
int ret;
|
||||||
int gpio_nreset = -EINVAL;
|
int gpio_nreset = -EINVAL;
|
||||||
int gpio_disable = -EINVAL;
|
|
||||||
|
|
||||||
codec->control_data = cs4271->control_data;
|
codec->control_data = cs4271->control_data;
|
||||||
|
|
||||||
if (cs4271plat) {
|
if (cs4271plat && gpio_is_valid(cs4271plat->gpio_nreset))
|
||||||
if (gpio_is_valid(cs4271plat->gpio_nreset))
|
gpio_nreset = 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_nreset >= 0)
|
||||||
if (gpio_request(gpio_nreset, "CS4271 Reset"))
|
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_nreset = gpio_nreset;
|
||||||
cs4271->gpio_disable = gpio_disable;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In case of I2C, chip address specified in board data.
|
* 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)
|
static int cs4271_remove(struct snd_soc_codec *codec)
|
||||||
{
|
{
|
||||||
struct cs4271_private *cs4271 = snd_soc_codec_get_drvdata(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_nreset = cs4271->gpio_nreset;
|
||||||
gpio_disable = cs4271->gpio_disable;
|
|
||||||
|
|
||||||
if (gpio_is_valid(gpio_nreset)) {
|
if (gpio_is_valid(gpio_nreset)) {
|
||||||
/* Set codec to the reset state */
|
/* Set codec to the reset state */
|
||||||
|
@ -520,9 +507,6 @@ static int cs4271_remove(struct snd_soc_codec *codec)
|
||||||
gpio_free(gpio_nreset);
|
gpio_free(gpio_nreset);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gpio_is_valid(gpio_disable))
|
|
||||||
gpio_free(gpio_disable);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue