From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Jiri Kosina <jikos@kernel.org>,
Douglas Anderson <dianders@chromium.org>,
linux-input@vger.kernel.org
Subject: Re: [PATCH 0/6] HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms + remove specialized drivers
Date: Tue, 11 Apr 2023 11:02:09 +0200 [thread overview]
Message-ID: <20230411090209.gartwrkq56syerwk@mail.corp.redhat.com> (raw)
In-Reply-To: <20230409144243.25360-1-hdegoede@redhat.com>
Hi Hans,
On Apr 09 2023, Hans de Goede wrote:
> Hi All,
>
> This series consist of 2 parts:
>
> 1. Patches 1-3. Allow using i2c-hid-of on non OF platforms to allow I2C-HID
> devices which are not enumerated by ACPI to work on ACPI platforms
> (by manual i2c_client instantiation using i2c_client_id matching).
Patches 1 and 2 are looking good, but I wonder if you can not achieve the
same result by relying on an ACPI SSDT override. I got something similar
working on this thread[0].
I understand the "post-reset-deassert-delay-ms" might be something hard
to express with an SSDT, but we should already have all the bits in
place, no?
Also, the problem of "post-reset-deassert-delay-ms" is that you are not
documenting it, because the OF folks do not want this in device tree,
and I tend to agree with them. So this basically creates a brand new
undocumented property, which is less than ideal.
>
> 2. Patches 4-6. Remove the special i2c-hid-of-elan and i2c-hid-of-goodix
> driver, folding the functionality into the generic i2c-hid-of driver.
> Since 1. requires adding reset-gpio support to i2c-hid-of there was
> very little difference left between the generic i2c-hid-of code and
> the specialized drivers. So I decided to merge them into the generic
> driver instead of having duplicate code.
I understand the spirit, but I am not a big fan of this. The reason is
just detailed your following statements: getting tests on those is hard.
So there is code duplication, yes, but OTOH this guarantees that we do
not break those devices while working on something else.
I can always be convinced otherwise, but I still think the approach of
the devicetree-bindings maintainers works better: if you need a new
property that isn't available in the core of i2c-hid-of, and which is
device specific (even if it's just a msleep for a line to be ready),
make this a separate driver. Trying to parametrize everything with
properties will just end up in a situation where one "meaningless"
property will break another device, and it's going to be a pain to
trace, because those drivers are not tested every single kernel release.
>
> Note patches 4-6 have not been actually tested with an "elan,ekth6915"
> touchscreen nor with a "goodix,gt7375p" touchscreen.
>
> Douglas, can you perhaps test this patch-set with an "elan,ekth6915"
> touchscreen and with a "goodix,gt7375p" touchscreen ?
>
> Regards,
>
> Hans
>
Cheers,
Benjamin
[0] https://lore.kernel.org/linux-input/20230308155527.jnrsowubvnk22ica@mail.corp.redhat.com/
>
> Hans de Goede (6):
> HID: i2c-hid-of: Consistenly use dev local variable in probe()
> HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms
> HID: i2c-hid-of: Add reset GPIO support to i2c-hid-of
> HID: i2c-hid-of: Add chip_data struct
> HID: i2c-hid-of: Consolidate Elan support into generic i2c-hid-of
> driver
> HID: i2c-hid-of: Consolidate Goodix support into generic i2c-hid-of
> driver
>
> drivers/hid/i2c-hid/Kconfig | 36 +------
> drivers/hid/i2c-hid/Makefile | 2 -
> drivers/hid/i2c-hid/i2c-hid-of-elan.c | 129 ------------------------
> drivers/hid/i2c-hid/i2c-hid-of-goodix.c | 125 -----------------------
> drivers/hid/i2c-hid/i2c-hid-of.c | 124 +++++++++++++++++++----
> 5 files changed, 106 insertions(+), 310 deletions(-)
> delete mode 100644 drivers/hid/i2c-hid/i2c-hid-of-elan.c
> delete mode 100644 drivers/hid/i2c-hid/i2c-hid-of-goodix.c
>
> --
> 2.39.1
>
next prev parent reply other threads:[~2023-04-11 9:03 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-09 14:42 [PATCH 0/6] HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms + remove specialized drivers Hans de Goede
2023-04-09 14:42 ` [PATCH 1/6] HID: i2c-hid-of: Consistenly use dev local variable in probe() Hans de Goede
2023-04-09 14:42 ` [PATCH 2/6] HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms Hans de Goede
2023-04-09 14:42 ` [PATCH 3/6] HID: i2c-hid-of: Add reset GPIO support to i2c-hid-of Hans de Goede
2023-04-09 14:42 ` [PATCH 4/6] HID: i2c-hid-of: Add chip_data struct Hans de Goede
2023-04-09 14:42 ` [PATCH 5/6] HID: i2c-hid-of: Consolidate Elan support into generic i2c-hid-of driver Hans de Goede
2023-04-09 14:42 ` [PATCH 6/6] HID: i2c-hid-of: Consolidate Goodix " Hans de Goede
2023-04-11 9:02 ` Benjamin Tissoires [this message]
2023-04-11 10:18 ` [PATCH 0/6] HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms + remove specialized drivers Hans de Goede
2023-04-11 12:50 ` Benjamin Tissoires
2023-04-11 16:00 ` Hans de Goede
2023-04-11 16:56 ` Benjamin Tissoires
2023-04-11 17:28 ` Hans de Goede
2023-04-12 17:18 ` Benjamin Tissoires
2023-04-12 18:57 ` Doug Anderson
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=20230411090209.gartwrkq56syerwk@mail.corp.redhat.com \
--to=benjamin.tissoires@redhat.com \
--cc=dianders@chromium.org \
--cc=hdegoede@redhat.com \
--cc=jikos@kernel.org \
--cc=linux-input@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).