HID: thingm: refactor blink(1) support
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>
Mon, 14 Apr 2014 20:50:19 +0000 (16:50 -0400)
committerJiri Kosina <jkosina@suse.cz>
Tue, 15 Apr 2014 12:42:51 +0000 (14:42 +0200)
commitf70ed8a6f7cd9c55cc16287c584cb26efb53cbd7
tree1a63df88938c20c499f97c5e7bb3bab7fe32fa42
parentaee114fd3c94f1be0f95af84d6ed25cd47702c41
HID: thingm: refactor blink(1) support

This patch refactors the way the thingm driver registers a blink(1) LED.
In order to make the driver simpler and more standard, drop the "rgb"
sysfs attribute and create one instance of LED class per RGB channel.

Actually, the name of the LED class instance registered for a blink(1)
device is "blink1::ABCD", where ABCD is the last 4 chars of the serial
number. The driver now registers 3 instances per RGB chip, named
"thingmX:{red,green,blue}:ledY" where X is the hidraw minor number and Y
is the RGB chip number (as seen by the firmware).

This patch also uses work queues to defer calls with the device, which
now allows triggers to work as expected with this LED device.

Also remove the brightness structure field and the brightness_get
backend, as it is already handled by the LED class, and changes the
prefix of functions and structures to thingm_ to match the driver name.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Documentation/ABI/testing/sysfs-driver-hid-thingm [deleted file]
drivers/hid/hid-thingm.c
drivers/leds/Kconfig