Message ID | 1466633313-15339-10-git-send-email-nick.dyer@itdev.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 23.06.2016 00:08, Nick Dyer wrote: > diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c > index 880c40b..841e045 100644 > --- a/drivers/input/touchscreen/sur40.c > +++ b/drivers/input/touchscreen/sur40.c > @@ -599,7 +599,7 @@ static int sur40_probe(struct usb_interface *interface, > sur40->vdev.queue = &sur40->queue; > video_set_drvdata(&sur40->vdev, sur40); > > - error = video_register_device(&sur40->vdev, VFL_TYPE_GRABBER, -1); > + error = video_register_device(&sur40->vdev, VFL_TYPE_TOUCH, -1); > if (error) { > dev_err(&interface->dev, > "Unable to register video subdevice."); As far as I could tell from looking at patch 1/9, the only visible change for userspace will be the device name, so I'd be fine with this. > @@ -794,7 +794,7 @@ static int sur40_vidioc_enum_fmt(struct file *file, void *priv, > if (f->index != 0) > return -EINVAL; > strlcpy(f->description, "8-bit greyscale", sizeof(f->description)); > - f->pixelformat = V4L2_PIX_FMT_GREY; > + f->pixelformat = V4L2_TCH_FMT_TU08; I would suggest to leave the pixel format as it is. Rationale: the data really is greyscale image intensity data (as also evidenced by [1]), not just a synthetic image, and changing the pixel format would break all userspace tools. [1] https://github.com/mkalten/reacTIVision/issues/3#issuecomment-99931807 Best, Florian
On 06/23/2016 12:08 AM, Nick Dyer wrote: > Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> > --- > drivers/input/touchscreen/sur40.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c > index 880c40b..841e045 100644 > --- a/drivers/input/touchscreen/sur40.c > +++ b/drivers/input/touchscreen/sur40.c > @@ -599,7 +599,7 @@ static int sur40_probe(struct usb_interface *interface, > sur40->vdev.queue = &sur40->queue; > video_set_drvdata(&sur40->vdev, sur40); > > - error = video_register_device(&sur40->vdev, VFL_TYPE_GRABBER, -1); > + error = video_register_device(&sur40->vdev, VFL_TYPE_TOUCH, -1); > if (error) { > dev_err(&interface->dev, > "Unable to register video subdevice."); > @@ -763,7 +763,7 @@ static int sur40_vidioc_enum_input(struct file *file, void *priv, > { > if (i->index != 0) > return -EINVAL; > - i->type = V4L2_INPUT_TYPE_CAMERA; > + i->type = V4L2_INPUT_TYPE_TOUCH; > i->std = V4L2_STD_UNKNOWN; > strlcpy(i->name, "In-Cell Sensor", sizeof(i->name)); > i->capabilities = 0; > @@ -794,7 +794,7 @@ static int sur40_vidioc_enum_fmt(struct file *file, void *priv, > if (f->index != 0) > return -EINVAL; > strlcpy(f->description, "8-bit greyscale", sizeof(f->description)); > - f->pixelformat = V4L2_PIX_FMT_GREY; > + f->pixelformat = V4L2_TCH_FMT_TU08; I suggest supporting both formats, with a note that support for GREY is needed for backwards compatibility reasons. Regards, Hans > f->flags = 0; > return 0; > } > @@ -802,7 +802,7 @@ static int sur40_vidioc_enum_fmt(struct file *file, void *priv, > static int sur40_vidioc_enum_framesizes(struct file *file, void *priv, > struct v4l2_frmsizeenum *f) > { > - if ((f->index != 0) || (f->pixel_format != V4L2_PIX_FMT_GREY)) > + if ((f->index != 0) || (f->pixel_format != V4L2_TCH_FMT_TU08)) > return -EINVAL; > > f->type = V4L2_FRMSIZE_TYPE_DISCRETE; > @@ -814,7 +814,7 @@ static int sur40_vidioc_enum_framesizes(struct file *file, void *priv, > static int sur40_vidioc_enum_frameintervals(struct file *file, void *priv, > struct v4l2_frmivalenum *f) > { > - if ((f->index > 1) || (f->pixel_format != V4L2_PIX_FMT_GREY) > + if ((f->index > 1) || (f->pixel_format != V4L2_TCH_FMT_TU08) > || (f->width != sur40_video_format.width) > || (f->height != sur40_video_format.height)) > return -EINVAL; > @@ -903,7 +903,7 @@ static const struct video_device sur40_video_device = { > }; > > static const struct v4l2_pix_format sur40_video_format = { > - .pixelformat = V4L2_PIX_FMT_GREY, > + .pixelformat = V4L2_TCH_FMT_TU08, > .width = SENSOR_RES_X / 2, > .height = SENSOR_RES_Y / 2, > .field = V4L2_FIELD_NONE, > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c index 880c40b..841e045 100644 --- a/drivers/input/touchscreen/sur40.c +++ b/drivers/input/touchscreen/sur40.c @@ -599,7 +599,7 @@ static int sur40_probe(struct usb_interface *interface, sur40->vdev.queue = &sur40->queue; video_set_drvdata(&sur40->vdev, sur40); - error = video_register_device(&sur40->vdev, VFL_TYPE_GRABBER, -1); + error = video_register_device(&sur40->vdev, VFL_TYPE_TOUCH, -1); if (error) { dev_err(&interface->dev, "Unable to register video subdevice."); @@ -763,7 +763,7 @@ static int sur40_vidioc_enum_input(struct file *file, void *priv, { if (i->index != 0) return -EINVAL; - i->type = V4L2_INPUT_TYPE_CAMERA; + i->type = V4L2_INPUT_TYPE_TOUCH; i->std = V4L2_STD_UNKNOWN; strlcpy(i->name, "In-Cell Sensor", sizeof(i->name)); i->capabilities = 0; @@ -794,7 +794,7 @@ static int sur40_vidioc_enum_fmt(struct file *file, void *priv, if (f->index != 0) return -EINVAL; strlcpy(f->description, "8-bit greyscale", sizeof(f->description)); - f->pixelformat = V4L2_PIX_FMT_GREY; + f->pixelformat = V4L2_TCH_FMT_TU08; f->flags = 0; return 0; } @@ -802,7 +802,7 @@ static int sur40_vidioc_enum_fmt(struct file *file, void *priv, static int sur40_vidioc_enum_framesizes(struct file *file, void *priv, struct v4l2_frmsizeenum *f) { - if ((f->index != 0) || (f->pixel_format != V4L2_PIX_FMT_GREY)) + if ((f->index != 0) || (f->pixel_format != V4L2_TCH_FMT_TU08)) return -EINVAL; f->type = V4L2_FRMSIZE_TYPE_DISCRETE; @@ -814,7 +814,7 @@ static int sur40_vidioc_enum_framesizes(struct file *file, void *priv, static int sur40_vidioc_enum_frameintervals(struct file *file, void *priv, struct v4l2_frmivalenum *f) { - if ((f->index > 1) || (f->pixel_format != V4L2_PIX_FMT_GREY) + if ((f->index > 1) || (f->pixel_format != V4L2_TCH_FMT_TU08) || (f->width != sur40_video_format.width) || (f->height != sur40_video_format.height)) return -EINVAL; @@ -903,7 +903,7 @@ static const struct video_device sur40_video_device = { }; static const struct v4l2_pix_format sur40_video_format = { - .pixelformat = V4L2_PIX_FMT_GREY, + .pixelformat = V4L2_TCH_FMT_TU08, .width = SENSOR_RES_X / 2, .height = SENSOR_RES_Y / 2, .field = V4L2_FIELD_NONE,
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> --- drivers/input/touchscreen/sur40.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)