Re: [PATCH 2/2] input: mt: Document the MT event slot protocol (rev4)

From: Henrik Rydberg
Date: Mon May 24 2010 - 14:33:34 EST


Dmitry Torokhov wrote:
> On Mon, May 24, 2010 at 08:02:40PM +0200, Henrik Rydberg wrote:
>> Ping Cheng wrote:
>>> On Mon, May 24, 2010 at 12:13 AM, Henrik Rydberg <rydberg@xxxxxxxxxxx> wrote:
>>>> Ping Cheng wrote:
>>>>> What I am thinking is that we only need one SYN_ call for both _MT_
>>>>> and regular data combined, which is a call to input_sync() at the end
>>>>> of the whole packet. The SYN_MT_ can be replaced by the following
>>>>> example, which I think is more "client-friendly". This solution is
>>>>> based on the fact that the major difference between type A and type B
>>>>> is whether we need to filter the data or not:
>>>>>
>>>>> ABS_MT_RANDOM 0
>>>>> ABS_MT_POSITION_X x[0]
>>>>> ABS_MT_POSITION_Y y[0]
>>>>> ABS_MT_ RANDOM 1
>>>>> ABS_MT_POSITION_X x[1]
>>>>> ABS_MT_POSITION_Y y[1]
>>>>> SYN_REPORT
>>>>>
>>>>> input_set_abs_params(input_dev, ABS_MT_RANDOM, 0, 2, 0, 0);
>>>>>
>>>>> would tell the clients that they can expect two random touches.
>>>> And if you do s/RANDOM/SLOT/, you end up with what? ;-)
>>> Haha, I know what you are thinking :).
>>>
>>> Maybe I didn't make my point clear. I didn't mean to make SLOT
>>> backward compatible. I meant to replace SYN_MT_REPORT event with the
>>> ABS_MT_ RANDOM label so we only sync the whole packet once at the end.
>>> This way both types of MT_ data follow the same input event reporting
>>> flow....
>> You mean changing the type A protocol, breaking the current code base? That is a
>> big no-no.
>>
>
> We, however, could say that SYN_MT_REPORT may be omitted by the drivers
> using slotting mechanism.
>

Yes. If that is still unclear from the documentation, I will happily modify it.

Henrik

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/