lkml.org 
[lkml]   [2022]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v6 0/4] add driver for the WCH CH341 in I2C/GPIO mode
Date
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 v5:
Addressed reviewers' comments.
Better handling of 0-bytes i2c commands
Use of better USB API.

Changes from v4:
I should have addressed all the comments: rework of the GPIO interrupt
handling code to be more modern, changes in Kconfig wording, some code
cleanup.
Driver was tested again with up to 4 of these devices. No
error seen.

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 (4):
mfd: ch341: add core driver for the WCH CH341 in I2C/SPI/GPIO mode
gpio: ch341: add GPIO MFD cell driver for the CH341
i2c: ch341: add I2C MFD cell driver for the CH341
docs: misc: add documentation for ch341 driver

Documentation/misc-devices/ch341.rst | 109 ++++++++
Documentation/misc-devices/index.rst | 1 +
MAINTAINERS | 9 +
drivers/gpio/Kconfig | 10 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-ch341.c | 385 +++++++++++++++++++++++++++
drivers/i2c/busses/Kconfig | 10 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-ch341.c | 377 ++++++++++++++++++++++++++
drivers/mfd/Kconfig | 10 +
drivers/mfd/Makefile | 1 +
drivers/mfd/ch341-core.c | 90 +++++++
include/linux/mfd/ch341.h | 26 ++
13 files changed, 1030 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

\
 
 \ /
  Last update: 2022-06-16 03:38    [W:0.166 / U:0.580 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site