From: Charles Wang <charles.goodix@gmail.com>
To: dmitry.torokhov@gmail.com, dan.carpenter@linaro.org
Cc: dianders@chromium.org, robh@kernel.org, krzk+dt@kernel.org,
jikos@kernel.org, bentiss@kernel.org, hbarnor@chromium.org,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Charles Wang <charles.goodix@gmail.com>
Subject: [PATCH v4 0/2] HID: add initial support for Goodix HID-over-SPI touchscreen
Date: Fri, 14 Jun 2024 20:15:36 +0800 [thread overview]
Message-ID: <20240614121538.236727-1-charles.goodix@gmail.com> (raw)
This patch introduces a new driver to support the Goodix GT7986U
touch controller. This device is not compatible with Microsoft's
HID-over-SPI protocol and therefore needs to implement its own
flavor. The data reported is packaged according to the HID
protocol but uses SPI for communication to improve speed. This
enables the device to transmit not only coordinate data but also
corresponding raw data that can be accessed by user-space programs
through the hidraw interface. The raw data can be utilized for
functions like palm rejection, thereby improving the touch experience.
Key features:
- Device connection confirmation and initialization
- IRQ-based event reporting to the input subsystem
- Support for HIDRAW operations (GET_REPORT and SET_REPORT)
Signed-off-by: Charles Wang <charles.goodix@gmail.com>
---
Changes in v4:
- Allocate memory based on the report information.
- Added a new function goodix_get_event_report() to retrieve report data,
reducing memory copy operations and avoiding the use of reg_rw_lock.
- Add low power control operations.
- Implemented power management operations.
- Introduced GOODIX_HID_STARTED to record the current device operating state.
- Add OF match table.
Changes in v3:
- Renamed the driver file to hid-goodix-spi.c.
- Mentioned in the commit message that this implementation is not compatible with
Microsoft's HID-over-SPI protocol.
- Modified the driver to fetch the GOODIX_HID_REPORT_ADDR from device properties.
- Add a lock to prevent concurrent hid feature request operations.
- Optimized the SPI read/write functions by reducing the number of malloc calls.
Changes in v2:
- Fixed build warnings reported by kernel test robot
---
Charles Wang (2):
HID: hid-goodix: Add Goodix HID-over-SPI driver
dt-bindings: input: Goodix SPI HID Touchscreen
.../bindings/input/goodix,gt7986u.yaml | 65 ++
drivers/hid/Kconfig | 6 +
drivers/hid/Makefile | 1 +
drivers/hid/hid-goodix-spi.c | 812 ++++++++++++++++++
4 files changed, 884 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/goodix,gt7986u.yaml
create mode 100644 drivers/hid/hid-goodix-spi.c
--
2.43.0
next reply other threads:[~2024-06-14 12:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-14 12:15 Charles Wang [this message]
2024-06-14 12:15 ` [PATCH v4 1/2] HID: hid-goodix: Add Goodix HID-over-SPI driver Charles Wang
2024-06-15 11:57 ` kernel test robot
2024-06-15 18:03 ` kernel test robot
2024-06-16 23:10 ` kernel test robot
2024-06-14 12:15 ` [PATCH v4 2/2] dt-bindings: input: Goodix SPI HID Touchscreen Charles Wang
2024-06-14 13:13 ` Rob Herring (Arm)
2024-06-14 15:26 ` Conor Dooley
2024-06-18 7:15 ` Charles Wang
2024-06-14 15:27 ` Conor Dooley
2024-06-18 7:27 ` Charles Wang
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=20240614121538.236727-1-charles.goodix@gmail.com \
--to=charles.goodix@gmail.com \
--cc=bentiss@kernel.org \
--cc=dan.carpenter@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=hbarnor@chromium.org \
--cc=jikos@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@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).