From: Shengjiu Wang > Sent: 19 July 2022 10:28 > > Fix sparse warning: > sound/soc/fsl/fsl_asrc.c:1177:60: sparse: warning: incorrect type in argument 3 (different base types) > sound/soc/fsl/fsl_asrc.c:1177:60: sparse: expected unsigned int [usertype] *out_value > sound/soc/fsl/fsl_asrc.c:1177:60: sparse: got restricted snd_pcm_format_t * > sound/soc/fsl/fsl_asrc.c:1200:47: sparse: warning: restricted snd_pcm_format_t degrades to integer > > Fixes: 4520af41fd21 ("ASoC: fsl_asrc: Support new property fsl,asrc-format") > Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx> > --- > sound/soc/fsl/fsl_asrc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c > index 20a9f8e924b3..544395efd605 100644 > --- a/sound/soc/fsl/fsl_asrc.c > +++ b/sound/soc/fsl/fsl_asrc.c > @@ -1174,7 +1174,7 @@ static int fsl_asrc_probe(struct platform_device *pdev) > return ret; > } > > - ret = of_property_read_u32(np, "fsl,asrc-format", &asrc->asrc_format); > + ret = of_property_read_u32(np, "fsl,asrc-format", (u32 *)&asrc->asrc_format); Ugg, you really shouldn't need to do that. It means that something is badly wrong somewhere. Casting pointers to integer types is just asking for a bug. > if (ret) { > ret = of_property_read_u32(np, "fsl,asrc-width", &width); > if (ret) { > @@ -1197,7 +1197,7 @@ static int fsl_asrc_probe(struct platform_device *pdev) > } > } > > - if (!(FSL_ASRC_FORMATS & (1ULL << asrc->asrc_format))) { > + if (!(FSL_ASRC_FORMATS & (1ULL << (__force u32)asrc->asrc_format))) { Ditto. David > dev_warn(&pdev->dev, "unsupported width, use default S24_LE\n"); > asrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE; > } > -- > 2.34.1 - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)