Lines Matching refs:hubd

85 #include <sys/usb/hubd/hubdvar.h>
86 #include <sys/usb/hubd/hubd_impl.h> /* for hubd_ioctl_data_t */
4441 hubd_t *hubd = NULL;
4456 /* allocate hubd structure */
4457 hubd = hwahcp->hwahc_hubd = kmem_zalloc(sizeof (hubd_t), KM_SLEEP);
4459 hubd->h_log_handle = usb_alloc_log_hdl(dip, "husb", &hubd_errlevel,
4461 hubd->h_usba_device = usba_get_usba_device(dip);
4462 hubd->h_usba_device->usb_is_wa = TRUE;
4463 hubd->h_dip = dip;
4464 hubd->h_instance = instance;
4465 hubd->h_ignore_pwr_budget = B_TRUE;
4466 hubd->h_cleanup_child = hwahc_cleanup_child;
4468 mutex_enter(&hubd->h_usba_device->usb_mutex);
4469 hubd->h_usba_device->usb_root_hubd = hubd;
4470 mutex_exit(&hubd->h_usba_device->usb_mutex);
4472 if (usb_get_dev_data(dip, &hubd->h_dev_data,
4474 USB_DPRINTF_L2(DPRINT_MASK_ATTA, hubd->h_log_handle,
4480 /* init hubd mutex */
4481 mutex_init(HUBD_MUTEX(hubd), NULL, MUTEX_DRIVER,
4482 hubd->h_dev_data->dev_iblock_cookie);
4484 usb_free_descr_tree(dip, hubd->h_dev_data);
4486 hubd->h_init_state |= HUBD_LOCKS_DONE;
4491 USB_DPRINTF_L2(DPRINT_MASK_ATTA, hubd->h_log_handle,
4497 mutex_enter(HUBD_MUTEX(hubd));
4498 hubd->h_init_state |= HUBD_HUBDI_REGISTERED;
4500 hubd->h_ancestry_str = (char *)kmem_zalloc(HUBD_APID_NAMELEN,
4502 hubd_get_ancestry_str(hubd);
4509 hubd->h_ancestry_str, i);
4516 USB_DPRINTF_L2(DPRINT_MASK_ATTA, hubd->h_log_handle,
4519 mutex_exit(HUBD_MUTEX(hubd));
4525 mutex_exit(HUBD_MUTEX(hubd));
4527 /* create hubd minor node */
4528 if (ddi_create_minor_node(dip, "hubd", S_IFCHR,
4531 USB_DPRINTF_L2(DPRINT_MASK_ATTA, hubd->h_log_handle,
4537 mutex_enter(HUBD_MUTEX(hubd));
4538 hubd->h_init_state |= HUBD_MINOR_NODE_CREATED;
4539 mutex_exit(HUBD_MUTEX(hubd));
4543 USB_DPRINTF_L2(DPRINT_MASK_ATTA, hubd->h_log_handle,
4562 hubd_t *hubd = hwahcp->hwahc_hubd;
4568 if ((hubd->h_init_state & HUBD_LOCKS_DONE) == 0) {
4572 if (hubd->h_init_state & HUBD_MINOR_NODE_CREATED) {
4577 if (hubd->h_init_state & HUBD_HUBDI_REGISTERED) {
4582 if (hubd->h_init_state & HUBD_LOCKS_DONE) {
4583 mutex_destroy(HUBD_MUTEX(hubd));
4586 if (hubd->h_ancestry_str) {
4587 kmem_free(hubd->h_ancestry_str, HUBD_APID_NAMELEN);
4591 if (hubd->h_dev_data) {
4593 usb_client_detach(dip, hubd->h_dev_data);
4596 usb_free_log_hdl(hubd->h_log_handle);
4597 kmem_free(hubd, sizeof (hubd_t));