Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2258e863 authored by Denis Kovalev's avatar Denis Kovalev Committed by Jiri Kosina
Browse files

HID: multitouch: add support of Panasonic multitouch panels



While at it, also fix some minor codingstyle issues.

Signed-off-by: default avatarDenis Kovalev <Denis.Kovalev@dataart.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 847672cd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -354,6 +354,7 @@ config HID_MULTITOUCH
	  - LG Display panels (Dell ST2220Tc)
	  - Lumio CrystalTouch panels
	  - MosArt dual-touch panels
	  - Panasonic multitouch panels
	  - PenMount dual touch panels
	  - Perixx Peripad 701 touchpad
	  - PixArt optical touch screen
+2 −0
Original line number Diff line number Diff line
@@ -1501,6 +1501,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_PANASONIC, USB_DEVICE_ID_PANABOARD_UBT780) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_PANASONIC, USB_DEVICE_ID_PANABOARD_UBT880) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, USB_DEVICE_ID_PENMOUNT_PCI) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN) },
+5 −1
Original line number Diff line number Diff line
@@ -565,6 +565,10 @@
#define USB_DEVICE_ID_ORTEK_PKB1700	0x1700
#define USB_DEVICE_ID_ORTEK_WKB2000	0x2000

#define USB_VENDOR_ID_PANASONIC		0x04da
#define USB_DEVICE_ID_PANABOARD_UBT780	0x1044
#define USB_DEVICE_ID_PANABOARD_UBT880	0x104d

#define USB_VENDOR_ID_PANJIT		0x134c

#define USB_VENDOR_ID_PANTHERLORD	0x0810
+15 −4
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ struct mt_device {
#define MT_CLS_EGALAX				0x0103
#define MT_CLS_EGALAX_SERIAL			0x0104
#define MT_CLS_TOPSEED				0x0105
#define MT_CLS_PANASONIC			0x0106

#define MT_DEFAULT_MAXCONTACT	10

@@ -198,6 +199,9 @@ static struct mt_class mt_classes[] = {
		.is_indirect = true,
		.maxcontacts = 2,
	},
	{ .name = MT_CLS_PANASONIC,
		.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP,
		.maxcontacts = 4 },

	{ }
};
@@ -581,9 +585,8 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
			return 0;
		}

		if (usage->hid == td->last_slot_field) {
		if (usage->hid == td->last_slot_field)
			mt_complete_slot(td);
		}

		if (field->index == td->last_field_index
			&& td->num_received >= td->num_expected)
@@ -857,6 +860,14 @@ static const struct hid_device_id mt_devices[] = {
		HID_USB_DEVICE(USB_VENDOR_ID_TURBOX,
			USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) },

	/* Panasonic panels */
	{ .driver_data = MT_CLS_PANASONIC,
		HID_USB_DEVICE(USB_VENDOR_ID_PANASONIC,
			USB_DEVICE_ID_PANABOARD_UBT780) },
	{ .driver_data = MT_CLS_PANASONIC,
		HID_USB_DEVICE(USB_VENDOR_ID_PANASONIC,
			USB_DEVICE_ID_PANABOARD_UBT880) },

	/* PenMount panels */
	{ .driver_data = MT_CLS_CONFIDENCE,
		HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT,