207 NULL, /* devo_getinfo */
208 nulldev, /* devo_identify */
209 nulldev, /* devo_probe */
210 usbecm_attach, /* devo_attach */
211 usbecm_detach, /* devo_detach */
212 nodev, /* devo_reset */
213 &(cb_usbecm), /* devo_cb_ops */
214 (struct bus_ops *)NULL, /* devo_bus_ops */
215 usbecm_power, /* devo_power */
216 ddi_quiesce_not_needed /* devo_quiesce */
217 };
218
219 static struct modldrv usbecm_modldrv = {
220 &mod_driverops, /* drv_modops */
221 usbecm_ident, /* drv_linkinfo */
222 &usbecm_devops /* drv_dev_ops */
223 };
224
225 static struct modlinkage usbecm_ml = {
226 MODREV_1, /* ml_rev */
227 &usbecm_modldrv, NULL /* ml_linkage */
228 };
229
230
231 /*
232 * Device operations
233 */
234 /*
235 * Binding the driver to a device.
236 *
237 * Concurrency: Until usbecm_attach() returns with success,
238 * the only other entry point that can be executed is getinfo().
239 * Thus no locking here yet.
240 */
241 static int
242 usbecm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
243 {
244 char strbuf[32];
245 int instance;
246 int err;
247 usbecm_state_t *ecmp = NULL;
|
207 NULL, /* devo_getinfo */
208 nulldev, /* devo_identify */
209 nulldev, /* devo_probe */
210 usbecm_attach, /* devo_attach */
211 usbecm_detach, /* devo_detach */
212 nodev, /* devo_reset */
213 &(cb_usbecm), /* devo_cb_ops */
214 (struct bus_ops *)NULL, /* devo_bus_ops */
215 usbecm_power, /* devo_power */
216 ddi_quiesce_not_needed /* devo_quiesce */
217 };
218
219 static struct modldrv usbecm_modldrv = {
220 &mod_driverops, /* drv_modops */
221 usbecm_ident, /* drv_linkinfo */
222 &usbecm_devops /* drv_dev_ops */
223 };
224
225 static struct modlinkage usbecm_ml = {
226 MODREV_1, /* ml_rev */
227 { &usbecm_modldrv, NULL } /* ml_linkage */
228 };
229
230
231 /*
232 * Device operations
233 */
234 /*
235 * Binding the driver to a device.
236 *
237 * Concurrency: Until usbecm_attach() returns with success,
238 * the only other entry point that can be executed is getinfo().
239 * Thus no locking here yet.
240 */
241 static int
242 usbecm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
243 {
244 char strbuf[32];
245 int instance;
246 int err;
247 usbecm_state_t *ecmp = NULL;
|