On Friday 25 February 2011 07:21:32 Kim, HeungJun wrote: > As following to change the boolean type of V4L2_CID_FOCUS_AUTO to menu > type, this uvc is modified the usage of V4L2_CID_FOCUS_AUTO. > > Signed-off-by: Heungjun Kim <riverful.kim@xxxxxxxxxxx> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > --- > drivers/media/video/uvc/uvc_ctrl.c | 13 ++++++++++--- > 1 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/video/uvc/uvc_ctrl.c > b/drivers/media/video/uvc/uvc_ctrl.c index 59f8a9a..795fd3f 100644 > --- a/drivers/media/video/uvc/uvc_ctrl.c > +++ b/drivers/media/video/uvc/uvc_ctrl.c > @@ -333,6 +333,11 @@ static struct uvc_menu_info exposure_auto_controls[] = > { { 8, "Aperture Priority Mode" }, > }; > > +static struct uvc_menu_info focus_auto_controls[] = { > + { 2, "Auto Mode" }, > + { 1, "Manual Mode" }, According to the UVC spec, this should be 0 for manual mode and 1 for auto mode. > +}; > + > static __s32 uvc_ctrl_get_zoom(struct uvc_control_mapping *mapping, > __u8 query, const __u8 *data) > { > @@ -558,10 +563,12 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] > = { .name = "Focus, Auto", > .entity = UVC_GUID_UVC_CAMERA, > .selector = UVC_CT_FOCUS_AUTO_CONTROL, > - .size = 1, > + .size = 2, Why do you change the control size ? > .offset = 0, > - .v4l2_type = V4L2_CTRL_TYPE_BOOLEAN, > - .data_type = UVC_CTRL_DATA_TYPE_BOOLEAN, > + .v4l2_type = V4L2_CTRL_TYPE_MENU, > + .data_type = UVC_CTRL_DATA_TYPE_BITMASK, The UVC control is still a boolean. > + .menu_info = focus_auto_controls, > + .menu_count = ARRAY_SIZE(focus_auto_controls), > }, > { > .id = V4L2_CID_IRIS_ABSOLUTE, -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html