From e20970ada3f699c113fe64b04492af083d11a7d8 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Wed, 8 Jan 2014 11:22:25 +0100 Subject: ASoC: adau1701: Fix ADAU1701_SEROCTL_WORD_LEN_16 constant The driver defines ADAU1701_SEROCTL_WORD_LEN_16 as 0x10 while it should be b10, so 0x2. This patch fixes it. Reported-by: Magnus Reftel Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown Cc: stable@vger.kernel.org diff --git a/sound/soc/codecs/adau1701.c b/sound/soc/codecs/adau1701.c index ebff1128b..adee866 100644 --- a/sound/soc/codecs/adau1701.c +++ b/sound/soc/codecs/adau1701.c @@ -71,7 +71,7 @@ #define ADAU1701_SEROCTL_WORD_LEN_24 0x0000 #define ADAU1701_SEROCTL_WORD_LEN_20 0x0001 -#define ADAU1701_SEROCTL_WORD_LEN_16 0x0010 +#define ADAU1701_SEROCTL_WORD_LEN_16 0x0002 #define ADAU1701_SEROCTL_WORD_LEN_MASK 0x0003 #define ADAU1701_AUXNPOW_VBPD 0x40 -- cgit v0.10.2 From 6d0d5103bdc45242b8d02e4130fbe5a3ea9f668a Mon Sep 17 00:00:00 2001 From: Markus Pargmann Date: Sat, 11 Jan 2014 14:48:30 +0100 Subject: ASoC: codec: tlv320aic32x4: Fix regmap range config This codec driver fails to probe because it has a higher regmap range_max value than max_register. This patch sets the range_max to the max_register value as described in the for struct regmap_range_cfg: "@range_max: Address of the highest register in virtual range." Fixes: 4d208ca429ad (ASoC: tlv320aic32x4: Convert to direct regmap API usage) Signed-off-by: Markus Pargmann Signed-off-by: Mark Brown Cc: stable@vger.kernel.org (v3.13 if the fix misses -final) diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c index 18cdcca..6941fa9 100644 --- a/sound/soc/codecs/tlv320aic32x4.c +++ b/sound/soc/codecs/tlv320aic32x4.c @@ -268,7 +268,7 @@ static const struct regmap_range_cfg aic32x4_regmap_pages[] = { .window_start = 0, .window_len = 128, .range_min = AIC32X4_PAGE1, - .range_max = AIC32X4_PAGE1 + 127, + .range_max = AIC32X4_RMICPGAVOL, }, }; -- cgit v0.10.2 From e8e08c521dc101cf7e7e1caf4f487f9fe11a9a7a Mon Sep 17 00:00:00 2001 From: Markus Pargmann Date: Wed, 15 Jan 2014 18:12:40 +0100 Subject: ASoC: tlv320aic32x4: Fix regmap range_min range_min is the lowest address in the virtual register range. This is the first register with address 0, not the first register of page 1. Currently all writes to page 1 are mapped to page 0, so the codec fails to operate. Fixes: 4d208ca429ad (ASoC: tlv320aic32x4: Convert to direct regmap API usage) Signed-off-by: Markus Pargmann Signed-off-by: Mark Brown Cc: stable@vger.kernel.org (v3.13 if the fix misses -final) diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c index 6941fa9..385dec1 100644 --- a/sound/soc/codecs/tlv320aic32x4.c +++ b/sound/soc/codecs/tlv320aic32x4.c @@ -267,7 +267,7 @@ static const struct regmap_range_cfg aic32x4_regmap_pages[] = { .selector_mask = 0xff, .window_start = 0, .window_len = 128, - .range_min = AIC32X4_PAGE1, + .range_min = 0, .range_max = AIC32X4_RMICPGAVOL, }, }; -- cgit v0.10.2