[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220321042142.69239-1-frank@zago.net>
Date: Sun, 20 Mar 2022 23:21:39 -0500
From: frank zago <frank@...o.net>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Wolfram Sang <wsa@...nel.org>, Johan Hovold <johan@...nel.org>,
linux-usb@...r.kernel.org, Lee Jones <lee.jones@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>,
linux-gpio@...r.kernel.org, linux-i2c@...r.kernel.org,
frank zago <frank@...o.net>
Subject: [PATCH v4 0/3] WCH CH341 GPIO and SPI support
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
Powered by blists - more mailing lists