#define DRIVER_AUTHOR …
#define DRIVER_DESC …
#include <linux/kernel.h>
#include <linux/jiffies.h>
#include <linux/errno.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/bitops.h>
#include <linux/usb.h>
#include <linux/usb/serial.h>
#include "usb-wwan.h"
static int option_probe(struct usb_serial *serial,
const struct usb_device_id *id);
static int option_attach(struct usb_serial *serial);
static void option_release(struct usb_serial *serial);
static void option_instat_callback(struct urb *urb);
#define OPTION_VENDOR_ID …
#define OPTION_PRODUCT_COLT …
#define OPTION_PRODUCT_RICOLA …
#define OPTION_PRODUCT_RICOLA_LIGHT …
#define OPTION_PRODUCT_RICOLA_QUAD …
#define OPTION_PRODUCT_RICOLA_QUAD_LIGHT …
#define OPTION_PRODUCT_RICOLA_NDIS …
#define OPTION_PRODUCT_RICOLA_NDIS_LIGHT …
#define OPTION_PRODUCT_RICOLA_NDIS_QUAD …
#define OPTION_PRODUCT_RICOLA_NDIS_QUAD_LIGHT …
#define OPTION_PRODUCT_COBRA …
#define OPTION_PRODUCT_COBRA_BUS …
#define OPTION_PRODUCT_VIPER …
#define OPTION_PRODUCT_VIPER_BUS …
#define OPTION_PRODUCT_GT_MAX_READY …
#define OPTION_PRODUCT_FUJI_MODEM_LIGHT …
#define OPTION_PRODUCT_FUJI_MODEM_GT …
#define OPTION_PRODUCT_FUJI_MODEM_EX …
#define OPTION_PRODUCT_KOI_MODEM …
#define OPTION_PRODUCT_SCORPION_MODEM …
#define OPTION_PRODUCT_ETNA_MODEM …
#define OPTION_PRODUCT_ETNA_MODEM_LITE …
#define OPTION_PRODUCT_ETNA_MODEM_GT …
#define OPTION_PRODUCT_ETNA_MODEM_EX …
#define OPTION_PRODUCT_ETNA_KOI_MODEM …
#define OPTION_PRODUCT_GTM380_MODEM …
#define HUAWEI_VENDOR_ID …
#define HUAWEI_PRODUCT_E173 …
#define HUAWEI_PRODUCT_E1750 …
#define HUAWEI_PRODUCT_K4505 …
#define HUAWEI_PRODUCT_K3765 …
#define HUAWEI_PRODUCT_K4605 …
#define HUAWEI_PRODUCT_E173S6 …
#define QUANTA_VENDOR_ID …
#define QUANTA_PRODUCT_Q101 …
#define QUANTA_PRODUCT_Q111 …
#define QUANTA_PRODUCT_GLX …
#define QUANTA_PRODUCT_GKE …
#define QUANTA_PRODUCT_GLE …
#define NOVATELWIRELESS_VENDOR_ID …
#define YISO_VENDOR_ID …
#define YISO_PRODUCT_U893 …
#define NOVATELWIRELESS_PRODUCT_V640 …
#define NOVATELWIRELESS_PRODUCT_V620 …
#define NOVATELWIRELESS_PRODUCT_V740 …
#define NOVATELWIRELESS_PRODUCT_V720 …
#define NOVATELWIRELESS_PRODUCT_U730 …
#define NOVATELWIRELESS_PRODUCT_U740 …
#define NOVATELWIRELESS_PRODUCT_U870 …
#define NOVATELWIRELESS_PRODUCT_XU870 …
#define NOVATELWIRELESS_PRODUCT_X950D …
#define NOVATELWIRELESS_PRODUCT_EV620 …
#define NOVATELWIRELESS_PRODUCT_ES720 …
#define NOVATELWIRELESS_PRODUCT_E725 …
#define NOVATELWIRELESS_PRODUCT_ES620 …
#define NOVATELWIRELESS_PRODUCT_EU730 …
#define NOVATELWIRELESS_PRODUCT_EU740 …
#define NOVATELWIRELESS_PRODUCT_EU870D …
#define NOVATELWIRELESS_PRODUCT_MC727 …
#define NOVATELWIRELESS_PRODUCT_MC950D …
#define NOVATELWIRELESS_PRODUCT_OVMC760 …
#define NOVATELWIRELESS_PRODUCT_MC780 …
#define NOVATELWIRELESS_PRODUCT_EVDO_FULLSPEED …
#define NOVATELWIRELESS_PRODUCT_EVDO_HIGHSPEED …
#define NOVATELWIRELESS_PRODUCT_HSPA_FULLSPEED …
#define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED …
#define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED3 …
#define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED4 …
#define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED5 …
#define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED6 …
#define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED7 …
#define NOVATELWIRELESS_PRODUCT_MC996D …
#define NOVATELWIRELESS_PRODUCT_MF3470 …
#define NOVATELWIRELESS_PRODUCT_MC547 …
#define NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_FULLSPEED …
#define NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_HIGHSPEED …
#define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_FULLSPEED …
#define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED …
#define NOVATELWIRELESS_PRODUCT_E362 …
#define NOVATELWIRELESS_PRODUCT_E371 …
#define NOVATELWIRELESS_PRODUCT_U620L …
#define NOVATELWIRELESS_PRODUCT_G2 …
#define NOVATELWIRELESS_PRODUCT_MC551 …
#define UBLOX_VENDOR_ID …
#define AMOI_VENDOR_ID …
#define AMOI_PRODUCT_H01 …
#define AMOI_PRODUCT_H01A …
#define AMOI_PRODUCT_H02 …
#define AMOI_PRODUCT_SKYPEPHONE_S2 …
#define DELL_VENDOR_ID …
#define DELL_PRODUCT_5700_MINICARD …
#define DELL_PRODUCT_5500_MINICARD …
#define DELL_PRODUCT_5505_MINICARD …
#define DELL_PRODUCT_5700_EXPRESSCARD …
#define DELL_PRODUCT_5510_EXPRESSCARD …
#define DELL_PRODUCT_5700_MINICARD_SPRINT …
#define DELL_PRODUCT_5700_MINICARD_TELUS …
#define DELL_PRODUCT_5720_MINICARD_VZW …
#define DELL_PRODUCT_5720_MINICARD_SPRINT …
#define DELL_PRODUCT_5720_MINICARD_TELUS …
#define DELL_PRODUCT_5520_MINICARD_CINGULAR …
#define DELL_PRODUCT_5520_MINICARD_GENERIC_L …
#define DELL_PRODUCT_5520_MINICARD_GENERIC_I …
#define DELL_PRODUCT_5730_MINICARD_SPRINT …
#define DELL_PRODUCT_5730_MINICARD_TELUS …
#define DELL_PRODUCT_5730_MINICARD_VZW …
#define DELL_PRODUCT_5800_MINICARD_VZW …
#define DELL_PRODUCT_5800_V2_MINICARD_VZW …
#define DELL_PRODUCT_5804_MINICARD_ATT …
#define DELL_PRODUCT_5821E …
#define DELL_PRODUCT_5821E_ESIM …
#define DELL_PRODUCT_5829E_ESIM …
#define DELL_PRODUCT_5829E …
#define DELL_PRODUCT_FM101R_ESIM …
#define DELL_PRODUCT_FM101R …
#define KYOCERA_VENDOR_ID …
#define KYOCERA_PRODUCT_KPC650 …
#define KYOCERA_PRODUCT_KPC680 …
#define ANYDATA_VENDOR_ID …
#define ANYDATA_PRODUCT_ADU_620UW …
#define ANYDATA_PRODUCT_ADU_E100A …
#define ANYDATA_PRODUCT_ADU_500A …
#define AXESSTEL_VENDOR_ID …
#define AXESSTEL_PRODUCT_MV110H …
#define BANDRICH_VENDOR_ID …
#define BANDRICH_PRODUCT_C100_1 …
#define BANDRICH_PRODUCT_C100_2 …
#define BANDRICH_PRODUCT_1004 …
#define BANDRICH_PRODUCT_1005 …
#define BANDRICH_PRODUCT_1006 …
#define BANDRICH_PRODUCT_1007 …
#define BANDRICH_PRODUCT_1008 …
#define BANDRICH_PRODUCT_1009 …
#define BANDRICH_PRODUCT_100A …
#define BANDRICH_PRODUCT_100B …
#define BANDRICH_PRODUCT_100C …
#define BANDRICH_PRODUCT_100D …
#define BANDRICH_PRODUCT_100E …
#define BANDRICH_PRODUCT_100F …
#define BANDRICH_PRODUCT_1010 …
#define BANDRICH_PRODUCT_1011 …
#define BANDRICH_PRODUCT_1012 …
#define QUALCOMM_VENDOR_ID …
#define QUECTEL_PRODUCT_UC20 …
#define QUECTEL_PRODUCT_UC15 …
#define UBLOX_PRODUCT_R410M …
#define YUGA_PRODUCT_CLM920_NC5 …
#define QUECTEL_VENDOR_ID …
#define QUECTEL_PRODUCT_EC21 …
#define QUECTEL_PRODUCT_EM061K_LTA …
#define QUECTEL_PRODUCT_EM061K_LMS …
#define QUECTEL_PRODUCT_EC25 …
#define QUECTEL_PRODUCT_EM060K_128 …
#define QUECTEL_PRODUCT_EM060K_129 …
#define QUECTEL_PRODUCT_EM060K_12a …
#define QUECTEL_PRODUCT_EM060K_12b …
#define QUECTEL_PRODUCT_EM060K_12c …
#define QUECTEL_PRODUCT_EG91 …
#define QUECTEL_PRODUCT_EG95 …
#define QUECTEL_PRODUCT_BG96 …
#define QUECTEL_PRODUCT_EP06 …
#define QUECTEL_PRODUCT_EM05G …
#define QUECTEL_PRODUCT_EM060K …
#define QUECTEL_PRODUCT_EM05G_CS …
#define QUECTEL_PRODUCT_EM05GV2 …
#define QUECTEL_PRODUCT_EM05CN_SG …
#define QUECTEL_PRODUCT_EM05G_SG …
#define QUECTEL_PRODUCT_EM05CN …
#define QUECTEL_PRODUCT_EM05G_GR …
#define QUECTEL_PRODUCT_EM05G_RS …
#define QUECTEL_PRODUCT_EM12 …
#define QUECTEL_PRODUCT_RM500Q …
#define QUECTEL_PRODUCT_RM520N …
#define QUECTEL_PRODUCT_EC200U …
#define QUECTEL_PRODUCT_EG912Y …
#define QUECTEL_PRODUCT_EC200S_CN …
#define QUECTEL_PRODUCT_EC200A …
#define QUECTEL_PRODUCT_EM061K_LWW …
#define QUECTEL_PRODUCT_EM061K_LCN …
#define QUECTEL_PRODUCT_EC200T …
#define QUECTEL_PRODUCT_RM500K …
#define CMOTECH_VENDOR_ID …
#define CMOTECH_PRODUCT_6001 …
#define CMOTECH_PRODUCT_CMU_300 …
#define CMOTECH_PRODUCT_6003 …
#define CMOTECH_PRODUCT_6004 …
#define CMOTECH_PRODUCT_6005 …
#define CMOTECH_PRODUCT_CGU_628A …
#define CMOTECH_PRODUCT_CHE_628S …
#define CMOTECH_PRODUCT_CMU_301 …
#define CMOTECH_PRODUCT_CHU_628 …
#define CMOTECH_PRODUCT_CHU_628S …
#define CMOTECH_PRODUCT_CDU_680 …
#define CMOTECH_PRODUCT_CDU_685A …
#define CMOTECH_PRODUCT_CHU_720S …
#define CMOTECH_PRODUCT_7002 …
#define CMOTECH_PRODUCT_CHU_629K …
#define CMOTECH_PRODUCT_7004 …
#define CMOTECH_PRODUCT_7005 …
#define CMOTECH_PRODUCT_CGU_629 …
#define CMOTECH_PRODUCT_CHU_629S …
#define CMOTECH_PRODUCT_CHU_720I …
#define CMOTECH_PRODUCT_7212 …
#define CMOTECH_PRODUCT_7213 …
#define CMOTECH_PRODUCT_7251 …
#define CMOTECH_PRODUCT_7252 …
#define CMOTECH_PRODUCT_7253 …
#define TELIT_VENDOR_ID …
#define TELIT_PRODUCT_UC864E …
#define TELIT_PRODUCT_UC864G …
#define TELIT_PRODUCT_CC864_DUAL …
#define TELIT_PRODUCT_CC864_SINGLE …
#define TELIT_PRODUCT_DE910_DUAL …
#define TELIT_PRODUCT_UE910_V2 …
#define TELIT_PRODUCT_LE922_USBCFG1 …
#define TELIT_PRODUCT_LE922_USBCFG2 …
#define TELIT_PRODUCT_LE922_USBCFG0 …
#define TELIT_PRODUCT_LE922_USBCFG3 …
#define TELIT_PRODUCT_LE922_USBCFG5 …
#define TELIT_PRODUCT_ME910 …
#define TELIT_PRODUCT_ME910_DUAL_MODEM …
#define TELIT_PRODUCT_LE920 …
#define TELIT_PRODUCT_LE910 …
#define TELIT_PRODUCT_LE910_USBCFG4 …
#define TELIT_PRODUCT_LE920A4_1207 …
#define TELIT_PRODUCT_LE920A4_1208 …
#define TELIT_PRODUCT_LE920A4_1211 …
#define TELIT_PRODUCT_LE920A4_1212 …
#define TELIT_PRODUCT_LE920A4_1213 …
#define TELIT_PRODUCT_LE920A4_1214 …
#define ZTE_VENDOR_ID …
#define ZTE_PRODUCT_MF622 …
#define ZTE_PRODUCT_MF628 …
#define ZTE_PRODUCT_MF626 …
#define ZTE_PRODUCT_ZM8620_X …
#define ZTE_PRODUCT_ME3620_MBIM …
#define ZTE_PRODUCT_ME3620_X …
#define ZTE_PRODUCT_ME3620_L …
#define ZTE_PRODUCT_AC2726 …
#define ZTE_PRODUCT_MG880 …
#define ZTE_PRODUCT_CDMA_TECH …
#define ZTE_PRODUCT_AC8710T …
#define ZTE_PRODUCT_MC2718 …
#define ZTE_PRODUCT_AD3812 …
#define ZTE_PRODUCT_MC2716 …
#define BENQ_VENDOR_ID …
#define BENQ_PRODUCT_H10 …
#define DLINK_VENDOR_ID …
#define DLINK_PRODUCT_DWM_652 …
#define DLINK_PRODUCT_DWM_652_U5 …
#define DLINK_PRODUCT_DWM_652_U5A …
#define QISDA_VENDOR_ID …
#define QISDA_PRODUCT_H21_4512 …
#define QISDA_PRODUCT_H21_4523 …
#define QISDA_PRODUCT_H20_4515 …
#define QISDA_PRODUCT_H20_4518 …
#define QISDA_PRODUCT_H20_4519 …
#define TLAYTECH_VENDOR_ID …
#define TLAYTECH_PRODUCT_TEU800 …
#define TOSHIBA_VENDOR_ID …
#define TOSHIBA_PRODUCT_HSDPA_MINICARD …
#define TOSHIBA_PRODUCT_G450 …
#define ALINK_VENDOR_ID …
#define SIMCOM_PRODUCT_SIM7100E …
#define ALINK_PRODUCT_PH300 …
#define ALINK_PRODUCT_3GU …
#define ALCATEL_VENDOR_ID …
#define ALCATEL_PRODUCT_X060S_X200 …
#define ALCATEL_PRODUCT_X220_X500D …
#define ALCATEL_PRODUCT_L100V …
#define ALCATEL_PRODUCT_L800MA …
#define PIRELLI_VENDOR_ID …
#define PIRELLI_PRODUCT_C100_1 …
#define PIRELLI_PRODUCT_C100_2 …
#define PIRELLI_PRODUCT_1004 …
#define PIRELLI_PRODUCT_1005 …
#define PIRELLI_PRODUCT_1006 …
#define PIRELLI_PRODUCT_1007 …
#define PIRELLI_PRODUCT_1008 …
#define PIRELLI_PRODUCT_1009 …
#define PIRELLI_PRODUCT_100A …
#define PIRELLI_PRODUCT_100B …
#define PIRELLI_PRODUCT_100C …
#define PIRELLI_PRODUCT_100D …
#define PIRELLI_PRODUCT_100E …
#define PIRELLI_PRODUCT_100F …
#define PIRELLI_PRODUCT_1011 …
#define PIRELLI_PRODUCT_1012 …
#define AIRPLUS_VENDOR_ID …
#define AIRPLUS_PRODUCT_MCD650 …
#define LONGCHEER_VENDOR_ID …
#define FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE …
#define FOUR_G_SYSTEMS_PRODUCT_W14 …
#define FOUR_G_SYSTEMS_PRODUCT_W100 …
#define FUJISOFT_PRODUCT_FS040U …
#define IBALL_3_5G_CONNECT …
#define ZOOM_PRODUCT_4597 …
#define SPEEDUP_PRODUCT_SU9800 …
#define HAIER_VENDOR_ID …
#define HAIER_PRODUCT_CE81B …
#define HAIER_PRODUCT_CE100 …
#define SIEMENS_VENDOR_ID …
#define CINTERION_VENDOR_ID …
#define CINTERION_PRODUCT_HC25_MDMNET …
#define CINTERION_PRODUCT_HC25_MDM …
#define CINTERION_PRODUCT_HC28_MDMNET …
#define CINTERION_PRODUCT_HC28_MDM …
#define CINTERION_PRODUCT_EU3_E …
#define CINTERION_PRODUCT_EU3_P …
#define CINTERION_PRODUCT_PH8 …
#define CINTERION_PRODUCT_AHXX …
#define CINTERION_PRODUCT_PLXX …
#define CINTERION_PRODUCT_EXS82 …
#define CINTERION_PRODUCT_PH8_2RMNET …
#define CINTERION_PRODUCT_PH8_AUDIO …
#define CINTERION_PRODUCT_AHXX_2RMNET …
#define CINTERION_PRODUCT_AHXX_AUDIO …
#define CINTERION_PRODUCT_CLS8 …
#define CINTERION_PRODUCT_MV31_MBIM …
#define CINTERION_PRODUCT_MV31_RMNET …
#define CINTERION_PRODUCT_MV31_2_MBIM …
#define CINTERION_PRODUCT_MV31_2_RMNET …
#define CINTERION_PRODUCT_MV32_WA …
#define CINTERION_PRODUCT_MV32_WB …
#define CINTERION_PRODUCT_MV32_WA_RMNET …
#define CINTERION_PRODUCT_MV32_WB_RMNET …
#define OLIVETTI_VENDOR_ID …
#define OLIVETTI_PRODUCT_OLICARD100 …
#define OLIVETTI_PRODUCT_OLICARD120 …
#define OLIVETTI_PRODUCT_OLICARD140 …
#define OLIVETTI_PRODUCT_OLICARD145 …
#define OLIVETTI_PRODUCT_OLICARD155 …
#define OLIVETTI_PRODUCT_OLICARD200 …
#define OLIVETTI_PRODUCT_OLICARD160 …
#define OLIVETTI_PRODUCT_OLICARD500 …
#define CELOT_VENDOR_ID …
#define CELOT_PRODUCT_CT680M …
#define SAMSUNG_VENDOR_ID …
#define SAMSUNG_PRODUCT_GT_B3730 …
#define YUGA_VENDOR_ID …
#define YUGA_PRODUCT_CEM600 …
#define YUGA_PRODUCT_CEM610 …
#define YUGA_PRODUCT_CEM500 …
#define YUGA_PRODUCT_CEM510 …
#define YUGA_PRODUCT_CEM800 …
#define YUGA_PRODUCT_CEM900 …
#define YUGA_PRODUCT_CEU818 …
#define YUGA_PRODUCT_CEU816 …
#define YUGA_PRODUCT_CEU828 …
#define YUGA_PRODUCT_CEU826 …
#define YUGA_PRODUCT_CEU518 …
#define YUGA_PRODUCT_CEU516 …
#define YUGA_PRODUCT_CEU528 …
#define YUGA_PRODUCT_CEU526 …
#define YUGA_PRODUCT_CEU881 …
#define YUGA_PRODUCT_CEU882 …
#define YUGA_PRODUCT_CWM600 …
#define YUGA_PRODUCT_CWM610 …
#define YUGA_PRODUCT_CWM500 …
#define YUGA_PRODUCT_CWM510 …
#define YUGA_PRODUCT_CWM800 …
#define YUGA_PRODUCT_CWM900 …
#define YUGA_PRODUCT_CWU718 …
#define YUGA_PRODUCT_CWU716 …
#define YUGA_PRODUCT_CWU728 …
#define YUGA_PRODUCT_CWU726 …
#define YUGA_PRODUCT_CWU518 …
#define YUGA_PRODUCT_CWU516 …
#define YUGA_PRODUCT_CWU528 …
#define YUGA_PRODUCT_CWU581 …
#define YUGA_PRODUCT_CWU526 …
#define YUGA_PRODUCT_CWU582 …
#define YUGA_PRODUCT_CWU583 …
#define YUGA_PRODUCT_CLM600 …
#define YUGA_PRODUCT_CLM610 …
#define YUGA_PRODUCT_CLM500 …
#define YUGA_PRODUCT_CLM510 …
#define YUGA_PRODUCT_CLM800 …
#define YUGA_PRODUCT_CLM900 …
#define YUGA_PRODUCT_CLU718 …
#define YUGA_PRODUCT_CLU716 …
#define YUGA_PRODUCT_CLU728 …
#define YUGA_PRODUCT_CLU726 …
#define YUGA_PRODUCT_CLU518 …
#define YUGA_PRODUCT_CLU516 …
#define YUGA_PRODUCT_CLU528 …
#define YUGA_PRODUCT_CLU526 …
#define VIETTEL_VENDOR_ID …
#define VIETTEL_PRODUCT_VT1000 …
#define ZD_VENDOR_ID …
#define ZD_PRODUCT_7000 …
#define LG_VENDOR_ID …
#define LG_PRODUCT_L02C …
#define MEDIATEK_VENDOR_ID …
#define MEDIATEK_PRODUCT_DC_1COM …
#define MEDIATEK_PRODUCT_DC_4COM …
#define MEDIATEK_PRODUCT_DC_4COM2 …
#define MEDIATEK_PRODUCT_DC_5COM …
#define MEDIATEK_PRODUCT_7208_1COM …
#define MEDIATEK_PRODUCT_7208_2COM …
#define MEDIATEK_PRODUCT_7103_2COM …
#define MEDIATEK_PRODUCT_7106_2COM …
#define MEDIATEK_PRODUCT_FP_1COM …
#define MEDIATEK_PRODUCT_FP_2COM …
#define MEDIATEK_PRODUCT_FPDC_1COM …
#define MEDIATEK_PRODUCT_FPDC_2COM …
#define CELLIENT_VENDOR_ID …
#define CELLIENT_PRODUCT_MEN200 …
#define CELLIENT_PRODUCT_MPL200 …
#define PETATEL_VENDOR_ID …
#define PETATEL_PRODUCT_NP10T_600A …
#define PETATEL_PRODUCT_NP10T_600E …
#define TPLINK_VENDOR_ID …
#define TPLINK_PRODUCT_LTE …
#define TPLINK_PRODUCT_MA180 …
#define CHANGHONG_VENDOR_ID …
#define CHANGHONG_PRODUCT_CH690 …
#define INOVIA_VENDOR_ID …
#define INOVIA_SEW858 …
#define VIATELECOM_VENDOR_ID …
#define VIATELECOM_PRODUCT_CDS7 …
#define WETELECOM_VENDOR_ID …
#define WETELECOM_PRODUCT_WMD200 …
#define WETELECOM_PRODUCT_6802 …
#define WETELECOM_PRODUCT_WMD300 …
#define OPPO_VENDOR_ID …
#define OPPO_PRODUCT_R11 …
#define SIERRA_VENDOR_ID …
#define SIERRA_PRODUCT_EM9191 …
#define UNISOC_VENDOR_ID …
#define TOZED_PRODUCT_LT70C …
#define LUAT_PRODUCT_AIR720U …
#define MEIGSMART_VENDOR_ID …
#define MEIGSMART_PRODUCT_SLM320 …
#define FLAG_IFNUM_MAX …
#define NCTRL(ifnum) …
#define RSVD(ifnum) …
#define NUMEP2 …
#define ZLP …
static const struct usb_device_id option_ids[] = …;
MODULE_DEVICE_TABLE(usb, option_ids);
static struct usb_serial_driver option_1port_device = …;
static struct usb_serial_driver * const serial_drivers[] = …;
module_usb_serial_driver(…);
static bool iface_is_reserved(unsigned long device_flags, u8 ifnum)
{ … }
static int option_probe(struct usb_serial *serial,
const struct usb_device_id *id)
{ … }
static bool iface_no_modem_control(unsigned long device_flags, u8 ifnum)
{ … }
static int option_attach(struct usb_serial *serial)
{ … }
static void option_release(struct usb_serial *serial)
{ … }
static void option_instat_callback(struct urb *urb)
{ … }
MODULE_AUTHOR(…);
MODULE_DESCRIPTION(…);
MODULE_LICENSE(…) …;