All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Clément Vuchener" <clement.vuchener-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Jiri Kosina <jikos-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [RESEND PATCH v3 0/1] Corsair Vengeance K90 driver
Date: Wed, 30 Sep 2015 15:13:23 +0200	[thread overview]
Message-ID: <cover.1443618411.git.clement.vuchener@gmail.com> (raw)

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

-- 
2.4.3

WARNING: multiple messages have this Message-ID (diff)
From: "Clément Vuchener" <clement.vuchener@gmail.com>
To: Jiri Kosina <jikos@kernel.org>
Cc: linux-api@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-input@vger.kernel.org
Subject: [RESEND PATCH v3 0/1] Corsair Vengeance K90 driver
Date: Wed, 30 Sep 2015 15:13:23 +0200	[thread overview]
Message-ID: <cover.1443618411.git.clement.vuchener@gmail.com> (raw)

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

-- 
2.4.3


             reply	other threads:[~2015-09-30 13:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-30 13:13 Clément Vuchener [this message]
2015-09-30 13:13 ` [RESEND PATCH v3 0/1] Corsair Vengeance K90 driver Clément Vuchener
2015-09-30 13:14 ` [RESEND PATCH v3 1/1] Add " Clément Vuchener
2015-09-30 13:14   ` Clément Vuchener
2015-09-30 19:33   ` Jiri Kosina
2015-09-30 19:33     ` Jiri Kosina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1443618411.git.clement.vuchener@gmail.com \
    --to=clement.vuchener-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=jikos-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.