Lines Matching refs:mcd
7732 struct mt_config_data *mcd = (struct mt_config_data *)arg; in mt_config_thread() local
7733 struct mt_config_handle *hdl = mcd->mtc_hdl; in mt_config_thread()
7734 dev_info_t *dip = mcd->mtc_dip; in mt_config_thread()
7736 major_t major = mcd->mtc_major; in mt_config_thread()
7737 int flags = mcd->mtc_flags; in mt_config_thread()
7753 if (mcd->mtc_brn) { in mt_config_thread()
7757 mcd->mtc_brn->brn_child = brevq; in mt_config_thread()
7800 kmem_free(mcd, sizeof (*mcd)); in mt_config_thread()
7815 struct mt_config_data *mcd; in mt_config_children() local
7861 mcd = kmem_alloc(sizeof (*mcd), KM_SLEEP); in mt_config_children()
7862 mcd->mtc_dip = dip; in mt_config_children()
7863 mcd->mtc_hdl = hdl; in mt_config_children()
7864 mcd->mtc_brn = brn; in mt_config_children()
7872 mcd->mtc_major = DDI_MAJOR_T_NONE; in mt_config_children()
7874 mcd->mtc_major = major; in mt_config_children()
7881 mcd->mtc_flags = hdl->mtc_flags; in mt_config_children()
7882 if ((mcd->mtc_flags & NDI_DETACH_DRIVER) && in mt_config_children()
7885 mcd->mtc_flags |= NDI_AUTODETACH; in mt_config_children()
7895 mcd->mtc_next = NULL; in mt_config_children()
7897 mcd_head = mcd; in mt_config_children()
7899 mcd_tail->mtc_next = mcd; in mt_config_children()
7900 mcd_tail = mcd; in mt_config_children()
7907 for (mcd = mcd_head; mcd; mcd = mcd_head) { in mt_config_children()
7908 mcd_head = mcd->mtc_next; in mt_config_children()
7909 if (mtc_off || (mcd->mtc_flags & NDI_MTC_OFF)) in mt_config_children()
7910 mt_config_thread(mcd); in mt_config_children()
7912 (void) thread_create(NULL, 0, mt_config_thread, mcd, in mt_config_children()
7926 struct mt_config_data *mcd; in mt_config_driver() local
7955 mcd = kmem_alloc(sizeof (*mcd), KM_SLEEP); in mt_config_driver()
7956 mcd->mtc_dip = dip; in mt_config_driver()
7957 mcd->mtc_hdl = hdl; in mt_config_driver()
7958 mcd->mtc_major = major; in mt_config_driver()
7959 mcd->mtc_flags = hdl->mtc_flags; in mt_config_driver()
7969 mcd->mtc_next = NULL; in mt_config_driver()
7971 mcd_head = mcd; in mt_config_driver()
7973 mcd_tail->mtc_next = mcd; in mt_config_driver()
7974 mcd_tail = mcd; in mt_config_driver()
7981 for (mcd = mcd_head; mcd; mcd = mcd_head) { in mt_config_driver()
7982 mcd_head = mcd->mtc_next; in mt_config_driver()
7983 if (mtc_off || (mcd->mtc_flags & NDI_MTC_OFF)) in mt_config_driver()
7984 mt_config_thread(mcd); in mt_config_driver()
7986 (void) thread_create(NULL, 0, mt_config_thread, mcd, in mt_config_driver()