From e723ee00893f242cbccf5ef2faffdaa6afb8f244 Mon Sep 17 00:00:00 2001
From: Brandon Philips <brandon@ifup.org>
Date: Tue, 22 Apr 2008 14:42:06 -0300
Subject: [PATCH] V4L/DVB (7204): remove V4L2_CID_SHARPNESS from meye.h and
 report private control as DISABLED

- Continue to support the V4L2_CID_PRIVATE_BASE + 1 control in the ABI
 - Report the same control as V4L2_CID_SHARPNESS
 - Report the private control disabled via QUERYCTRL

Signed-off-by: Brandon Philips <bphilips@suse.de>
Acked-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
 drivers/media/video/meye.c | 10 +++++++++-
 include/linux/meye.h       |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c
index a079e7222cc9..caa9a7ac6184 100644
--- a/drivers/media/video/meye.c
+++ b/drivers/media/video/meye.c
@@ -1239,6 +1239,7 @@ static int meye_do_ioctl(struct inode *inode, struct file *file,
 			c->default_value = 48;
 			c->flags = 0;
 			break;
+		case V4L2_CID_MEYE_SHARPNESS:
 		case V4L2_CID_SHARPNESS:
 			c->type = V4L2_CTRL_TYPE_INTEGER;
 			strcpy(c->name, "Sharpness");
@@ -1246,7 +1247,12 @@ static int meye_do_ioctl(struct inode *inode, struct file *file,
 			c->maximum = 63;
 			c->step = 1;
 			c->default_value = 32;
-			c->flags = 0;
+
+			/* Continue to report legacy private SHARPNESS ctrl but
+			 * say it is disabled in preference to ctrl in the spec
+			 */
+			c->flags = (c->id == V4L2_CID_SHARPNESS) ? 0 :
+							V4L2_CTRL_FLAG_DISABLED;
 			break;
 		case V4L2_CID_PICTURE:
 			c->type = V4L2_CTRL_TYPE_INTEGER;
@@ -1312,6 +1318,7 @@ static int meye_do_ioctl(struct inode *inode, struct file *file,
 			meye.params.agc = c->value;
 			break;
 		case V4L2_CID_SHARPNESS:
+		case V4L2_CID_MEYE_SHARPNESS:
 			sony_pic_camera_command(
 				SONY_PIC_COMMAND_SETCAMERASHARPNESS, c->value);
 			meye.params.sharpness = c->value;
@@ -1356,6 +1363,7 @@ static int meye_do_ioctl(struct inode *inode, struct file *file,
 			c->value = meye.params.agc;
 			break;
 		case V4L2_CID_SHARPNESS:
+		case V4L2_CID_MEYE_SHARPNESS:
 			c->value = meye.params.sharpness;
 			break;
 		case V4L2_CID_PICTURE:
diff --git a/include/linux/meye.h b/include/linux/meye.h
index 39fd9c8ddd4b..12010ace1f04 100644
--- a/include/linux/meye.h
+++ b/include/linux/meye.h
@@ -58,7 +58,7 @@ struct meye_params {
 
 /* V4L2 private controls */
 #define V4L2_CID_AGC		V4L2_CID_PRIVATE_BASE
-#define V4L2_CID_SHARPNESS	(V4L2_CID_PRIVATE_BASE + 1)
+#define V4L2_CID_MEYE_SHARPNESS	(V4L2_CID_PRIVATE_BASE + 1)
 #define V4L2_CID_PICTURE	(V4L2_CID_PRIVATE_BASE + 2)
 #define V4L2_CID_JPEGQUAL	(V4L2_CID_PRIVATE_BASE + 3)
 #define V4L2_CID_FRAMERATE	(V4L2_CID_PRIVATE_BASE + 4)
-- 
GitLab