[media] v4l2-ioctl/exynos: fix G/S_SELECTION's type handling
authorHans Verkuil <hansverk@cisco.com>
Mon, 8 May 2017 14:35:05 +0000 (11:35 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Jun 2017 12:20:42 +0000 (09:20 -0300)
commiteaec420f530d376d6bb6e547a741203344619f47
tree4c6c59919d8ded592f354aa725e7defe20bb9bda
parent0e8298e58839cb0bb6aafdbae38e5f8b03a8ff20
[media] v4l2-ioctl/exynos: fix G/S_SELECTION's type handling

The type field in struct v4l2_selection is supposed to never use the
_MPLANE variants. E.g. if the driver supports V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,
then userspace should still pass V4L2_BUF_TYPE_VIDEO_CAPTURE.

The reasons for this are lost in the mists of time, but it is really
annoying. In addition, the exynos drivers didn't follow this rule and
instead expected the _MPLANE type.

To fix that code is added to the v4l2 core that maps the _MPLANE buffer
types to their regular equivalents before calling the driver.

Effectively this allows for userspace to use either _MPLANE or the regular
buffer type. This keeps backwards compatibility while making things easier
for userspace.

Since drivers now never see the _MPLANE buffer types the exynos drivers
had to be adapted as well.

Signed-off-by: Hans Verkuil <hansverk@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/exynos-gsc/gsc-core.c
drivers/media/platform/exynos-gsc/gsc-m2m.c
drivers/media/platform/exynos4-is/fimc-capture.c
drivers/media/platform/exynos4-is/fimc-lite.c
drivers/media/v4l2-core/v4l2-ioctl.c