drivers/net/wireless/ath/ath10k/wmi.c
7921
params->acm = __cpu_to_le32(arg->acm);
drivers/net/wireless/ath/ath10k/wmi.h
4346
__le32 acm;
drivers/net/wireless/ath/ath10k/wmi.h
4362
u32 acm;
drivers/net/wireless/ath/ath11k/wmi.c
2732
wmm_param->acm = wmi_wmm_arg->acm;
drivers/net/wireless/ath/ath11k/wmi.c
2739
wmm_param->acm, wmm_param->no_ack);
drivers/net/wireless/ath/ath11k/wmi.h
5352
u32 acm;
drivers/net/wireless/ath/ath11k/wmi.h
5357
u8 acm;
drivers/net/wireless/ath/ath12k/wmi.c
3021
wmm_param->acm = cpu_to_le32(wmi_wmm_arg->acm);
drivers/net/wireless/ath/ath12k/wmi.c
3028
wmm_param->acm, wmm_param->no_ack);
drivers/net/wireless/ath/ath12k/wmi.h
5004
__le32 acm;
drivers/net/wireless/ath/ath12k/wmi.h
5009
u8 acm;
drivers/net/wireless/ath/wcn36xx/hal.h
1833
u8 acm:1;
drivers/net/wireless/ath/wcn36xx/hal.h
1837
u8 acm:1;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
6248
u8 acm;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
6255
acm = (acp->ACI & EDCF_ACM_MASK) ? 1 : 0;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
6259
aci, aifsn, acm, ecwmin, ecwmax);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
6268
if (aci != AC_BE && aci != AC_BK && acm == 1)
drivers/net/wireless/intel/iwlwifi/mld/power.c
122
if (!tid_found && !link->queue_params[ac].acm) {
drivers/net/wireless/intel/iwlwifi/mld/power.c
177
if (!tid_found && !link->queue_params[ac].acm) {
drivers/net/wireless/intel/iwlwifi/mvm/power.c
162
if (!tid_found && !mvmvif->deflink.queue_params[ac].acm) {
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
679
u8 acm;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
696
u8 acm;
drivers/net/wireless/microchip/wilc1000/wlan.c
377
wl->txq[AC_BK_Q].fw.acm = FIELD_GET(BK_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
378
wl->txq[AC_BE_Q].fw.acm = FIELD_GET(BE_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
379
wl->txq[AC_VI_Q].fw.acm = FIELD_GET(VI_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
380
wl->txq[AC_VO_Q].fw.acm = FIELD_GET(VO_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
386
if (wilc->txq[*ac].fw.acm == 0)
drivers/net/wireless/microchip/wilc1000/wlan.h
367
u8 acm;
drivers/net/wireless/realtek/rtl8xxxu/core.c
6866
__func__, queue, val32, param->acm, acm_ctrl);
drivers/net/wireless/realtek/rtl8xxxu/core.c
6890
if (param->acm)
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
519
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
525
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
539
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
306
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
312
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
326
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
100
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
104
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
118
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
67
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
70
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
84
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
514
u8 acm = aifs->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
519
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
533
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
238
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
244
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
258
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
308
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
314
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
328
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
553
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
559
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
573
acm);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
615
u8 acm = p_aci_aifsn->f.acm;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
621
if (acm) {
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
635
acm);
drivers/net/wireless/realtek/rtlwifi/wifi.h
863
u8 acm:1;
drivers/usb/class/cdc-acm.c
100
static void acm_release_minor(struct acm *acm)
drivers/usb/class/cdc-acm.c
1000
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
1009
mutex_lock(&acm->port.mutex);
drivers/usb/class/cdc-acm.c
1012
if ((close_delay != acm->port.close_delay) ||
drivers/usb/class/cdc-acm.c
1013
(closing_wait != acm->port.closing_wait))
drivers/usb/class/cdc-acm.c
1016
acm->port.close_delay = close_delay;
drivers/usb/class/cdc-acm.c
1017
acm->port.closing_wait = closing_wait;
drivers/usb/class/cdc-acm.c
1020
mutex_unlock(&acm->port.mutex);
drivers/usb/class/cdc-acm.c
1024
static int wait_serial_change(struct acm *acm, unsigned long arg)
drivers/usb/class/cdc-acm.c
103
idr_remove(&acm_minors, acm->minor);
drivers/usb/class/cdc-acm.c
1031
spin_lock_irq(&acm->read_lock);
drivers/usb/class/cdc-acm.c
1032
old = acm->oldcount;
drivers/usb/class/cdc-acm.c
1033
new = acm->iocount;
drivers/usb/class/cdc-acm.c
1034
acm->oldcount = new;
drivers/usb/class/cdc-acm.c
1035
spin_unlock_irq(&acm->read_lock);
drivers/usb/class/cdc-acm.c
1047
add_wait_queue(&acm->wioctl, &wait);
drivers/usb/class/cdc-acm.c
1050
remove_wait_queue(&acm->wioctl, &wait);
drivers/usb/class/cdc-acm.c
1051
if (acm->disconnected) {
drivers/usb/class/cdc-acm.c
1070
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
1072
icount->dsr = acm->iocount.dsr;
drivers/usb/class/cdc-acm.c
1073
icount->rng = acm->iocount.rng;
drivers/usb/class/cdc-acm.c
1074
icount->dcd = acm->iocount.dcd;
drivers/usb/class/cdc-acm.c
1075
icount->frame = acm->iocount.frame;
drivers/usb/class/cdc-acm.c
1076
icount->overrun = acm->iocount.overrun;
drivers/usb/class/cdc-acm.c
1077
icount->parity = acm->iocount.parity;
drivers/usb/class/cdc-acm.c
1078
icount->brk = acm->iocount.brk;
drivers/usb/class/cdc-acm.c
1086
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
1091
rv = usb_autopm_get_interface(acm->control);
drivers/usb/class/cdc-acm.c
1096
rv = wait_serial_change(acm, arg);
drivers/usb/class/cdc-acm.c
1097
usb_autopm_put_interface(acm->control);
drivers/usb/class/cdc-acm.c
1107
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
111
static int acm_ctrl_msg(struct acm *acm, int request, int value,
drivers/usb/class/cdc-acm.c
1110
int newctrl = acm->ctrlout;
drivers/usb/class/cdc-acm.c
1120
acm->clocal = ((termios->c_cflag & CLOCAL) != 0);
drivers/usb/class/cdc-acm.c
1123
newline.dwDTERate = acm->line.dwDTERate;
drivers/usb/class/cdc-acm.c
1129
if (newctrl != acm->ctrlout)
drivers/usb/class/cdc-acm.c
1130
acm_set_control(acm, acm->ctrlout = newctrl);
drivers/usb/class/cdc-acm.c
1132
if (memcmp(&acm->line, &newline, sizeof newline)) {
drivers/usb/class/cdc-acm.c
1133
memcpy(&acm->line, &newline, sizeof newline);
drivers/usb/class/cdc-acm.c
1134
dev_dbg(&acm->control->dev, "%s - set line: %d %d %d %d\n",
drivers/usb/class/cdc-acm.c
1139
acm_set_line(acm, &acm->line);
drivers/usb/class/cdc-acm.c
1155
static void acm_write_buffers_free(struct acm *acm)
drivers/usb/class/cdc-acm.c
116
retval = usb_autopm_get_interface(acm->control);
drivers/usb/class/cdc-acm.c
1160
for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++)
drivers/usb/class/cdc-acm.c
1161
usb_free_coherent(acm->dev, acm->writesize, wb->buf, wb->dmah);
drivers/usb/class/cdc-acm.c
1164
static void acm_read_buffers_free(struct acm *acm)
drivers/usb/class/cdc-acm.c
1168
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
1169
usb_free_coherent(acm->dev, acm->readsize,
drivers/usb/class/cdc-acm.c
1170
acm->read_buffers[i].base, acm->read_buffers[i].dma);
drivers/usb/class/cdc-acm.c
1174
static int acm_write_buffers_alloc(struct acm *acm)
drivers/usb/class/cdc-acm.c
1179
for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) {
drivers/usb/class/cdc-acm.c
1180
wb->buf = usb_alloc_coherent(acm->dev, acm->writesize, GFP_KERNEL,
drivers/usb/class/cdc-acm.c
1186
usb_free_coherent(acm->dev, acm->writesize,
drivers/usb/class/cdc-acm.c
120
retval = usb_control_msg(acm->dev, usb_sndctrlpipe(acm->dev, 0),
drivers/usb/class/cdc-acm.c
1209
struct acm *acm;
drivers/usb/class/cdc-acm.c
122
acm->control->altsetting[0].desc.bInterfaceNumber,
drivers/usb/class/cdc-acm.c
125
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
129
usb_autopm_put_interface(acm->control);
drivers/usb/class/cdc-acm.c
137
static inline int acm_set_control(struct acm *acm, int control)
drivers/usb/class/cdc-acm.c
1375
acm = kzalloc_obj(struct acm);
drivers/usb/class/cdc-acm.c
1376
if (!acm)
drivers/usb/class/cdc-acm.c
1379
tty_port_init(&acm->port);
drivers/usb/class/cdc-acm.c
1380
acm->port.ops = &acm_port_ops;
drivers/usb/class/cdc-acm.c
1385
acm->combined_interfaces = combined_interfaces;
drivers/usb/class/cdc-acm.c
1386
acm->writesize = usb_endpoint_maxp(epwrite) * 20;
drivers/usb/class/cdc-acm.c
1387
acm->control = control_interface;
drivers/usb/class/cdc-acm.c
1388
acm->data = data_interface;
drivers/usb/class/cdc-acm.c
139
if (acm->quirks & QUIRK_CONTROL_LINE_STATE)
drivers/usb/class/cdc-acm.c
1390
usb_get_intf(acm->control); /* undone in destruct() */
drivers/usb/class/cdc-acm.c
1392
minor = acm_alloc_minor(acm);
drivers/usb/class/cdc-acm.c
1394
acm->minor = ACM_MINOR_INVALID;
drivers/usb/class/cdc-acm.c
1398
acm->minor = minor;
drivers/usb/class/cdc-acm.c
1399
acm->dev = usb_dev;
drivers/usb/class/cdc-acm.c
1401
acm->ctrl_caps = h.usb_cdc_acm_descriptor->bmCapabilities;
drivers/usb/class/cdc-acm.c
1403
acm->ctrl_caps &= ~USB_CDC_CAP_LINE;
drivers/usb/class/cdc-acm.c
1405
acm->ctrl_caps |= USB_CDC_CAP_BRK;
drivers/usb/class/cdc-acm.c
1406
acm->ctrlsize = ctrlsize;
drivers/usb/class/cdc-acm.c
1407
acm->readsize = readsize;
drivers/usb/class/cdc-acm.c
1408
acm->rx_buflimit = num_rx_buf;
drivers/usb/class/cdc-acm.c
1409
INIT_DELAYED_WORK(&acm->dwork, acm_softint);
drivers/usb/class/cdc-acm.c
1410
init_waitqueue_head(&acm->wioctl);
drivers/usb/class/cdc-acm.c
1411
spin_lock_init(&acm->write_lock);
drivers/usb/class/cdc-acm.c
1412
spin_lock_init(&acm->read_lock);
drivers/usb/class/cdc-acm.c
1413
mutex_init(&acm->mutex);
drivers/usb/class/cdc-acm.c
1415
acm->bInterval = epread->bInterval;
drivers/usb/class/cdc-acm.c
1416
acm->in = usb_rcvintpipe(usb_dev, epread->bEndpointAddress);
drivers/usb/class/cdc-acm.c
1418
acm->in = usb_rcvbulkpipe(usb_dev, epread->bEndpointAddress);
drivers/usb/class/cdc-acm.c
142
return acm_ctrl_msg(acm, USB_CDC_REQ_SET_CONTROL_LINE_STATE,
drivers/usb/class/cdc-acm.c
1421
acm->out = usb_sndintpipe(usb_dev, epwrite->bEndpointAddress);
drivers/usb/class/cdc-acm.c
1423
acm->out = usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress);
drivers/usb/class/cdc-acm.c
1424
init_usb_anchor(&acm->delayed);
drivers/usb/class/cdc-acm.c
1425
acm->quirks = quirks;
drivers/usb/class/cdc-acm.c
1427
buf = usb_alloc_coherent(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma);
drivers/usb/class/cdc-acm.c
1430
acm->ctrl_buffer = buf;
drivers/usb/class/cdc-acm.c
1432
if (acm_write_buffers_alloc(acm) < 0)
drivers/usb/class/cdc-acm.c
1435
acm->ctrlurb = usb_alloc_urb(0, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
1436
if (!acm->ctrlurb)
drivers/usb/class/cdc-acm.c
1440
struct acm_rb *rb = &(acm->read_buffers[i]);
drivers/usb/class/cdc-acm.c
1443
rb->base = usb_alloc_coherent(acm->dev, readsize, GFP_KERNEL,
drivers/usb/class/cdc-acm.c
1448
rb->instance = acm;
drivers/usb/class/cdc-acm.c
1457
usb_fill_int_urb(urb, acm->dev, acm->in, rb->base,
drivers/usb/class/cdc-acm.c
1458
acm->readsize,
drivers/usb/class/cdc-acm.c
146
#define acm_set_line(acm, line) \
drivers/usb/class/cdc-acm.c
1460
acm->bInterval);
drivers/usb/class/cdc-acm.c
1462
usb_fill_bulk_urb(urb, acm->dev, acm->in, rb->base,
drivers/usb/class/cdc-acm.c
1463
acm->readsize,
drivers/usb/class/cdc-acm.c
1466
acm->read_urbs[i] = urb;
drivers/usb/class/cdc-acm.c
1467
__set_bit(i, &acm->read_urbs_free);
drivers/usb/class/cdc-acm.c
147
acm_ctrl_msg(acm, USB_CDC_REQ_SET_LINE_CODING, 0, line, sizeof *(line))
drivers/usb/class/cdc-acm.c
1470
struct acm_wb *snd = &(acm->wb[i]);
drivers/usb/class/cdc-acm.c
1477
usb_fill_int_urb(snd->urb, usb_dev, acm->out,
drivers/usb/class/cdc-acm.c
1478
NULL, acm->writesize, acm_write_bulk, snd, epwrite->bInterval);
drivers/usb/class/cdc-acm.c
148
#define acm_send_break(acm, ms) \
drivers/usb/class/cdc-acm.c
1480
usb_fill_bulk_urb(snd->urb, usb_dev, acm->out,
drivers/usb/class/cdc-acm.c
1481
NULL, acm->writesize, acm_write_bulk, snd);
drivers/usb/class/cdc-acm.c
1485
snd->instance = acm;
drivers/usb/class/cdc-acm.c
1488
usb_set_intfdata(intf, acm);
drivers/usb/class/cdc-acm.c
149
acm_ctrl_msg(acm, USB_CDC_REQ_SEND_BREAK, ms, NULL, 0)
drivers/usb/class/cdc-acm.c
1498
acm->country_codes = kmalloc(cfd->bLength - 4, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
1499
if (!acm->country_codes)
drivers/usb/class/cdc-acm.c
1501
acm->country_code_size = cfd->bLength - 4;
drivers/usb/class/cdc-acm.c
1502
memcpy(acm->country_codes, cfd->wCountryCodes,
drivers/usb/class/cdc-acm.c
1504
acm->country_rel_date = cfd->iCountryCodeRelDate;
drivers/usb/class/cdc-acm.c
1508
kfree(acm->country_codes);
drivers/usb/class/cdc-acm.c
1509
acm->country_codes = NULL;
drivers/usb/class/cdc-acm.c
151
static void acm_poison_urbs(struct acm *acm)
drivers/usb/class/cdc-acm.c
1510
acm->country_code_size = 0;
drivers/usb/class/cdc-acm.c
1518
kfree(acm->country_codes);
drivers/usb/class/cdc-acm.c
1519
acm->country_codes = NULL;
drivers/usb/class/cdc-acm.c
1520
acm->country_code_size = 0;
drivers/usb/class/cdc-acm.c
1526
usb_fill_int_urb(acm->ctrlurb, usb_dev,
drivers/usb/class/cdc-acm.c
1528
acm->ctrl_buffer, ctrlsize, acm_ctrl_irq, acm,
drivers/usb/class/cdc-acm.c
1531
acm->ctrlurb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
drivers/usb/class/cdc-acm.c
1532
acm->ctrlurb->transfer_dma = acm->ctrl_dma;
drivers/usb/class/cdc-acm.c
1533
acm->notification_buffer = NULL;
drivers/usb/class/cdc-acm.c
1534
acm->nb_index = 0;
drivers/usb/class/cdc-acm.c
1535
acm->nb_size = 0;
drivers/usb/class/cdc-acm.c
1537
acm->line.dwDTERate = cpu_to_le32(9600);
drivers/usb/class/cdc-acm.c
1538
acm->line.bDataBits = 8;
drivers/usb/class/cdc-acm.c
1539
acm_set_line(acm, &acm->line);
drivers/usb/class/cdc-acm.c
1542
acm_set_control(acm, USB_CDC_CTRL_DTR | USB_CDC_CTRL_RTS);
drivers/usb/class/cdc-acm.c
1544
if (!acm->combined_interfaces) {
drivers/usb/class/cdc-acm.c
1545
rv = usb_driver_claim_interface(&acm_driver, data_interface, acm);
drivers/usb/class/cdc-acm.c
155
usb_poison_urb(acm->ctrlurb);
drivers/usb/class/cdc-acm.c
1552
usb_clear_halt(usb_dev, acm->in);
drivers/usb/class/cdc-acm.c
1553
usb_clear_halt(usb_dev, acm->out);
drivers/usb/class/cdc-acm.c
1556
tty_dev = tty_port_register_device(&acm->port, acm_tty_driver, minor,
drivers/usb/class/cdc-acm.c
1565
if (acm->quirks & ALWAYS_POLL_CTRL) {
drivers/usb/class/cdc-acm.c
1566
acm->ctrlurb->dev = acm->dev;
drivers/usb/class/cdc-acm.c
1567
if (usb_submit_urb(acm->ctrlurb, GFP_KERNEL))
drivers/usb/class/cdc-acm.c
157
usb_poison_urb(acm->wb[i].urb);
drivers/usb/class/cdc-acm.c
1570
if (acm_submit_read_urbs(acm, GFP_KERNEL))
drivers/usb/class/cdc-acm.c
1578
if (!acm->combined_interfaces) {
drivers/usb/class/cdc-acm.c
158
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
1584
if (acm->country_codes) {
drivers/usb/class/cdc-acm.c
1585
device_remove_file(&acm->control->dev,
drivers/usb/class/cdc-acm.c
1587
device_remove_file(&acm->control->dev,
drivers/usb/class/cdc-acm.c
159
usb_poison_urb(acm->read_urbs[i]);
drivers/usb/class/cdc-acm.c
1590
device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities);
drivers/usb/class/cdc-acm.c
1593
usb_free_urb(acm->wb[i].urb);
drivers/usb/class/cdc-acm.c
1596
usb_free_urb(acm->read_urbs[i]);
drivers/usb/class/cdc-acm.c
1597
acm_read_buffers_free(acm);
drivers/usb/class/cdc-acm.c
1598
usb_free_urb(acm->ctrlurb);
drivers/usb/class/cdc-acm.c
1600
acm_write_buffers_free(acm);
drivers/usb/class/cdc-acm.c
1602
usb_free_coherent(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma);
drivers/usb/class/cdc-acm.c
1604
tty_port_put(&acm->port);
drivers/usb/class/cdc-acm.c
1611
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
1615
if (!acm)
drivers/usb/class/cdc-acm.c
1618
acm->disconnected = true;
drivers/usb/class/cdc-acm.c
162
static void acm_unpoison_urbs(struct acm *acm)
drivers/usb/class/cdc-acm.c
1624
acm_poison_urbs(acm);
drivers/usb/class/cdc-acm.c
1625
mutex_lock(&acm->mutex);
drivers/usb/class/cdc-acm.c
1626
if (acm->country_codes) {
drivers/usb/class/cdc-acm.c
1627
device_remove_file(&acm->control->dev,
drivers/usb/class/cdc-acm.c
1629
device_remove_file(&acm->control->dev,
drivers/usb/class/cdc-acm.c
1632
wake_up_all(&acm->wioctl);
drivers/usb/class/cdc-acm.c
1633
device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities);
drivers/usb/class/cdc-acm.c
1634
usb_set_intfdata(acm->control, NULL);
drivers/usb/class/cdc-acm.c
1635
usb_set_intfdata(acm->data, NULL);
drivers/usb/class/cdc-acm.c
1636
mutex_unlock(&acm->mutex);
drivers/usb/class/cdc-acm.c
1638
tty_port_tty_vhangup(&acm->port);
drivers/usb/class/cdc-acm.c
1640
cancel_delayed_work_sync(&acm->dwork);
drivers/usb/class/cdc-acm.c
1642
tty_unregister_device(acm_tty_driver, acm->minor);
drivers/usb/class/cdc-acm.c
1644
usb_free_urb(acm->ctrlurb);
drivers/usb/class/cdc-acm.c
1646
usb_free_urb(acm->wb[i].urb);
drivers/usb/class/cdc-acm.c
1647
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
1648
usb_free_urb(acm->read_urbs[i]);
drivers/usb/class/cdc-acm.c
1649
acm_write_buffers_free(acm);
drivers/usb/class/cdc-acm.c
1650
usb_free_coherent(acm->dev, acm->ctrlsize, acm->ctrl_buffer, acm->ctrl_dma);
drivers/usb/class/cdc-acm.c
1651
acm_read_buffers_free(acm);
drivers/usb/class/cdc-acm.c
1653
kfree(acm->notification_buffer);
drivers/usb/class/cdc-acm.c
1655
if (!acm->combined_interfaces)
drivers/usb/class/cdc-acm.c
1656
usb_driver_release_interface(&acm_driver, intf == acm->control ?
drivers/usb/class/cdc-acm.c
1657
acm->data : acm->control);
drivers/usb/class/cdc-acm.c
1659
tty_port_put(&acm->port);
drivers/usb/class/cdc-acm.c
166
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
1665
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
1668
spin_lock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
167
usb_unpoison_urb(acm->read_urbs[i]);
drivers/usb/class/cdc-acm.c
1670
if (acm->transmitting) {
drivers/usb/class/cdc-acm.c
1671
spin_unlock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
1675
cnt = acm->susp_count++;
drivers/usb/class/cdc-acm.c
1676
spin_unlock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
1681
acm_poison_urbs(acm);
drivers/usb/class/cdc-acm.c
1682
cancel_delayed_work_sync(&acm->dwork);
drivers/usb/class/cdc-acm.c
1683
acm->urbs_in_error_delay = 0;
drivers/usb/class/cdc-acm.c
169
usb_unpoison_urb(acm->wb[i].urb);
drivers/usb/class/cdc-acm.c
1690
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
1694
spin_lock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
1696
if (--acm->susp_count)
drivers/usb/class/cdc-acm.c
1699
acm_unpoison_urbs(acm);
drivers/usb/class/cdc-acm.c
170
usb_unpoison_urb(acm->ctrlurb);
drivers/usb/class/cdc-acm.c
1701
if (tty_port_initialized(&acm->port) || (acm->quirks & ALWAYS_POLL_CTRL)) {
drivers/usb/class/cdc-acm.c
1702
rv = usb_submit_urb(acm->ctrlurb, GFP_ATOMIC);
drivers/usb/class/cdc-acm.c
1705
urb = usb_get_from_anchor(&acm->delayed);
drivers/usb/class/cdc-acm.c
1709
acm_start_wb(acm, urb->context);
drivers/usb/class/cdc-acm.c
1719
rv = acm_submit_read_urbs(acm, GFP_ATOMIC);
drivers/usb/class/cdc-acm.c
1722
spin_unlock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
1729
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
1731
if (tty_port_initialized(&acm->port))
drivers/usb/class/cdc-acm.c
1732
tty_port_tty_hangup(&acm->port, false);
drivers/usb/class/cdc-acm.c
1741
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
1743
clear_bit(EVENT_RX_STALL, &acm->flags);
drivers/usb/class/cdc-acm.c
1744
acm->nb_index = 0; /* pending control transfers are lost */
drivers/usb/class/cdc-acm.c
179
static int acm_wb_alloc(struct acm *acm)
drivers/usb/class/cdc-acm.c
187
wb = &acm->wb[wbn];
drivers/usb/class/cdc-acm.c
199
static int acm_wb_is_avail(struct acm *acm)
drivers/usb/class/cdc-acm.c
205
spin_lock_irqsave(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
207
if(acm->wb[i].use)
drivers/usb/class/cdc-acm.c
209
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
216
static void acm_write_done(struct acm *acm, struct acm_wb *wb)
drivers/usb/class/cdc-acm.c
219
acm->transmitting--;
drivers/usb/class/cdc-acm.c
220
usb_autopm_put_interface_async(acm->control);
drivers/usb/class/cdc-acm.c
229
static int acm_start_wb(struct acm *acm, struct acm_wb *wb)
drivers/usb/class/cdc-acm.c
233
acm->transmitting++;
drivers/usb/class/cdc-acm.c
238
wb->urb->dev = acm->dev;
drivers/usb/class/cdc-acm.c
243
dev_err(&acm->data->dev,
drivers/usb/class/cdc-acm.c
246
acm_write_done(acm, wb);
drivers/usb/class/cdc-acm.c
258
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
260
return sprintf(buf, "%d", acm->ctrl_caps);
drivers/usb/class/cdc-acm.c
268
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
270
memcpy(buf, acm->country_codes, acm->country_code_size);
drivers/usb/class/cdc-acm.c
271
return acm->country_code_size;
drivers/usb/class/cdc-acm.c
280
struct acm *acm = usb_get_intfdata(intf);
drivers/usb/class/cdc-acm.c
282
return sprintf(buf, "%d", acm->country_rel_date);
drivers/usb/class/cdc-acm.c
290
static void acm_process_notification(struct acm *acm, unsigned char *buf)
drivers/usb/class/cdc-acm.c
300
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
306
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
312
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
315
if (!acm->clocal && (acm->ctrlin & ~newctrl & USB_CDC_SERIAL_STATE_DCD)) {
drivers/usb/class/cdc-acm.c
316
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
318
tty_port_tty_hangup(&acm->port, false);
drivers/usb/class/cdc-acm.c
321
difference = acm->ctrlin ^ newctrl;
drivers/usb/class/cdc-acm.c
323
if ((difference & USB_CDC_SERIAL_STATE_DCD) && acm->port.tty) {
drivers/usb/class/cdc-acm.c
324
struct tty_ldisc *ld = tty_ldisc_ref(acm->port.tty);
drivers/usb/class/cdc-acm.c
327
ld->ops->dcd_change(acm->port.tty, newctrl & USB_CDC_SERIAL_STATE_DCD);
drivers/usb/class/cdc-acm.c
332
spin_lock_irqsave(&acm->read_lock, flags);
drivers/usb/class/cdc-acm.c
333
acm->ctrlin = newctrl;
drivers/usb/class/cdc-acm.c
334
acm->oldcount = acm->iocount;
drivers/usb/class/cdc-acm.c
337
acm->iocount.dsr++;
drivers/usb/class/cdc-acm.c
339
acm->iocount.dcd++;
drivers/usb/class/cdc-acm.c
341
acm->iocount.brk++;
drivers/usb/class/cdc-acm.c
342
tty_insert_flip_char(&acm->port, 0, TTY_BREAK);
drivers/usb/class/cdc-acm.c
345
acm->iocount.rng++;
drivers/usb/class/cdc-acm.c
347
acm->iocount.frame++;
drivers/usb/class/cdc-acm.c
349
acm->iocount.parity++;
drivers/usb/class/cdc-acm.c
351
acm->iocount.overrun++;
drivers/usb/class/cdc-acm.c
352
spin_unlock_irqrestore(&acm->read_lock, flags);
drivers/usb/class/cdc-acm.c
355
tty_flip_buffer_push(&acm->port);
drivers/usb/class/cdc-acm.c
358
wake_up_all(&acm->wioctl);
drivers/usb/class/cdc-acm.c
363
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
373
struct acm *acm = urb->context;
drivers/usb/class/cdc-acm.c
388
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
393
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
399
usb_mark_last_busy(acm->dev);
drivers/usb/class/cdc-acm.c
401
if (acm->nb_index == 0) {
drivers/usb/class/cdc-acm.c
408
dev_dbg(&acm->control->dev, "urb too short\n");
drivers/usb/class/cdc-acm.c
413
dr = (struct usb_cdc_notification *)acm->notification_buffer;
drivers/usb/class/cdc-acm.c
419
if (acm->nb_index != 0 || current_size < expected_size) {
drivers/usb/class/cdc-acm.c
421
if (acm->nb_size < expected_size) {
drivers/usb/class/cdc-acm.c
425
new_buffer = krealloc(acm->notification_buffer,
drivers/usb/class/cdc-acm.c
428
acm->nb_index = 0;
drivers/usb/class/cdc-acm.c
432
acm->notification_buffer = new_buffer;
drivers/usb/class/cdc-acm.c
433
acm->nb_size = alloc_size;
drivers/usb/class/cdc-acm.c
434
dr = (struct usb_cdc_notification *)acm->notification_buffer;
drivers/usb/class/cdc-acm.c
438
expected_size - acm->nb_index);
drivers/usb/class/cdc-acm.c
440
memcpy(&acm->notification_buffer[acm->nb_index],
drivers/usb/class/cdc-acm.c
442
acm->nb_index += copy_size;
drivers/usb/class/cdc-acm.c
443
current_size = acm->nb_index;
drivers/usb/class/cdc-acm.c
448
acm_process_notification(acm, (unsigned char *)dr);
drivers/usb/class/cdc-acm.c
449
acm->nb_index = 0;
drivers/usb/class/cdc-acm.c
455
dev_err(&acm->control->dev,
drivers/usb/class/cdc-acm.c
458
dev_vdbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
462
static int acm_submit_read_urb(struct acm *acm, int index, gfp_t mem_flags)
drivers/usb/class/cdc-acm.c
466
if (!test_and_clear_bit(index, &acm->read_urbs_free))
drivers/usb/class/cdc-acm.c
469
res = usb_submit_urb(acm->read_urbs[index], mem_flags);
drivers/usb/class/cdc-acm.c
472
dev_err(&acm->data->dev,
drivers/usb/class/cdc-acm.c
476
dev_vdbg(&acm->data->dev, "intended failure %d\n", res);
drivers/usb/class/cdc-acm.c
478
set_bit(index, &acm->read_urbs_free);
drivers/usb/class/cdc-acm.c
481
dev_vdbg(&acm->data->dev, "submitted urb %d\n", index);
drivers/usb/class/cdc-acm.c
487
static int acm_submit_read_urbs(struct acm *acm, gfp_t mem_flags)
drivers/usb/class/cdc-acm.c
492
for (i = 0; i < acm->rx_buflimit; ++i) {
drivers/usb/class/cdc-acm.c
493
res = acm_submit_read_urb(acm, i, mem_flags);
drivers/usb/class/cdc-acm.c
501
static void acm_process_read_urb(struct acm *acm, struct urb *urb)
drivers/usb/class/cdc-acm.c
508
spin_lock_irqsave(&acm->read_lock, flags);
drivers/usb/class/cdc-acm.c
509
tty_insert_flip_string(&acm->port, urb->transfer_buffer,
drivers/usb/class/cdc-acm.c
511
spin_unlock_irqrestore(&acm->read_lock, flags);
drivers/usb/class/cdc-acm.c
513
tty_flip_buffer_push(&acm->port);
drivers/usb/class/cdc-acm.c
519
struct acm *acm = rb->instance;
drivers/usb/class/cdc-acm.c
525
dev_vdbg(&acm->data->dev, "got urb %d, len %d, status %d\n",
drivers/usb/class/cdc-acm.c
530
usb_mark_last_busy(acm->dev);
drivers/usb/class/cdc-acm.c
531
acm_process_read_urb(acm, urb);
drivers/usb/class/cdc-acm.c
534
set_bit(EVENT_RX_STALL, &acm->flags);
drivers/usb/class/cdc-acm.c
540
dev_dbg(&acm->data->dev,
drivers/usb/class/cdc-acm.c
547
dev_dbg(&acm->data->dev,
drivers/usb/class/cdc-acm.c
549
usb_mark_last_busy(acm->dev);
drivers/usb/class/cdc-acm.c
550
set_bit(rb->index, &acm->urbs_in_error_delay);
drivers/usb/class/cdc-acm.c
551
set_bit(ACM_ERROR_DELAY, &acm->flags);
drivers/usb/class/cdc-acm.c
555
dev_dbg(&acm->data->dev,
drivers/usb/class/cdc-acm.c
567
set_bit(rb->index, &acm->read_urbs_free);
drivers/usb/class/cdc-acm.c
577
schedule_delayed_work(&acm->dwork, 0);
drivers/usb/class/cdc-acm.c
579
schedule_delayed_work(&acm->dwork, HZ / 2);
drivers/usb/class/cdc-acm.c
583
if (test_bit(ACM_THROTTLED, &acm->flags))
drivers/usb/class/cdc-acm.c
586
acm_submit_read_urb(acm, rb->index, GFP_ATOMIC);
drivers/usb/class/cdc-acm.c
593
struct acm *acm = wb->instance;
drivers/usb/class/cdc-acm.c
598
dev_vdbg(&acm->data->dev, "wrote len %d/%d, status %d\n",
drivers/usb/class/cdc-acm.c
603
spin_lock_irqsave(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
604
acm_write_done(acm, wb);
drivers/usb/class/cdc-acm.c
605
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
606
set_bit(EVENT_TTY_WAKEUP, &acm->flags);
drivers/usb/class/cdc-acm.c
607
schedule_delayed_work(&acm->dwork, 0);
drivers/usb/class/cdc-acm.c
613
struct acm *acm = container_of(work, struct acm, dwork.work);
drivers/usb/class/cdc-acm.c
615
if (test_bit(EVENT_RX_STALL, &acm->flags)) {
drivers/usb/class/cdc-acm.c
617
if (!acm->susp_count) {
drivers/usb/class/cdc-acm.c
618
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
619
usb_kill_urb(acm->read_urbs[i]);
drivers/usb/class/cdc-acm.c
620
usb_clear_halt(acm->dev, acm->in);
drivers/usb/class/cdc-acm.c
621
acm_submit_read_urbs(acm, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
622
clear_bit(EVENT_RX_STALL, &acm->flags);
drivers/usb/class/cdc-acm.c
626
if (test_and_clear_bit(ACM_ERROR_DELAY, &acm->flags)) {
drivers/usb/class/cdc-acm.c
627
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
628
if (test_and_clear_bit(i, &acm->urbs_in_error_delay))
drivers/usb/class/cdc-acm.c
629
acm_submit_read_urb(acm, i, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
632
if (test_and_clear_bit(EVENT_TTY_WAKEUP, &acm->flags))
drivers/usb/class/cdc-acm.c
633
tty_port_tty_wakeup(&acm->port);
drivers/usb/class/cdc-acm.c
642
struct acm *acm;
drivers/usb/class/cdc-acm.c
645
acm = acm_get_by_minor(tty->index);
drivers/usb/class/cdc-acm.c
646
if (!acm)
drivers/usb/class/cdc-acm.c
65
static struct acm *acm_get_by_minor(unsigned int minor)
drivers/usb/class/cdc-acm.c
657
if (acm->quirks & DISABLE_ECHO)
drivers/usb/class/cdc-acm.c
660
tty->driver_data = acm;
drivers/usb/class/cdc-acm.c
665
tty_port_put(&acm->port);
drivers/usb/class/cdc-acm.c
67
struct acm *acm;
drivers/usb/class/cdc-acm.c
671
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
673
return tty_port_open(&acm->port, tty, filp);
drivers/usb/class/cdc-acm.c
678
struct acm *acm = container_of(port, struct acm, port);
drivers/usb/class/cdc-acm.c
688
acm->ctrlout = val;
drivers/usb/class/cdc-acm.c
690
res = acm_set_control(acm, val);
drivers/usb/class/cdc-acm.c
691
if (res && (acm->ctrl_caps & USB_CDC_CAP_LINE))
drivers/usb/class/cdc-acm.c
693
dev_dbg(&acm->control->dev, "failed to set dtr/rts\n");
drivers/usb/class/cdc-acm.c
698
struct acm *acm = container_of(port, struct acm, port);
drivers/usb/class/cdc-acm.c
70
acm = idr_find(&acm_minors, minor);
drivers/usb/class/cdc-acm.c
702
mutex_lock(&acm->mutex);
drivers/usb/class/cdc-acm.c
703
if (acm->disconnected)
drivers/usb/class/cdc-acm.c
706
retval = usb_autopm_get_interface(acm->control);
drivers/usb/class/cdc-acm.c
71
if (acm) {
drivers/usb/class/cdc-acm.c
711
acm->control->needs_remote_wakeup = 1;
drivers/usb/class/cdc-acm.c
713
if (!(acm->quirks & ALWAYS_POLL_CTRL)) {
drivers/usb/class/cdc-acm.c
714
acm->ctrlurb->dev = acm->dev;
drivers/usb/class/cdc-acm.c
715
retval = usb_submit_urb(acm->ctrlurb, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
717
dev_err(&acm->control->dev,
drivers/usb/class/cdc-acm.c
72
mutex_lock(&acm->mutex);
drivers/usb/class/cdc-acm.c
728
clear_bit(ACM_THROTTLED, &acm->flags);
drivers/usb/class/cdc-acm.c
73
if (acm->disconnected) {
drivers/usb/class/cdc-acm.c
730
retval = acm_submit_read_urbs(acm, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
734
usb_autopm_put_interface(acm->control);
drivers/usb/class/cdc-acm.c
736
mutex_unlock(&acm->mutex);
drivers/usb/class/cdc-acm.c
74
mutex_unlock(&acm->mutex);
drivers/usb/class/cdc-acm.c
741
for (i = 0; i < acm->rx_buflimit; i++)
drivers/usb/class/cdc-acm.c
742
usb_kill_urb(acm->read_urbs[i]);
drivers/usb/class/cdc-acm.c
743
usb_kill_urb(acm->ctrlurb);
drivers/usb/class/cdc-acm.c
745
usb_autopm_put_interface(acm->control);
drivers/usb/class/cdc-acm.c
748
mutex_unlock(&acm->mutex);
drivers/usb/class/cdc-acm.c
75
acm = NULL;
drivers/usb/class/cdc-acm.c
755
struct acm *acm = container_of(port, struct acm, port);
drivers/usb/class/cdc-acm.c
757
if (acm->minor != ACM_MINOR_INVALID)
drivers/usb/class/cdc-acm.c
758
acm_release_minor(acm);
drivers/usb/class/cdc-acm.c
759
usb_put_intf(acm->control);
drivers/usb/class/cdc-acm.c
760
kfree(acm->country_codes);
drivers/usb/class/cdc-acm.c
761
kfree(acm);
drivers/usb/class/cdc-acm.c
766
struct acm *acm = container_of(port, struct acm, port);
drivers/usb/class/cdc-acm.c
77
tty_port_get(&acm->port);
drivers/usb/class/cdc-acm.c
774
acm_poison_urbs(acm);
drivers/usb/class/cdc-acm.c
775
spin_lock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
776
spin_unlock_irq(&acm->write_lock);
drivers/usb/class/cdc-acm.c
778
usb_autopm_get_interface_no_resume(acm->control);
drivers/usb/class/cdc-acm.c
779
acm->control->needs_remote_wakeup = 0;
drivers/usb/class/cdc-acm.c
78
mutex_unlock(&acm->mutex);
drivers/usb/class/cdc-acm.c
780
usb_autopm_put_interface(acm->control);
drivers/usb/class/cdc-acm.c
783
urb = usb_get_from_anchor(&acm->delayed);
drivers/usb/class/cdc-acm.c
788
usb_autopm_put_interface_async(acm->control);
drivers/usb/class/cdc-acm.c
791
acm_unpoison_urbs(acm);
drivers/usb/class/cdc-acm.c
793
if (acm->quirks & ALWAYS_POLL_CTRL) {
drivers/usb/class/cdc-acm.c
794
acm->ctrlurb->dev = acm->dev;
drivers/usb/class/cdc-acm.c
795
if (usb_submit_urb(acm->ctrlurb, GFP_KERNEL))
drivers/usb/class/cdc-acm.c
796
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
799
acm_set_control(acm, USB_CDC_CTRL_DTR | USB_CDC_CTRL_RTS);
drivers/usb/class/cdc-acm.c
800
if (acm_submit_read_urbs(acm, GFP_KERNEL))
drivers/usb/class/cdc-acm.c
801
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
808
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
810
tty_port_put(&acm->port);
drivers/usb/class/cdc-acm.c
815
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
817
tty_port_hangup(&acm->port);
drivers/usb/class/cdc-acm.c
82
return acm;
drivers/usb/class/cdc-acm.c
822
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
824
tty_port_close(&acm->port, tty, filp);
drivers/usb/class/cdc-acm.c
830
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
839
dev_vdbg(&acm->data->dev, "%zu bytes from tty layer\n", count);
drivers/usb/class/cdc-acm.c
841
spin_lock_irqsave(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
842
wbn = acm_wb_alloc(acm);
drivers/usb/class/cdc-acm.c
844
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
847
wb = &acm->wb[wbn];
drivers/usb/class/cdc-acm.c
849
if (!acm->dev) {
drivers/usb/class/cdc-acm.c
851
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
855
count = (count > acm->writesize) ? acm->writesize : count;
drivers/usb/class/cdc-acm.c
856
dev_vdbg(&acm->data->dev, "writing %zu bytes\n", count);
drivers/usb/class/cdc-acm.c
860
stat = usb_autopm_get_interface_async(acm->control);
drivers/usb/class/cdc-acm.c
863
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
867
if (acm->susp_count) {
drivers/usb/class/cdc-acm.c
868
usb_anchor_urb(wb->urb, &acm->delayed);
drivers/usb/class/cdc-acm.c
869
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
873
stat = acm_start_wb(acm, wb);
drivers/usb/class/cdc-acm.c
874
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
88
static int acm_alloc_minor(struct acm *acm)
drivers/usb/class/cdc-acm.c
883
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
888
return acm_wb_is_avail(acm) ? acm->writesize : 0;
drivers/usb/class/cdc-acm.c
893
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
897
spin_lock_irqsave(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
899
if (acm->wb[i].use)
drivers/usb/class/cdc-acm.c
900
usb_unlink_urb(acm->wb[i].urb);
drivers/usb/class/cdc-acm.c
901
spin_unlock_irqrestore(&acm->write_lock, flags);
drivers/usb/class/cdc-acm.c
906
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
911
if (acm->disconnected)
drivers/usb/class/cdc-acm.c
916
return (ACM_NW - acm_wb_is_avail(acm)) * acm->writesize;
drivers/usb/class/cdc-acm.c
921
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
923
set_bit(ACM_THROTTLED, &acm->flags);
drivers/usb/class/cdc-acm.c
928
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
93
minor = idr_alloc(&acm_minors, acm, 0, ACM_TTY_MINORS, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
930
clear_bit(ACM_THROTTLED, &acm->flags);
drivers/usb/class/cdc-acm.c
935
acm_submit_read_urbs(acm, GFP_KERNEL);
drivers/usb/class/cdc-acm.c
940
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
943
if (!(acm->ctrl_caps & USB_CDC_CAP_BRK))
drivers/usb/class/cdc-acm.c
946
retval = acm_send_break(acm, state ? 0xffff : 0);
drivers/usb/class/cdc-acm.c
948
dev_dbg(&acm->control->dev,
drivers/usb/class/cdc-acm.c
955
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
957
return (acm->ctrlout & USB_CDC_CTRL_DTR ? TIOCM_DTR : 0) |
drivers/usb/class/cdc-acm.c
958
(acm->ctrlout & USB_CDC_CTRL_RTS ? TIOCM_RTS : 0) |
drivers/usb/class/cdc-acm.c
959
(acm->ctrlin & USB_CDC_SERIAL_STATE_DSR ? TIOCM_DSR : 0) |
drivers/usb/class/cdc-acm.c
960
(acm->ctrlin & USB_CDC_SERIAL_STATE_RING_SIGNAL ? TIOCM_RI : 0) |
drivers/usb/class/cdc-acm.c
961
(acm->ctrlin & USB_CDC_SERIAL_STATE_DCD ? TIOCM_CD : 0) |
drivers/usb/class/cdc-acm.c
968
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
971
newctrl = acm->ctrlout;
drivers/usb/class/cdc-acm.c
979
if (acm->ctrlout == newctrl)
drivers/usb/class/cdc-acm.c
981
return acm_set_control(acm, acm->ctrlout = newctrl);
drivers/usb/class/cdc-acm.c
986
struct acm *acm = tty->driver_data;
drivers/usb/class/cdc-acm.c
988
ss->line = acm->minor;
drivers/usb/class/cdc-acm.c
989
mutex_lock(&acm->port.mutex);
drivers/usb/class/cdc-acm.c
990
ss->close_delay = jiffies_to_msecs(acm->port.close_delay) / 10;
drivers/usb/class/cdc-acm.c
991
ss->closing_wait = acm->port.closing_wait == ASYNC_CLOSING_WAIT_NONE ?
drivers/usb/class/cdc-acm.c
993
jiffies_to_msecs(acm->port.closing_wait) / 10;
drivers/usb/class/cdc-acm.c
994
mutex_unlock(&acm->port.mutex);
drivers/usb/class/cdc-acm.h
45
struct acm *instance;
drivers/usb/class/cdc-acm.h
54
struct acm *instance;
drivers/usb/gadget/function/f_acm.c
302
struct f_acm *acm = ep->driver_data;
drivers/usb/gadget/function/f_acm.c
303
struct usb_composite_dev *cdev = acm->port.func.config->cdev;
drivers/usb/gadget/function/f_acm.c
307
acm->port_num, req->status);
drivers/usb/gadget/function/f_acm.c
312
if (req->actual != sizeof(acm->port_line_coding)) {
drivers/usb/gadget/function/f_acm.c
314
acm->port_num, req->actual);
drivers/usb/gadget/function/f_acm.c
326
acm->port_line_coding = *value;
drivers/usb/gadget/function/f_acm.c
334
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
356
|| w_index != acm->ctrl_id)
drivers/usb/gadget/function/f_acm.c
360
cdev->gadget->ep0->driver_data = acm;
drivers/usb/gadget/function/f_acm.c
367
if (w_index != acm->ctrl_id)
drivers/usb/gadget/function/f_acm.c
372
memcpy(req->buf, &acm->port_line_coding, value);
drivers/usb/gadget/function/f_acm.c
378
if (w_index != acm->ctrl_id)
drivers/usb/gadget/function/f_acm.c
387
acm->port_handshake_bits = w_value;
drivers/usb/gadget/function/f_acm.c
392
if (w_index != acm->ctrl_id)
drivers/usb/gadget/function/f_acm.c
395
acm_send_break(&acm->port, w_value);
drivers/usb/gadget/function/f_acm.c
410
acm->port_num, ctrl->bRequestType, ctrl->bRequest,
drivers/usb/gadget/function/f_acm.c
417
acm->port_num, value);
drivers/usb/gadget/function/f_acm.c
426
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
431
if (intf == acm->ctrl_id) {
drivers/usb/gadget/function/f_acm.c
432
if (acm->notify->enabled) {
drivers/usb/gadget/function/f_acm.c
435
usb_ep_disable(acm->notify);
drivers/usb/gadget/function/f_acm.c
438
if (!acm->notify->desc)
drivers/usb/gadget/function/f_acm.c
439
if (config_ep_by_speed(cdev->gadget, f, acm->notify))
drivers/usb/gadget/function/f_acm.c
442
usb_ep_enable(acm->notify);
drivers/usb/gadget/function/f_acm.c
444
} else if (intf == acm->data_id) {
drivers/usb/gadget/function/f_acm.c
445
if (acm->notify->enabled) {
drivers/usb/gadget/function/f_acm.c
447
"reset acm ttyGS%d\n", acm->port_num);
drivers/usb/gadget/function/f_acm.c
448
gserial_disconnect(&acm->port);
drivers/usb/gadget/function/f_acm.c
450
if (!acm->port.in->desc || !acm->port.out->desc) {
drivers/usb/gadget/function/f_acm.c
452
"activate acm ttyGS%d\n", acm->port_num);
drivers/usb/gadget/function/f_acm.c
454
acm->port.in) ||
drivers/usb/gadget/function/f_acm.c
456
acm->port.out)) {
drivers/usb/gadget/function/f_acm.c
457
acm->port.in->desc = NULL;
drivers/usb/gadget/function/f_acm.c
458
acm->port.out->desc = NULL;
drivers/usb/gadget/function/f_acm.c
462
gserial_connect(&acm->port, acm->port_num);
drivers/usb/gadget/function/f_acm.c
472
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
475
dev_dbg(&cdev->gadget->dev, "acm ttyGS%d deactivated\n", acm->port_num);
drivers/usb/gadget/function/f_acm.c
476
gserial_disconnect(&acm->port);
drivers/usb/gadget/function/f_acm.c
477
usb_ep_disable(acm->notify);
drivers/usb/gadget/function/f_acm.c
496
static int acm_cdc_notify(struct f_acm *acm, u8 type, u16 value,
drivers/usb/gadget/function/f_acm.c
499
struct usb_ep *ep = acm->notify;
drivers/usb/gadget/function/f_acm.c
506
req = acm->notify_req;
drivers/usb/gadget/function/f_acm.c
507
acm->notify_req = NULL;
drivers/usb/gadget/function/f_acm.c
508
acm->pending = false;
drivers/usb/gadget/function/f_acm.c
518
notify->wIndex = cpu_to_le16(acm->ctrl_id);
drivers/usb/gadget/function/f_acm.c
523
spin_unlock(&acm->lock);
drivers/usb/gadget/function/f_acm.c
525
spin_lock(&acm->lock);
drivers/usb/gadget/function/f_acm.c
528
ERROR(acm->port.func.config->cdev,
drivers/usb/gadget/function/f_acm.c
530
acm->port_num, status);
drivers/usb/gadget/function/f_acm.c
531
acm->notify_req = req;
drivers/usb/gadget/function/f_acm.c
537
static int acm_notify_serial_state(struct f_acm *acm)
drivers/usb/gadget/function/f_acm.c
539
struct usb_composite_dev *cdev = acm->port.func.config->cdev;
drivers/usb/gadget/function/f_acm.c
543
spin_lock(&acm->lock);
drivers/usb/gadget/function/f_acm.c
544
if (acm->notify_req) {
drivers/usb/gadget/function/f_acm.c
546
acm->port_num, acm->serial_state);
drivers/usb/gadget/function/f_acm.c
547
serial_state = cpu_to_le16(acm->serial_state);
drivers/usb/gadget/function/f_acm.c
548
status = acm_cdc_notify(acm, USB_CDC_NOTIFY_SERIAL_STATE,
drivers/usb/gadget/function/f_acm.c
549
0, &serial_state, sizeof(acm->serial_state));
drivers/usb/gadget/function/f_acm.c
551
acm->pending = true;
drivers/usb/gadget/function/f_acm.c
554
spin_unlock(&acm->lock);
drivers/usb/gadget/function/f_acm.c
560
struct f_acm *acm = req->context;
drivers/usb/gadget/function/f_acm.c
566
spin_lock(&acm->lock);
drivers/usb/gadget/function/f_acm.c
568
doit = acm->pending;
drivers/usb/gadget/function/f_acm.c
569
acm->notify_req = req;
drivers/usb/gadget/function/f_acm.c
570
spin_unlock(&acm->lock);
drivers/usb/gadget/function/f_acm.c
573
acm_notify_serial_state(acm);
drivers/usb/gadget/function/f_acm.c
580
struct f_acm *acm = port_to_acm(port);
drivers/usb/gadget/function/f_acm.c
582
acm->serial_state |= USB_CDC_SERIAL_STATE_DSR | USB_CDC_SERIAL_STATE_DCD;
drivers/usb/gadget/function/f_acm.c
583
acm_notify_serial_state(acm);
drivers/usb/gadget/function/f_acm.c
588
struct f_acm *acm = port_to_acm(port);
drivers/usb/gadget/function/f_acm.c
590
acm->serial_state &= ~(USB_CDC_SERIAL_STATE_DSR | USB_CDC_SERIAL_STATE_DCD);
drivers/usb/gadget/function/f_acm.c
591
acm_notify_serial_state(acm);
drivers/usb/gadget/function/f_acm.c
596
struct f_acm *acm = port_to_acm(port);
drivers/usb/gadget/function/f_acm.c
599
state = acm->serial_state;
drivers/usb/gadget/function/f_acm.c
604
acm->serial_state = state;
drivers/usb/gadget/function/f_acm.c
605
return acm_notify_serial_state(acm);
drivers/usb/gadget/function/f_acm.c
615
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
638
acm->ctrl_id = status;
drivers/usb/gadget/function/f_acm.c
647
acm->data_id = status;
drivers/usb/gadget/function/f_acm.c
657
acm->port.in = ep;
drivers/usb/gadget/function/f_acm.c
662
acm->port.out = ep;
drivers/usb/gadget/function/f_acm.c
667
acm->notify = ep;
drivers/usb/gadget/function/f_acm.c
669
acm_iad_descriptor.bFunctionProtocol = acm->bInterfaceProtocol;
drivers/usb/gadget/function/f_acm.c
670
acm_control_interface_desc.bInterfaceProtocol = acm->bInterfaceProtocol;
drivers/usb/gadget/function/f_acm.c
680
request->context = acm;
drivers/usb/gadget/function/f_acm.c
699
acm->notify_req = no_free_ptr(request);
drivers/usb/gadget/function/f_acm.c
703
acm->port_num,
drivers/usb/gadget/function/f_acm.c
704
acm->port.in->name, acm->port.out->name,
drivers/usb/gadget/function/f_acm.c
705
acm->notify->name);
drivers/usb/gadget/function/f_acm.c
711
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
715
if (acm->notify_req)
drivers/usb/gadget/function/f_acm.c
716
gs_free_req(acm->notify, acm->notify_req);
drivers/usb/gadget/function/f_acm.c
721
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
726
kfree(acm);
drivers/usb/gadget/function/f_acm.c
734
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
736
gserial_resume(&acm->port);
drivers/usb/gadget/function/f_acm.c
741
struct f_acm *acm = func_to_acm(f);
drivers/usb/gadget/function/f_acm.c
743
gserial_suspend(&acm->port);
drivers/usb/gadget/function/f_acm.c
749
struct f_acm *acm;
drivers/usb/gadget/function/f_acm.c
751
acm = kzalloc_obj(*acm);
drivers/usb/gadget/function/f_acm.c
752
if (!acm)
drivers/usb/gadget/function/f_acm.c
755
spin_lock_init(&acm->lock);
drivers/usb/gadget/function/f_acm.c
757
acm->port.connect = acm_connect;
drivers/usb/gadget/function/f_acm.c
758
acm->port.disconnect = acm_disconnect;
drivers/usb/gadget/function/f_acm.c
759
acm->port.send_break = acm_send_break;
drivers/usb/gadget/function/f_acm.c
761
acm->port.func.name = "acm";
drivers/usb/gadget/function/f_acm.c
762
acm->port.func.strings = acm_strings;
drivers/usb/gadget/function/f_acm.c
764
acm->port.func.bind = acm_bind;
drivers/usb/gadget/function/f_acm.c
765
acm->port.func.set_alt = acm_set_alt;
drivers/usb/gadget/function/f_acm.c
766
acm->port.func.setup = acm_setup;
drivers/usb/gadget/function/f_acm.c
767
acm->port.func.disable = acm_disable;
drivers/usb/gadget/function/f_acm.c
771
acm->port_num = opts->port_num;
drivers/usb/gadget/function/f_acm.c
772
acm->bInterfaceProtocol = opts->protocol;
drivers/usb/gadget/function/f_acm.c
775
acm->port.func.unbind = acm_unbind;
drivers/usb/gadget/function/f_acm.c
776
acm->port.func.free_func = acm_free_func;
drivers/usb/gadget/function/f_acm.c
777
acm->port.func.resume = acm_resume;
drivers/usb/gadget/function/f_acm.c
778
acm->port.func.suspend = acm_suspend;
drivers/usb/gadget/function/f_acm.c
780
return &acm->port.func;
drivers/usb/gadget/function/f_acm.c
900
DECLARE_USB_FUNCTION_INIT(acm, acm_alloc_instance, acm_alloc_func);
include/net/mac80211.h
196
bool acm;
net/mac80211/mlme.c
4107
ac, params[ac].acm,
net/mac80211/mlme.c
4169
int acm = (pos[0] >> 4) & 0x01;
net/mac80211/mlme.c
4175
if (acm)
net/mac80211/mlme.c
4185
if (acm)
net/mac80211/mlme.c
4195
if (acm)
net/mac80211/mlme.c
4206
if (acm)
net/mac80211/mlme.c
4227
params[ac].acm = acm;
net/mac80211/tdls.c
257
static u8 ieee80211_wmm_aci_aifsn(int aifsn, bool acm, int aci)
net/mac80211/tdls.c
262
if (acm)
net/mac80211/tdls.c
301
txq->acm, i);