Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1429132 > unrolled thread
| Started by | Nick Dyer <nick.dyer@itdev.co.uk> |
|---|---|
| First post | 2016-06-23 00:10 +0200 |
| Last post | 2016-06-27 13:10 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v5 9/9] Input: sur40 - use new V4L2 touch input type Nick Dyer <nick.dyer@itdev.co.uk> - 2016-06-23 00:10 +0200
Re: [PATCH v5 9/9] Input: sur40 - use new V4L2 touch input type Florian Echtler <floe@butterbrot.org> - 2016-06-23 08:50 +0200
Re: [PATCH v5 9/9] Input: sur40 - use new V4L2 touch input type Hans Verkuil <hverkuil@xs4all.nl> - 2016-06-27 13:10 +0200
| From | Nick Dyer <nick.dyer@itdev.co.uk> |
|---|---|
| Date | 2016-06-23 00:10 +0200 |
| Subject | [PATCH v5 9/9] Input: sur40 - use new V4L2 touch input type |
| Message-ID | <rMYvo-Qh-15@gated-at.bofh.it> |
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;
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,
--
2.5.0
[toc] | [next] | [standalone]
| From | Florian Echtler <floe@butterbrot.org> |
|---|---|
| Date | 2016-06-23 08:50 +0200 |
| Message-ID | <rN6CB-6aT-9@gated-at.bofh.it> |
| In reply to | #1429132 |
[Multipart message — attachments visible in raw view] — view raw
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
--
SENT FROM MY DEC VT50 TERMINAL
[toc] | [prev] | [next] | [standalone]
| From | Hans Verkuil <hverkuil@xs4all.nl> |
|---|---|
| Date | 2016-06-27 13:10 +0200 |
| Message-ID | <rOCAq-7Tb-29@gated-at.bofh.it> |
| In reply to | #1429132 |
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,
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web