On Wed, Nov 16, 2022 at 04:59:50PM +0100, Davide Tronchin wrote: > Add LARA-L6 PIDs for three different USB compositions. > > LARA-L6 module can be configured (by AT interface) in three different > USB modes: > * Default mode (Vendor ID: 0x1546 Product ID: 0x1341) with 4 serial > interfaces > * RmNet mode (Vendor ID: 0x1546 Product ID: 0x1342) with 4 serial > interfaces and 1 RmNet virtual network interface > * CDC-ECM mode (Vendor ID: 0x1546 Product ID: 0x1343) with 4 serial > interface and 1 CDC-ECM virtual network interface > > In default mode LARA-L6 exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parser/alternative functions > > In RmNet mode LARA-L6 exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parset/alternative functions > If 4: RMNET interface > > In CDC-ECM mode LARA-L6 exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parset/alternative functions > If 4: CDC-ECM interface > > Signed-off-by: Davide Tronchin <davide.tronchin.94@xxxxxxxxx> > --- > > V5 -> V6: no changes. > > V4 -> V5: kept PID 0x90fa to maintain the support for other products > which use VID:PID 0x05c6:0x90fa. Remove interface 4 from blacklist > for LARA-L6 default mode since it is not needed. > > V3 -> V4: as requested, the patch has been split to 3 sub-patches. > Fix comment format. > > V2 -> V3: added this section to tracking changes with previous versions. > Added some explanations about the RSVD(4) in the description session. > Added reservation to port 4 of VID:PID 0x05C6:0x908B to meet other > companies QMI net interface implementation. > > V1 -> V2: define UBLOX_PRODUCT_LARA_R6 0x908b has been deleted together > with the previosly provided definition of USB_DEVICE since the PID > is used by another vendor. > The LARA-L6 patch part is the same of the previosly provided one. > > drivers/usb/serial/option.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c > index 011b9a3b7571..f892a3c80cf1 100644 > --- a/drivers/usb/serial/option.c > +++ b/drivers/usb/serial/option.c > @@ -580,6 +580,11 @@ static void option_instat_callback(struct urb *urb); > #define OPPO_VENDOR_ID 0x22d9 > #define OPPO_PRODUCT_R11 0x276c > > +/* These u-blox products use u-blox's vendor ID */ > +#define UBLOX_VENDOR_ID 0x1546 > +#define UBLOX_PRODUCT_LARA_L6 0x1341 > +#define UBLOX_PRODUCT_LARA_L6_RMNET 0x1342 > +#define UBLOX_PRODUCT_LARA_L6_ECM 0x1343 I dropped the PID defines in favour of comments (like the one you added in patch 2/3). I've been trying to move away from using defines as they often end up adding twice as many lines to the file for every entry. The result is here: https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git/log/?h=usb-linus Thanks for sticking with it! Johan