Re: [PATCH] ASoC: SOF: use __u32 instead of uint32_t in uapi headers

From: Masahiro Yamada
Date: Mon Jul 22 2019 - 10:36:43 EST


On Mon, Jul 22, 2019 at 10:40 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Sun, Jul 21, 2019 at 4:25 PM Masahiro Yamada
> <yamada.masahiro@xxxxxxxxxxxxx> wrote:
> >
> > struct snd_sof_blk_hdr {
> > enum snd_sof_fw_blk_type type;
> > - uint32_t size; /* bytes minus this header */
> > - uint32_t offset; /* offset from base */
> > + __u32 size; /* bytes minus this header */
> > + __u32 offset; /* offset from base */
> > } __packed;
> >
>
> On a related note: Using an 'enum' in an ABI structure is not portable
> across architectures. This is probably fine in a UAPI as long as user
> and kernel space agree on the size of an enum, but if the same
> structure is used to talk to the firmware, it won't work on architectures
> that have a different size for the first field.

Both comments from Arnd make sense.

If this header does not need to be in uapi/,
moving it out is fine.

But, looks like Mark has already picked up this.
(His review is so quick)




--
Best Regards
Masahiro Yamada