[RESEND PATCH v3 0/1] Corsair Vengeance K90 driver

From: Clément Vuchener
Date: Wed Sep 30 2015 - 09:13:37 EST

I have split the special functions between backlight and macro functions. This should make it easier to
test new devices. I think the macro functions will only be reused with the K95. While backlight is more
common feature, though I have no idea it is done with other Corsair hardware.

I have changed most sysfs attributes and LEDs so that the current value is queried from the hardware instead
of tracking events. I started this way when I did not know how to read the value, but I think it is better done
this way when I can. I don't know how to read the state of the record LED, so this one still use events to update
the state.

I removed the color from the LEDs name. I understand it is only necessary when having LEDs with several
colors. This way the names will stay the same across different hardware with different backlight color. I
don't think it is an useful information here.

I also added event for the MR (macro record) button and profile switch buttons. I think that userspace
program may want to know about these events. For example for using profile keys to start some
configuration program.

changes in v3:
- query the hardware instead of tracking the value with events when possible (except record_led)
- added quirks for activating special functions (macro functions and backlight)
- allocation of led name use kzalloc instead of devm_kzalloc (free mem when initialization failed)
- renamed led devices (without colors)
- added key codes for record and profile keys

changes in v2:
- Removed the k90_profile class and devices
- Renamed driver for a more generic name ("corsair" driver in hid-corsair.c)
- Fixed led devices clean up (hang when unplugging and led state reset)
- Added dependency on USB and LEDS_CLASS in Kconfig

Clément Vuchener (1):
Add Corsair Vengeance K90 driver

Documentation/ABI/testing/sysfs-driver-hid-corsair | 15 +
drivers/hid/Kconfig | 10 +
drivers/hid/Makefile | 1 +
drivers/hid/hid-core.c | 1 +
drivers/hid/hid-corsair.c | 673 +++++++++++++++++++++
drivers/hid/hid-ids.h | 3 +
6 files changed, 703 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-corsair
create mode 100644 drivers/hid/hid-corsair.c


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/