2022-12-15 15:04:07

by Corentin LABBE

[permalink] [raw]
Subject: [PATCH v4 0/2] usb: serial: add support for CH348

Hello

The CH348 is an octo serial to USB adapter.
The following patch adds a driver for supporting it.
Since there is no public datasheet, unfortunatly it remains some magic values.

It was tested with a large range of baud from 1200 to 1500000 and used with
success in one of our kernel CI testlab.

Regards

Changes since v1:
- use a data structure for encoding/decoding messages.
- check if needed endpoints exists
- fix URB leak in ch348_allocate_status_read error case
- test for maximum baud rate as stated by datasheet

Changes since v2:
- specify ch348_rxbuf data length
- Use correct speed_t dwDTERate instead of __le32
- test for maximum baud rate supported according to datasheet
- Use a define for CH348_TX_HDRSIZE

Changes since v3
- Fixed all reported problem from https://lore.kernel.org/lkml/Y5NDwEakGJbmB6+b@Red/T/#mb6234d0427cfdabf412190565e215995a41482dd
Mostly reworked the endpoint mux to be the same than mx_uport

Corentin Labbe (2):
usb: serial: add support for CH348
usb: serial: add myself as maintainer of CH348

MAINTAINERS | 5 +
drivers/usb/serial/Kconfig | 9 +
drivers/usb/serial/Makefile | 1 +
drivers/usb/serial/ch348.c | 660 ++++++++++++++++++++++++++++++++++++
4 files changed, 675 insertions(+)
create mode 100644 drivers/usb/serial/ch348.c

--
2.37.4


2022-12-15 15:05:13

by Corentin LABBE

[permalink] [raw]
Subject: [PATCH v4 2/2] usb: serial: add myself as maintainer of CH348

Since I did the driver and have hardware to test, set myself as
maintainer of it.

Signed-off-by: Corentin Labbe <[email protected]>
---
MAINTAINERS | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 997e75dbca5c..60c901626241 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4914,6 +4914,11 @@ S: Maintained
F: drivers/auxdisplay/cfag12864bfb.c
F: include/linux/cfag12864b.h

+CH348 USB SERIAL ADAPTER
+M: Corentin Labbe <[email protected]>
+S: Maintained
+F: drivers/usb/serial/ch348.c
+
CHAR and MISC DRIVERS
M: Arnd Bergmann <[email protected]>
M: Greg Kroah-Hartman <[email protected]>
--
2.37.4