mfd: twl-core: Fix accessibility of some twl4030 audio registers
authorTomas Novotny <tomas@novotny.cz>
Mon, 10 Mar 2014 18:12:50 +0000 (19:12 +0100)
committerLee Jones <lee.jones@linaro.org>
Wed, 19 Mar 2014 08:58:43 +0000 (08:58 +0000)
There are some unused registers in twl4030 at I2C address 0x49 and function
twl4030_49_nop_reg() is used to check accessibility of that registers. These
registers are written in decimal format but the values are correct in
hexadecimal format. (It can be checked few lines above the patched code -
these registers are marked as unused there.)

As a consequence three registers of audio submodule are treated as
inaccessible (preamplifier carkit right and both handsfree registers).

Cc: stable@vger.kernel.org
Signed-off-by: Tomas Novotny <tomas@novotny.cz>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/twl-core.c

index ed718328eff1a52f1fff6a8e132f4ba905084422..e87140bef667212af51bb6e02fd0ee06744190dc 100644 (file)
@@ -282,11 +282,11 @@ static struct reg_default twl4030_49_defaults[] = {
 static bool twl4030_49_nop_reg(struct device *dev, unsigned int reg)
 {
        switch (reg) {
-       case 0:
-       case 3:
-       case 40:
-       case 41:
-       case 42:
+       case 0x00:
+       case 0x03:
+       case 0x40:
+       case 0x41:
+       case 0x42:
                return false;
        default:
                return true;