[PATCH v4 0/4] HID: i2c-hid: Reorganize to allow supporting goodix,gt7375p

From: Douglas Anderson
Date: Tue Nov 03 2020 - 20:29:55 EST



The goal of this series is to support the Goodix GT7375P touchscreen.
This touchscreen is special because it has power sequencing
requirements that necessitate driving a reset GPIO.

To do this, we totally rejigger the way i2c-hid is organized so that
it's easier to jam the Goodix support in there.

This series was:
- Tested on a device that uses normal i2c-hid
- Tested on a device that pretended to have a Goodix i2c-hid device on
it. I don't have a device with GT7375P setup yet and the person who
has been testing remotely for me hasn't tested this exact series. I
think it should still work, though.
- NOT tested on any ACPI devices (just compile tested).

There are probably still small nits, but hopefully we're getting
closer to something people like.

Changes in v4:
- Fully rejigger so ACPI and OF are full subclasses.
- ("arm64: defconfig: Update config names for i2c-hid rejigger") new for v4.
- Totally redid based on the new subclass system.

Changes in v3:
- Rework to use subclassing.
- Removed Benjamin as a maintainer.
- Fixed compatible in example.
- Updated description.
- Rework to use subclassing.

Changes in v2:
- Use a separate compatible string for this new touchscreen.
- Get timings based on the compatible string.
- ("dt-bindings: HID: i2c-hid: Introduce bindings for the Goodix GT7375P") new in v2.

Douglas Anderson (4):
HID: i2c-hid: Reorganize so ACPI and OF are subclasses
arm64: defconfig: Update config names for i2c-hid rejigger
dt-bindings: HID: i2c-hid: Introduce bindings for the Goodix GT7375P
HID: i2c-hid: Introduce goodix-i2c-hid as a subclass of i2c-hid

.../bindings/input/goodix,gt7375p.yaml | 63 +++++
arch/arm64/configs/defconfig | 3 +-
drivers/hid/Makefile | 2 +-
drivers/hid/i2c-hid/Kconfig | 47 +++-
drivers/hid/i2c-hid/Makefile | 6 +-
drivers/hid/i2c-hid/i2c-hid-acpi.c | 167 ++++++++++++
drivers/hid/i2c-hid/i2c-hid-core.c | 253 +++---------------
drivers/hid/i2c-hid/i2c-hid-of-goodix.c | 120 +++++++++
drivers/hid/i2c-hid/i2c-hid-of.c | 149 +++++++++++
drivers/hid/i2c-hid/i2c-hid.h | 24 ++
include/linux/platform_data/i2c-hid.h | 41 ---
11 files changed, 607 insertions(+), 268 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
create mode 100644 drivers/hid/i2c-hid/i2c-hid-acpi.c
create mode 100644 drivers/hid/i2c-hid/i2c-hid-of-goodix.c
create mode 100644 drivers/hid/i2c-hid/i2c-hid-of.c
delete mode 100644 include/linux/platform_data/i2c-hid.h

--
2.29.1.341.ge80a0c044ae-goog