* [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c
@ 2025-06-04 5:40 Michael Wyraz
2025-06-04 7:33 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Michael Wyraz @ 2025-06-04 5:40 UTC (permalink / raw)
To: linux-usb
Add the device id of the Marvell ML352 to option.c so that the
device is recognized as usb-serial device.
Signed-off-by: Michael Wyraz <michael@wyraz.de>
---
drivers/usb/serial/option.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 5cd26dac2069..3bfdab641369 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -619,6 +619,10 @@ static void option_instat_callback(struct urb *urb);
/* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */
#define LUAT_PRODUCT_AIR720U 0x4e00
+/* Marvell products */
+#define MARVELL_VENDOR_ID 0x1286
+#define MARVELL_PRODUCT_ML352 0x4e3c
+
/* Device flags */
/* Highest interface number which can be used with NCTRL() and RSVD() */
@@ -2434,6 +2438,7 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID,
SIERRA_PRODUCT_EM9191, 0xff, 0, 0) },
{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID,
TOZED_PRODUCT_LT70C, 0xff, 0, 0) },
{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID,
LUAT_PRODUCT_AIR720U, 0xff, 0, 0) },
+ { USB_DEVICE(MARVELL_VENDOR_ID, MARVELL_PRODUCT_ML352) },
{ USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /*
TCL IK512 MBIM */
.driver_info = NCTRL(1) },
{ USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /*
TCL IK512 ECM */
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c
2025-06-04 5:40 [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c Michael Wyraz
@ 2025-06-04 7:33 ` Greg KH
0 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2025-06-04 7:33 UTC (permalink / raw)
To: Michael Wyraz; +Cc: linux-usb
On Wed, Jun 04, 2025 at 07:40:16AM +0200, Michael Wyraz wrote:
>
> Add the device id of the Marvell ML352 to option.c so that the
> device is recognized as usb-serial device.
>
> Signed-off-by: Michael Wyraz <michael@wyraz.de>
> ---
> drivers/usb/serial/option.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 5cd26dac2069..3bfdab641369 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -619,6 +619,10 @@ static void option_instat_callback(struct urb *urb);
> /* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */
> #define LUAT_PRODUCT_AIR720U 0x4e00
>
> +/* Marvell products */
> +#define MARVELL_VENDOR_ID 0x1286
> +#define MARVELL_PRODUCT_ML352 0x4e3c
> +
> /* Device flags */
>
> /* Highest interface number which can be used with NCTRL() and RSVD() */
> @@ -2434,6 +2438,7 @@ static const struct usb_device_id option_ids[] = {
> { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID,
> SIERRA_PRODUCT_EM9191, 0xff, 0, 0) },
> { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C,
> 0xff, 0, 0) },
> { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U,
> 0xff, 0, 0) },
> + { USB_DEVICE(MARVELL_VENDOR_ID, MARVELL_PRODUCT_ML352) },
> { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /* TCL
> IK512 MBIM */
> .driver_info = NCTRL(1) },
> { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /* TCL
> IK512 ECM */
> --
> 2.49.0
>
>
>
Hi,
This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
a patch that has triggered this response. He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created. Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.
You are receiving this message because of the following common error(s)
as indicated below:
- Your patch is malformed (tabs converted to spaces, linewrapped, etc.)
and can not be applied. Please read the file,
Documentation/process/email-clients.rst in order to fix this.
If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.
thanks,
greg k-h's patch email bot
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c
@ 2025-06-18 8:06 Michael Wyraz
2025-06-18 14:27 ` Johan Hovold
0 siblings, 1 reply; 6+ messages in thread
From: Michael Wyraz @ 2025-06-18 8:06 UTC (permalink / raw)
To: linux-usb
Add the device id of the Marvell ML352 to option.c so that the
device is recognized as usb-serial device.
Signed-off-by: Michael Wyraz <michael@wyraz.de>
---
drivers/usb/serial/option.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 5cd26dac2069..3bfdab641369 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -619,6 +619,10 @@ static void option_instat_callback(struct urb *urb);
/* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */
#define LUAT_PRODUCT_AIR720U 0x4e00
+/* Marvell products */
+#define MARVELL_VENDOR_ID 0x1286
+#define MARVELL_PRODUCT_ML352 0x4e3c
+
/* Device flags */
/* Highest interface number which can be used with NCTRL() and RSVD() */
@@ -2434,6 +2438,7 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) },
{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) },
{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) },
+ { USB_DEVICE(MARVELL_VENDOR_ID, MARVELL_PRODUCT_ML352) },
{ USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /* TCL IK512 MBIM */
.driver_info = NCTRL(1) },
{ USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /* TCL IK512 ECM */
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c
2025-06-18 8:06 Michael Wyraz
@ 2025-06-18 14:27 ` Johan Hovold
2025-09-12 6:54 ` Michael Wyraz
0 siblings, 1 reply; 6+ messages in thread
From: Johan Hovold @ 2025-06-18 14:27 UTC (permalink / raw)
To: Michael Wyraz; +Cc: linux-usb
On Wed, Jun 18, 2025 at 10:06:15AM +0200, Michael Wyraz wrote:
> Add the device id of the Marvell ML352 to option.c so that the
> device is recognized as usb-serial device.
>
> Signed-off-by: Michael Wyraz <michael@wyraz.de>
Thanks for the patch. Looks good, but we may not want to bind to every
interface of the device.
Can you please post the output of 'usb-devices' for this device? I
assume it has more than one interface, do what each interface is used
for?
If you end up resending, please use the common prefix in Subject, for
example:
USB: serial: option: add support for Marvell ML352
(e.g. as can been seen by running 'git log --oneline' on the files
you're changing).
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c
2025-06-18 14:27 ` Johan Hovold
@ 2025-09-12 6:54 ` Michael Wyraz
2025-09-18 9:57 ` Johan Hovold
0 siblings, 1 reply; 6+ messages in thread
From: Michael Wyraz @ 2025-09-12 6:54 UTC (permalink / raw)
To: Johan Hovold; +Cc: linux-usb
Hello Johan,
sorry, I totally missed this mail. "usb-devices" is not available on
that device. Hope this does it too:
lsusb -d 1286:4e3c -v
Bus 001 Device 002: ID 1286:4e3c ASR Mobile Composite Device Bus
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239
bDeviceSubClass 2
bDeviceProtocol 1
bMaxPacketSize0 64
idVendor 0x1286
idProduct 0x4e3c
bcdDevice 1.00
iManufacturer 1 ASR
iProduct 2 Mobile Composite Device Bus
iSerial 3 200806006809080000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00c4
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 224
bFunctionSubClass 1
bFunctionProtocol 3
iFunction 5 Mobile RNDIS Network Adapter
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 224
bInterfaceSubClass 1
bInterfaceProtocol 3
iInterface 5 Mobile RNDIS Network Adapter
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 01
** UNRECOGNIZED: 04 24 02 00
** UNRECOGNIZED: 05 24 06 00 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 5 Mobile RNDIS Network Adapter
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 8 Mobile Diag Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 11 Mobile AT Interface
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8c EP 12 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8e EP 14 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0d EP 13 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 11 Mobile AT Interface
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8a EP 10 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 16
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Am 18.06.25 um 16:27 schrieb Johan Hovold:
> On Wed, Jun 18, 2025 at 10:06:15AM +0200, Michael Wyraz wrote:
>> Add the device id of the Marvell ML352 to option.c so that the
>> device is recognized as usb-serial device.
>>
>> Signed-off-by: Michael Wyraz <michael@wyraz.de>
> Thanks for the patch. Looks good, but we may not want to bind to every
> interface of the device.
>
> Can you please post the output of 'usb-devices' for this device? I
> assume it has more than one interface, do what each interface is used
> for?
>
> If you end up resending, please use the common prefix in Subject, for
> example:
>
> USB: serial: option: add support for Marvell ML352
>
> (e.g. as can been seen by running 'git log --oneline' on the files
> you're changing).
>
> Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c
2025-09-12 6:54 ` Michael Wyraz
@ 2025-09-18 9:57 ` Johan Hovold
0 siblings, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2025-09-18 9:57 UTC (permalink / raw)
To: Michael Wyraz; +Cc: linux-usb
[ Please avoid top-posting when replying on the lists. ]
On Fri, Sep 12, 2025 at 08:54:51AM +0200, Michael Wyraz wrote:
> sorry, I totally missed this mail. "usb-devices" is not available on
> that device. Hope this does it too:
Sure, thanks.
> lsusb -d 1286:4e3c -v
> Bus 001 Device 002: ID 1286:4e3c ASR Mobile Composite Device Bus
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 224
> bInterfaceSubClass 1
> bInterfaceProtocol 3
> iInterface 5 Mobile RNDIS Network Adapter
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 10
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 5 Mobile RNDIS Network Adapter
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 8 Mobile Diag Interface
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 11 Mobile AT Interface
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 4
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 11 Mobile AT Interface
The device has five interfaces and the serial driver should only bind to
the last three so you should use USB_DEVICE_INTERFACE_CLASS() and only
match on the vendor class (0xff).
Please also include a description of what each interface is used for in
the commit message. Including a compact usb-devices output (it's just a
script you can copy to the host) would be good. Otherwise you can add a
link to your last mail in the archives:
Link: https://lore.kernel.org/all/d12635f9-9706-4dbd-8adb-d673c6a77202@wyraz.de/
> Am 18.06.25 um 16:27 schrieb Johan Hovold:
> > On Wed, Jun 18, 2025 at 10:06:15AM +0200, Michael Wyraz wrote:
> >> Add the device id of the Marvell ML352 to option.c so that the
> >> device is recognized as usb-serial device.
> >>
> >> Signed-off-by: Michael Wyraz <michael@wyraz.de>
> > Thanks for the patch. Looks good, but we may not want to bind to every
> > interface of the device.
> >
> > Can you please post the output of 'usb-devices' for this device? I
> > assume it has more than one interface, do what each interface is used
> > for?
And remember to update Subject when sending your v2:
> > If you end up resending, please use the common prefix in Subject, for
> > example:
> >
> > USB: serial: option: add support for Marvell ML352
> >
> > (e.g. as can been seen by running 'git log --oneline' on the files
> > you're changing).
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-09-18 9:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-04 5:40 [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c Michael Wyraz
2025-06-04 7:33 ` Greg KH
-- strict thread matches above, loose matches on Subject: below --
2025-06-18 8:06 Michael Wyraz
2025-06-18 14:27 ` Johan Hovold
2025-09-12 6:54 ` Michael Wyraz
2025-09-18 9:57 ` Johan Hovold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox