usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1006
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1007
usb_mid->mi_children_dips[i] = cdip;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1008
usb_mid->mi_children_ifs[i] = 1;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1009
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1013
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1016
usb_mid->mi_removed_children = (bound_children ? B_FALSE : B_TRUE);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1023
if ((ugen_bound == 0) && (usb_mid->mi_ugen_hdl == NULL)) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1029
if ((usb_mid->mi_removed_children == B_FALSE) &&
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1032
usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1037
usb_mid_ugen_attach(usb_mid,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1038
usb_mid->mi_removed_children);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1051
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1053
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1056
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1062
return (ndi_event_retrieve_cookie(usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1074
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1077
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1081
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1085
ndi_event_cookie_to_name(usb_mid->mi_ndi_event_hdl, cookie));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1088
switch (ndi_event_cookie_to_tag(usb_mid->mi_ndi_event_hdl, cookie)) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1090
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1091
usb_mid->mi_child_events[ifno] |=
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1093
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1097
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1098
usb_mid->mi_child_events[ifno] |=
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1100
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1108
return (ndi_event_add_callback(usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1116
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1121
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1125
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1130
ndi_event_cookie_to_name(usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1134
return (ndi_event_remove_callback(usb_mid->mi_ndi_event_hdl, cb_id));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1144
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1146
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1150
USB_DPRINTF_L3(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1154
ndi_event_cookie_to_name(usb_mid->mi_ndi_event_hdl, cookie));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1157
return (ndi_event_run_callbacks(usb_mid->mi_ndi_event_hdl, rdip,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1167
usb_mid_restore_device_state(dev_info_t *dip, usb_mid_t *usb_mid)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1171
USB_DPRINTF_L4(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1172
"usb_mid_restore_device_state: usb_mid = %p", (void *)usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1174
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1175
midpm = usb_mid->mi_pm;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1176
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1182
if (usb_check_same_device(dip, usb_mid->mi_log_handle, USB_LOG_L0,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1186
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1187
usb_mid->mi_dev_state = USB_DEV_DISCONNECTED;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1188
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1199
(void) usb_handle_remote_wakeup(usb_mid->mi_dip,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1203
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1204
usb_mid->mi_dev_state = USB_DEV_ONLINE;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1205
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1222
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1226
USB_DPRINTF_L4(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1230
USB_DPRINTF_L4(DPRINT_MASK_EVENTS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1233
ndi_event_cookie_to_name(usb_mid->mi_ndi_event_hdl, cookie));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1237
usb_mid->mi_ndi_event_hdl, USBA_EVENT_TAG_HOT_REMOVAL);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1239
usb_mid->mi_ndi_event_hdl, USBA_EVENT_TAG_PRE_SUSPEND);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1241
usb_mid->mi_ndi_event_hdl, USBA_EVENT_TAG_HOT_INSERTION);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1243
usb_mid->mi_ndi_event_hdl, USBA_EVENT_TAG_POST_RESUME);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1245
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1248
if (usb_mid->mi_dev_state == USB_DEV_DISCONNECTED) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1250
usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1254
usb_mid->mi_dev_state = USB_DEV_DISCONNECTED;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1255
for (i = 0; i < usb_mid->mi_n_ifs; i++) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1256
usb_mid->mi_child_events[i] &= ~
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1259
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1263
usb_mid->mi_ndi_event_hdl, NULL,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1266
if (usb_mid->mi_ugen_hdl) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1268
usb_mid->mi_ugen_hdl);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1270
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1275
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1278
(void) ndi_event_run_callbacks(usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1281
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1282
for (i = 0; i < usb_mid->mi_n_ifs; i++) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1283
usb_mid->mi_child_events[i] &= ~
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1288
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1289
if (usb_mid_restore_device_state(dip, usb_mid) == USB_SUCCESS) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1295
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1296
for (i = 0; i < usb_mid->mi_n_ifs; i++) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1297
if ((usb_mid->mi_child_events[i] &
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1299
usb_mid->mi_children_ifs[i]) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1300
usb_mid->mi_child_events[i] &=
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1303
usb_mid->mi_children_dips[i];
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1304
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1308
usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1312
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1315
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1319
usb_mid->mi_ndi_event_hdl, NULL,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1322
if (usb_mid->mi_ugen_hdl) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1324
usb_mid->mi_ugen_hdl);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1327
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1334
for (i = 0; i < usb_mid->mi_n_ifs; i++) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1335
if ((usb_mid->mi_child_events[i] &
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1337
usb_mid->mi_children_ifs[i]) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1338
usb_mid->mi_child_events[i] &=
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1340
child_dip = usb_mid->mi_children_dips[i];
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1341
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1345
usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1348
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1351
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1354
(void) ndi_event_run_callbacks(usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1357
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1360
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1369
usb_mid_create_pm_components(dev_info_t *dip, usb_mid_t *usb_mid)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1374
USB_DPRINTF_L4(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1380
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1381
usb_mid->mi_pm = midpm;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1382
midpm->uc_usb_statep = usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1385
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1412
USB_DPRINTF_L3(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1424
USB_DPRINTF_L4(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1451
struct usb_mid *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1454
if ((usb_mid = ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1460
USB_DPRINTF_L4(DPRINT_MASK_CBOPS, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1462
(void *)usb_mid, *devp);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1465
(void) pm_busy_component(usb_mid->mi_dip, 0);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1466
(void) pm_raise_power(usb_mid->mi_dip, 0, USB_DEV_OS_FULL_PWR);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1469
rval = usb_ugen_open(usb_mid->mi_ugen_hdl, devp, flags, otyp,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1472
(void) pm_idle_component(usb_mid->mi_dip, 0);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1478
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1479
usb_mid->mi_ugen_open_count++;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1480
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1491
struct usb_mid *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1494
if ((usb_mid = ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1500
rval = usb_ugen_close(usb_mid->mi_ugen_hdl, dev, flag, otyp,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1503
(void) pm_idle_component(usb_mid->mi_dip, 0);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1504
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1505
usb_mid->mi_ugen_open_count--;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1506
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1516
struct usb_mid *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1518
if ((usb_mid = ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1524
return (usb_ugen_read(usb_mid->mi_ugen_hdl, dev, uio, credp));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1531
struct usb_mid *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1533
if ((usb_mid = ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1539
return (usb_ugen_write(usb_mid->mi_ugen_hdl, dev, uio, credp));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1547
struct usb_mid *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1549
if ((usb_mid = ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
1555
return (usb_ugen_poll(usb_mid->mi_ugen_hdl, dev, events,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
205
static void usb_mid_create_children(usb_mid_t *usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
206
static int usb_mid_cleanup(dev_info_t *dip, usb_mid_t *usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
237
rval = ddi_soft_state_init(&usb_mid_statep, sizeof (struct usb_mid),
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
280
usb_mid_t *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
287
if ((usb_mid = ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
289
*result = (void *)usb_mid->mi_dip;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
314
usb_mid_post_attach(usb_mid_t *usb_mid, uint8_t ifno, struct attachspec *as)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
316
USB_DPRINTF_L2(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
328
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
329
usb_mid->mi_attach_count++;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
330
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
336
usb_mid_post_detach(usb_mid_t *usb_mid, uint8_t ifno, struct detachspec *ds)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
338
USB_DPRINTF_L2(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
347
usba_get_usba_device(usb_mid->mi_dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
349
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
353
(--usb_mid->mi_attach_count == 0) && usba_device &&
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
354
(usb_mid->mi_ugen_open_count == 0)) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
357
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
376
usb_mid_t *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
380
usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
382
USB_DPRINTF_L2(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
394
USB_DPRINTF_L2(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
398
usb_mid_post_attach(usb_mid, usba_get_ifno(rdip),
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
410
USB_DPRINTF_L2(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
414
usb_mid_post_detach(usb_mid, usba_get_ifno(rdip),
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
437
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
439
USB_DPRINTF_L2(DPRINT_MASK_ALL, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
449
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
450
usb_mid_create_children(usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
451
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
464
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
470
USB_DPRINTF_L4(DPRINT_MASK_ALL, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
495
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
496
for (interface = 0; usb_mid->mi_children_dips &&
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
497
(interface < usb_mid->mi_n_ifs) &&
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
498
(usb_mid->mi_children_ifs[interface]); interface++) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
499
mdip = usb_mid->mi_children_dips[interface];
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
507
usb_mid->mi_children_dips[interface] = NULL;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
516
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
520
USB_DPRINTF_L4(DPRINT_MASK_ALL, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
532
usb_mid_t *usb_mid;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
536
usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
538
USB_DPRINTF_L4(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
540
(void *)usb_mid, level);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
542
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
543
midpm = usb_mid->mi_pm;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
547
USB_DPRINTF_L2(DPRINT_MASK_PM, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
551
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
557
&(usb_mid->mi_dev_state), level);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
559
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
572
usb_mid_t *usb_mid = NULL;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
581
usb_mid = (usb_mid_t *)ddi_get_soft_state(usb_mid_statep,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
583
(void) usb_mid_restore_device_state(dip, usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
585
if (usb_mid->mi_ugen_hdl) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
586
(void) usb_ugen_attach(usb_mid->mi_ugen_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
605
usb_mid = ddi_get_soft_state(usb_mid_statep, instance);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
606
if (usb_mid == NULL) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
612
usb_mid->mi_log_handle = usb_alloc_log_hdl(dip, "mid",
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
617
usb_mid->mi_usba_device = usba_get_usba_device(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
618
usb_mid->mi_dip = dip;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
619
usb_mid->mi_instance = instance;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
620
usb_mid->mi_n_ifs = usb_mid->mi_usba_device->usb_n_ifs;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
624
USB_DPRINTF_L2(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
628
if (usb_get_dev_data(dip, &usb_mid->mi_dev_data, USB_PARSE_LVL_NONE,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
630
USB_DPRINTF_L2(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
635
mutex_init(&usb_mid->mi_mutex, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
636
usb_mid->mi_dev_data->dev_iblock_cookie);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
638
usb_free_dev_data(dip, usb_mid->mi_dev_data);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
639
usb_mid->mi_dev_data = NULL;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
641
usb_mid->mi_init_state |= USB_MID_LOCK_INIT;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
646
USB_DPRINTF_L2(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
651
usb_mid->mi_init_state |= USB_MID_MINOR_NODE_CREATED;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
656
n_ifs = usb_mid->mi_n_ifs;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
657
usb_mid->mi_cd_list_length = size = (sizeof (dev_info_t *)) * n_ifs;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
659
usb_mid->mi_children_dips = kmem_zalloc(size, KM_SLEEP);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
660
usb_mid->mi_child_events = kmem_zalloc(sizeof (uint8_t) * n_ifs,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
662
usb_mid->mi_children_ifs = kmem_zalloc(sizeof (uint_t) * n_ifs,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
665
usb_mid->mi_children_ifs[i] = 1;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
672
(void) ndi_event_alloc_hdl(dip, 0, &usb_mid->mi_ndi_event_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
676
if (ndi_event_bind_set(usb_mid->mi_ndi_event_hdl, &usb_mid_ndi_events,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
678
USB_DPRINTF_L2(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
684
usb_mid->mi_dev_state = USB_DEV_ONLINE;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
690
usb_mid_create_pm_components(dip, usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
693
usba_common_register_events(usb_mid->mi_dip, 1, usb_mid_event_cb);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
695
usb_mid->mi_init_state |= USB_MID_EVENTS_REGISTERED;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
705
if (usb_mid) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
706
(void) usb_mid_cleanup(dip, usb_mid);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
717
usb_mid_t *usb_mid = usb_mid_obtain_state(dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
719
USB_DPRINTF_L4(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
725
return (usb_mid_cleanup(dip, usb_mid));
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
728
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
729
usb_mid->mi_dev_state = USB_DEV_SUSPENDED;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
730
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
732
if (usb_mid->mi_ugen_hdl) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
733
int rval = usb_ugen_detach(usb_mid->mi_ugen_hdl,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
757
usb_mid_cleanup(dev_info_t *dip, usb_mid_t *usb_mid)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
762
USB_DPRINTF_L4(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
765
if ((usb_mid->mi_init_state & USB_MID_LOCK_INIT) == 0) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
774
if (usb_mid->mi_ndi_event_hdl &&
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
775
(ndi_event_free_hdl(usb_mid->mi_ndi_event_hdl) != NDI_SUCCESS)) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
777
USB_DPRINTF_L2(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
791
if (usb_mid->mi_init_state & USB_MID_EVENTS_REGISTERED) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
792
usba_common_unregister_events(usb_mid->mi_dip, 1);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
795
midpm = usb_mid->mi_pm;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
797
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
799
if ((midpm) && (usb_mid->mi_dev_state != USB_DEV_DISCONNECTED)) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
801
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
814
usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
820
(void) pm_lower_power(usb_mid->mi_dip, 0, USB_DEV_OS_PWR_OFF);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
823
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
831
if (usb_mid->mi_children_dips) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
832
kmem_free(usb_mid->mi_children_dips,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
833
usb_mid->mi_cd_list_length);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
836
if (usb_mid->mi_child_events) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
837
kmem_free(usb_mid->mi_child_events, sizeof (uint8_t) *
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
838
usb_mid->mi_n_ifs);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
841
if (usb_mid->mi_children_ifs) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
842
kmem_free(usb_mid->mi_children_ifs, sizeof (uint_t) *
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
843
usb_mid->mi_n_ifs);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
846
if (usb_mid->mi_init_state & USB_MID_MINOR_NODE_CREATED) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
850
mutex_destroy(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
853
usb_client_detach(dip, usb_mid->mi_dev_data);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
855
if (usb_mid->mi_ugen_hdl) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
856
(void) usb_ugen_detach(usb_mid->mi_ugen_hdl, DDI_DETACH);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
857
usb_ugen_release_hdl(usb_mid->mi_ugen_hdl);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
860
usb_free_log_hdl(usb_mid->mi_log_handle);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
870
usb_mid_ugen_attach(usb_mid_t *usb_mid, boolean_t remove_children)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
874
if (usb_mid->mi_ugen_hdl == NULL) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
879
USB_DPRINTF_L4(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
891
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
892
hdl = usb_ugen_get_hdl(usb_mid->mi_dip,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
896
USB_DPRINTF_L4(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
900
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
902
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
903
usb_mid->mi_ugen_hdl = hdl;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
917
usb_mid_create_children(usb_mid_t *usb_mid)
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
926
usba_device = usba_get_usba_device(usb_mid->mi_dip);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
928
USB_DPRINTF_L4(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
932
if (usb_mid->mi_removed_children) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
937
n_ifs = usb_mid->mi_n_ifs;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
940
USB_DPRINTF_L4(DPRINT_MASK_ATTA, usb_mid->mi_log_handle,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
949
if (usb_mid->mi_children_ifs[i] == 0) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
954
if (usb_mid->mi_children_dips[i] != NULL) {
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
956
usb_mid->mi_children_dips[i]) >=
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
964
mutex_exit(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
965
ia_dip = usba_ready_interface_association_node(usb_mid->mi_dip,
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
981
mutex_enter(&usb_mid->mi_mutex);
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
982
usb_mid->mi_children_dips[i] = ia_dip;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
983
usb_mid->mi_children_ifs[i] = if_count;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
985
usb_mid->mi_children_ifs[j] = 0;
usr/src/uts/common/io/usb/usb_mid/usb_mid.c
991
cdip = usba_ready_interface_node(usb_mid->mi_dip, i);
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
100
usb_mid::mi_ndi_event_hdl
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
101
usb_mid::mi_dev_data
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
102
usb_mid::mi_log_handle
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
103
usb_mid::mi_ugen_hdl
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
104
usb_mid::mi_dip
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
105
usb_mid::mi_pm))
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
97
_NOTE(MUTEX_PROTECTS_DATA(usb_mid::mi_mutex, usb_mid))
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
98
_NOTE(MUTEX_PROTECTS_DATA(usb_mid::mi_mutex, usb_common_power_t))
usr/src/uts/common/sys/usb/usb_mid/usb_midvar.h
99
_NOTE(DATA_READABLE_WITHOUT_LOCK(usb_mid::mi_instance