Re: [PATCH] media: rc: reduce size of struct ir_raw_event

Sean Young
2016-03-17T10:53:43Z

On Thu, Mar 17, 2016 at 07:40:59AM +0100, Heiner Kallweit wrote:
> Am 16.03.2016 um 23:28 schrieb Sean Young:
> > On Wed, Mar 16, 2016 at 10:18:38PM +0100, Heiner Kallweit wrote:
> >> + u8 pulse:1;
> >> + u8 reset:1;
> >> + u8 timeout:1;
> >> + u8 carrier_report:1;
> >
> > Why are you changing the type of the bitfields?
> >
> I did this to make sure that the compiler uses one byte for
> the bit field. When testing gcc also used just one byte when
> keeping the original "unsigned" type for the bit field members.
> Therefore it wouldn't be strictly neeeded.
>
> But I'm not sure whether it's guaranteed that the compiler packs a
> bit field to the smallest possible data type and we can rely on it.
> AFAIK C99 is a little more specific about this implementation detail of
> bit fields but C89/C90 is used for kernel compilation.

It might be worth reading about structure packing rules rather than
guessing.

Sean