From 51269fe86c263ec4fafbafe82970e6d7f6f79102 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Fri, 19 Mar 2010 22:18:15 -0700 Subject: Input: wacom - do not allocate wacom_wac separately There is no reason for allocating struct wacom_wac separately from struct wacom since both have the same lifetime rules and are not shared. Also make 'open' field a boolean. Signed-off-by: Dmitry Torokhov --- drivers/input/tablet/wacom.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/input/tablet/wacom.h') diff --git a/drivers/input/tablet/wacom.h b/drivers/input/tablet/wacom.h index 8fef1b689c69..fdb1d16b9471 100644 --- a/drivers/input/tablet/wacom.h +++ b/drivers/input/tablet/wacom.h @@ -110,9 +110,9 @@ struct wacom { struct usb_device *usbdev; struct usb_interface *intf; struct urb *irq; - struct wacom_wac *wacom_wac; + struct wacom_wac wacom_wac; struct mutex lock; - unsigned int open:1; + bool open; char phys[32]; }; -- cgit v1.2.3 From 8da23fc113e8bdaf813545ec935a6c60254ac439 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Fri, 19 Mar 2010 22:18:15 -0700 Subject: Input: wacom - get rid of input event wrappers Input event interface is pretty stable so let's get rig of wrappers for input_event() and fiends and call them directly. This will simplify and speed up code a bit. Signed-off-by: Dmitry Torokhov --- drivers/input/tablet/wacom.h | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) (limited to 'drivers/input/tablet/wacom.h') diff --git a/drivers/input/tablet/wacom.h b/drivers/input/tablet/wacom.h index fdb1d16b9471..103a8cc29449 100644 --- a/drivers/input/tablet/wacom.h +++ b/drivers/input/tablet/wacom.h @@ -106,7 +106,6 @@ MODULE_LICENSE(DRIVER_LICENSE); struct wacom { dma_addr_t data_dma; - struct input_dev *dev; struct usb_device *usbdev; struct usb_interface *intf; struct urb *irq; @@ -123,27 +122,10 @@ struct wacom_combo { extern const struct usb_device_id wacom_ids[]; -extern int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo); -extern void wacom_report_abs(void *wcombo, unsigned int abs_type, int abs_data); -extern void wacom_report_rel(void *wcombo, unsigned int rel_type, int rel_data); -extern void wacom_report_key(void *wcombo, unsigned int key_type, int key_data); -extern void wacom_input_event(void *wcombo, unsigned int type, unsigned int code, int value); -extern void wacom_input_sync(void *wcombo); -extern void wacom_init_input_dev(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_g4(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_g(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_i3s(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_i4s(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_i4(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_tpc(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_tpc2fg(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern void input_dev_bee(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -extern __u16 wacom_le16_to_cpu(unsigned char *data); -extern __u16 wacom_be16_to_cpu(unsigned char *data); +int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo); +void wacom_setup_input_capabilities(struct input_dev *input_dev, + struct wacom_wac *wacom_wac); +__u16 wacom_le16_to_cpu(unsigned char *data); +__u16 wacom_be16_to_cpu(unsigned char *data); #endif -- cgit v1.2.3 From 95dd3b30ced3ee740e5dd92fc44515a5a6a350d4 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Fri, 19 Mar 2010 22:18:15 -0700 Subject: Input: wacom - get rid of wacom_combo structure Now that we moved input device from struct wacom to struct wacom_wac, presence of wacom_combo just complicats things for no good reason. Let's get rid of it and simply pass URB length to wacom_wac_irq(). Signed-off-by: Dmitry Torokhov --- drivers/input/tablet/wacom.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'drivers/input/tablet/wacom.h') diff --git a/drivers/input/tablet/wacom.h b/drivers/input/tablet/wacom.h index 103a8cc29449..56a37074e0dd 100644 --- a/drivers/input/tablet/wacom.h +++ b/drivers/input/tablet/wacom.h @@ -115,14 +115,9 @@ struct wacom { char phys[32]; }; -struct wacom_combo { - struct wacom *wacom; - struct urb *urb; -}; - extern const struct usb_device_id wacom_ids[]; -int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo); +void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len); void wacom_setup_input_capabilities(struct input_dev *input_dev, struct wacom_wac *wacom_wac); __u16 wacom_le16_to_cpu(unsigned char *data); -- cgit v1.2.3 From 252f77698fe37bdd784e514820852a3ea9827fd0 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Fri, 19 Mar 2010 22:33:38 -0700 Subject: Input: wacom - use get_unaligned to access unaligned data Also get rid of wacom_le16_to_cpu() and wacom_be16_to_cpu() helpers and ise le16_to_cpup() and be16_to_cpup() directly. Signed-off-by: Dmitry Torokhov --- drivers/input/tablet/wacom.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'drivers/input/tablet/wacom.h') diff --git a/drivers/input/tablet/wacom.h b/drivers/input/tablet/wacom.h index 56a37074e0dd..284dfaab6b8c 100644 --- a/drivers/input/tablet/wacom.h +++ b/drivers/input/tablet/wacom.h @@ -120,7 +120,4 @@ extern const struct usb_device_id wacom_ids[]; void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len); void wacom_setup_input_capabilities(struct input_dev *input_dev, struct wacom_wac *wacom_wac); -__u16 wacom_le16_to_cpu(unsigned char *data); -__u16 wacom_be16_to_cpu(unsigned char *data); - #endif -- cgit v1.2.3