<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 19, 2022 at 6:34 PM David Laight <<a href="mailto:David.Laight@aculab.com">David.Laight@aculab.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Mark Brown<br>
> Sent: 19 July 2022 11:17<br>
> <br>
> On Tue, Jul 19, 2022 at 10:01:54AM +0000, David Laight wrote:<br>
> > From: Shengjiu Wang<br>
> <br>
> > > - ret = of_property_read_u32(np, "fsl,asrc-format", &asrc->asrc_format);<br>
> > > + ret = of_property_read_u32(np, "fsl,asrc-format", (u32 *)&asrc->asrc_format);<br>
> <br>
> > Ugg, you really shouldn't need to do that.<br>
> > It means that something is badly wrong somewhere.<br>
> > Casting pointers to integer types is just asking for a bug.<br>
> <br>
> That's casting one pointer type to another pointer type.<br>
<br>
It is casting the address of some type to a 'u32 *'.<br>
This will then be dereferenced by the called function.<br>
So the original type better be 32 bits.<br>
<br>
I'm also guessing that sparse was complaining about endianness?<br>
It isn't at all clear that these casts actually fix it.<br>
<br></blockquote><div>The sparse is complaining about the snd_pcm_format_t cast to u32/int type.<br></div><div><br></div><div>The code in include/sound/pcm.h also does such __force cast.</div><div>#define _SNDRV_PCM_FMTBIT(fmt)          (1ULL << (__force int)SNDRV_PCM_FORMAT_##fmt)<br></div><div><br></div><div>The change I have made does not cause an issue.  </div><div> </div><div>Best regards</div><div>Wang shengjiu</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
(Mark: You'll be glad to hear that the office aircon is<br>
broken again - two weeks lead time on the spare part.)<br>
<br>
        David<br>
<br>
-<br>
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK<br>
Registration No: 1397386 (Wales)<br>
<br>
</blockquote></div></div>