ASoC: ab8500-codec: Drop bank prefix from AB8500_GPIO_DIR4_REG register define
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 17 Aug 2014 14:18:22 +0000 (16:18 +0200)
committerMark Brown <broonie@linaro.org>
Sun, 17 Aug 2014 14:35:58 +0000 (09:35 -0500)
The AB8500_GPIO_DIR4_REG register define has the bank for the register in the
upper 8 bits and the register itself in the lower 8 bits. When passing it to
abx500_{set,get}_register_interruptible() the upper bits get truncated which
generates the following warning from sparse:
sound/soc/codecs/ab8500-codec.c:1972:53: warning: cast truncates bits
 from constant value (1013 becomes 13)
sound/soc/codecs/ab8500-codec.c:1980:53: warning: cast truncates bits
 from constant value (1013 becomes 13)

The bank is passed separately to abx500_{set,get}_register_interruptible() so
the code works fine as it is. Given that all users of AB8500_GPIO_DIR4_REG
always truncate the upper 8 bits just remove them from the define.

Also remove the unnecessary casts to u8.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/ab8500-codec.c

index 1fb4402..62cf231 100644 (file)
@@ -56,8 +56,7 @@
 #define GPIO31_DIR_OUTPUT                      0x40
 
 /* Macrocell register definitions */
-#define AB8500_CTRL3_REG                       0x0200
-#define AB8500_GPIO_DIR4_REG                   0x1013
+#define AB8500_GPIO_DIR4_REG                   0x13 /* Bank AB8500_MISC */
 
 /* Nr of FIR/IIR-coeff banks in ANC-block */
 #define AB8500_NR_OF_ANC_COEFF_BANKS           2
@@ -1968,16 +1967,16 @@ static int ab8500_audio_setup_mics(struct snd_soc_codec *codec,
        dev_dbg(codec->dev, "%s: Enter.\n", __func__);
 
        /* Set DMic-clocks to outputs */
-       status = abx500_get_register_interruptible(codec->dev, (u8)AB8500_MISC,
-                                               (u8)AB8500_GPIO_DIR4_REG,
+       status = abx500_get_register_interruptible(codec->dev, AB8500_MISC,
+                                               AB8500_GPIO_DIR4_REG,
                                                &value8);
        if (status < 0)
                return status;
        value = value8 | GPIO27_DIR_OUTPUT | GPIO29_DIR_OUTPUT |
                GPIO31_DIR_OUTPUT;
        status = abx500_set_register_interruptible(codec->dev,
-                                               (u8)AB8500_MISC,
-                                               (u8)AB8500_GPIO_DIR4_REG,
+                                               AB8500_MISC,
+                                               AB8500_GPIO_DIR4_REG,
                                                value);
        if (status < 0)
                return status;