On Thu, May 3, 2018 at 8:56 AM, Sakari Ailus <sakari.ailus@xxxxxx> wrote: > On Wed, Apr 25, 2018 at 11:30:10PM +0200, Arnd Bergmann wrote: >> @@ -165,7 +167,14 @@ struct omap3isp_h3a_aewb_config { >> * @config_counter: Number of the configuration associated with the data. >> */ >> struct omap3isp_stat_data { >> +#ifdef __KERNEL__ >> + struct { >> + __s64 tv_sec; >> + __s64 tv_usec; > > Any particular reason for __s64 here instead of e.g. long or __s32? Kernel > appears to use long in the timespec64 definition. The user space 'timeval' definition is 16 bytes wide, with the layout designed to be compatible between 32-bit and 64-bit, so it has to be like this to match what user spaces sees with the old header files and a new libc. We don't yet know what the exact definition of timeval will be in all libc implementations, but if they have a 32-bit tv_user field, it needs padding next to it so the lower 32 bits are in the same place as they would be using that 64-bit field I used. Arnd