[PATCH 3/7] input: touchscreen: use to_delayed_work

2016-01-01 Thread Geliang Tang
Use to_delayed_work() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/input/touchscreen/pcap_ts.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/pcap_ts.c 
b/drivers/input/touchscreen/pcap_ts.c
index 23a354a..0e3fc41 100644
--- a/drivers/input/touchscreen/pcap_ts.c
+++ b/drivers/input/touchscreen/pcap_ts.c
@@ -87,7 +87,7 @@ static void pcap_ts_read_xy(void *data, u16 res[2])
 
 static void pcap_ts_work(struct work_struct *work)
 {
-   struct delayed_work *dw = container_of(work, struct delayed_work, work);
+   struct delayed_work *dw = to_delayed_work(work);
struct pcap_ts *pcap_ts = container_of(dw, struct pcap_ts, work);
u8 ch[2];
 
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/5] HID: move to_hid_device() to hid.h

2015-12-27 Thread Geliang Tang
to_hid_device() macro is defined in both hid-lg4ff.c and 
hid-logitech-hidpp.c. So I move it to include/linux/hid.h.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/hid/hid-lg4ff.c  | 2 --
 drivers/hid/hid-logitech-hidpp.c | 2 --
 include/linux/hid.h  | 3 +++
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/hid/hid-lg4ff.c b/drivers/hid/hid-lg4ff.c
index fbddcb3..3e160ff 100644
--- a/drivers/hid/hid-lg4ff.c
+++ b/drivers/hid/hid-lg4ff.c
@@ -33,8 +33,6 @@
 #include "hid-lg4ff.h"
 #include "hid-ids.h"
 
-#define to_hid_device(pdev) container_of(pdev, struct hid_device, dev)
-
 #define LG4FF_MMODE_IS_MULTIMODE 0
 #define LG4FF_MMODE_SWITCHED 1
 #define LG4FF_MMODE_NOT_MULTIMODE 2
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index f2a4811..bd2ab476 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -1310,8 +1310,6 @@ struct g920_private_data {
u16 range;
 };
 
