524 nulldev, /* devo_probe */
525 ecpp_attach, /* devo_attach */
526 ecpp_detach, /* devo_detach */
527 nodev, /* devo_reset */
528 &ecpp_cb_ops, /* devo_cb_ops */
529 (struct bus_ops *)NULL, /* devo_bus_ops */
530 nulldev, /* devo_power */
531 ddi_quiesce_not_needed, /* devo_quiesce */
532 };
533
534 extern struct mod_ops mod_driverops;
535
536 static struct modldrv ecppmodldrv = {
537 &mod_driverops, /* type of module - driver */
538 "parallel port driver",
539 &ecpp_ops,
540 };
541
542 static struct modlinkage ecppmodlinkage = {
543 MODREV_1,
544 &ecppmodldrv,
545 0
546 };
547
548
549 /*
550 *
551 * DDI/DKI entry points and supplementary routines
552 *
553 */
554
555
556 int
557 _init(void)
558 {
559 int error;
560
561 if ((error = mod_install(&ecppmodlinkage)) == 0) {
562 (void) ddi_soft_state_init(&ecppsoft_statep,
563 sizeof (struct ecppunit), 1);
564 }
565
|
524 nulldev, /* devo_probe */
525 ecpp_attach, /* devo_attach */
526 ecpp_detach, /* devo_detach */
527 nodev, /* devo_reset */
528 &ecpp_cb_ops, /* devo_cb_ops */
529 (struct bus_ops *)NULL, /* devo_bus_ops */
530 nulldev, /* devo_power */
531 ddi_quiesce_not_needed, /* devo_quiesce */
532 };
533
534 extern struct mod_ops mod_driverops;
535
536 static struct modldrv ecppmodldrv = {
537 &mod_driverops, /* type of module - driver */
538 "parallel port driver",
539 &ecpp_ops,
540 };
541
542 static struct modlinkage ecppmodlinkage = {
543 MODREV_1,
544 { &ecppmodldrv, NULL }
545 };
546
547
548 /*
549 *
550 * DDI/DKI entry points and supplementary routines
551 *
552 */
553
554
555 int
556 _init(void)
557 {
558 int error;
559
560 if ((error = mod_install(&ecppmodlinkage)) == 0) {
561 (void) ddi_soft_state_init(&ecppsoft_statep,
562 sizeof (struct ecppunit), 1);
563 }
564
|