diff options
| author | Vivien Didelot <vivien.didelot@savoirfairelinux.com> | 2014-04-14 16:50:20 -0400 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2014-04-15 08:42:52 -0400 |
| commit | 3121b1c44d0748f0286fd05b89a76232f40d1091 (patch) | |
| tree | b4d2dcc31491d6b2df322a0b06cfa8938951636b | |
| parent | f70ed8a6f7cd9c55cc16287c584cb26efb53cbd7 (diff) | |
HID: thingm: add support for blink(1) mk2
The blink(1) mk2 is a new version of the blink(1) USB RGB LED. The new
generation has 2 individually-controllable RGB chips.
This patch adds support for this device to the thingm driver, which
registers 3 new standard LED class instances for the second RGB chip.
Note that the 'n' (set) command does not support setting a color for a
single RGB chip, so it was changed to 'c' (fade) with a timeout of 0.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| -rw-r--r-- | drivers/hid/hid-thingm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/hid/hid-thingm.c b/drivers/hid/hid-thingm.c index 0af0eb446636..31de890d14cf 100644 --- a/drivers/hid/hid-thingm.c +++ b/drivers/hid/hid-thingm.c | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | /* Firmware major number of supported devices */ | 24 | /* Firmware major number of supported devices */ |
| 25 | #define THINGM_MAJOR_MK1 '1' | 25 | #define THINGM_MAJOR_MK1 '1' |
| 26 | #define THINGM_MAJOR_MK2 '2' | ||
| 26 | 27 | ||
| 27 | struct thingm_fwinfo { | 28 | struct thingm_fwinfo { |
| 28 | char major; | 29 | char major; |
| @@ -35,6 +36,10 @@ const struct thingm_fwinfo thingm_fwinfo[] = { | |||
| 35 | .major = THINGM_MAJOR_MK1, | 36 | .major = THINGM_MAJOR_MK1, |
| 36 | .numrgb = 1, | 37 | .numrgb = 1, |
| 37 | .first = 0, | 38 | .first = 0, |
| 39 | }, { | ||
| 40 | .major = THINGM_MAJOR_MK2, | ||
| 41 | .numrgb = 2, | ||
| 42 | .first = 1, | ||
| 38 | } | 43 | } |
| 39 | }; | 44 | }; |
| 40 | 45 | ||
| @@ -117,7 +122,7 @@ static int thingm_version(struct thingm_device *tdev) | |||
| 117 | 122 | ||
| 118 | static int thingm_write_color(struct thingm_rgb *rgb) | 123 | static int thingm_write_color(struct thingm_rgb *rgb) |
| 119 | { | 124 | { |
| 120 | u8 buf[REPORT_SIZE] = { REPORT_ID, 'n', 0, 0, 0, 0, 0, 0, 0 }; | 125 | u8 buf[REPORT_SIZE] = { REPORT_ID, 'c', 0, 0, 0, 0, 0, rgb->num, 0 }; |
| 121 | 126 | ||
| 122 | buf[2] = rgb->red.ldev.brightness; | 127 | buf[2] = rgb->red.ldev.brightness; |
| 123 | buf[3] = rgb->green.ldev.brightness; | 128 | buf[3] = rgb->green.ldev.brightness; |
