// SPDX-License-Identifier: GPL-2.0 /* * Qualcomm USB Auxiliary Serial Port driver * * Copyright (C) 2008 Greg Kroah-Hartman <[email protected]> * Copyright (C) 2010 Dan Williams <[email protected]> * * Devices listed here usually provide a CDC ACM port on which normal modem * AT commands and PPP can be used. But when that port is in-use by PPP it * cannot be used simultaneously for status or signal strength. Instead, the * ports here can be queried for that information using the Qualcomm DM * protocol. */ #include <linux/kernel.h> #include <linux/tty.h> #include <linux/module.h> #include <linux/usb.h> #include <linux/usb/serial.h> /* NOTE: for now, only use this driver for devices that provide a CDC-ACM port * for normal AT commands, but also provide secondary USB interfaces for the * QCDM-capable ports. Devices that do not provide a CDC-ACM port should * probably be driven by option.ko. */ /* UTStarcom/Pantech/Curitel devices */ #define UTSTARCOM_VENDOR_ID … #define UTSTARCOM_PRODUCT_PC5740 … #define UTSTARCOM_PRODUCT_PC5750 … #define UTSTARCOM_PRODUCT_UM150 … #define UTSTARCOM_PRODUCT_UM175_V1 … #define UTSTARCOM_PRODUCT_UM175_V2 … #define UTSTARCOM_PRODUCT_UM175_ALLTEL … /* CMOTECH devices */ #define CMOTECH_VENDOR_ID … #define CMOTECH_PRODUCT_CDU550 … #define CMOTECH_PRODUCT_CDX650 … /* LG devices */ #define LG_VENDOR_ID … #define LG_PRODUCT_VX4400_6000 … /* Sanyo devices */ #define SANYO_VENDOR_ID … #define SANYO_PRODUCT_KATANA_LX … /* Samsung devices */ #define SAMSUNG_VENDOR_ID … #define SAMSUNG_PRODUCT_U520 … static const struct usb_device_id id_table[] = …; MODULE_DEVICE_TABLE(usb, id_table); static struct usb_serial_driver qcaux_device = …; static struct usb_serial_driver * const serial_drivers[] = …; module_usb_serial_driver(…); MODULE_LICENSE(…) …;