ASoC: adau1977: Fix truncation warning on 64 bit architectures

Message ID 1406909979-12990-1-git-send-email-broonie@kernel.org
State New
Headers show

Commit Message

Mark Brown Aug. 1, 2014, 4:19 p.m.
From: Mark Brown <broonie@linaro.org>

Negating ADAU1977_BLOCK_POWER_SAI_LDO_EN creates an unsigned long constant
with all bits set which on 64 bit architectures needs to be truncated to
an unsigned int, generating a warning. Add an explicit cast since we know
this is OK.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 sound/soc/codecs/adau1977.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lars-Peter Clausen Aug. 4, 2014, 7:15 a.m. | #1
On 08/01/2014 06:19 PM, Mark Brown wrote:
> From: Mark Brown <broonie@linaro.org>
>
> Negating ADAU1977_BLOCK_POWER_SAI_LDO_EN creates an unsigned long constant
> with all bits set which on 64 bit architectures needs to be truncated to
> an unsigned int, generating a warning. Add an explicit cast since we know
> this is OK.
>
> Signed-off-by: Mark Brown <broonie@linaro.org>

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

Thanks.


> ---
>   sound/soc/codecs/adau1977.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/codecs/adau1977.c b/sound/soc/codecs/adau1977.c
> index fd55da7..70ab357 100644
> --- a/sound/soc/codecs/adau1977.c
> +++ b/sound/soc/codecs/adau1977.c
> @@ -968,7 +968,7 @@ int adau1977_probe(struct device *dev, struct regmap *regmap,
>   	if (adau1977->dvdd_reg)
>   		power_off_mask = ~0;
>   	else
> -		power_off_mask = ~ADAU1977_BLOCK_POWER_SAI_LDO_EN;
> +		power_off_mask = (unsigned int)~ADAU1977_BLOCK_POWER_SAI_LDO_EN;
>
>   	ret = regmap_update_bits(adau1977->regmap, ADAU1977_REG_BLOCK_POWER_SAI,
>   				power_off_mask, 0x00);
>

Patch hide | download patch | download mbox

diff --git a/sound/soc/codecs/adau1977.c b/sound/soc/codecs/adau1977.c
index fd55da7..70ab357 100644
--- a/sound/soc/codecs/adau1977.c
+++ b/sound/soc/codecs/adau1977.c
@@ -968,7 +968,7 @@  int adau1977_probe(struct device *dev, struct regmap *regmap,
 	if (adau1977->dvdd_reg)
 		power_off_mask = ~0;
 	else
-		power_off_mask = ~ADAU1977_BLOCK_POWER_SAI_LDO_EN;
+		power_off_mask = (unsigned int)~ADAU1977_BLOCK_POWER_SAI_LDO_EN;
 
 	ret = regmap_update_bits(adau1977->regmap, ADAU1977_REG_BLOCK_POWER_SAI,
 				power_off_mask, 0x00);