[PATCH -next 2/5] ASoC: fsl_asrc: force cast the asrc_format type
David Laight
David.Laight at ACULAB.COM
Tue Jul 19 12:34:44 CEST 2022
From: Mark Brown
> Sent: 19 July 2022 11:17
>
> On Tue, Jul 19, 2022 at 10:01:54AM +0000, David Laight wrote:
> > From: Shengjiu Wang
>
> > > - 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.
>
> That's casting one pointer type to another pointer type.
It is casting the address of some type to a 'u32 *'.
This will then be dereferenced by the called function.
So the original type better be 32 bits.
I'm also guessing that sparse was complaining about endianness?
It isn't at all clear that these casts actually fix it.
(Mark: You'll be glad to hear that the office aircon is
broken again - two weeks lead time on the spare part.)
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
More information about the Alsa-devel
mailing list