Re: [PATCH 1/2] hid-multitouch: work on default classes and renamingof classes
From: Benjamin Tissoires
Date: Fri Jan 28 2011 - 12:52:43 EST
On Fri, Jan 28, 2011 at 18:18, Henrik Rydberg <rydberg@xxxxxxxxxxx> wrote:
> Hi Benjamin,
>
>> The safest quirk for a device (the one that works out of the box for
>> most of them) is the MT_QUIRK_NOT_SEEN_MEANS_UP. Indeed, it does not
>> make any assumption on the device. When adding a new device, we can
>> easily test it against MT_CLS_DEFAULT, and then optimize it with other
>> quirks: that's why no device use MT_CLS_DEFAULT right now.
>>
>> This patch introduce also MT_CLS_DUAL_DEFAULT which has the same purpose
>> than MT_CLS_DEFAULT, but for dual touch panels.
>
> But it is used anywhere?
Hi Henrik,
In it's current form, no. I often rely on it to make a quick patch
(just adding the ids in hid-ids, hid-core and hid-multitouch) to test
a new (dual touch) device. I thought it would be useful to be
mainstream.
>
>> Finally, the patch renames MT_CLS_DUAL1 to MT_CLS_DUAL_INRANGE_CONTACTID
>> and MT_CLS_DUAL2 to MT_CLS_DUAL_INRANGE_CONTACTNUMBER for better
>> readability.
>>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxx>
>> ---
>
> The patch description and the content lacks a certain
> distinctness. Please single out janitory actions into a separate
> patch, or, if possible, skip it altogether.
ok, will do
>
>> drivers/hid/hid-multitouch.c | 25 +++++++++++++++----------
>> 1 files changed, 15 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
>> index 07d3183..ffe2a76 100644
>> --- a/drivers/hid/hid-multitouch.c
>> +++ b/drivers/hid/hid-multitouch.c
>> @@ -24,6 +24,7 @@
>>
>>
>> MODULE_AUTHOR("Stephane Chatty <chatty@xxxxxxx>");
>> +MODULE_AUTHOR("Benjamin Tissoires <benjamin.tissoires@xxxxxxxxx>");
>
> Adding this is fine, based on your prior contributions. Perhaps it
> should be motivated as such in a separate patch instead.
ok
>
>> MODULE_DESCRIPTION("HID multitouch panels");
>> MODULE_LICENSE("GPL");
>>
>> @@ -65,10 +66,11 @@ struct mt_class {
>> };
>>
>> /* classes of device behavior */
>> -#define MT_CLS_DEFAULT 1
>> -#define MT_CLS_DUAL1 2
>> -#define MT_CLS_DUAL2 3
>> -#define MT_CLS_CYPRESS 4
>> +#define MT_CLS_DEFAULT 1
>> +#define MT_CLS_DUAL_DEFAULT 2
>> +#define MT_CLS_DUAL_INRANGE_CONTACTID 3
>> +#define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 4
>> +#define MT_CLS_CYPRESS 10
>
> There is no need to change the numbering for unchanged names.
I just wanted to keep device-specific at the end of the list. Hence
the 10 to keep a little space between generic and devices:
MT_CLS_DUAL_CONFIDENCE_CONTACT* are coming...
>
>>
>> /*
>> * these device-dependent functions determine what slot corresponds
>> @@ -104,13 +106,16 @@ static int find_slot_from_contactid(struct mt_device *td)
>>
>> struct mt_class mt_classes[] = {
>> { .name = MT_CLS_DEFAULT,
>> - .quirks = MT_QUIRK_VALID_IS_INRANGE,
>> + .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP,
>> .maxcontacts = 10 },
>> - { .name = MT_CLS_DUAL1,
>> + { .name = MT_CLS_DUAL_DEFAULT,
>> + .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP,
>> + .maxcontacts = 2 },
>> + { .name = MT_CLS_DUAL_INRANGE_CONTACTID,
>> .quirks = MT_QUIRK_VALID_IS_INRANGE |
>> MT_QUIRK_SLOT_IS_CONTACTID,
>> .maxcontacts = 2 },
>> - { .name = MT_CLS_DUAL2,
>> + { .name = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
>> .quirks = MT_QUIRK_VALID_IS_INRANGE |
>> MT_QUIRK_SLOT_IS_CONTACTNUMBER,
>> .maxcontacts = 2 },
>> @@ -466,15 +471,15 @@ static const struct hid_device_id mt_devices[] = {
>> USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
>>
>> /* GeneralTouch panel */
>> - { .driver_data = MT_CLS_DUAL2,
>> + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
>> HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
>> USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) },
>>
>> /* PixCir-based panels */
>> - { .driver_data = MT_CLS_DUAL1,
>> + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID,
>> HID_USB_DEVICE(USB_VENDOR_ID_HANVON,
>> USB_DEVICE_ID_HANVON_MULTITOUCH) },
>> - { .driver_data = MT_CLS_DUAL1,
>> + { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID,
>> HID_USB_DEVICE(USB_VENDOR_ID_CANDO,
>> USB_DEVICE_ID_CANDO_PIXCIR_MULTI_TOUCH) },
>>
>> --
>> 1.7.3.4
>>
>
> Thanks,
> Henrik
>
Thanks for the review,
Benjamin
--
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/