linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] multitouch updates (mainly eGalax)
@ 2011-11-23  9:54 Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 1/8] HID: hid-multitouch - add another eGalax id Benjamin Tissoires
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel

Hi Guys,

Here are some multitouch updates.
Jiri, the first one is already in your upstream-fixes branch, but not in
your for-next branch...

Patch 0002 will help end-users to test their device without recompiling the
hid-multitouch between each test.

Patches 0003-0008 are focused on eGalax: 
* I made some cleanup in the #defines for the PIDS.
* I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
* I also removed the .maxcontact field in EGALAX as it is not necessary
  (it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
   and Windpad 110W by me)
* I added a few new devices (I included the one reported by Marek and I kept
  his "From")
* I included the new protocol for a001 devices (reported by Cedric)

Cheers,
Benjamin



^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 1/8] HID: hid-multitouch - add another eGalax id
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space Benjamin Tissoires
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel
  Cc: Chris Bagwell

From: Chris Bagwell <chris@cnpbagwell.com>

This allows ASUS Eee Slate touchscreens to work.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
---
 drivers/hid/hid-core.c       |    1 +
 drivers/hid/hid-ids.h        |    1 +
 drivers/hid/hid-multitouch.c |    3 +++
 3 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 2c0c2aa..eb26af4 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1409,6 +1409,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 6832a4c..33c26d5 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -235,6 +235,7 @@
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2	0x72a1
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3	0x480e
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4	0x726b
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5	0xa001
 
 #define USB_VENDOR_ID_ELECOM		0x056e
 #define USB_DEVICE_ID_ELECOM_BM084	0x0061
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index b32beb9..1bd918b 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -662,6 +662,9 @@ static const struct hid_device_id mt_devices[] = {
 	{  .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
+	{  .driver_data = MT_CLS_EGALAX,
+		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
 
 	/* Elo TouchSystems IntelliTouch Plus panel */
 	{ .driver_data = MT_CLS_DUAL_NSMU_CONTACTID,
-- 
1.7.4.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 1/8] HID: hid-multitouch - add another eGalax id Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 3/8] hid-multitouch: cleanup eGalax quirks Benjamin Tissoires
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel
  Cc: Benjamin Tissoires

From: Benjamin Tissoires <benjamin.tissoires@gmail.com>

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
 .../ABI/testing/sysfs-driver-hid-multitouch        |    9 +++
 drivers/hid/hid-multitouch.c                       |   77 +++++++++++++++-----
 2 files changed, 68 insertions(+), 18 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-multitouch

diff --git a/Documentation/ABI/testing/sysfs-driver-hid-multitouch b/Documentation/ABI/testing/sysfs-driver-hid-multitouch
new file mode 100644
index 0000000..f79839d
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-driver-hid-multitouch
@@ -0,0 +1,9 @@
+What:		/sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/quirks
+Date:		November 2011
+Contact:	Benjamin Tissoires <benjamin.tissoires@gmail.com>
+Description:	The integer value of this attribute corresponds to the
+		quirks actually in place to handle the device's protocol.
+		When read, this attribute returns the current settings (see
+		MT_QUIRKS_* in hid-multitouch.c).
+		When written this attribute change on the fly the quirks, then
+		the protocol to handle the device.
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 1bd918b..f41bcea 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -60,9 +60,19 @@ struct mt_slot {
 	bool seen_in_this_frame;/* has this slot been updated */
 };
 
+struct mt_class {
+	__s32 name;	/* MT_CLS */
+	__s32 quirks;
+	__s32 sn_move;	/* Signal/noise ratio for move events */
+	__s32 sn_width;	/* Signal/noise ratio for width events */
+	__s32 sn_height;	/* Signal/noise ratio for height events */
+	__s32 sn_pressure;	/* Signal/noise ratio for pressure events */
+	__u8 maxcontacts;
+};
+
 struct mt_device {
 	struct mt_slot curdata;	/* placeholder of incoming data */
-	struct mt_class *mtclass;	/* our mt device class */
+	struct mt_class mtclass;	/* our mt device class */
 	unsigned last_field_index;	/* last field index of the report */
 	unsigned last_slot_field;	/* the last field of a slot */
 	int last_mt_collection;	/* last known mt-related collection */
@@ -74,16 +84,6 @@ struct mt_device {
 	struct mt_slot *slots;
 };
 
-struct mt_class {
-	__s32 name;	/* MT_CLS */
-	__s32 quirks;
-	__s32 sn_move;	/* Signal/noise ratio for move events */
-	__s32 sn_width;	/* Signal/noise ratio for width events */
-	__s32 sn_height;	/* Signal/noise ratio for height events */
-	__s32 sn_pressure;	/* Signal/noise ratio for pressure events */
-	__u8 maxcontacts;
-};
-
 /* classes of device behavior */
 #define MT_CLS_DEFAULT				0x0001
 
@@ -181,6 +181,44 @@ static struct mt_class mt_classes[] = {
 	{ }
 };
 
+static ssize_t mt_show_quirks(struct device *dev,
+			   struct device_attribute *attr,
+			   char *buf)
+{
+	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
+	struct mt_device *td = hid_get_drvdata(hdev);
+
+	return sprintf(buf, "%u\n", td->mtclass.quirks);
+}
+
+static ssize_t mt_set_quirks(struct device *dev,
+			  struct device_attribute *attr,
+			  const char *buf, size_t count)
+{
+	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
+	struct mt_device *td = hid_get_drvdata(hdev);
+
+	unsigned long val;
+
+	if (kstrtoul(buf, 0, &val))
+		return -EINVAL;
+
+	td->mtclass.quirks = val;
+
+	return count;
+}
+
+static DEVICE_ATTR(quirks, S_IWUSR | S_IRUGO, mt_show_quirks, mt_set_quirks);
+
+static struct attribute *sysfs_attrs[] = {
+	&dev_attr_quirks.attr,
+	NULL
+};
+
+static struct attribute_group mt_attribute_group = {
+	.attrs = sysfs_attrs
+};
+
 static void mt_feature_mapping(struct hid_device *hdev,
 		struct hid_field *field, struct hid_usage *usage)
 {
@@ -192,9 +230,9 @@ static void mt_feature_mapping(struct hid_device *hdev,
 		break;
 	case HID_DG_CONTACTMAX:
 		td->maxcontacts = field->value[0];
-		if (td->mtclass->maxcontacts)
+		if (td->mtclass.maxcontacts)
 			/* check if the maxcontacts is given by the class */
-			td->maxcontacts = td->mtclass->maxcontacts;
+			td->maxcontacts = td->mtclass.maxcontacts;
 
 		break;
 	}
@@ -214,7 +252,7 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 		unsigned long **bit, int *max)
 {
 	struct mt_device *td = hid_get_drvdata(hdev);
-	struct mt_class *cls = td->mtclass;
+	struct mt_class *cls = &td->mtclass;
 	__s32 quirks = cls->quirks;
 
 	/* Only map fields from TouchScreen or TouchPad collections.
@@ -363,7 +401,7 @@ static int mt_input_mapped(struct hid_device *hdev, struct hid_input *hi,
 
 static int mt_compute_slot(struct mt_device *td)
 {
-	__s32 quirks = td->mtclass->quirks;
+	__s32 quirks = td->mtclass.quirks;
 
 	if (quirks & MT_QUIRK_SLOT_IS_CONTACTID)
 		return td->curdata.contactid;
@@ -407,7 +445,7 @@ static void mt_emit_event(struct mt_device *td, struct input_dev *input)
 
 	for (i = 0; i < td->maxcontacts; ++i) {
 		struct mt_slot *s = &(td->slots[i]);
-		if ((td->mtclass->quirks & MT_QUIRK_NOT_SEEN_MEANS_UP) &&
+		if ((td->mtclass.quirks & MT_QUIRK_NOT_SEEN_MEANS_UP) &&
 			!s->seen_in_this_frame) {
 			s->touch_state = false;
 		}
@@ -444,7 +482,7 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
 				struct hid_usage *usage, __s32 value)
 {
 	struct mt_device *td = hid_get_drvdata(hid);
-	__s32 quirks = td->mtclass->quirks;
+	__s32 quirks = td->mtclass.quirks;
 
 	if (hid->claimed & HID_CLAIMED_INPUT && td->slots) {
 		switch (usage->hid) {
@@ -552,7 +590,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
 		dev_err(&hdev->dev, "cannot allocate multitouch data\n");
 		return -ENOMEM;
 	}
-	td->mtclass = mtclass;
+	td->mtclass = *mtclass;
 	td->inputmode = -1;
 	td->last_mt_collection = -1;
 	hid_set_drvdata(hdev, td);
@@ -574,6 +612,8 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
 		goto fail;
 	}
 
+	ret = sysfs_create_group(&hdev->dev.kobj, &mt_attribute_group);
+
 	mt_set_input_mode(hdev);
 
 	return 0;
@@ -594,6 +634,7 @@ static int mt_reset_resume(struct hid_device *hdev)
 static void mt_remove(struct hid_device *hdev)
 {
 	struct mt_device *td = hid_get_drvdata(hdev);
+	sysfs_remove_group(&hdev->dev.kobj, &mt_attribute_group);
 	hid_hw_stop(hdev);
 	kfree(td->slots);
 	kfree(td);
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/8] hid-multitouch: cleanup eGalax quirks
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 1/8] HID: hid-multitouch - add another eGalax id Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax Benjamin Tissoires
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel

The previous implementation of eGalax protocol was not satisfying as
we had to manually set x/y ranges as they were corrupted after reading
the report descriptor.
Indeed, the report descriptor provided a stylus input interface which
override the correct values.

This patch omits this input, thus leaving the correct value untouched,
and the MT_QUIRK_EGALAX_XYZ_FIXUP not required anymore.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
 drivers/hid/hid-multitouch.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f41bcea..8250f3c 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -50,7 +50,6 @@ MODULE_LICENSE("GPL");
 #define MT_QUIRK_ALWAYS_VALID		(1 << 4)
 #define MT_QUIRK_VALID_IS_INRANGE	(1 << 5)
 #define MT_QUIRK_VALID_IS_CONFIDENCE	(1 << 6)
-#define MT_QUIRK_EGALAX_XYZ_FIXUP	(1 << 7)
 #define MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE	(1 << 8)
 
 struct mt_slot {
@@ -171,8 +170,7 @@ static struct mt_class mt_classes[] = {
 		.maxcontacts = 10 },
 	{ .name = MT_CLS_EGALAX,
 		.quirks =  MT_QUIRK_SLOT_IS_CONTACTID |
-			MT_QUIRK_VALID_IS_INRANGE |
-			MT_QUIRK_EGALAX_XYZ_FIXUP,
+			MT_QUIRK_VALID_IS_INRANGE,
 		.maxcontacts = 2,
 		.sn_move = 4096,
 		.sn_pressure = 32,
@@ -253,7 +251,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 {
 	struct mt_device *td = hid_get_drvdata(hdev);
 	struct mt_class *cls = &td->mtclass;
-	__s32 quirks = cls->quirks;
 
 	/* Only map fields from TouchScreen or TouchPad collections.
          * We need to ignore fields that belong to other collections
@@ -265,13 +262,17 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 	else
 		return 0;
 
+	/* eGalax devices provide a Digitizer.Stylus input which overrides
+	 * the correct Digitizers.Finger X/Y ranges.
+	 * Let's just ignore this input. */
+	if (field->physical == HID_DG_STYLUS)
+		return -1;
+
 	switch (usage->hid & HID_USAGE_PAGE) {
 
 	case HID_UP_GENDESK:
 		switch (usage->hid) {
 		case HID_GD_X:
-			if (quirks & MT_QUIRK_EGALAX_XYZ_FIXUP)
-				field->logical_maximum = 32760;
 			hid_map_usage(hi, usage, bit, max,
 					EV_ABS, ABS_MT_POSITION_X);
 			set_abs(hi->input, ABS_MT_POSITION_X, field,
@@ -284,8 +285,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 			}
 			return 1;
 		case HID_GD_Y:
-			if (quirks & MT_QUIRK_EGALAX_XYZ_FIXUP)
-				field->logical_maximum = 32760;
 			hid_map_usage(hi, usage, bit, max,
 					EV_ABS, ABS_MT_POSITION_Y);
 			set_abs(hi->input, ABS_MT_POSITION_Y, field,
@@ -353,8 +352,6 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 			}
 			return 1;
 		case HID_DG_TIPPRESSURE:
-			if (quirks & MT_QUIRK_EGALAX_XYZ_FIXUP)
-				field->logical_minimum = 0;
 			hid_map_usage(hi, usage, bit, max,
 					EV_ABS, ABS_MT_PRESSURE);
 			set_abs(hi->input, ABS_MT_PRESSURE, field,
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (2 preceding siblings ...)
  2011-11-23  9:54 ` [PATCH 3/8] hid-multitouch: cleanup eGalax quirks Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 5/8] HID: cleanup with eGalax PID definitions Benjamin Tissoires
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel

Some eGalax devices are 4 or 5 fingers touches, wereas others are 2.
This patch removes the limit in which all eGalax presents 2 touches.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
 drivers/hid/hid-multitouch.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 8250f3c..354a5cd 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -171,7 +171,6 @@ static struct mt_class mt_classes[] = {
 	{ .name = MT_CLS_EGALAX,
 		.quirks =  MT_QUIRK_SLOT_IS_CONTACTID |
 			MT_QUIRK_VALID_IS_INRANGE,
-		.maxcontacts = 2,
 		.sn_move = 4096,
 		.sn_pressure = 32,
 	},
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 5/8] HID: cleanup with eGalax PID definitions
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (3 preceding siblings ...)
  2011-11-23  9:54 ` [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel

This is just a renaming of USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH{N}
to USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_{PID} to handle more eGalax
devices.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
 drivers/hid/hid-core.c       |   12 ++++++------
 drivers/hid/hid-ids.h        |   12 ++++++------
 drivers/hid/hid-multitouch.c |   24 ++++++++++++------------
 3 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index eb26af4..b776bfb 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1404,12 +1404,12 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0006) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH1) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 33c26d5..a9526fd 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -230,12 +230,12 @@
 
 #define USB_VENDOR_ID_DWAV		0x0eef
 #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER	0x0001
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH	0x480d
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH1	0x720c
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2	0x72a1
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3	0x480e
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4	0x726b
-#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5	0xa001
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D	0x480d
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E	0x480e
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C	0x720c
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B	0x726b
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1	0x72a1
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001	0xa001
 
 #define USB_VENDOR_ID_ELECOM		0x056e
 #define USB_DEVICE_ID_ELECOM_BM084	0x0061
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 354a5cd..db39228 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -682,26 +682,26 @@ static const struct hid_device_id mt_devices[] = {
 			USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
 
 	/* eGalax devices (resistive) */
-	{  .driver_data = MT_CLS_EGALAX,
+	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH) },
-	{  .driver_data = MT_CLS_EGALAX,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D) },
+	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E) },
 
 	/* eGalax devices (capacitive) */
-	{  .driver_data = MT_CLS_EGALAX,
+	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH1) },
-	{  .driver_data = MT_CLS_EGALAX,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) },
+	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH2) },
-	{  .driver_data = MT_CLS_EGALAX,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) },
+	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
-	{  .driver_data = MT_CLS_EGALAX,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
+	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH5) },
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
 
 	/* Elo TouchSystems IntelliTouch Plus panel */
 	{ .driver_data = MT_CLS_DUAL_NSMU_CONTACTID,
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (4 preceding siblings ...)
  2011-11-23  9:54 ` [PATCH 5/8] HID: cleanup with eGalax PID definitions Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23 10:46   ` Marek Vasut
  2011-11-23 11:28   ` Jiri Kosina
  2011-11-23  9:54 ` [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W Benjamin Tissoires
                   ` (3 subsequent siblings)
  9 siblings, 2 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel
  Cc: Marek Vasut

From: Marek Vasut <marek.vasut@gmail.com>

This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
supports up to five fingers, therefore the need for a new addition of panel
types.

originally Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
CC: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
 drivers/hid/hid-core.c       |    1 +
 drivers/hid/hid-ids.h        |    1 +
 drivers/hid/hid-multitouch.c |    3 +++
 3 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index b776bfb..e3c9e61 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1409,6 +1409,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index a9526fd..fc49ab3 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -235,6 +235,7 @@
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C	0x720c
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B	0x726b
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1	0x72a1
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302	0x7302
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001	0xa001
 
 #define USB_VENDOR_ID_ELECOM		0x056e
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index db39228..8e920cd 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
 	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
+	{ .driver_data = MT_CLS_EGALAX,
+		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
 
 	/* Elo TouchSystems IntelliTouch Plus panel */
-- 
1.7.4.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (5 preceding siblings ...)
  2011-11-23  9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23  9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel

Just another eGalax device.
Please note that adding this device to have_special_driver
in hid-core.c is not required anymore.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
 drivers/hid/hid-ids.h        |    1 +
 drivers/hid/hid-multitouch.c |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index fc49ab3..cf8c866 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -235,6 +235,7 @@
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C	0x720c
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B	0x726b
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1	0x72a1
+#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72FA	0x72fa
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302	0x7302
 #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001	0xa001
 
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 8e920cd..77210d6 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
 	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
+			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72FA) },
+	{ .driver_data = MT_CLS_EGALAX,
+		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
 	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
-- 
1.7.4.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (6 preceding siblings ...)
  2011-11-23  9:54 ` [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W Benjamin Tissoires
@ 2011-11-23  9:54 ` Benjamin Tissoires
  2011-11-23 18:20   ` Chris Bagwell
  2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
  2011-11-29  8:56 ` Henrik Rydberg
  9 siblings, 1 reply; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23  9:54 UTC (permalink / raw)
  To: Dmitry Torokhov, Henrik Rydberg, Benjamin Tissoires, Jiri Kosina,
	Stephane Chatty, linux-input, linux-kernel
  Cc: Benjamin Tissoires, Cedric Sodhi, Chris Bagwell

From: Benjamin Tissoires <benjamin.tissoires@gmail.com>

This device use another protocol while sending the events.
It's the same as the one described as "serial" by Microsoft.
We are keeping here the sn_move and sn_pressure parameters for
egalax devices.

CC: Cedric Sodhi <manday@gmx.net>
CC: Chris Bagwell <chris@cnpbagwell.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
---
 drivers/hid/hid-multitouch.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 77210d6..f0f3632 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -97,6 +97,7 @@ struct mt_device {
 #define MT_CLS_3M				0x0101
 #define MT_CLS_CYPRESS				0x0102
 #define MT_CLS_EGALAX				0x0103
+#define MT_CLS_EGALAX_SERIAL			0x0104
 
 #define MT_DEFAULT_MAXCONTACT	10
 
@@ -174,6 +175,12 @@ static struct mt_class mt_classes[] = {
 		.sn_move = 4096,
 		.sn_pressure = 32,
 	},
+	{ .name = MT_CLS_EGALAX_SERIAL,
+		.quirks =  MT_QUIRK_SLOT_IS_CONTACTID |
+			MT_QUIRK_ALWAYS_VALID,
+		.sn_move = 4096,
+		.sn_pressure = 32,
+	},
 
 	{ }
 };
@@ -705,7 +712,7 @@ static const struct hid_device_id mt_devices[] = {
 	{ .driver_data = MT_CLS_EGALAX,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
-	{ .driver_data = MT_CLS_EGALAX,
+	{ .driver_data = MT_CLS_EGALAX_SERIAL,
 		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
 			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
 
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
  2011-11-23  9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
@ 2011-11-23 10:46   ` Marek Vasut
  2011-11-23 11:32     ` Benjamin Tissoires
  2011-11-23 11:28   ` Jiri Kosina
  1 sibling, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2011-11-23 10:46 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Dmitry Torokhov, Henrik Rydberg, Jiri Kosina, Stephane Chatty,
	linux-input, linux-kernel

> From: Marek Vasut <marek.vasut@gmail.com>
> 
> This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
> supports up to five fingers, therefore the need for a new addition of panel
> types.
> 
> originally Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> CC: Marek Vasut <marek.vasut@gmail.com>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
> ---
>  drivers/hid/hid-core.c       |    1 +
>  drivers/hid/hid-ids.h        |    1 +
>  drivers/hid/hid-multitouch.c |    3 +++
>  3 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index b776bfb..e3c9e61 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1409,6 +1409,7 @@ static const struct hid_device_id
> hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) }, {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) }, {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) }, +	{
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) }, {
> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, {
> HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
> { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, diff
> --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index a9526fd..fc49ab3 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -235,6 +235,7 @@
>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C	0x720c
>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B	0x726b
>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1	0x72a1
> +#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302	0x7302
>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001	0xa001
> 
>  #define USB_VENDOR_ID_ELECOM		0x056e
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index db39228..8e920cd 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
>  			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
>  	{ .driver_data = MT_CLS_EGALAX,
>  		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
> +			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
> +	{ .driver_data = MT_CLS_EGALAX,
> +		HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>  			USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
> 
>  	/* Elo TouchSystems IntelliTouch Plus panel */

It seems good, but how do you detect the number of fingers the panel can handle? 
That's autodetected now?

M

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
  2011-11-23  9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
  2011-11-23 10:46   ` Marek Vasut
@ 2011-11-23 11:28   ` Jiri Kosina
  2011-11-23 11:36     ` Benjamin Tissoires
  1 sibling, 1 reply; 18+ messages in thread
From: Jiri Kosina @ 2011-11-23 11:28 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
	linux-kernel, Marek Vasut

On Wed, 23 Nov 2011, Benjamin Tissoires wrote:

> From: Marek Vasut <marek.vasut@gmail.com>
> 
> This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
> supports up to five fingers, therefore the need for a new addition of panel
> types.
> 
> originally Signed-off-by: Marek Vasut <marek.vasut@gmail.com>

Before taking this, I'd like to have the credits / signoffs for this patch 
clarified.

Thanks,

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
  2011-11-23 10:46   ` Marek Vasut
@ 2011-11-23 11:32     ` Benjamin Tissoires
  0 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 11:32 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Dmitry Torokhov, Henrik Rydberg, Jiri Kosina, Stephane Chatty,
	linux-input, linux-kernel

On Wed, Nov 23, 2011 at 11:46, Marek Vasut <marek.vasut@gmail.com> wrote:
>> From: Marek Vasut <marek.vasut@gmail.com>
>>
>> This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
>> supports up to five fingers, therefore the need for a new addition of panel
>> types.
>>
>> originally Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
>> CC: Marek Vasut <marek.vasut@gmail.com>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
>> ---
>>  drivers/hid/hid-core.c       |    1 +
>>  drivers/hid/hid-ids.h        |    1 +
>>  drivers/hid/hid-multitouch.c |    3 +++
>>  3 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
>> index b776bfb..e3c9e61 100644
>> --- a/drivers/hid/hid-core.c
>> +++ b/drivers/hid/hid-core.c
>> @@ -1409,6 +1409,7 @@ static const struct hid_device_id
>> hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) }, {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) }, {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) }, +       {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) }, {
>> HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, {
>> HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
>> { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, diff
>> --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
>> index a9526fd..fc49ab3 100644
>> --- a/drivers/hid/hid-ids.h
>> +++ b/drivers/hid/hid-ids.h
>> @@ -235,6 +235,7 @@
>>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C    0x720c
>>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B    0x726b
>>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1    0x72a1
>> +#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302    0x7302
>>  #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001    0xa001
>>
>>  #define USB_VENDOR_ID_ELECOM         0x056e
>> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
>> index db39228..8e920cd 100644
>> --- a/drivers/hid/hid-multitouch.c
>> +++ b/drivers/hid/hid-multitouch.c
>> @@ -701,6 +701,9 @@ static const struct hid_device_id mt_devices[] = {
>>                       USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) },
>>       { .driver_data = MT_CLS_EGALAX,
>>               HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>> +                     USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
>> +     { .driver_data = MT_CLS_EGALAX,
>> +             HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>>                       USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
>>
>>       /* Elo TouchSystems IntelliTouch Plus panel */
>
> It seems good, but how do you detect the number of fingers the panel can handle?
> That's autodetected now?

Yes, I removed the .maxcontact field it in patch 4/8 in the series.

Cheers,
Benjamin

>
> M
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
  2011-11-23 11:28   ` Jiri Kosina
@ 2011-11-23 11:36     ` Benjamin Tissoires
  2011-11-23 12:10       ` Marek Vasut
  0 siblings, 1 reply; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 11:36 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
	linux-kernel, Marek Vasut

On Wed, Nov 23, 2011 at 12:28, Jiri Kosina <jkosina@suse.cz> wrote:
> On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
>
>> From: Marek Vasut <marek.vasut@gmail.com>
>>
>> This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
>> supports up to five fingers, therefore the need for a new addition of panel
>> types.
>>
>> originally Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
>
> Before taking this, I'd like to have the credits / signoffs for this patch
> clarified.

Sorry for that,

I cherry-picked Marek's patch and do some modifications.
I wanted to keep his "from" as he already sent 2 patches that were
lost in the LKML (mostly because of my fault).

So, in this one, you have at least my Signed-off-by.
Marek, will you just answer to this mail with your signed-off-by?

Cheers,
Benjamin

>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500
  2011-11-23 11:36     ` Benjamin Tissoires
@ 2011-11-23 12:10       ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2011-11-23 12:10 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Jiri Kosina, Dmitry Torokhov, Henrik Rydberg, Stephane Chatty,
	linux-input, linux-kernel

> On Wed, Nov 23, 2011 at 12:28, Jiri Kosina <jkosina@suse.cz> wrote:
> > On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
> >> From: Marek Vasut <marek.vasut@gmail.com>
> >> 
> >> This patch adds USB ID for the touchpanel in Acer Iconia W500. The panel
> >> supports up to five fingers, therefore the need for a new addition of
> >> panel types.
> >> 
> >> originally Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > 
> > Before taking this, I'd like to have the credits / signoffs for this
> > patch clarified.
> 
> Sorry for that,
> 
> I cherry-picked Marek's patch and do some modifications.
> I wanted to keep his "from" as he already sent 2 patches that were
> lost in the LKML (mostly because of my fault).
> 
> So, in this one, you have at least my Signed-off-by.
> Marek, will you just answer to this mail with your signed-off-by?
> 
> Cheers,
> Benjamin
> 

I don't really care about who should be the author here, so here you have my SoB 
line.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] multitouch updates (mainly eGalax)
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (7 preceding siblings ...)
  2011-11-23  9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
@ 2011-11-23 12:49 ` Jiri Kosina
  2011-11-23 13:14   ` Benjamin Tissoires
  2011-11-29  8:56 ` Henrik Rydberg
  9 siblings, 1 reply; 18+ messages in thread
From: Jiri Kosina @ 2011-11-23 12:49 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
	linux-kernel

On Wed, 23 Nov 2011, Benjamin Tissoires wrote:

> Here are some multitouch updates.
> Jiri, the first one is already in your upstream-fixes branch, but not in
> your for-next branch...

Hi Benjamin,

yes, that is intentional. 'upstream-fixes' branch is what is scheduled to 
be sent to Linus still during this development cycle (and therefore is not 
for linux-next).

Other branches get merged into linux-next, as they are scheduled for next 
merge window.

> Patch 0002 will help end-users to test their device without recompiling the
> hid-multitouch between each test.
> 
> Patches 0003-0008 are focused on eGalax: 
> * I made some cleanup in the #defines for the PIDS.
> * I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
> * I also removed the .maxcontact field in EGALAX as it is not necessary
>   (it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
>    and Windpad 110W by me)
> * I added a few new devices (I included the one reported by Marek and I kept
>   his "From")
> * I included the new protocol for a001 devices (reported by Cedric)

I will be queueing all those for 3.3, okay?

Thanks,

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] multitouch updates (mainly eGalax)
  2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
@ 2011-11-23 13:14   ` Benjamin Tissoires
  0 siblings, 0 replies; 18+ messages in thread
From: Benjamin Tissoires @ 2011-11-23 13:14 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Dmitry Torokhov, Henrik Rydberg, Stephane Chatty, linux-input,
	linux-kernel

On Wed, Nov 23, 2011 at 13:49, Jiri Kosina <jkosina@suse.cz> wrote:
> On Wed, 23 Nov 2011, Benjamin Tissoires wrote:
>
>> Here are some multitouch updates.
>> Jiri, the first one is already in your upstream-fixes branch, but not in
>> your for-next branch...
>
> Hi Benjamin,
>
> yes, that is intentional. 'upstream-fixes' branch is what is scheduled to
> be sent to Linus still during this development cycle (and therefore is not
> for linux-next).
>
> Other branches get merged into linux-next, as they are scheduled for next
> merge window.
>
>> Patch 0002 will help end-users to test their device without recompiling the
>> hid-multitouch between each test.
>>
>> Patches 0003-0008 are focused on eGalax:
>> * I made some cleanup in the #defines for the PIDS.
>> * I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
>> * I also removed the .maxcontact field in EGALAX as it is not necessary
>>   (it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
>>    and Windpad 110W by me)
>> * I added a few new devices (I included the one reported by Marek and I kept
>>   his "From")
>> * I included the new protocol for a001 devices (reported by Cedric)
>
> I will be queueing all those for 3.3, okay?

I'm ok with that.

Thanks a lot,
Benjamin

>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol
  2011-11-23  9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
@ 2011-11-23 18:20   ` Chris Bagwell
  0 siblings, 0 replies; 18+ messages in thread
From: Chris Bagwell @ 2011-11-23 18:20 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Dmitry Torokhov, Henrik Rydberg, Jiri Kosina, Stephane Chatty,
	linux-input, linux-kernel, Benjamin Tissoires, Cedric Sodhi

On Wed, Nov 23, 2011 at 3:54 AM, Benjamin Tissoires
<benjamin.tissoires@enac.fr> wrote:
> From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
>
> This device use another protocol while sending the events.
> It's the same as the one described as "serial" by Microsoft.
> We are keeping here the sn_move and sn_pressure parameters for
> egalax devices.
>
> CC: Cedric Sodhi <manday@gmx.net>
> CC: Chris Bagwell <chris@cnpbagwell.com>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
> ---

Thanks for sending this patch.  If you like, you can add this for all
the patches except #2.  I'm not the best for reviewing sysfs code.

Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

3-5 are nice cleanups to have.

Chris

>  drivers/hid/hid-multitouch.c |    9 ++++++++-
>  1 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index 77210d6..f0f3632 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -97,6 +97,7 @@ struct mt_device {
>  #define MT_CLS_3M                              0x0101
>  #define MT_CLS_CYPRESS                         0x0102
>  #define MT_CLS_EGALAX                          0x0103
> +#define MT_CLS_EGALAX_SERIAL                   0x0104
>
>  #define MT_DEFAULT_MAXCONTACT  10
>
> @@ -174,6 +175,12 @@ static struct mt_class mt_classes[] = {
>                .sn_move = 4096,
>                .sn_pressure = 32,
>        },
> +       { .name = MT_CLS_EGALAX_SERIAL,
> +               .quirks =  MT_QUIRK_SLOT_IS_CONTACTID |
> +                       MT_QUIRK_ALWAYS_VALID,
> +               .sn_move = 4096,
> +               .sn_pressure = 32,
> +       },
>
>        { }
>  };
> @@ -705,7 +712,7 @@ static const struct hid_device_id mt_devices[] = {
>        { .driver_data = MT_CLS_EGALAX,
>                HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>                        USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
> -       { .driver_data = MT_CLS_EGALAX,
> +       { .driver_data = MT_CLS_EGALAX_SERIAL,
>                HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
>                        USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },
>
> --
> 1.7.4.4
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] multitouch updates (mainly eGalax)
  2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
                   ` (8 preceding siblings ...)
  2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
@ 2011-11-29  8:56 ` Henrik Rydberg
  9 siblings, 0 replies; 18+ messages in thread
From: Henrik Rydberg @ 2011-11-29  8:56 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Dmitry Torokhov, Jiri Kosina, Stephane Chatty, linux-input,
	linux-kernel

On Wed, Nov 23, 2011 at 10:54:26AM +0100, Benjamin Tissoires wrote:
> Hi Guys,
> 
> Here are some multitouch updates.
> Jiri, the first one is already in your upstream-fixes branch, but not in
> your for-next branch...
> 
> Patch 0002 will help end-users to test their device without recompiling the
> hid-multitouch between each test.
> 
> Patches 0003-0008 are focused on eGalax: 
> * I made some cleanup in the #defines for the PIDS.
> * I removed the MT_QUIRK_EGALAX_XYZ_FIXUP as I understood why it was needed
> * I also removed the .maxcontact field in EGALAX as it is not necessary
>   (it was tested on 3 devices: Acer Iconia W500 by Marek, 0xa001 by Cedric,
>    and Windpad 110W by me)
> * I added a few new devices (I included the one reported by Marek and I kept
>   his "From")
> * I included the new protocol for a001 devices (reported by Cedric)

    Acked-by: Henrik Rydberg <rydberg@euromail.se>

Thanks, Benjamin.

Henrik

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2011-11-29  8:56 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-23  9:54 [PATCH 0/8] multitouch updates (mainly eGalax) Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 1/8] HID: hid-multitouch - add another eGalax id Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 2/8] hid-multitouch: create sysfs attribute to control quirks from user-space Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 3/8] hid-multitouch: cleanup eGalax quirks Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 4/8] hid-multitouch: remove .maxcontacts field for eGalax Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 5/8] HID: cleanup with eGalax PID definitions Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 6/8] HID-multitouch: Add egalax ID for Acer Iconia W500 Benjamin Tissoires
2011-11-23 10:46   ` Marek Vasut
2011-11-23 11:32     ` Benjamin Tissoires
2011-11-23 11:28   ` Jiri Kosina
2011-11-23 11:36     ` Benjamin Tissoires
2011-11-23 12:10       ` Marek Vasut
2011-11-23  9:54 ` [PATCH 7/8] hid-multitouch: add support for the MSI Windpad 110W Benjamin Tissoires
2011-11-23  9:54 ` [PATCH 8/8] hid-multitouch: correct eGalax a001 protocol Benjamin Tissoires
2011-11-23 18:20   ` Chris Bagwell
2011-11-23 12:49 ` [PATCH 0/8] multitouch updates (mainly eGalax) Jiri Kosina
2011-11-23 13:14   ` Benjamin Tissoires
2011-11-29  8:56 ` Henrik Rydberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).