Re: [PATCH v4 8/9] Input: atmel_mxt_ts - add support for reference data
From: Nick Dyer <hidden>
Date: 2016-06-20 16:19:13
Also in:
linux-media, lkml
On 20/06/2016 17:09, Hans Verkuil wrote:
On 06/17/2016 04:16 PM, Nick Dyer wrote:quoted
@@ -2325,11 +2344,20 @@ static int mxt_vidioc_querycap(struct file *file, void *priv, static int mxt_vidioc_enum_input(struct file *file, void *priv, struct v4l2_input *i) { - if (i->index > 0) + if (i->index >= MXT_V4L_INPUT_MAX) return -EINVAL; i->type = V4L2_INPUT_TYPE_TOUCH_SENSOR; - strlcpy(i->name, "Mutual References", sizeof(i->name)); + + switch (i->index) { + case MXT_V4L_INPUT_REFS: + strlcpy(i->name, "Mutual References", sizeof(i->name)); + break; + case MXT_V4L_INPUT_DELTAS: + strlcpy(i->name, "Mutual Deltas", sizeof(i->name));I don't think this name is very clear. I have no idea how to interpret "Mutual" in this context.
"Mutual" is a touch domain specific term, it means the delta value is for the capacitance between the horizontal and vertical lines at a particular "node" on the touchscreen matrix, see https://en.wikipedia.org/wiki/Touchscreen#Mutual_capacitance I'll put in a comment.
quoted
+ break; + } + return 0; }@@ -2337,12 +2365,16 @@ static int mxt_set_input(struct mxt_data *data, unsigned int i) { struct v4l2_pix_format *f = &data->dbg.format; - if (i > 0) + if (i >= MXT_V4L_INPUT_MAX) return -EINVAL; + if (i == MXT_V4L_INPUT_DELTAS) + f->pixelformat = V4L2_PIX_FMT_YS16; + else + f->pixelformat = V4L2_PIX_FMT_Y16;You probably need a V4L2_TOUCH_FMT_U16 or something for this as well. It certainly needs to be documented.
OK, will change this.