82 static struct dev_ops nulldriver_dev_ops = {
83 DEVO_REV, /* devo_rev, */
84 0, /* refcnt */
85 nulldriver_getinfo, /* info */
86 nodev, /* identify */
87 nulldriver_probe, /* probe */
88 nulldriver_attach, /* attach */
89 nulldriver_detach, /* detach */
90 nodev, /* reset */
91 &nulldriver_cb_ops, /* driver operations */
92 (struct bus_ops *)0, /* bus operations */
93 NULL, /* power */
94 ddi_quiesce_not_needed, /* quiesce */
95 };
96
97 static struct modldrv modldrv = {
98 &mod_driverops, "nulldriver 1.1", &nulldriver_dev_ops
99 };
100
101 static struct modlinkage modlinkage = {
102 MODREV_1, &modldrv, NULL
103 };
104
105 int
106 _init(void)
107 {
108 return (mod_install(&modlinkage));
109 }
110
111 int
112 _fini(void)
113 {
114 return (mod_remove(&modlinkage));
115 }
116
117 int
118 _info(struct modinfo *modinfop)
119 {
120 return (mod_info(&modlinkage, modinfop));
121 }
122
|
82 static struct dev_ops nulldriver_dev_ops = {
83 DEVO_REV, /* devo_rev, */
84 0, /* refcnt */
85 nulldriver_getinfo, /* info */
86 nodev, /* identify */
87 nulldriver_probe, /* probe */
88 nulldriver_attach, /* attach */
89 nulldriver_detach, /* detach */
90 nodev, /* reset */
91 &nulldriver_cb_ops, /* driver operations */
92 (struct bus_ops *)0, /* bus operations */
93 NULL, /* power */
94 ddi_quiesce_not_needed, /* quiesce */
95 };
96
97 static struct modldrv modldrv = {
98 &mod_driverops, "nulldriver 1.1", &nulldriver_dev_ops
99 };
100
101 static struct modlinkage modlinkage = {
102 MODREV_1, { &modldrv, NULL }
103 };
104
105 int
106 _init(void)
107 {
108 return (mod_install(&modlinkage));
109 }
110
111 int
112 _fini(void)
113 {
114 return (mod_remove(&modlinkage));
115 }
116
117 int
118 _info(struct modinfo *modinfop)
119 {
120 return (mod_info(&modlinkage, modinfop));
121 }
122
|