linux/drivers/usb/serial/qcaux.c

// 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();