usbtouchscreen.c (f7370699fbbb18f97442d6f47cc2d478a911ad6f) usbtouchscreen.c (9e3b25837a20f4d48fef57b0cb8bf750a8cfa8e2)
1/******************************************************************************
2 * usbtouchscreen.c
3 * Driver for USB Touchscreens, supporting those devices:
4 * - eGalax Touchkit
5 * includes eTurboTouch CT-410/510/700
6 * - 3M/Microtouch EX II series
7 * - ITM
8 * - PanJit TouchSet

--- 106 unchanged lines hidden (view full) ---

115 DEVTYPE_ETURBO,
116 DEVTYPE_GUNZE,
117 DEVTYPE_DMC_TSC10,
118 DEVTYPE_IRTOUCH,
119 DEVTYPE_IDEALTEK,
120 DEVTYPE_GENERAL_TOUCH,
121 DEVTYPE_GOTOP,
122 DEVTYPE_JASTEC,
1/******************************************************************************
2 * usbtouchscreen.c
3 * Driver for USB Touchscreens, supporting those devices:
4 * - eGalax Touchkit
5 * includes eTurboTouch CT-410/510/700
6 * - 3M/Microtouch EX II series
7 * - ITM
8 * - PanJit TouchSet

--- 106 unchanged lines hidden (view full) ---

115 DEVTYPE_ETURBO,
116 DEVTYPE_GUNZE,
117 DEVTYPE_DMC_TSC10,
118 DEVTYPE_IRTOUCH,
119 DEVTYPE_IDEALTEK,
120 DEVTYPE_GENERAL_TOUCH,
121 DEVTYPE_GOTOP,
122 DEVTYPE_JASTEC,
123 DEVTYPE_E2I,
123};
124
125#define USB_DEVICE_HID_CLASS(vend, prod) \
126 .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
127 | USB_DEVICE_ID_MATCH_INT_PROTOCOL \
128 | USB_DEVICE_ID_MATCH_DEVICE, \
129 .idVendor = (vend), \
130 .idProduct = (prod), \

--- 61 unchanged lines hidden (view full) ---

192 {USB_DEVICE(0x08f2, 0x00ce), .driver_info = DEVTYPE_GOTOP},
193 {USB_DEVICE(0x08f2, 0x00f4), .driver_info = DEVTYPE_GOTOP},
194#endif
195
196#ifdef CONFIG_TOUCHSCREEN_USB_JASTEC
197 {USB_DEVICE(0x0f92, 0x0001), .driver_info = DEVTYPE_JASTEC},
198#endif
199
124};
125
126#define USB_DEVICE_HID_CLASS(vend, prod) \
127 .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
128 | USB_DEVICE_ID_MATCH_INT_PROTOCOL \
129 | USB_DEVICE_ID_MATCH_DEVICE, \
130 .idVendor = (vend), \
131 .idProduct = (prod), \

--- 61 unchanged lines hidden (view full) ---

193 {USB_DEVICE(0x08f2, 0x00ce), .driver_info = DEVTYPE_GOTOP},
194 {USB_DEVICE(0x08f2, 0x00f4), .driver_info = DEVTYPE_GOTOP},
195#endif
196
197#ifdef CONFIG_TOUCHSCREEN_USB_JASTEC
198 {USB_DEVICE(0x0f92, 0x0001), .driver_info = DEVTYPE_JASTEC},
199#endif
200
201#ifdef CONFIG_TOUCHSCREEN_USB_E2I
202 {USB_DEVICE(0x1ac7, 0x0001), .driver_info = DEVTYPE_E2I},
203#endif
200 {}
201};
202
203
204/*****************************************************************************
204 {}
205};
206
207
208/*****************************************************************************
209 * e2i Part
210 */
211
212#ifdef CONFIG_TOUCHSCREEN_USB_E2I
213static int e2i_init(struct usbtouch_usb *usbtouch)
214{
215 int ret;
216
217 ret = usb_control_msg(usbtouch->udev, usb_rcvctrlpipe(usbtouch->udev, 0),
218 0x01, 0x02, 0x0000, 0x0081,
219 NULL, 0, USB_CTRL_SET_TIMEOUT);
220
221 dbg("%s - usb_control_msg - E2I_RESET - bytes|err: %d",
222 __func__, ret);
223 return ret;
224}
225
226static int e2i_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
227{
228 int tmp = (pkt[0] << 8) | pkt[1];
229 dev->x = (pkt[2] << 8) | pkt[3];
230 dev->y = (pkt[4] << 8) | pkt[5];
231
232 tmp = tmp - 0xA000;
233 dev->touch = (tmp > 0);
234 dev->press = (tmp > 0 ? tmp : 0);
235
236 return 1;
237}
238#endif
239
240
241/*****************************************************************************
205 * eGalax part
206 */
207
208#ifdef CONFIG_TOUCHSCREEN_USB_EGALAX
209
210#ifndef MULTI_PACKET
211#define MULTI_PACKET
212#endif

--- 516 unchanged lines hidden (view full) ---

729 .min_xc = 0x0,
730 .max_xc = 0x0fff,
731 .min_yc = 0x0,
732 .max_yc = 0x0fff,
733 .rept_size = 4,
734 .read_data = jastec_read_data,
735 },
736#endif
242 * eGalax part
243 */
244
245#ifdef CONFIG_TOUCHSCREEN_USB_EGALAX
246
247#ifndef MULTI_PACKET
248#define MULTI_PACKET
249#endif

--- 516 unchanged lines hidden (view full) ---

766 .min_xc = 0x0,
767 .max_xc = 0x0fff,
768 .min_yc = 0x0,
769 .max_yc = 0x0fff,
770 .rept_size = 4,
771 .read_data = jastec_read_data,
772 },
773#endif
774
775#ifdef CONFIG_TOUCHSCREEN_USB_E2I
776 [DEVTYPE_E2I] = {
777 .min_xc = 0x0,
778 .max_xc = 0x7fff,
779 .min_yc = 0x0,
780 .max_yc = 0x7fff,
781 .rept_size = 6,
782 .init = e2i_init,
783 .read_data = e2i_read_data,
784 },
785#endif
737};
738
739
740/*****************************************************************************
741 * Generic Part
742 */
743static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,
744 unsigned char *pkt, int len)

--- 332 unchanged lines hidden ---
786};
787
788
789/*****************************************************************************
790 * Generic Part
791 */
792static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,
793 unsigned char *pkt, int len)

--- 332 unchanged lines hidden ---