/* * drivers/input/tablet/wacom_sys.c * * USB Wacom tablet support - system specific code *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */#include"wacom_wac.h"#include"wacom.h"/* defines to get HID report descriptor */#define HID_DEVICET_HID (USB_TYPE_CLASS | 0x01)#define HID_DEVICET_REPORT (USB_TYPE_CLASS | 0x02)#define HID_USAGE_UNDEFINED 0x00#define HID_USAGE_PAGE 0x05#define HID_USAGE_PAGE_DIGITIZER 0x0d#define HID_USAGE_PAGE_DESKTOP 0x01#define HID_USAGE 0x09#define HID_USAGE_X 0x30#define HID_USAGE_Y 0x31#define HID_USAGE_X_TILT 0x3d#define HID_USAGE_Y_TILT 0x3e#define HID_USAGE_FINGER 0x22#define HID_USAGE_STYLUS 0x20#define HID_USAGE_CONTACTMAX 0x55#define HID_COLLECTION 0xa1#define HID_COLLECTION_LOGICAL 0x02#define HID_COLLECTION_END 0xc0enum{
WCM_UNDEFINED =0,
WCM_DESKTOP,
WCM_DIGITIZER,};struct hid_descriptor {struct usb_descriptor_header header;
__le16 bcdHID;
u8 bCountryCode;
u8 bNumDescriptors;
u8 bDescriptorType;
__le16 wDescriptorLength;}__attribute__((packed));/* defines to get/set USB message */#define USB_REQ_GET_REPORT 0x01#define USB_REQ_SET_REPORT 0x09#define WAC_HID_FEATURE_REPORT 0x03#define WAC_MSG_RETRIES 5#define WAC_CMD_LED_CONTROL 0x20#define WAC_CMD_ICON_START 0x21#define WAC_CMD_ICON_XFER 0x23#define WAC_CMD_RETRIES 10static intwacom_get_report(struct usb_interface *i