Messages in this thread | | | From | Arnd Bergmann <> | Date | Thu, 3 May 2018 18:06:58 -0400 | Subject | Re: [PATCH] [RESEND] [media] omap3isp: support 64-bit version of omap3isp_stat_data |
| |
On Thu, May 3, 2018 at 8:56 AM, Sakari Ailus <sakari.ailus@iki.fi> 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
| |