748 static struct dev_ops kstat_ops = {
749 DEVO_REV, /* devo_rev, */
750 0, /* refcnt */
751 kstat_info, /* get_dev_info */
752 nulldev, /* identify */
753 nulldev, /* probe */
754 kstat_attach, /* attach */
755 kstat_detach, /* detach */
756 nodev, /* reset */
757 &kstat_cb_ops, /* driver operations */
758 (struct bus_ops *)0, /* no bus operations */
759 NULL, /* power */
760 ddi_quiesce_not_needed, /* quiesce */
761 };
762
763 static struct modldrv modldrv = {
764 &mod_driverops, "kernel statistics driver", &kstat_ops,
765 };
766
767 static struct modlinkage modlinkage = {
768 MODREV_1, &modldrv, NULL
769 };
770
771 int
772 _init(void)
773 {
774 return (mod_install(&modlinkage));
775 }
776
777 int
778 _fini(void)
779 {
780 return (mod_remove(&modlinkage));
781 }
782
783 int
784 _info(struct modinfo *modinfop)
785 {
786 return (mod_info(&modlinkage, modinfop));
787 }
|
748 static struct dev_ops kstat_ops = {
749 DEVO_REV, /* devo_rev, */
750 0, /* refcnt */
751 kstat_info, /* get_dev_info */
752 nulldev, /* identify */
753 nulldev, /* probe */
754 kstat_attach, /* attach */
755 kstat_detach, /* detach */
756 nodev, /* reset */
757 &kstat_cb_ops, /* driver operations */
758 (struct bus_ops *)0, /* no bus operations */
759 NULL, /* power */
760 ddi_quiesce_not_needed, /* quiesce */
761 };
762
763 static struct modldrv modldrv = {
764 &mod_driverops, "kernel statistics driver", &kstat_ops,
765 };
766
767 static struct modlinkage modlinkage = {
768 MODREV_1, { &modldrv, NULL }
769 };
770
771 int
772 _init(void)
773 {
774 return (mod_install(&modlinkage));
775 }
776
777 int
778 _fini(void)
779 {
780 return (mod_remove(&modlinkage));
781 }
782
783 int
784 _info(struct modinfo *modinfop)
785 {
786 return (mod_info(&modlinkage, modinfop));
787 }
|