368 * For mfthread only
369 */
370 extern pri_t minclsyspri;
371
372 #define DRV_NAME_4965 "iwk"
373
374 /*
375 * Module Loading Data & Entry Points
376 */
377 DDI_DEFINE_STREAM_OPS(iwk_devops, nulldev, nulldev, iwk_attach,
378 iwk_detach, nodev, NULL, D_MP, NULL, iwk_quiesce);
379
380 static struct modldrv iwk_modldrv = {
381 &mod_driverops,
382 "Intel(R) 4965AGN driver(N)",
383 &iwk_devops
384 };
385
386 static struct modlinkage iwk_modlinkage = {
387 MODREV_1,
388 &iwk_modldrv,
389 NULL
390 };
391
392 int
393 _init(void)
394 {
395 int status;
396
397 status = ddi_soft_state_init(&iwk_soft_state_p,
398 sizeof (iwk_sc_t), 1);
399 if (status != DDI_SUCCESS)
400 return (status);
401
402 mac_init_ops(&iwk_devops, DRV_NAME_4965);
403 status = mod_install(&iwk_modlinkage);
404 if (status != DDI_SUCCESS) {
405 mac_fini_ops(&iwk_devops);
406 ddi_soft_state_fini(&iwk_soft_state_p);
407 }
408
409 return (status);
|
368 * For mfthread only
369 */
370 extern pri_t minclsyspri;
371
372 #define DRV_NAME_4965 "iwk"
373
374 /*
375 * Module Loading Data & Entry Points
376 */
377 DDI_DEFINE_STREAM_OPS(iwk_devops, nulldev, nulldev, iwk_attach,
378 iwk_detach, nodev, NULL, D_MP, NULL, iwk_quiesce);
379
380 static struct modldrv iwk_modldrv = {
381 &mod_driverops,
382 "Intel(R) 4965AGN driver(N)",
383 &iwk_devops
384 };
385
386 static struct modlinkage iwk_modlinkage = {
387 MODREV_1,
388 { &iwk_modldrv, NULL }
389 };
390
391 int
392 _init(void)
393 {
394 int status;
395
396 status = ddi_soft_state_init(&iwk_soft_state_p,
397 sizeof (iwk_sc_t), 1);
398 if (status != DDI_SUCCESS)
399 return (status);
400
401 mac_init_ops(&iwk_devops, DRV_NAME_4965);
402 status = mod_install(&iwk_modlinkage);
403 if (status != DDI_SUCCESS) {
404 mac_fini_ops(&iwk_devops);
405 ddi_soft_state_fini(&iwk_soft_state_p);
406 }
407
408 return (status);
|