* [PATCH] [media] uvcvideo: fix data type for pan/tilt control
@ 2013-09-27 4:57 Chanho Min
2013-09-29 6:55 ` Laurent Pinchart
0 siblings, 1 reply; 2+ messages in thread
From: Chanho Min @ 2013-09-27 4:57 UTC (permalink / raw)
To: Laurent Pinchart, Mauro Carvalho Chehab, linux-media,
linux-kernel
Cc: HyoJun Im, Chanho Min
The pan/tilt absolute control value is signed value. If minimum value
is minus, It will be changed to plus by clamp_t() as commit 64ae9958a62.
([media] uvcvideo: Fix control value clamping for unsigned integer controls).
It leads to wrong setting of the control values. For example,
when min and max are -36000 and 36000, the setting value between of this range
is always 36000. So, Its data type should be changed to signed.
Signed-off-by: Chanho Min <chanho.min@lge.com>
---
drivers/media/usb/uvc/uvc_ctrl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c
index a2f4501..0eb82106 100644
--- a/drivers/media/usb/uvc/uvc_ctrl.c
+++ b/drivers/media/usb/uvc/uvc_ctrl.c
@@ -664,7 +664,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
.size = 32,
.offset = 0,
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
- .data_type = UVC_CTRL_DATA_TYPE_UNSIGNED,
+ .data_type = UVC_CTRL_DATA_TYPE_SIGNED,
},
{
.id = V4L2_CID_TILT_ABSOLUTE,
@@ -674,7 +674,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
.size = 32,
.offset = 32,
.v4l2_type = V4L2_CTRL_TYPE_INTEGER,
- .data_type = UVC_CTRL_DATA_TYPE_UNSIGNED,
+ .data_type = UVC_CTRL_DATA_TYPE_SIGNED,
},
{
.id = V4L2_CID_PRIVACY,
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] [media] uvcvideo: fix data type for pan/tilt control
2013-09-27 4:57 [PATCH] [media] uvcvideo: fix data type for pan/tilt control Chanho Min
@ 2013-09-29 6:55 ` Laurent Pinchart
0 siblings, 0 replies; 2+ messages in thread
From: Laurent Pinchart @ 2013-09-29 6:55 UTC (permalink / raw)
To: Chanho Min; +Cc: Mauro Carvalho Chehab, linux-media, linux-kernel, HyoJun Im
Hi Chanho,
Thank you for the patch.
On Friday 27 September 2013 13:57:40 Chanho Min wrote:
> The pan/tilt absolute control value is signed value. If minimum value
> is minus, It will be changed to plus by clamp_t() as commit 64ae9958a62.
> ([media] uvcvideo: Fix control value clamping for unsigned integer
> controls).
>
> It leads to wrong setting of the control values. For example,
> when min and max are -36000 and 36000, the setting value between of this
> range is always 36000. So, Its data type should be changed to signed.
>
> Signed-off-by: Chanho Min <chanho.min@lge.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
I've taken the patch in my tree and will send a pull request for the next
kernel version.
> ---
> drivers/media/usb/uvc/uvc_ctrl.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_ctrl.c
> b/drivers/media/usb/uvc/uvc_ctrl.c index a2f4501..0eb82106 100644
> --- a/drivers/media/usb/uvc/uvc_ctrl.c
> +++ b/drivers/media/usb/uvc/uvc_ctrl.c
> @@ -664,7 +664,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] =
> { .size = 32,
> .offset = 0,
> .v4l2_type = V4L2_CTRL_TYPE_INTEGER,
> - .data_type = UVC_CTRL_DATA_TYPE_UNSIGNED,
> + .data_type = UVC_CTRL_DATA_TYPE_SIGNED,
> },
> {
> .id = V4L2_CID_TILT_ABSOLUTE,
> @@ -674,7 +674,7 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] =
> { .size = 32,
> .offset = 32,
> .v4l2_type = V4L2_CTRL_TYPE_INTEGER,
> - .data_type = UVC_CTRL_DATA_TYPE_UNSIGNED,
> + .data_type = UVC_CTRL_DATA_TYPE_SIGNED,
> },
> {
> .id = V4L2_CID_PRIVACY,
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-29 6:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-27 4:57 [PATCH] [media] uvcvideo: fix data type for pan/tilt control Chanho Min
2013-09-29 6:55 ` Laurent Pinchart
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox