402 * For mfthread only
403 */
404 extern pri_t minclsyspri;
405
406 #define DRV_NAME_SP "iwh"
407
408 /*
409 * Module Loading Data & Entry Points
410 */
411 DDI_DEFINE_STREAM_OPS(iwh_devops, nulldev, nulldev, iwh_attach,
412 iwh_detach, nodev, NULL, D_MP, NULL, iwh_quiesce);
413
414 static struct modldrv iwh_modldrv = {
415 &mod_driverops,
416 "Intel(R) ShirleyPeak/EchoPeak driver(N)",
417 &iwh_devops
418 };
419
420 static struct modlinkage iwh_modlinkage = {
421 MODREV_1,
422 &iwh_modldrv,
423 NULL
424 };
425
426 int
427 _init(void)
428 {
429 int status;
430
431 status = ddi_soft_state_init(&iwh_soft_state_p,
432 sizeof (iwh_sc_t), 1);
433 if (status != DDI_SUCCESS) {
434 return (status);
435 }
436
437 mac_init_ops(&iwh_devops, DRV_NAME_SP);
438 status = mod_install(&iwh_modlinkage);
439 if (status != DDI_SUCCESS) {
440 mac_fini_ops(&iwh_devops);
441 ddi_soft_state_fini(&iwh_soft_state_p);
442 }
443
|
402 * For mfthread only
403 */
404 extern pri_t minclsyspri;
405
406 #define DRV_NAME_SP "iwh"
407
408 /*
409 * Module Loading Data & Entry Points
410 */
411 DDI_DEFINE_STREAM_OPS(iwh_devops, nulldev, nulldev, iwh_attach,
412 iwh_detach, nodev, NULL, D_MP, NULL, iwh_quiesce);
413
414 static struct modldrv iwh_modldrv = {
415 &mod_driverops,
416 "Intel(R) ShirleyPeak/EchoPeak driver(N)",
417 &iwh_devops
418 };
419
420 static struct modlinkage iwh_modlinkage = {
421 MODREV_1,
422 { &iwh_modldrv, NULL }
423 };
424
425 int
426 _init(void)
427 {
428 int status;
429
430 status = ddi_soft_state_init(&iwh_soft_state_p,
431 sizeof (iwh_sc_t), 1);
432 if (status != DDI_SUCCESS) {
433 return (status);
434 }
435
436 mac_init_ops(&iwh_devops, DRV_NAME_SP);
437 status = mod_install(&iwh_modlinkage);
438 if (status != DDI_SUCCESS) {
439 mac_fini_ops(&iwh_devops);
440 ddi_soft_state_fini(&iwh_soft_state_p);
441 }
442
|