On Fri, Dec 20, 2019 at 12:25:59PM +0100, Bartosz Golaszewski wrote: > czw., 19 gru 2019 o 19:17 Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > napisał(a): > > On Thu, Dec 19, 2019 at 7:17 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: ... > > > +/** > > > + * struct gpioline_info_changed - Information about a change in status > > > + * of a GPIO line > > > + * @info: updated line information > > > + * @timestamp: estimate of time of status change occurrence, in nanoseconds > > > + * and GPIOLINE_CHANGED_CONFIG > > > + * @event_type: one of GPIOLINE_CHANGED_REQUESTED, GPIOLINE_CHANGED_RELEASED > > > + */ > > > +struct gpioline_info_changed { > > > > > + struct gpioline_info info; > > > > Is this guaranteed to be always 8 byte aligned? > > I'm expecting to see some comments there and / or here about it. > > > > struct gpioline_info alone is 32-bit aligned but its size is 72 bytes > which works for 64-bit alignment. This new structure's biggest element > in 64-bit, so it's 64-bit aligned on 64-bit arch. We have 72 bytes of > gpioline_info, 8 bytes of timestamp, 32 bytes of event type and 5 * 32 > bytes of padding. Should be fine, but I'll add comments to the header. Yes, what I meant is to add comment at least to struct gpioline_info definition that if somebody would like to change it there (which also might be a problematic here, if there is no versioning scheme / length member). > > > + __u64 timestamp; > > > + __u32 event_type; > > > + __u32 padding[5]; /* for future use */ > > > +}; Offtopic a bit, had you had a chance to look at Buildroot and our scripts I shared? -- With Best Regards, Andy Shevchenko