297 acpi_drv_getinfo, /* getinfo */
298 nulldev, /* identify */
299 nulldev, /* probe */
300 acpi_drv_attach, /* attach */
301 acpi_drv_detach, /* detach */
302 nodev, /* reset */
303 &acpi_drv_cb_ops,
304 NULL, /* no bus operations */
305 NULL, /* power */
306 ddi_quiesce_not_needed, /* quiesce */
307 };
308
309 static struct modldrv modldrv1 = {
310 &mod_driverops,
311 ACPI_DRV_MOD_STRING,
312 &acpi_drv_dev_ops
313 };
314
315 static struct modlinkage modlinkage = {
316 MODREV_1,
317 (void *)&modldrv1,
318 NULL,
319 };
320
321 int
322 _init(void)
323 {
324 int ret;
325
326 mutex_init(&acpi_drv_mutex, NULL, MUTEX_DRIVER, NULL);
327 #ifdef DEBUG
328 mutex_init(&acpi_drv_prt_mutex, NULL, MUTEX_DRIVER, NULL);
329 #endif
330
331 if ((ret = mod_install(&modlinkage)) != 0) {
332 mutex_destroy(&acpi_drv_mutex);
333 #ifdef DEBUG
334 mutex_destroy(&acpi_drv_prt_mutex);
335 #endif
336 }
337 return (ret);
338 }
|
297 acpi_drv_getinfo, /* getinfo */
298 nulldev, /* identify */
299 nulldev, /* probe */
300 acpi_drv_attach, /* attach */
301 acpi_drv_detach, /* detach */
302 nodev, /* reset */
303 &acpi_drv_cb_ops,
304 NULL, /* no bus operations */
305 NULL, /* power */
306 ddi_quiesce_not_needed, /* quiesce */
307 };
308
309 static struct modldrv modldrv1 = {
310 &mod_driverops,
311 ACPI_DRV_MOD_STRING,
312 &acpi_drv_dev_ops
313 };
314
315 static struct modlinkage modlinkage = {
316 MODREV_1,
317 { (void *)&modldrv1, NULL }
318 };
319
320 int
321 _init(void)
322 {
323 int ret;
324
325 mutex_init(&acpi_drv_mutex, NULL, MUTEX_DRIVER, NULL);
326 #ifdef DEBUG
327 mutex_init(&acpi_drv_prt_mutex, NULL, MUTEX_DRIVER, NULL);
328 #endif
329
330 if ((ret = mod_install(&modlinkage)) != 0) {
331 mutex_destroy(&acpi_drv_mutex);
332 #ifdef DEBUG
333 mutex_destroy(&acpi_drv_prt_mutex);
334 #endif
335 }
336 return (ret);
337 }
|