1. 14 May, 2012 1 commit
    • Sakari Ailus's avatar
      [media] v4l2: use __u32 rather than enums in ioctl() structs · 6016af82
      Sakari Ailus authored
      V4L2 uses the enum type in IOCTL arguments in IOCTLs that were defined until
      the use of enum was considered less than ideal. Recently Rémi Denis-Courmont
      brought up the issue by proposing a patch to convert the enums to unsigned:
      
      <URL:http://www.spinics.net/lists/linux-media/msg46167.html>
      
      This sparked a long discussion where another solution to the issue was
      proposed: two sets of IOCTL structures, one with __u32 and the other with
      enums, and conversion code between the two:
      
      <URL:http://www.spinics.net/lists/linux-media/msg47168.html>
      
      Both approaches implement a complete solution that resolves the problem. The
      first one is simple but requires assuming enums and __u32 are the same in
      size (so we won't break the ABI) while the second one is more complex and
      less clean but does not require making that assumption.
      
      The issue boils down to whether enums are fundamentally different from __u32
      or not, and can the former be substituted by the latter. During the
      discussion it was concluded that the __u32 has the same size as enums on all
      archs Linux is supported: it has not been shown that replacing those enums
      in IOCTL arguments would break neither source or binary compatibility. If no
      such reason is found, just replacing the enums with __u32s is the way to go.
      
      This is what this patch does. This patch is slightly different from Remi's
      first RFC (link above): it uses __u32 instead of unsigned and also changes
      the arguments of VIDIOC_G_PRIORITY and VIDIOC_S_PRIORITY.
      Signed-off-by: default avatarRémi Denis-Courmont <remi@remlab.net>
      Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
      Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      6016af82
  2. 08 May, 2012 26 commits
  3. 07 May, 2012 13 commits