[alsa-devel] ASoC: codecs: Add AB8500 codec-driver
Ola Lilja
ola.o.lilja at stericsson.com
Tue Jun 19 10:50:43 CEST 2012
On 06/16/2012 03:19 PM, Dan Carpenter wrote:
> Hello Ola Lilja,
>
Hi Dan!
> The patch 679d7abdc754: "ASoC: codecs: Add AB8500 codec-driver" from
> Jun 7, 2012, leads to the following Sparse warnings:
>
> sound/soc/codecs/ab8500-codec.c:1960:53:
> warning: cast truncates bits from constant value (1013 becomes 13)
> sound/soc/codecs/ab8500-codec.c:1968:53:
> warning: cast truncates bits from constant value (1013 becomes 13)
>
> sound/soc/codecs/ab8500-codec.c
> 1958 /* Set DMic-clocks to outputs */
> 1959 status = abx500_get_register_interruptible(codec->dev, (u8)AB8500_MISC,
> 1960 (u8)AB8500_GPIO_DIR4_REG,
> ^^^^^^^^^^^^^^^^^^^^
> 1961 &value8);
> 1962 if (status < 0)
> 1963 return status;
> 1964 value = value8 | GPIO27_DIR_OUTPUT | GPIO29_DIR_OUTPUT |
> 1965 GPIO31_DIR_OUTPUT;
> 1966 status = abx500_set_register_interruptible(codec->dev,
> 1967 (u8)AB8500_MISC,
> 1968 (u8)AB8500_GPIO_DIR4_REG,
> ^^^^^^^^^^^^^^^^^^^^^^^^
> 1969 value);
>
> In my quick check we only seem to use the truncated values of these
> defines so I'm not sure this was intended.
The error here is that for that variable the bank-byte has (faulty) been
attached to the register-byte, where the bank is 0x10. This should not have been
there and the result after truncation is the correct value of 0x13.
Our registers are only 8-bits. We have fixed this define in an internal patch so
it will show up here eventually.
Thanks for pointing it out!
>
> regards,
> dan carpenter
>
regards,
Ola Lilja
More information about the Alsa-devel
mailing list