mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
HID: multitouch: add support of Panasonic multitouch panels
While at it, also fix some minor codingstyle issues. Signed-off-by: Denis Kovalev <Denis.Kovalev@dataart.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
847672cd14
commit
2258e863b4
4 changed files with 23 additions and 5 deletions
|
@ -354,6 +354,7 @@ config HID_MULTITOUCH
|
||||||
- LG Display panels (Dell ST2220Tc)
|
- LG Display panels (Dell ST2220Tc)
|
||||||
- Lumio CrystalTouch panels
|
- Lumio CrystalTouch panels
|
||||||
- MosArt dual-touch panels
|
- MosArt dual-touch panels
|
||||||
|
- Panasonic multitouch panels
|
||||||
- PenMount dual touch panels
|
- PenMount dual touch panels
|
||||||
- Perixx Peripad 701 touchpad
|
- Perixx Peripad 701 touchpad
|
||||||
- PixArt optical touch screen
|
- PixArt optical touch screen
|
||||||
|
|
|
@ -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_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_PKB1700) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
|
{ 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_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_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN) },
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
#define USB_VENDOR_ID_ACTIONSTAR 0x2101
|
#define USB_VENDOR_ID_ACTIONSTAR 0x2101
|
||||||
#define USB_DEVICE_ID_ACTIONSTAR_1011 0x1011
|
#define USB_DEVICE_ID_ACTIONSTAR_1011 0x1011
|
||||||
|
|
||||||
#define USB_VENDOR_ID_ADS_TECH 0x06e1
|
#define USB_VENDOR_ID_ADS_TECH 0x06e1
|
||||||
#define USB_DEVICE_ID_ADS_TECH_RADIO_SI470X 0xa155
|
#define USB_DEVICE_ID_ADS_TECH_RADIO_SI470X 0xa155
|
||||||
|
|
||||||
#define USB_VENDOR_ID_AFATECH 0x15a4
|
#define USB_VENDOR_ID_AFATECH 0x15a4
|
||||||
|
@ -565,6 +565,10 @@
|
||||||
#define USB_DEVICE_ID_ORTEK_PKB1700 0x1700
|
#define USB_DEVICE_ID_ORTEK_PKB1700 0x1700
|
||||||
#define USB_DEVICE_ID_ORTEK_WKB2000 0x2000
|
#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_PANJIT 0x134c
|
||||||
|
|
||||||
#define USB_VENDOR_ID_PANTHERLORD 0x0810
|
#define USB_VENDOR_ID_PANTHERLORD 0x0810
|
||||||
|
|
|
@ -104,6 +104,7 @@ struct mt_device {
|
||||||
#define MT_CLS_EGALAX 0x0103
|
#define MT_CLS_EGALAX 0x0103
|
||||||
#define MT_CLS_EGALAX_SERIAL 0x0104
|
#define MT_CLS_EGALAX_SERIAL 0x0104
|
||||||
#define MT_CLS_TOPSEED 0x0105
|
#define MT_CLS_TOPSEED 0x0105
|
||||||
|
#define MT_CLS_PANASONIC 0x0106
|
||||||
|
|
||||||
#define MT_DEFAULT_MAXCONTACT 10
|
#define MT_DEFAULT_MAXCONTACT 10
|
||||||
|
|
||||||
|
@ -198,6 +199,9 @@ static struct mt_class mt_classes[] = {
|
||||||
.is_indirect = true,
|
.is_indirect = true,
|
||||||
.maxcontacts = 2,
|
.maxcontacts = 2,
|
||||||
},
|
},
|
||||||
|
{ .name = MT_CLS_PANASONIC,
|
||||||
|
.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP,
|
||||||
|
.maxcontacts = 4 },
|
||||||
|
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
@ -278,8 +282,8 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
|
||||||
int code;
|
int code;
|
||||||
|
|
||||||
/* Only map fields from TouchScreen or TouchPad collections.
|
/* Only map fields from TouchScreen or TouchPad collections.
|
||||||
* We need to ignore fields that belong to other collections
|
* We need to ignore fields that belong to other collections
|
||||||
* such as Mouse that might have the same GenericDesktop usages. */
|
* such as Mouse that might have the same GenericDesktop usages. */
|
||||||
if (field->application == HID_DG_TOUCHSCREEN)
|
if (field->application == HID_DG_TOUCHSCREEN)
|
||||||
set_bit(INPUT_PROP_DIRECT, hi->input->propbit);
|
set_bit(INPUT_PROP_DIRECT, hi->input->propbit);
|
||||||
else if (field->application != HID_DG_TOUCHPAD)
|
else if (field->application != HID_DG_TOUCHPAD)
|
||||||
|
@ -581,9 +585,8 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (usage->hid == td->last_slot_field) {
|
if (usage->hid == td->last_slot_field)
|
||||||
mt_complete_slot(td);
|
mt_complete_slot(td);
|
||||||
}
|
|
||||||
|
|
||||||
if (field->index == td->last_field_index
|
if (field->index == td->last_field_index
|
||||||
&& td->num_received >= td->num_expected)
|
&& 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,
|
HID_USB_DEVICE(USB_VENDOR_ID_TURBOX,
|
||||||
USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) },
|
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 */
|
/* PenMount panels */
|
||||||
{ .driver_data = MT_CLS_CONFIDENCE,
|
{ .driver_data = MT_CLS_CONFIDENCE,
|
||||||
HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT,
|
HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT,
|
||||||
|
|
Loading…
Reference in a new issue