Skip to content

Commit 13e098b

Browse files
committed
Merge tag 'usb-serial-6.5-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes: USB-serial device ids for 6.5-rc4 Here are some new modem device ids and a new "simple" driver for a CAN bus device. Included is also a patch sorting the "simple" driver entries in order to make it more obvious where new ones should be added. All have been in linux-next with no reported issues. * tag 'usb-serial-6.5-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial: USB: serial: simple: sort driver entries USB: serial: simple: add Kaufmann RKS+CAN VCP USB: serial: option: add Quectel EC200A module support USB: serial: option: support Quectel EM060K_128
2 parents 6eaae19 + d245aed commit 13e098b

File tree

2 files changed

+46
-33
lines changed

2 files changed

+46
-33
lines changed

drivers/usb/serial/option.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ static void option_instat_callback(struct urb *urb);
251251
#define QUECTEL_PRODUCT_EM061K_LTA 0x0123
252252
#define QUECTEL_PRODUCT_EM061K_LMS 0x0124
253253
#define QUECTEL_PRODUCT_EC25 0x0125
254+
#define QUECTEL_PRODUCT_EM060K_128 0x0128
254255
#define QUECTEL_PRODUCT_EG91 0x0191
255256
#define QUECTEL_PRODUCT_EG95 0x0195
256257
#define QUECTEL_PRODUCT_BG96 0x0296
@@ -268,6 +269,7 @@ static void option_instat_callback(struct urb *urb);
268269
#define QUECTEL_PRODUCT_RM520N 0x0801
269270
#define QUECTEL_PRODUCT_EC200U 0x0901
270271
#define QUECTEL_PRODUCT_EC200S_CN 0x6002
272+
#define QUECTEL_PRODUCT_EC200A 0x6005
271273
#define QUECTEL_PRODUCT_EM061K_LWW 0x6008
272274
#define QUECTEL_PRODUCT_EM061K_LCN 0x6009
273275
#define QUECTEL_PRODUCT_EC200T 0x6026
@@ -1197,6 +1199,9 @@ static const struct usb_device_id option_ids[] = {
11971199
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0x00, 0x40) },
11981200
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) },
11991201
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) },
1202+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0xff, 0x30) },
1203+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0x00, 0x40) },
1204+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0xff, 0x40) },
12001205
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x30) },
12011206
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0x00, 0x40) },
12021207
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x40) },
@@ -1225,6 +1230,7 @@ static const struct usb_device_id option_ids[] = {
12251230
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0) },
12261231
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0900, 0xff, 0, 0), /* RM500U-CN */
12271232
.driver_info = ZLP },
1233+
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200A, 0xff, 0, 0) },
12281234
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) },
12291235
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
12301236
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },

drivers/usb/serial/usb-serial-simple.c

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,18 @@ static struct usb_serial_driver vendor##_device = { \
3838
{ USB_DEVICE(0x0a21, 0x8001) } /* MMT-7305WW */
3939
DEVICE(carelink, CARELINK_IDS);
4040

41-
/* ZIO Motherboard USB driver */
42-
#define ZIO_IDS() \
43-
{ USB_DEVICE(0x1CBE, 0x0103) }
44-
DEVICE(zio, ZIO_IDS);
45-
46-
/* Funsoft Serial USB driver */
47-
#define FUNSOFT_IDS() \
48-
{ USB_DEVICE(0x1404, 0xcddc) }
49-
DEVICE(funsoft, FUNSOFT_IDS);
50-
5141
/* Infineon Flashloader driver */
5242
#define FLASHLOADER_IDS() \
5343
{ USB_DEVICE_INTERFACE_CLASS(0x058b, 0x0041, USB_CLASS_CDC_DATA) }, \
5444
{ USB_DEVICE(0x8087, 0x0716) }, \
5545
{ USB_DEVICE(0x8087, 0x0801) }
5646
DEVICE(flashloader, FLASHLOADER_IDS);
5747

48+
/* Funsoft Serial USB driver */
49+
#define FUNSOFT_IDS() \
50+
{ USB_DEVICE(0x1404, 0xcddc) }
51+
DEVICE(funsoft, FUNSOFT_IDS);
52+
5853
/* Google Serial USB SubClass */
5954
#define GOOGLE_IDS() \
6055
{ USB_VENDOR_AND_INTERFACE_INFO(0x18d1, \
@@ -63,16 +58,21 @@ DEVICE(flashloader, FLASHLOADER_IDS);
6358
0x01) }
6459
DEVICE(google, GOOGLE_IDS);
6560

