| From 32668ba47b820592b25c87acb1955d1c23b1ad69 Mon Sep 17 00:00:00 2001 |
| From: Aniroop Mathur <aniroop.mathur@gmail.com> |
| Date: Wed, 3 Dec 2014 14:27:42 -0800 |
| Subject: Input: initialize device counter variables with -1 |
| |
| [ Upstream commit 939ffb1712890ee22146d2dfc24adbc7da6afa84 ] |
| |
| Let's initialize atomic_t variables keeping track of number of various |
| devices created so far with -1 in order to avoid extra subtraction |
| operation. |
| |
| Signed-off-by: Aniroop Mathur <aniroop.mathur@gmail.com> |
| Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/input/gameport/gameport.c | 4 ++-- |
| drivers/input/joystick/xpad.c | 8 ++++---- |
| drivers/input/misc/ims-pcu.c | 4 ++-- |
| drivers/input/serio/serio.c | 4 ++-- |
| drivers/input/serio/serio_raw.c | 4 ++-- |
| 5 files changed, 12 insertions(+), 12 deletions(-) |
| |
| diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c |
| index e29c04e2aff4..e853a2134680 100644 |
| --- a/drivers/input/gameport/gameport.c |
| +++ b/drivers/input/gameport/gameport.c |
| @@ -527,14 +527,14 @@ EXPORT_SYMBOL(gameport_set_phys); |
| */ |
| static void gameport_init_port(struct gameport *gameport) |
| { |
| - static atomic_t gameport_no = ATOMIC_INIT(0); |
| + static atomic_t gameport_no = ATOMIC_INIT(-1); |
| |
| __module_get(THIS_MODULE); |
| |
| mutex_init(&gameport->drv_mutex); |
| device_initialize(&gameport->dev); |
| dev_set_name(&gameport->dev, "gameport%lu", |
| - (unsigned long)atomic_inc_return(&gameport_no) - 1); |
| + (unsigned long)atomic_inc_return(&gameport_no)); |
| gameport->dev.bus = &gameport_bus; |
| gameport->dev.release = gameport_release_port; |
| if (gameport->parent) |
| diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c |
| index 1a728f310b27..9843c8cca2f7 100644 |
| --- a/drivers/input/joystick/xpad.c |
| +++ b/drivers/input/joystick/xpad.c |
| @@ -888,8 +888,8 @@ static void xpad_led_set(struct led_classdev *led_cdev, |
| |
| static int xpad_led_probe(struct usb_xpad *xpad) |
| { |
| - static atomic_t led_seq = ATOMIC_INIT(0); |
| - long led_no; |
| + static atomic_t led_seq = ATOMIC_INIT(-1); |
| + unsigned long led_no; |
| struct xpad_led *led; |
| struct led_classdev *led_cdev; |
| int error; |
| @@ -901,9 +901,9 @@ static int xpad_led_probe(struct usb_xpad *xpad) |
| if (!led) |
| return -ENOMEM; |
| |
| - led_no = (long)atomic_inc_return(&led_seq) - 1; |
| + led_no = atomic_inc_return(&led_seq); |
| |
| - snprintf(led->name, sizeof(led->name), "xpad%ld", led_no); |
| + snprintf(led->name, sizeof(led->name), "xpad%lu", led_no); |
| led->xpad = xpad; |
| |
| led_cdev = &led->led_cdev; |
| diff --git a/drivers/input/misc/ims-pcu.c b/drivers/input/misc/ims-pcu.c |
| index 063898d429c7..b5304e264881 100644 |
| --- a/drivers/input/misc/ims-pcu.c |
| +++ b/drivers/input/misc/ims-pcu.c |
| @@ -1871,7 +1871,7 @@ static int ims_pcu_identify_type(struct ims_pcu *pcu, u8 *device_id) |
| |
| static int ims_pcu_init_application_mode(struct ims_pcu *pcu) |
| { |
| - static atomic_t device_no = ATOMIC_INIT(0); |
| + static atomic_t device_no = ATOMIC_INIT(-1); |
| |
| const struct ims_pcu_device_info *info; |
| int error; |
| @@ -1902,7 +1902,7 @@ static int ims_pcu_init_application_mode(struct ims_pcu *pcu) |
| } |
| |
| /* Device appears to be operable, complete initialization */ |
| - pcu->device_no = atomic_inc_return(&device_no) - 1; |
| + pcu->device_no = atomic_inc_return(&device_no); |
| |
| /* |
| * PCU-B devices, both GEN_1 and GEN_2 do not have OFN sensor |
| diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c |
| index d399b8b0f000..a05a5179da32 100644 |
| --- a/drivers/input/serio/serio.c |
| +++ b/drivers/input/serio/serio.c |
| @@ -514,7 +514,7 @@ static void serio_release_port(struct device *dev) |
| */ |
| static void serio_init_port(struct serio *serio) |
| { |
| - static atomic_t serio_no = ATOMIC_INIT(0); |
| + static atomic_t serio_no = ATOMIC_INIT(-1); |
| |
| __module_get(THIS_MODULE); |
| |
| @@ -525,7 +525,7 @@ static void serio_init_port(struct serio *serio) |
| mutex_init(&serio->drv_mutex); |
| device_initialize(&serio->dev); |
| dev_set_name(&serio->dev, "serio%lu", |
| - (unsigned long)atomic_inc_return(&serio_no) - 1); |
| + (unsigned long)atomic_inc_return(&serio_no)); |
| serio->dev.bus = &serio_bus; |
| serio->dev.release = serio_release_port; |
| serio->dev.groups = serio_device_attr_groups; |
| diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c |
| index c9a02fe57576..71ef5d65a0c6 100644 |
| --- a/drivers/input/serio/serio_raw.c |
| +++ b/drivers/input/serio/serio_raw.c |
| @@ -292,7 +292,7 @@ static irqreturn_t serio_raw_interrupt(struct serio *serio, unsigned char data, |
| |
| static int serio_raw_connect(struct serio *serio, struct serio_driver *drv) |
| { |
| - static atomic_t serio_raw_no = ATOMIC_INIT(0); |
| + static atomic_t serio_raw_no = ATOMIC_INIT(-1); |
| struct serio_raw *serio_raw; |
| int err; |
| |
| @@ -303,7 +303,7 @@ static int serio_raw_connect(struct serio *serio, struct serio_driver *drv) |
| } |
| |
| snprintf(serio_raw->name, sizeof(serio_raw->name), |
| - "serio_raw%ld", (long)atomic_inc_return(&serio_raw_no) - 1); |
| + "serio_raw%ld", (long)atomic_inc_return(&serio_raw_no)); |
| kref_init(&serio_raw->kref); |
| INIT_LIST_HEAD(&serio_raw->client_list); |
| init_waitqueue_head(&serio_raw->wait); |
| -- |
| 2.17.1 |
| |