From: Pekka Paalanen Date: Mon, 6 Aug 2012 11:57:07 +0000 (+0300) Subject: evdev: do not pass a list to evdev_led_update() X-Git-Tag: 0.1.0~163^2~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4a75370823d9d63f6aa8a3dd783268f911ce2958;p=platform%2Fupstream%2Flibinput.git evdev: do not pass a list to evdev_led_update() evdev_led_update() does not really need the whole list of device at once, it can be called one device at a time. Signed-off-by: Pekka Paalanen --- diff --git a/src/evdev.c b/src/evdev.c index 7d93564..dba33ba 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -31,7 +31,7 @@ #include "evdev.h" void -evdev_led_update(struct wl_list *evdev_devices, enum weston_led leds) +evdev_led_update(struct evdev_input_device *device, enum weston_led leds) { static const struct { enum weston_led weston; @@ -41,10 +41,12 @@ evdev_led_update(struct wl_list *evdev_devices, enum weston_led leds) { LED_CAPS_LOCK, LED_CAPSL }, { LED_SCROLL_LOCK, LED_SCROLLL }, }; - struct evdev_input_device *device; struct input_event ev[ARRAY_LENGTH(map)]; unsigned int i; + if (!device->caps & EVDEV_KEYBOARD) + return; + memset(ev, 0, sizeof(ev)); for (i = 0; i < ARRAY_LENGTH(map); i++) { ev[i].type = EV_LED; @@ -52,11 +54,8 @@ evdev_led_update(struct wl_list *evdev_devices, enum weston_led leds) ev[i].value = !!(leds & map[i].weston); } - wl_list_for_each(device, evdev_devices, link) { - if (device->caps & EVDEV_KEYBOARD) - i = write(device->fd, ev, sizeof ev); - (void)i; /* no, we really don't care about the return value */ - } + i = write(device->fd, ev, sizeof ev); + (void)i; /* no, we really don't care about the return value */ } static inline void diff --git a/src/evdev.h b/src/evdev.h index 379838a..003b362 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -106,7 +106,7 @@ struct evdev_dispatch * evdev_touchpad_create(struct evdev_input_device *device); void -evdev_led_update(struct wl_list *evdev_devices, enum weston_led leds); +evdev_led_update(struct evdev_input_device *device, enum weston_led leds); struct evdev_input_device * evdev_input_device_create(struct weston_seat *seat,