-#define to_hid_device(pdev) container_of(pdev, struct hid_device, dev)
-
 static ssize_t g920_range_show(struct device *dev, struct device_attribute 
*attr,
char *buf)
 {
diff --git a/include/linux/hid.h b/include/linux/hid.h
index a6d7a3f..1472026 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -565,6 +565,9 @@ struct hid_device { 
/* device report descriptor */
wait_queue_head_t debug_wait;
 };
 
+#define to_hid_device(pdev) \
+   container_of(pdev, struct hid_device, dev)
+
 static inline void *hid_get_drvdata(struct hid_device *hdev)
 {
return dev_get_drvdata(>dev);
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 4/5] HID: wiimote: use dev_to_wii()

2015-12-27 Thread Geliang Tang
Use dev_to_wii() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/hid/hid-wiimote-modules.c | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/hid/hid-wiimote-modules.c 
b/drivers/hid/hid-wiimote-modules.c
index 05e23c4..4390eee 100644
--- a/drivers/hid/hid-wiimote-modules.c
+++ b/drivers/hid/hid-wiimote-modules.c
@@ -296,14 +296,12 @@ static const struct wiimod_ops wiimod_battery = {
 
 static enum led_brightness wiimod_led_get(struct led_classdev *led_dev)
 {
-   struct wiimote_data *wdata;
struct device *dev = led_dev->dev->parent;
+   struct wiimote_data *wdata = dev_to_wii(dev);
int i;
unsigned long flags;
bool value = false;
 
-   wdata = hid_get_drvdata(container_of(dev, struct hid_device, dev));
-
for (i = 0; i < 4; ++i) {
if (wdata->leds[i] == led_dev) {
spin_lock_irqsave(>state.lock, flags);
@@ -319,14 +317,12 @@ static enum led_brightness wiimod_led_get(struct 
led_classdev *led_dev)
 static void wiimod_led_set(struct led_classdev *led_dev,
   enum led_brightness value)
 {
-   struct wiimote_data *wdata;
struct device *dev = led_dev->dev->parent;
+   struct wiimote_data *wdata = dev_to_wii(dev);
int i;
unsigned long flags;
__u8 state, flag;
 
-   wdata = hid_get_drvdata(container_of(dev, struct hid_device, dev));
-
for (i = 0; i < 4; ++i) {
if (wdata->leds[i] == led_dev) {
flag = WIIPROTO_FLAG_LED(i + 1);
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/5] HID: add a new helper to_hid_driver()

2015-12-27 Thread Geliang Tang
Add a new helper to_hid_driver() and use it in hid-core.c.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/hid/hid-core.c | 7 +++
 include/linux/hid.h| 3 +++
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 3abff97..ecf614b 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -2071,7 +2071,7 @@ struct hid_dynid {
 static ssize_t store_new_id(struct device_driver *drv, const char *buf,
size_t count)
 {
-   struct hid_driver *hdrv = container_of(drv, struct hid_driver, driver);
+   struct hid_driver *hdrv = to_hid_driver(drv);
struct hid_dynid *dynid;
__u32 bus, vendor, product;
unsigned long driver_data = 0;
@@ -2133,7 +2133,7 @@ static const struct hid_device_id 
*hid_match_device(struct hid_device *hdev,
 
 static int hid_bus_match(struct device *dev, struct device_driver *drv)
 {
-   struct hid_driver *hdrv = container_of(drv, struct hid_driver, driver);
+   struct hid_driver *hdrv = to_hid_driver(drv);
struct hid_device *hdev = to_hid_device(dev);
 
return hid_match_device(hdev, hdrv) != NULL;
@@ -2141,8 +2141,7 @@ static int hid_bus_match(struct device *dev, struct 
device_driver *drv)
 
 static int hid_device_probe(struct device *dev)
 {
-   struct hid_driver *hdrv = container_of(dev->driver,
-   struct hid_driver, driver);
+   struct hid_driver *hdrv = to_hid_driver(dev->driver);
struct hid_device *hdev = to_hid_device(dev);
const struct hid_device_id *id;
int ret = 0;
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 1472026..75b66ec 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -717,6 +717,9 @@ struct hid_driver {
struct device_driver driver;
 };
 
+#define to_hid_driver(pdrv) \
+   container_of(pdrv, struct hid_driver, driver)
+
 /**
  * hid_ll_driver - low level driver callbacks
  * @start: called on probe to start the device
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 5/5] HID: use kobj_to_dev()

2015-12-27 Thread Geliang Tang
Use kobj_to_dev() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/hid/hid-core.c|  2 +-
 drivers/hid/hid-roccat-arvo.c |  6 ++
 drivers/hid/hid-roccat-common.c   |  6 ++
 drivers/hid/hid-roccat-isku.c |  6 ++
 drivers/hid/hid-roccat-kone.c | 12 
 drivers/hid/hid-roccat-koneplus.c | 12 
 drivers/hid/hid-roccat-kovaplus.c | 12 
 drivers/hid/hid-roccat-lua.c  |  4 ++--
 drivers/hid/hid-roccat-pyra.c | 15 +--
 drivers/hid/wacom_sys.c   |  4 ++--
 10 files changed, 28 insertions(+), 51 deletions(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index ecf614b..afbf39d 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1571,7 +1571,7 @@ read_report_descriptor(struct file *filp, struct kobject 
*kobj,
struct bin_attribute *attr,
char *buf, loff_t off, size_t count)
 {
-   struct device *dev = container_of(kobj, struct device, kobj);
+   struct device *dev = kobj_to_dev(kobj);
struct hid_device *hdev = to_hid_device(dev);
 
if (off >= hdev->rsize)
diff --git a/drivers/hid/hid-roccat-arvo.c b/drivers/hid/hid-roccat-arvo.c
index 1948208..329c5d1 100644
--- a/drivers/hid/hid-roccat-arvo.c
+++ b/drivers/hid/hid-roccat-arvo.c
@@ -191,8 +191,7 @@ static ssize_t arvo_sysfs_write(struct file *fp,
struct kobject *kobj, void const *buf,
loff_t off, size_t count, size_t real_size, uint command)
 {
-   struct device *dev =
-   container_of(kobj, struct device, kobj)->parent->parent;
+   struct device *dev = kobj_to_dev(kobj)->parent->parent;
struct arvo_device *arvo = hid_get_drvdata(dev_get_drvdata(dev));
struct usb_device *usb_dev = interface_to_usbdev(to_usb_interface(dev));
int retval;
@@ -211,8 +210,7 @@ static ssize_t arvo_sysfs_read(struct file *fp,
struct kobject *kobj, void *buf, loff_t off,
size_t count, size_t real_size, uint command)
 {
-   struct device *dev =
-   container_of(kobj, struct device, kobj)->parent->parent;
+   struct device *dev = kobj_to_dev(kobj)->parent->parent;
struct arvo_device *arvo = hid_get_drvdata(dev_get_drvdata(dev));
struct usb_device *usb_dev = interface_to_usbdev(to_usb_interface(dev));
int retval;
diff --git a/drivers/hid/hid-roccat-common.c b/drivers/hid/hid-roccat-common.c
index 02e28e9..8155ac5 100644
--- a/drivers/hid/hid-roccat-common.c
+++ b/drivers/hid/hid-roccat-common.c
@@ -134,8 +134,7 @@ ssize_t roccat_common2_sysfs_read(struct file *fp, struct 
kobject *kobj,
char *buf, loff_t off, size_t count,
size_t real_size, uint command)
 {
-   struct device *dev =
-   container_of(kobj, struct device, kobj)->parent->parent;
+   struct device *dev = kobj_to_dev(kobj)->parent->parent;
struct roccat_common2_device *roccat_dev = 
hid_get_drvdata(dev_get_drvdata(dev));
struct usb_device *usb_dev = interface_to_usbdev(to_usb_interface(dev));
int retval;
@@ -158,8 +157,7 @@ ssize_t roccat_common2_sysfs_write(struct file *fp, struct 
kobject *kobj,
void const *buf, loff_t off, size_t count,
size_t real_size, uint command)
 {
-   struct device *dev =
-   container_of(kobj, struct device, kobj)->parent->parent;
+   struct device *dev = kobj_to_dev(kobj)->parent->parent;
struct roccat_common2_device *roccat_dev = 
hid_get_drvdata(dev_get_drvdata(dev));
struct usb_device *usb_dev = interface_to_usbdev(to_usb_interface(dev));
int retval;
diff --git a/drivers/hid/hid-roccat-isku.c b/drivers/hid/hid-roccat-isku.c
index bc62ed9..02db537 100644
--- a/drivers/hid/hid-roccat-isku.c
+++ b/drivers/hid/hid-roccat-isku.c
@@ -121,8 +121,7 @@ static ssize_t isku_sysfs_read(struct file *fp, struct 
kobject *kobj,
char *buf, loff_t off, size_t count,
size_t real_size, uint command)
 {
-   struct device *dev =
-   container_of(kobj, struct device, kobj)->parent->parent;
+   struct device *dev = kobj_to_dev(kobj)->parent->parent;
struct isku_device *isku = hid_get_drvdata(dev_get_drvdata(dev));
struct usb_device *usb_dev = interface_to_usbdev(to_usb_interface(dev));
int retval;
@@ -144,8 +143,7 @@ static ssize_t isku_sysfs_write(struct file *fp, struct 
kobject *kobj,
void const *buf, loff_t off, size_t count,
size_t real_size, uint command)
 {
-   struct device *dev =
-   container_of(kobj, struct device, kobj)->parent->parent;
+   struct device *dev = kobj_to_dev(kobj)->parent->parent;
struct isku_devi

[PATCH 4/4] HID: usbhid: use to_usb_device

2015-12-23 Thread Geliang Tang
Use to_usb_device() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/hid/usbhid/usbhid.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/usbhid/usbhid.h b/drivers/hid/usbhid/usbhid.h
index 807922b..fa47d66 100644
--- a/drivers/hid/usbhid/usbhid.h
+++ b/drivers/hid/usbhid/usbhid.h
@@ -96,7 +96,7 @@ struct usbhid_device {
 };
 
 #definehid_to_usb_dev(hid_dev) \
-   container_of(hid_dev->dev.parent->parent, struct usb_device, dev)
+   to_usb_device(hid_dev->dev.parent->parent)
 
 #endif
 
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 7/9] input: keyboard: fix a trivial typo

2015-10-18 Thread Geliang Tang
s/regsiter/register/

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/input/keyboard/nomadik-ske-keypad.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/keyboard/nomadik-ske-keypad.c 
b/drivers/input/keyboard/nomadik-ske-keypad.c
index c7d5b16..8567ee4 100644
--- a/drivers/input/keyboard/nomadik-ske-keypad.c
+++ b/drivers/input/keyboard/nomadik-ske-keypad.c
@@ -54,7 +54,7 @@
 /**
  * struct ske_keypad  - data structure used by keypad driver
  * @irq:   irq no
- * @reg_base:  ske regsiters base address
+ * @reg_base:  ske registers base address
  * @input: pointer to input device object
  * @board: keypad platform device
  * @keymap:matrix scan code table for keycodes
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/3] Input: alps: drop unlikely before IS_ERR_OR_NULL

2015-09-30 Thread Geliang Tang
IS_ERR_OR_NULL already contain an unlikely compiler flag. Drop it.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/input/mouse/alps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index 4d24686..b4f146a 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -1367,7 +1367,7 @@ static void alps_report_bare_ps2_packet(struct psmouse 
*psmouse,
/* On V2 devices the DualPoint Stick reports bare packets */
dev = priv->dev2;
dev2 = psmouse->dev;
-   } else if (unlikely(IS_ERR_OR_NULL(priv->dev3))) {
+   } else if (IS_ERR_OR_NULL(priv->dev3)) {
/* Register dev3 mouse if we received PS/2 packet first time */
if (!IS_ERR(priv->dev3))
psmouse_queue_work(psmouse, >dev3_register_work,
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html