[PATCH 4.17 252/336] ASoC: fsl_ssi: Use u32 variable type when using regmap_read()
From: Greg Kroah-Hartman
Date: Wed Aug 01 2018 - 14:26:41 EST
4.17-stable review patch. If anyone has any objections, please let me know.
------------------
From: Fabio Estevam <fabio.estevam@xxxxxxx>
[ Upstream commit 671f8204b12fae98dcc6fc5a5703a5c62cbea187 ]
Convert the sisr and sisr2 variable types to u32 to avoid the following
sparse warnings:
sound/soc/fsl/fsl_ssi.c:391:42: warning: incorrect type in argument 3 (different base types)
sound/soc/fsl/fsl_ssi.c:391:42: expected unsigned int *val
sound/soc/fsl/fsl_ssi.c:391:42: got restricted __be32 *<noident>
sound/soc/fsl/fsl_ssi.c:393:17: warning: restricted __be32 degrades to integer
sound/soc/fsl/fsl_ssi.c:393:15: warning: incorrect type in assignment (different base types)
sound/soc/fsl/fsl_ssi.c:393:15: expected restricted __be32 [usertype] sisr2
sound/soc/fsl/fsl_ssi.c:393:15: got unsigned int
sound/soc/fsl/fsl_ssi.c:396:50: warning: incorrect type in argument 3 (different base types)
sound/soc/fsl/fsl_ssi.c:396:50: expected unsigned int [unsigned] val
sound/soc/fsl/fsl_ssi.c:396:50: got restricted __be32 [usertype] sisr2
sound/soc/fsl/fsl_ssi.c:398:42: warning: incorrect type in argument 2 (different base types)
sound/soc/fsl/fsl_ssi.c:398:42: expected unsigned int [unsigned] [usertype] sisr
sound/soc/fsl/fsl_ssi.c:398:42: got restricted __be32 [addressable] [usertype] sisr
In other places where regmap_read() is used a u32 variable is passed
to store the register read value, so do the same here as well.
regmap API already takes care of endianness, so the usage of u32 is safe.
Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxx>
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
sound/soc/fsl/fsl_ssi.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -385,8 +385,7 @@ static irqreturn_t fsl_ssi_isr(int irq,
{
struct fsl_ssi *ssi = dev_id;
struct regmap *regs = ssi->regs;
- __be32 sisr;
- __be32 sisr2;
+ u32 sisr, sisr2;
regmap_read(regs, REG_SSI_SISR, &sisr);