Re: [PATCH v4 8/9] Input: atmel_mxt_ts - add support for reference data

From: Nick Dyer
Date: Mon Jun 20 2016 - 12:19:16 EST


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.