[Y2038] [PATCH v2 0/9] [media] y2038 conversion for subsystem

Arnd Bergmann arnd at arndb.de
Thu Sep 17 21:19:31 UTC 2015


This is my second attempt to convert subsystem-wide code in v4l
for y2038 changes, removing uses of time_t in common files
and adding support for user space that defines time_t as 64 bit.

Based on the initial feedback from Hans Verkuil, I've changed the
ioctl handling to remain 100% compatible with existing headers,
which also makes it more likely that existing source code can
compile without changes.

This comes at a noticeable expense of adding complexity to
the v4l2-ioctl.c file, as we now have to handle two versions
of each ioctl command that passes a time_t in its arguments.

I have not added support for the new binary layout of v4l2_timeval
to v4l2-compat-ioctl32 yet, that is something I can do when the
basic approach has been agreed on.

	Arnd

Arnd Bergmann (9):
  [media] dvb: use ktime_t for internal timeout
  [media] dvb: remove unused systime() function
  [media] dvb: don't use 'time_t' in event ioctl
  [media] exynos4-is: use monotonic timestamps as advertized
  [media] make VIDIOC_DQEVENT work with 64-bit time_t
  [media] use v4l2_get_timestamp where possible
  [media] v4l2: introduce v4l2_timeval
  [media] handle 64-bit time_t in v4l2_buffer
  [media] omap3isp: support 64-bit version of omap3isp_stat_data

 drivers/media/dvb-core/demux.h                   |   2 +-
 drivers/media/dvb-core/dmxdev.c                  |   2 +-
 drivers/media/dvb-core/dvb_demux.c               |  17 +-
 drivers/media/dvb-core/dvb_demux.h               |   4 +-
 drivers/media/dvb-core/dvb_net.c                 |   2 +-
 drivers/media/dvb-frontends/dibx000_common.c     |  10 -
 drivers/media/dvb-frontends/dibx000_common.h     |   2 -
 drivers/media/pci/bt8xx/bttv-driver.c            |   7 +-
 drivers/media/pci/cx18/cx18-mailbox.c            |   2 +-
 drivers/media/pci/meye/meye.h                    |   2 +-
 drivers/media/pci/zoran/zoran.h                  |   2 +-
 drivers/media/platform/coda/coda.h               |   2 +-
 drivers/media/platform/exynos4-is/fimc-capture.c |   8 +-
 drivers/media/platform/exynos4-is/fimc-lite.c    |   7 +-
 drivers/media/platform/omap/omap_vout.c          |   4 +-
 drivers/media/platform/omap3isp/isph3a_aewb.c    |   2 +
 drivers/media/platform/omap3isp/isph3a_af.c      |   2 +
 drivers/media/platform/omap3isp/isphist.c        |   2 +
 drivers/media/platform/omap3isp/ispstat.c        |  20 +-
 drivers/media/platform/omap3isp/ispstat.h        |   4 +-
 drivers/media/platform/s3c-camif/camif-capture.c |   8 +-
 drivers/media/platform/vim2m.c                   |   2 +-
 drivers/media/platform/vivid/vivid-ctrls.c       |   2 +-
 drivers/media/usb/cpia2/cpia2.h                  |   2 +-
 drivers/media/usb/cpia2/cpia2_v4l.c              |   2 +-
 drivers/media/usb/gspca/gspca.c                  |   6 +-
 drivers/media/usb/usbvision/usbvision.h          |   2 +-
 drivers/media/v4l2-core/v4l2-common.c            |   6 +-
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c    |  35 ----
 drivers/media/v4l2-core/v4l2-dev.c               |   1 +
 drivers/media/v4l2-core/v4l2-event.c             |  35 +++-
 drivers/media/v4l2-core/v4l2-ioctl.c             | 227 ++++++++++++++++++++---
 drivers/media/v4l2-core/v4l2-subdev.c            |   6 +
 drivers/staging/media/omap4iss/iss_video.c       |   5 +-
 include/media/v4l2-common.h                      |   2 +-
 include/media/v4l2-event.h                       |   2 +
 include/media/videobuf-core.h                    |   2 +-
 include/trace/events/v4l2.h                      |  12 +-
 include/uapi/linux/dvb/video.h                   |   3 +-
 include/uapi/linux/omap3isp.h                    |  19 ++
 include/uapi/linux/videodev2.h                   |  78 ++++++++
 41 files changed, 415 insertions(+), 145 deletions(-)

-- 
2.1.0.rc2



More information about the Y2038 mailing list