Browse Source

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>
Brandon Philips 17 years ago
parent
commit
e723ee0089
2 changed files with 10 additions and 2 deletions
  1. 9 1
      drivers/media/video/meye.c
  2. 1 1
      include/linux/meye.h

+ 9 - 1
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:

+ 1 - 1
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)