On Thu, May 03, 2018 at 06:06:58PM -0400, Arnd Bergmann wrote: > 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 tv_usec? > 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. I presume the definition would be endianness dependent then. I have no objections though, if you think this is the way to go. I'll apply the patch. Thanks. -- Sakari Ailus e-mail: sakari.ailus@xxxxxx