Re: [PATCH 1/3] Revert "staging: mmal-vchiq: Avoid use of bool in structures"

From: Andrew Lunn
Date: Thu Nov 17 2022 - 19:13:26 EST


> > > > > struct vchiq_mmal_port {
> > > > > - u32 enabled:1;
> > > > > + bool enabled:1;
> > > > Is this a direct revert with 'git revert' ?
> > >
> > > No. It had conflicts plus I added the ':1' initialization to keep the logic
> > > same (in case 'enabled' gets used directly). Similar pattern come up with:
> > >     ($) git grep 'bool' -- '*.[h]' | grep '\:1'
> > >
> > > So it shouldn't be an issue.
> > Please don't do that "bool foo:1" makes no sense. Drop the ":1"
> > please.
>
> It won't affect this patch but if you take a look at 2/3 - you'll see a bool
> flag 'in_use' that needs to be initialized (as it's getting used directly).
>
> I can move the initialization part in the function (_init() or something)
> and drop the ":1" as you mentioned. That's  fine as well but I do find
> patterns of 'bool foo:1' in the codebase so I assumed it would be safe to
> use.

Does :1 really initialise the variable? In "u32 enabled:1" it means
this is a 1 bit wide bit field. It seems odd that bool is somehow
special and :1 means something else.

Andrew