diff mbox

[RFT] ASoC: wm8904: Make undocumented registers non-readable

Message ID 1445051470.3014.1.camel@ingics.com (mailing list archive)
State Accepted
Commit 28b5df1838b357c9e3e8eba02f684df3c0db05b3
Headers show

Commit Message

Axel Lin Oct. 17, 2015, 3:11 a.m. UTC
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
I think the intention of wm8904_readable_register is to return false for
undocumented registers, but current code returns true for all cases in
wm8904_readable_register.
Please review if this patch is correct or not.
Thanks.

 sound/soc/codecs/wm8904.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Charles Keepax Oct. 20, 2015, 9:20 a.m. UTC | #1
On Sat, Oct 17, 2015 at 11:11:10AM +0800, Axel Lin wrote:
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> I think the intention of wm8904_readable_register is to return false for
> undocumented registers, but current code returns true for all cases in
> wm8904_readable_register.
> Please review if this patch is correct or not.
> Thanks.

Ok so I have been through every register access in the driver
(yes that was a bit boring) and it looks like the driver only
accesses a register that isn't marked as readable once. But this
looks to be a bug. WM8904_EQ_REGS is set to 25, but there are
only 24 registers in the EQ. This appears to be a mistake caused
by the fact the registers start numbering from 1 rather than 0. I
will send a patch to fix this small bug and this patch looks fine
to me:

Reviewed-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>

Unfortunately I don't have hardware to test the patch, but I have
reviewed it pretty carefully and am happy.

Thanks,
Charles
diff mbox

Patch

diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index b783743..f48b9cb 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -312,7 +312,7 @@  static bool wm8904_readable_register(struct device *dev, unsigned int reg)
 	case WM8904_FLL_NCO_TEST_1:
 		return true;
 	default:
-		return true;
+		return false;
 	}
 }