diff mbox

ASoC: tlv320aic31xx: place codec into reset state initially

Message ID 1407190401-3712-1-git-send-email-housel@acm.org (mailing list archive)
State New, archived
Headers show

Commit Message

Peter S. Housel Aug. 4, 2014, 10:13 p.m. UTC
Previously the driver would only place the TLV320AIC31XX into reset
using the gpio reset line when at least one of the power supply
regulators was disabled, so that if these supplies were always enabled
no reset would ever occur. This change resets the codec state at probe
time so that the initial register cache values are correct.

Signed-off-by: Peter S. Housel <housel@acm.org>
---
 sound/soc/codecs/tlv320aic31xx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jyri Sarha Aug. 5, 2014, 7:34 a.m. UTC | #1
On 08/05/2014 01:13 AM, Peter S. Housel wrote:
> Previously the driver would only place the TLV320AIC31XX into reset
> using the gpio reset line when at least one of the power supply
> regulators was disabled, so that if these supplies were always enabled
> no reset would ever occur. This change resets the codec state at probe
> time so that the initial register cache values are correct.
>
> Signed-off-by: Peter S. Housel <housel@acm.org>
> ---
>   sound/soc/codecs/tlv320aic31xx.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
> index 0f64c78..89a4daf 100644
> --- a/sound/soc/codecs/tlv320aic31xx.c
> +++ b/sound/soc/codecs/tlv320aic31xx.c
> @@ -1194,7 +1194,7 @@ static int aic31xx_device_init(struct aic31xx_priv *aic31xx)
>   	if (aic31xx->pdata.gpio_reset) {
>   		ret = devm_gpio_request_one(aic31xx->dev,
>   					    aic31xx->pdata.gpio_reset,
> -					    GPIOF_OUT_INIT_HIGH,
> +					    GPIOF_OUT_INIT_LOW,
>   					    "aic31xx-reset-pin");
>   		if (ret < 0) {
>   			dev_err(aic31xx->dev, "not able to acquire gpio\n");
>

Oops, aic3111 and friends indeed have an active low reset line. The line 
was not behind a gpio on my board.

Acked-by: Jyri Sarha <jsarha@ti.com>
Peter S. Housel Sept. 2, 2014, 8:25 p.m. UTC | #2
Ping...

Thanks,
-Peter-

On 08/05/2014 12:34 AM, Jyri Sarha wrote:
> On 08/05/2014 01:13 AM, Peter S. Housel wrote:
>> Previously the driver would only place the TLV320AIC31XX into reset
>> using the gpio reset line when at least one of the power supply
>> regulators was disabled, so that if these supplies were always enabled
>> no reset would ever occur. This change resets the codec state at probe
>> time so that the initial register cache values are correct.
>>
>> Signed-off-by: Peter S. Housel <housel@acm.org>
>> ---
>>   sound/soc/codecs/tlv320aic31xx.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/sound/soc/codecs/tlv320aic31xx.c 
>> b/sound/soc/codecs/tlv320aic31xx.c
>> index 0f64c78..89a4daf 100644
>> --- a/sound/soc/codecs/tlv320aic31xx.c
>> +++ b/sound/soc/codecs/tlv320aic31xx.c
>> @@ -1194,7 +1194,7 @@ static int aic31xx_device_init(struct 
>> aic31xx_priv *aic31xx)
>>       if (aic31xx->pdata.gpio_reset) {
>>           ret = devm_gpio_request_one(aic31xx->dev,
>>                           aic31xx->pdata.gpio_reset,
>> -                        GPIOF_OUT_INIT_HIGH,
>> +                        GPIOF_OUT_INIT_LOW,
>>                           "aic31xx-reset-pin");
>>           if (ret < 0) {
>>               dev_err(aic31xx->dev, "not able to acquire gpio\n");
>>
>
> Oops, aic3111 and friends indeed have an active low reset line. The 
> line was not behind a gpio on my board.
>
> Acked-by: Jyri Sarha <jsarha@ti.com>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Mark Brown Sept. 2, 2014, 10:31 p.m. UTC | #3
On Tue, Sep 02, 2014 at 01:25:53PM -0700, Peter S. Housel wrote:
> Ping...

Don't top post and don't send content free pings.  If you think a patch
should be applied please send it to the maintainers as covered in
SubmittingPatches.
diff mbox

Patch

diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index 0f64c78..89a4daf 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -1194,7 +1194,7 @@  static int aic31xx_device_init(struct aic31xx_priv *aic31xx)
 	if (aic31xx->pdata.gpio_reset) {
 		ret = devm_gpio_request_one(aic31xx->dev,
 					    aic31xx->pdata.gpio_reset,
-					    GPIOF_OUT_INIT_HIGH,
+					    GPIOF_OUT_INIT_LOW,
 					    "aic31xx-reset-pin");
 		if (ret < 0) {
 			dev_err(aic31xx->dev, "not able to acquire gpio\n");