On 20/06/2016 17:09, Hans Verkuil wrote: > On 06/17/2016 04:16 PM, Nick Dyer wrote: >> @@ -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. > >> + 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. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html