From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: =?UTF-8?q?Cl=C3=A9ment=20Vuchener?= <clement.vuchener@gmail.com>
Cc: Jiri Kosina <jikos@kernel.org>,
linux-kernel@vger.kernel.org, linux-input@vger.kernel.org
Subject: Re: [PATCH 0/2] hid: corsair: Driver simplification and new supported device
Date: Thu, 24 Mar 2016 15:37:51 +0100 [thread overview]
Message-ID: <20160324143750.GA7602@mail.corp.redhat.com> (raw)
In-Reply-To: <cover.1458744569.git.clement.vuchener@gmail.com>
Hi Clément,
On Mar 23 2016 or thereabouts, =?UTF-8?q?Cl=C3=A9ment=20Vuchener?= wrote:
> I tried to add support for the K40 some time ago, but the vendor specific USB protocol became over-complicated because of a lot of small differences between the K90 and the K40. Also, since I wrote the first version of this driver, I learned that USB control transfers could be done from user-space without the need to detach the kernel driver (please tell me if I am wrong).
>
> So, I decided to move all USB related features in user-space (as far as I know, I was the only user, but if someone is looking for a replacement, I wrote a small tool available here: https://github.com/cvuchener/corsair-usb-config). This simplification only leaves the usage code remapping part and the driver no longer depends on USB and LED subsystems. This should make the driver easier to maintain or to add new supported devices.
>
> After the removal of USB related functions in first patch, the addition of K40 support in the second patch is simply a matter of adding the device in the id list.
I would say you can not do this this way. Even if you believe you are the
only user of the API, there might be someone who uses it, and you will end
up breaking his keyboard.
Jiri will correct me, but the proper way to follow is to mark the API as
deprecated, make sure your driver uses the deprecated API only for the
K40, and then add the K90 in the driver, without implementing the API.
After a few months (years?) with your API marked as deprecated, you then
will be able to remove it. This is one of the many reasons we wrote
libratbag in pure user-space, to avoid having to maintain complex API in
the kernel forever.
Cheers,
Benjamin
>
> Clément Vuchener (2):
> HID: corsair: Remove all features using the USB protocol
> HID: corsair: Add K40 support
>
> Documentation/ABI/testing/sysfs-driver-hid-corsair | 15 -
> drivers/hid/Kconfig | 2 +-
> drivers/hid/hid-core.c | 1 +
> drivers/hid/hid-corsair.c | 498 +--------------------
> drivers/hid/hid-ids.h | 1 +
> 5 files changed, 5 insertions(+), 512 deletions(-)
> delete mode 100644 Documentation/ABI/testing/sysfs-driver-hid-corsair
>
> --
> 2.5.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-03-24 14:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-23 17:32 [PATCH 0/2] hid: corsair: Driver simplification and new supported device =?UTF-8?q?Cl=C3=A9ment=20Vuchener?=
2016-03-23 17:32 ` [PATCH 1/2] HID: corsair: Remove all features using the USB protocol =?UTF-8?q?Cl=C3=A9ment=20Vuchener?=
2016-03-23 17:33 ` [PATCH 2/2] HID: corsair: Add K40 support =?UTF-8?q?Cl=C3=A9ment=20Vuchener?=
2016-03-24 14:30 ` [PATCH 0/2] hid: corsair: Driver simplification and new supported device Jiri Kosina
2016-03-24 15:19 ` Clément VUCHENER
2016-03-29 13:52 ` Jiri Kosina
2016-03-24 14:37 ` Benjamin Tissoires [this message]
2016-03-24 14:42 ` 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=20160324143750.GA7602@mail.corp.redhat.com \
--to=benjamin.tissoires@redhat.com \
--cc=clement.vuchener@gmail.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).