diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l')
5 files changed, 223 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch new file mode 100644 index 0000000000..d9e4243b4a --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch @@ -0,0 +1,44 @@ +From ad422f476ce04636f911557bbfd066c516e9b472 Mon Sep 17 00:00:00 2001 +From: Aguirre Rodriguez, Sergio Alberto <saaguirre@ti.com> +Date: Tue, 20 Jan 2009 16:29:26 -0600 +Subject: [PATCH] V4L2: Add COLORFX user control + +From 07396d67b39bf7bcc81440d3e72d253ad6c54f11 Mon Sep 17 00:00:00 2001 +From: Sergio Aguirre <saaguirre@ti.com> +Date: Tue, 20 Jan 2009 15:34:43 -0600 +Subject: [PATCH v2] V4L2: Add COLORFX user control + +This is a common feature on many cameras. the options are: +Default colors, +B & W, +Sepia + +Signed-off-by: Sergio Aguirre <saaguirre@ti.com> +--- + include/linux/videodev2.h | 9 ++++++++- + 1 files changed, 8 insertions(+), 1 deletions(-) + +diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h +index 5571dbe..8e4e25e 100644 +--- a/include/linux/videodev2.h ++++ b/include/linux/videodev2.h +@@ -879,8 +879,15 @@ enum v4l2_power_line_frequency { + #define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) + #define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) + #define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) ++#define V4L2_CID_COLORFX (V4L2_CID_BASE+31) ++enum v4l2_colorfx { ++ V4L2_COLORFX_NONE = 0, ++ V4L2_COLORFX_BW = 1, ++ V4L2_COLORFX_SEPIA = 2, ++}; ++ + /* last CID + 1 */ +-#define V4L2_CID_LASTP1 (V4L2_CID_BASE+31) ++#define V4L2_CID_LASTP1 (V4L2_CID_BASE+32) + + /* MPEG-class control IDs defined by V4L2 */ + #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) +-- +1.5.6.5 + diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch new file mode 100644 index 0000000000..45e27a2fda --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch @@ -0,0 +1,50 @@ +From 5b007183d51543624bc9f582966f245a64157b57 Mon Sep 17 00:00:00 2001 +From: Sakari Ailus <sakari.ailus@nokia.com> +Date: Fri, 31 Oct 2008 11:51:30 +0200 +Subject: [PATCH] V4L: Int if: v4l2_int_device_try_attach_all requires mutex + +Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> +--- + drivers/media/video/v4l2-int-device.c | 12 ++++++++++-- + 1 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/drivers/media/video/v4l2-int-device.c b/drivers/media/video/v4l2-int-device.c +index a935bae..eb8dc84 100644 +--- a/drivers/media/video/v4l2-int-device.c ++++ b/drivers/media/video/v4l2-int-device.c +@@ -32,7 +32,7 @@ + static DEFINE_MUTEX(mutex); + static LIST_HEAD(int_list); + +-void v4l2_int_device_try_attach_all(void) ++static void __v4l2_int_device_try_attach_all(void) + { + struct v4l2_int_device *m, *s; + +@@ -66,6 +66,14 @@ void v4l2_int_device_try_attach_all(void) + } + } + } ++ ++void v4l2_int_device_try_attach_all(void) ++{ ++ mutex_lock(&mutex); ++ __v4l2_int_device_try_attach_all(); ++ mutex_unlock(&mutex); ++} ++ + EXPORT_SYMBOL_GPL(v4l2_int_device_try_attach_all); + + static int ioctl_sort_cmp(const void *a, const void *b) +@@ -89,7 +97,7 @@ int v4l2_int_device_register(struct v4l2_int_device *d) + &ioctl_sort_cmp, NULL); + mutex_lock(&mutex); + list_add(&d->head, &int_list); +- v4l2_int_device_try_attach_all(); ++ __v4l2_int_device_try_attach_all(); + mutex_unlock(&mutex); + + return 0; +-- +1.5.6.5 + diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch new file mode 100644 index 0000000000..829810fab0 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch @@ -0,0 +1,61 @@ +From cc1d76e0f50321e80f7f50e9e214de2c9a45628a Mon Sep 17 00:00:00 2001 +From: Sakari Ailus <sakari.ailus@nokia.com> +Date: Wed, 22 Oct 2008 18:41:20 +0300 +Subject: [PATCH] V4L: Int if: Dummy slave + +This patch implements a dummy slave that has no functionality. Helps +managing slaves in the OMAP 3 camera driver; no need to check for NULL +pointers. + +Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> +--- + drivers/media/video/v4l2-int-device.c | 19 +++++++++++++++++++ + include/media/v4l2-int-device.h | 2 ++ + 2 files changed, 21 insertions(+), 0 deletions(-) + +diff --git a/drivers/media/video/v4l2-int-device.c b/drivers/media/video/v4l2-int-device.c +index eb8dc84..483ee2e 100644 +--- a/drivers/media/video/v4l2-int-device.c ++++ b/drivers/media/video/v4l2-int-device.c +@@ -67,6 +67,25 @@ static void __v4l2_int_device_try_attach_all(void) + } + } + ++static struct v4l2_int_slave dummy_slave = { ++ /* Dummy pointer to avoid underflow in find_ioctl. */ ++ .ioctls = (void *)sizeof(struct v4l2_int_ioctl_desc), ++ .num_ioctls = 0, ++}; ++ ++static struct v4l2_int_device dummy = { ++ .type = v4l2_int_type_slave, ++ .u = { ++ .slave = &dummy_slave, ++ }, ++}; ++ ++struct v4l2_int_device *v4l2_int_device_dummy() ++{ ++ return &dummy; ++} ++EXPORT_SYMBOL_GPL(v4l2_int_device_dummy); ++ + void v4l2_int_device_try_attach_all(void) + { + mutex_lock(&mutex); +diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h +index fbf5855..5d254c4 100644 +--- a/include/media/v4l2-int-device.h ++++ b/include/media/v4l2-int-device.h +@@ -84,6 +84,8 @@ struct v4l2_int_device { + void *priv; + }; + ++struct v4l2_int_device *v4l2_int_device_dummy(void); ++ + void v4l2_int_device_try_attach_all(void); + + int v4l2_int_device_register(struct v4l2_int_device *d); +-- +1.5.6.5 + diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch new file mode 100644 index 0000000000..b81b20419e --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch @@ -0,0 +1,33 @@ +From e041e57cafca24cf92430cdf3cc091060a271e19 Mon Sep 17 00:00:00 2001 +From: Sakari Ailus <sakari.ailus@nokia.com> +Date: Fri, 31 Oct 2008 10:20:31 +0200 +Subject: [PATCH] V4L: int device: add support for VIDIOC_QUERYMENU + +Signed-off-by: Tuukka Toivonen <tuukka.o.toivonen@nokia.com> +--- + include/media/v4l2-int-device.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h +index 5d254c4..81f4863 100644 +--- a/include/media/v4l2-int-device.h ++++ b/include/media/v4l2-int-device.h +@@ -178,6 +178,7 @@ enum v4l2_int_ioctl_num { + vidioc_int_s_fmt_cap_num, + vidioc_int_try_fmt_cap_num, + vidioc_int_queryctrl_num, ++ vidioc_int_querymenu_num, + vidioc_int_g_ctrl_num, + vidioc_int_s_ctrl_num, + vidioc_int_cropcap_num, +@@ -282,6 +283,7 @@ V4L2_INT_WRAPPER_1(g_fmt_cap, struct v4l2_format, *); + V4L2_INT_WRAPPER_1(s_fmt_cap, struct v4l2_format, *); + V4L2_INT_WRAPPER_1(try_fmt_cap, struct v4l2_format, *); + V4L2_INT_WRAPPER_1(queryctrl, struct v4l2_queryctrl, *); ++V4L2_INT_WRAPPER_1(querymenu, struct v4l2_querymenu, *); + V4L2_INT_WRAPPER_1(g_ctrl, struct v4l2_control, *); + V4L2_INT_WRAPPER_1(s_ctrl, struct v4l2_control, *); + V4L2_INT_WRAPPER_1(cropcap, struct v4l2_cropcap, *); +-- +1.5.6.5 + diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch new file mode 100644 index 0000000000..a9e06290fa --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch @@ -0,0 +1,35 @@ +From dc05ee10583dca44e0f8d4109bd1397ee3c5ffae Mon Sep 17 00:00:00 2001 +From: Sakari Ailus <sakari.ailus@nokia.com> +Date: Thu, 2 Oct 2008 11:55:07 +0300 +Subject: [PATCH] V4L: Int if: Add vidioc_int_querycap + +Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> +--- + include/media/v4l2-int-device.h | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h +index 81f4863..2830ae1 100644 +--- a/include/media/v4l2-int-device.h ++++ b/include/media/v4l2-int-device.h +@@ -173,7 +173,8 @@ enum v4l2_int_ioctl_num { + * "Proper" V4L ioctls, as in struct video_device. + * + */ +- vidioc_int_enum_fmt_cap_num = 1, ++ vidioc_int_querycap_num = 1, ++ vidioc_int_enum_fmt_cap_num, + vidioc_int_g_fmt_cap_num, + vidioc_int_s_fmt_cap_num, + vidioc_int_try_fmt_cap_num, +@@ -278,6 +279,7 @@ enum v4l2_int_ioctl_num { + return desc; \ + } + ++V4L2_INT_WRAPPER_1(querycap, struct v4l2_capability, *); + V4L2_INT_WRAPPER_1(enum_fmt_cap, struct v4l2_fmtdesc, *); + V4L2_INT_WRAPPER_1(g_fmt_cap, struct v4l2_format, *); + V4L2_INT_WRAPPER_1(s_fmt_cap, struct v4l2_format, *); +-- +1.5.6.5 + |