diff options
| author | Ping Cheng <pinglinux@gmail.com> | 2012-06-12 03:15:06 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-06-12 03:39:57 -0400 |
| commit | ac173837cd4b268a538235a1699b91457551a9a9 (patch) | |
| tree | 5e6c886ef2ffaf802c0194766fc61ec29de653cd /drivers/input/tablet | |
| parent | ea2e60244573a9204c8cee9b4fb181106784c617 (diff) | |
Input: wacom - add two new devices (0xed and 0xef)
0xed supports pen and one finger touch; 0xef is pen only.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Acked-by: Chris Bagwell <chris@cnpbagwell.com>
Reviewed-by: Jason Gerecke <killertofu@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/tablet')
| -rw-r--r-- | drivers/input/tablet/wacom_wac.c | 13 | ||||
| -rw-r--r-- | drivers/input/tablet/wacom_wac.h | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index c40dcb7036b3..fd0cf4d328a3 100644 --- a/drivers/input/tablet/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c | |||
| @@ -888,7 +888,7 @@ static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len) | |||
| 888 | prox = data[0] & 0x01; | 888 | prox = data[0] & 0x01; |
| 889 | x = get_unaligned_le16(&data[1]); | 889 | x = get_unaligned_le16(&data[1]); |
| 890 | y = get_unaligned_le16(&data[3]); | 890 | y = get_unaligned_le16(&data[3]); |
| 891 | } else { /* with capacity */ | 891 | } else { |
| 892 | prox = data[1] & 0x01; | 892 | prox = data[1] & 0x01; |
| 893 | x = le16_to_cpup((__le16 *)&data[2]); | 893 | x = le16_to_cpup((__le16 *)&data[2]); |
| 894 | y = le16_to_cpup((__le16 *)&data[4]); | 894 | y = le16_to_cpup((__le16 *)&data[4]); |
| @@ -961,6 +961,7 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len) | |||
| 961 | case WACOM_REPORT_TPC1FG: | 961 | case WACOM_REPORT_TPC1FG: |
| 962 | case WACOM_REPORT_TPCHID: | 962 | case WACOM_REPORT_TPCHID: |
| 963 | case WACOM_REPORT_TPCST: | 963 | case WACOM_REPORT_TPCST: |
| 964 | case WACOM_REPORT_TPC1FGE: | ||
| 964 | return wacom_tpc_single_touch(wacom, len); | 965 | return wacom_tpc_single_touch(wacom, len); |
| 965 | 966 | ||
| 966 | case WACOM_REPORT_TPCMT: | 967 | case WACOM_REPORT_TPCMT: |
| @@ -1244,6 +1245,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len) | |||
| 1244 | break; | 1245 | break; |
| 1245 | 1246 | ||
| 1246 | case TABLETPC: | 1247 | case TABLETPC: |
| 1248 | case TABLETPCE: | ||
| 1247 | case TABLETPC2FG: | 1249 | case TABLETPC2FG: |
| 1248 | case MTSCREEN: | 1250 | case MTSCREEN: |
| 1249 | sync = wacom_tpc_irq(wacom_wac, len); | 1251 | sync = wacom_tpc_irq(wacom_wac, len); |
| @@ -1569,6 +1571,7 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev, | |||
| 1569 | /* fall through */ | 1571 | /* fall through */ |
| 1570 | 1572 | ||
| 1571 | case TABLETPC: | 1573 | case TABLETPC: |
| 1574 | case TABLETPCE: | ||
| 1572 | __clear_bit(ABS_MISC, input_dev->absbit); | 1575 | __clear_bit(ABS_MISC, input_dev->absbit); |
| 1573 | 1576 | ||
| 1574 | __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); | 1577 | __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); |
| @@ -1886,6 +1889,12 @@ static const struct wacom_features wacom_features_0xE6 = | |||
| 1886 | static const struct wacom_features wacom_features_0xEC = | 1889 | static const struct wacom_features wacom_features_0xEC = |
| 1887 | { "Wacom ISDv4 EC", WACOM_PKGLEN_GRAPHIRE, 25710, 14500, 255, | 1890 | { "Wacom ISDv4 EC", WACOM_PKGLEN_GRAPHIRE, 25710, 14500, 255, |
| 1888 | 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; | 1891 | 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; |
| 1892 | static const struct wacom_features wacom_features_0xED = | ||
| 1893 | { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, | ||
| 1894 | 0, TABLETPCE, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; | ||
| 1895 | static const struct wacom_features wacom_features_0xEF = | ||
| 1896 | { "Wacom ISDv4 EF", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, | ||
| 1897 | 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; | ||
| 1889 | static const struct wacom_features wacom_features_0x47 = | 1898 | static const struct wacom_features wacom_features_0x47 = |
| 1890 | { "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, | 1899 | { "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, |
| 1891 | 31, INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; | 1900 | 31, INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; |
| @@ -2060,6 +2069,8 @@ const struct usb_device_id wacom_ids[] = { | |||
| 2060 | { USB_DEVICE_WACOM(0xE5) }, | 2069 | { USB_DEVICE_WACOM(0xE5) }, |
| 2061 | { USB_DEVICE_WACOM(0xE6) }, | 2070 | { USB_DEVICE_WACOM(0xE6) }, |
| 2062 | { USB_DEVICE_WACOM(0xEC) }, | 2071 | { USB_DEVICE_WACOM(0xEC) }, |
| 2072 | { USB_DEVICE_WACOM(0xED) }, | ||
| 2073 | { USB_DEVICE_WACOM(0xEF) }, | ||
| 2063 | { USB_DEVICE_WACOM(0x47) }, | 2074 | { USB_DEVICE_WACOM(0x47) }, |
| 2064 | { USB_DEVICE_WACOM(0xF4) }, | 2075 | { USB_DEVICE_WACOM(0xF4) }, |
| 2065 | { USB_DEVICE_LENOVO(0x6004) }, | 2076 | { USB_DEVICE_LENOVO(0x6004) }, |
diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h index 87080435116c..bd5d37b28714 100644 --- a/drivers/input/tablet/wacom_wac.h +++ b/drivers/input/tablet/wacom_wac.h | |||
| @@ -48,6 +48,7 @@ | |||
| 48 | #define WACOM_REPORT_TPCMT 13 | 48 | #define WACOM_REPORT_TPCMT 13 |
| 49 | #define WACOM_REPORT_TPCHID 15 | 49 | #define WACOM_REPORT_TPCHID 15 |
| 50 | #define WACOM_REPORT_TPCST 16 | 50 | #define WACOM_REPORT_TPCST 16 |
| 51 | #define WACOM_REPORT_TPC1FGE 18 | ||
| 51 | 52 | ||
| 52 | /* device quirks */ | 53 | /* device quirks */ |
| 53 | #define WACOM_QUIRK_MULTI_INPUT 0x0001 | 54 | #define WACOM_QUIRK_MULTI_INPUT 0x0001 |
| @@ -80,6 +81,7 @@ enum { | |||
| 80 | WIRELESS, | 81 | WIRELESS, |
| 81 | BAMBOO_PT, | 82 | BAMBOO_PT, |
| 82 | TABLETPC, /* add new TPC below */ | 83 | TABLETPC, /* add new TPC below */ |
| 84 | TABLETPCE, | ||
| 83 | TABLETPC2FG, | 85 | TABLETPC2FG, |
| 84 | MTSCREEN, | 86 | MTSCREEN, |
| 85 | MAX_TYPE | 87 | MAX_TYPE |
