163 0, /* refcnt */
164 usb_ia_info, /* info */
165 nulldev, /* identify */
166 nulldev, /* probe */
167 usb_ia_attach, /* attach */
168 usb_ia_detach, /* detach */
169 nodev, /* reset */
170 &usb_ia_cb_ops, /* driver operations */
171 &usb_ia_busops, /* bus operations */
172 usb_ia_power, /* power */
173 ddi_quiesce_not_needed, /* devo_quiesce */
174 };
175
176 static struct modldrv modldrv = {
177 &mod_driverops, /* Type of module. This one is a driver */
178 "USB Interface Association Driver", /* Name of the module. */
179 &usb_ia_ops, /* driver ops */
180 };
181
182 static struct modlinkage modlinkage = {
183 MODREV_1, (void *)&modldrv, NULL
184 };
185
186 #define USB_IA_INITIAL_SOFT_SPACE 4
187 static void *usb_ia_statep;
188
189 /*
190 * event definition
191 */
192 static ndi_event_definition_t usb_ia_ndi_event_defs[] = {
193 {USBA_EVENT_TAG_HOT_REMOVAL, DDI_DEVI_REMOVE_EVENT, EPL_KERNEL,
194 NDI_EVENT_POST_TO_ALL},
195 {USBA_EVENT_TAG_HOT_INSERTION, DDI_DEVI_INSERT_EVENT, EPL_KERNEL,
196 NDI_EVENT_POST_TO_ALL},
197 {USBA_EVENT_TAG_POST_RESUME, USBA_POST_RESUME_EVENT, EPL_KERNEL,
198 NDI_EVENT_POST_TO_ALL},
199 {USBA_EVENT_TAG_PRE_SUSPEND, USBA_PRE_SUSPEND_EVENT, EPL_KERNEL,
200 NDI_EVENT_POST_TO_ALL}
201 };
202
203 #define USB_IA_N_NDI_EVENTS \
|
163 0, /* refcnt */
164 usb_ia_info, /* info */
165 nulldev, /* identify */
166 nulldev, /* probe */
167 usb_ia_attach, /* attach */
168 usb_ia_detach, /* detach */
169 nodev, /* reset */
170 &usb_ia_cb_ops, /* driver operations */
171 &usb_ia_busops, /* bus operations */
172 usb_ia_power, /* power */
173 ddi_quiesce_not_needed, /* devo_quiesce */
174 };
175
176 static struct modldrv modldrv = {
177 &mod_driverops, /* Type of module. This one is a driver */
178 "USB Interface Association Driver", /* Name of the module. */
179 &usb_ia_ops, /* driver ops */
180 };
181
182 static struct modlinkage modlinkage = {
183 MODREV_1, { (void *)&modldrv, NULL }
184 };
185
186 #define USB_IA_INITIAL_SOFT_SPACE 4
187 static void *usb_ia_statep;
188
189 /*
190 * event definition
191 */
192 static ndi_event_definition_t usb_ia_ndi_event_defs[] = {
193 {USBA_EVENT_TAG_HOT_REMOVAL, DDI_DEVI_REMOVE_EVENT, EPL_KERNEL,
194 NDI_EVENT_POST_TO_ALL},
195 {USBA_EVENT_TAG_HOT_INSERTION, DDI_DEVI_INSERT_EVENT, EPL_KERNEL,
196 NDI_EVENT_POST_TO_ALL},
197 {USBA_EVENT_TAG_POST_RESUME, USBA_POST_RESUME_EVENT, EPL_KERNEL,
198 NDI_EVENT_POST_TO_ALL},
199 {USBA_EVENT_TAG_PRE_SUSPEND, USBA_PRE_SUSPEND_EVENT, EPL_KERNEL,
200 NDI_EVENT_POST_TO_ALL}
201 };
202
203 #define USB_IA_N_NDI_EVENTS \
|