Messages in this thread | | | From | frank zago <> | Subject | [PATCH v4 0/3] WCH CH341 GPIO and SPI support | Date | Sun, 20 Mar 2022 23:21:39 -0500 |
| |
The CH341 is a multifunction chip, presenting 3 different USB PID. One of these functions is for I2C/SPI/GPIO. This new set of drivers will manage I2C and GPIO.
Changes from v3: - really converted to an MFD driver. Driver is now split into 3 modules (MFD+I2C+GPIO). - minor code cleanups
Changes from v2: - bug fixes - more robust USB enumeration - Changed to an MFD driver as suggested
During testing I found that i2c handles hot removal, but not gpio. The gpio subsystem will complain with 'REMOVING GPIOCHIP WITH GPIOS STILL REQUESTED', but it's a gpiolib issue.
Changes from v1: - Removed double Signed-off-by - Move Kconfig into the same directory as the driver
frank zago (3): mfd: ch341: add core driver for the WCH CH341 in I2C/GPIO mode gpio: ch341: add MFD cell driver for the CH341 i2c: ch341: add MFD cell driver CH341 for I2C
Documentation/misc-devices/ch341.rst | 114 ++++++++ Documentation/misc-devices/index.rst | 1 + MAINTAINERS | 9 + drivers/gpio/Kconfig | 10 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-ch341.c | 421 +++++++++++++++++++++++++++ drivers/i2c/busses/Kconfig | 10 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-ch341.c | 325 +++++++++++++++++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 1 + drivers/mfd/ch341-core.c | 109 +++++++ include/linux/mfd/ch341.h | 25 ++ 13 files changed, 1039 insertions(+) create mode 100644 Documentation/misc-devices/ch341.rst create mode 100644 drivers/gpio/gpio-ch341.c create mode 100644 drivers/i2c/busses/i2c-ch341.c create mode 100644 drivers/mfd/ch341-core.c create mode 100644 include/linux/mfd/ch341.h
-- 2.32.0
| |