503 inb_mc_getinfo, /* devo_getinfo */
504 nulldev, /* devo_identify */
505 nulldev, /* devo_probe */
506 inb_mc_attach, /* devo_attach */
507 inb_mc_detach, /* devo_detach */
508 nodev, /* devo_reset */
509 &inb_mc_cb_ops, /* devo_cb_ops */
510 NULL, /* devo_bus_ops */
511 NULL, /* devo_power */
512 ddi_quiesce_not_needed, /* devo_quiesce */
513 };
514
515 static struct modldrv modldrv = {
516 &mod_driverops,
517 "Intel 5000 Memory Controller Hub Module",
518 &inb_mc_ops
519 };
520
521 static struct modlinkage modlinkage = {
522 MODREV_1,
523 (void *)&modldrv,
524 NULL
525 };
526
527 int
528 _init(void)
529 {
530 int err;
531
532 err = nb_init();
533 if (err == 0 && (err = mod_install(&modlinkage)) == 0)
534 rw_init(&inb_mc_lock, NULL, RW_DRIVER, NULL);
535
536 return (err);
537 }
538
539 int
540 _info(struct modinfo *modinfop)
541 {
542 return (mod_info(&modlinkage, modinfop));
543 }
544
|
503 inb_mc_getinfo, /* devo_getinfo */
504 nulldev, /* devo_identify */
505 nulldev, /* devo_probe */
506 inb_mc_attach, /* devo_attach */
507 inb_mc_detach, /* devo_detach */
508 nodev, /* devo_reset */
509 &inb_mc_cb_ops, /* devo_cb_ops */
510 NULL, /* devo_bus_ops */
511 NULL, /* devo_power */
512 ddi_quiesce_not_needed, /* devo_quiesce */
513 };
514
515 static struct modldrv modldrv = {
516 &mod_driverops,
517 "Intel 5000 Memory Controller Hub Module",
518 &inb_mc_ops
519 };
520
521 static struct modlinkage modlinkage = {
522 MODREV_1,
523 { (void *)&modldrv, NULL }
524 };
525
526 int
527 _init(void)
528 {
529 int err;
530
531 err = nb_init();
532 if (err == 0 && (err = mod_install(&modlinkage)) == 0)
533 rw_init(&inb_mc_lock, NULL, RW_DRIVER, NULL);
534
535 return (err);
536 }
537
538 int
539 _info(struct modinfo *modinfop)
540 {
541 return (mod_info(&modlinkage, modinfop));
542 }
543
|