364 * For mfthread only
365 */
366 extern pri_t minclsyspri;
367
368 #define DRV_NAME_SP "iwp"
369
370 /*
371 * Module Loading Data & Entry Points
372 */
373 DDI_DEFINE_STREAM_OPS(iwp_devops, nulldev, nulldev, iwp_attach,
374 iwp_detach, nodev, NULL, D_MP, NULL, iwp_quiesce);
375
376 static struct modldrv iwp_modldrv = {
377 &mod_driverops,
378 "Intel(R) PumaPeak driver(N)",
379 &iwp_devops
380 };
381
382 static struct modlinkage iwp_modlinkage = {
383 MODREV_1,
384 &iwp_modldrv,
385 NULL
386 };
387
388 int
389 _init(void)
390 {
391 int status;
392
393 status = ddi_soft_state_init(&iwp_soft_state_p,
394 sizeof (iwp_sc_t), 1);
395 if (status != DDI_SUCCESS) {
396 return (status);
397 }
398
399 mac_init_ops(&iwp_devops, DRV_NAME_SP);
400 status = mod_install(&iwp_modlinkage);
401 if (status != DDI_SUCCESS) {
402 mac_fini_ops(&iwp_devops);
403 ddi_soft_state_fini(&iwp_soft_state_p);
404 }
405
|
364 * For mfthread only
365 */
366 extern pri_t minclsyspri;
367
368 #define DRV_NAME_SP "iwp"
369
370 /*
371 * Module Loading Data & Entry Points
372 */
373 DDI_DEFINE_STREAM_OPS(iwp_devops, nulldev, nulldev, iwp_attach,
374 iwp_detach, nodev, NULL, D_MP, NULL, iwp_quiesce);
375
376 static struct modldrv iwp_modldrv = {
377 &mod_driverops,
378 "Intel(R) PumaPeak driver(N)",
379 &iwp_devops
380 };
381
382 static struct modlinkage iwp_modlinkage = {
383 MODREV_1,
384 { &iwp_modldrv, NULL }
385 };
386
387 int
388 _init(void)
389 {
390 int status;
391
392 status = ddi_soft_state_init(&iwp_soft_state_p,
393 sizeof (iwp_sc_t), 1);
394 if (status != DDI_SUCCESS) {
395 return (status);
396 }
397
398 mac_init_ops(&iwp_devops, DRV_NAME_SP);
399 status = mod_install(&iwp_modlinkage);
400 if (status != DDI_SUCCESS) {
401 mac_fini_ops(&iwp_devops);
402 ddi_soft_state_fini(&iwp_soft_state_p);
403 }
404
|