61+
/* HP4x (48/49) Generic Serial driver */
62+
#define HP4X_IDS() \
63+
{ USB_DEVICE(0x03f0, 0x0121) }
64+
DEVICE(hp4x, HP4X_IDS);
65+
66+
/* KAUFMANN RKS+CAN VCP */
67+
#define KAUFMANN_IDS() \
68+
{ USB_DEVICE(0x16d0, 0x0870) }
69+
DEVICE(kaufmann, KAUFMANN_IDS);
70+
6671
/* Libtransistor USB console */
6772
#define LIBTRANSISTOR_IDS() \
6873
{ USB_DEVICE(0x1209, 0x8b00) }
6974
DEVICE(libtransistor, LIBTRANSISTOR_IDS);
7075

71-
/* ViVOpay USB Serial Driver */
72-
#define VIVOPAY_IDS() \
73-
{ USB_DEVICE(0x1d5f, 0x1004) } /* ViVOpay 8800 */
74-
DEVICE(vivopay, VIVOPAY_IDS);
75-
7676
/* Motorola USB Phone driver */
7777
#define MOTO_IDS() \
7878
{ USB_DEVICE(0x05c6, 0x3197) }, /* unknown Motorola phone */ \
@@ -101,56 +101,63 @@ DEVICE(nokia, NOKIA_IDS);
101101
{ USB_DEVICE(0x09d7, 0x0100) } /* NovAtel FlexPack GPS */
102102
DEVICE_N(novatel_gps, NOVATEL_IDS, 3);
103103

104-
/* HP4x (48/49) Generic Serial driver */
105-
#define HP4X_IDS() \
106-
{ USB_DEVICE(0x03f0, 0x0121) }
107-
DEVICE(hp4x, HP4X_IDS);
104+
/* Siemens USB/MPI adapter */
105+
#define SIEMENS_IDS() \
106+
{ USB_DEVICE(0x908, 0x0004) }
107+
DEVICE(siemens_mpi, SIEMENS_IDS);
108108

109109
/* Suunto ANT+ USB Driver */
110110
#define SUUNTO_IDS() \
111111
{ USB_DEVICE(0x0fcf, 0x1008) }, \
112112
{ USB_DEVICE(0x0fcf, 0x1009) } /* Dynastream ANT USB-m Stick */
113113
DEVICE(suunto, SUUNTO_IDS);
114114

115-
/* Siemens USB/MPI adapter */
116-
#define SIEMENS_IDS() \
117-
{ USB_DEVICE(0x908, 0x0004) }
118-
DEVICE(siemens_mpi, SIEMENS_IDS);
115+
/* ViVOpay USB Serial Driver */
116+
#define VIVOPAY_IDS() \
117+
{ USB_DEVICE(0x1d5f, 0x1004) } /* ViVOpay 8800 */
118+
DEVICE(vivopay, VIVOPAY_IDS);
119+
120+
/* ZIO Motherboard USB driver */
121+
#define ZIO_IDS() \
122+
{ USB_DEVICE(0x1CBE, 0x0103) }
123+
DEVICE(zio, ZIO_IDS);
119124

120125
/* All of the above structures mushed into two lists */
121126
static struct usb_serial_driver * const serial_drivers[] = {
122127
&carelink_device,
123-
&zio_device,
124-
&funsoft_device,
125128
&flashloader_device,
129+
&funsoft_device,
126130
&google_device,
131+
&hp4x_device,
132+
&kaufmann_device,
127133
&libtransistor_device,
128-
&vivopay_device,
129134
&moto_modem_device,
130135
&motorola_tetra_device,
131136
&nokia_device,
132137
&novatel_gps_device,
133-
&hp4x_device,
134-
&suunto_device,
135138
&siemens_mpi_device,
139+
&suunto_device,
140+
&vivopay_device,
141+
&zio_device,
136142
NULL
137143
};
138144

139145
static const struct usb_device_id id_table[] = {
140146
CARELINK_IDS(),
141-
ZIO_IDS(),
142-
FUNSOFT_IDS(),
143147
FLASHLOADER_IDS(),
148+
FUNSOFT_IDS(),
144149
GOOGLE_IDS(),
150+
HP4X_IDS(),
151+
KAUFMANN_IDS(),
145152
LIBTRANSISTOR_IDS(),
146-
VIVOPAY_IDS(),
147153
MOTO_IDS(),
148154
MOTOROLA_TETRA_IDS(),
149155
NOKIA_IDS(),
150156
NOVATEL_IDS(),
151-
HP4X_IDS(),
152-
SUUNTO_IDS(),
153157
SIEMENS_IDS(),
158+
SUUNTO_IDS(),
159+
VIVOPAY_IDS(),
160+
ZIO_IDS(),
154161
{ },
155162
};
156163
MODULE_DEVICE_TABLE(usb, id_table);

0 commit comments

Comments
 (0)