/* SPDX-License-Identifier: GPL-2.0 */ /* * * Includes for cdc-acm.c * * Mainly take from usbnet's cdc-ether part * */ /* * Major and minor numbers. */ #define ACM_TTY_MAJOR … #define ACM_TTY_MINORS … #define ACM_MINOR_INVALID … /* * Requests. */ #define USB_RT_ACM … /* * Internal driver structures. */ /* * The only reason to have several buffers is to accommodate assumptions * in line disciplines. They ask for empty space amount, receive our URB size, * and proceed to issue several 1-character writes, assuming they will fit. * The very first write takes a complete URB. Fortunately, this only happens * when processing onlcr, so we only need 2 buffers. These values must be * powers of 2. */ #define ACM_NW … #define ACM_NR … struct acm_wb { … }; struct acm_rb { … }; struct acm { … }; /* constants describing various quirks and errors */ #define NO_UNION_NORMAL … #define SINGLE_RX_URB … #define NO_CAP_LINE … #define IGNORE_DEVICE … #define QUIRK_CONTROL_LINE_STATE … #define CLEAR_HALT_CONDITIONS … #define SEND_ZERO_PACKET … #define DISABLE_ECHO …