124 static struct dev_ops ops = {
125 DEVO_REV, /* devo_rev */
126 0, /* devo_refcnt */
127 nulldev, /* devo_getinfo */
128 nulldev, /* devo_identify */
129 nulldev, /* devo_probe */
130 xnbe_attach, /* devo_attach */
131 xnbe_detach, /* devo_detach */
132 nodev, /* devo_reset */
133 &cb_ops, /* devo_cb_ops */
134 (struct bus_ops *)0, /* devo_bus_ops */
135 NULL, /* devo_power */
136 ddi_quiesce_not_needed, /* devo_quiesce */
137 };
138
139 static struct modldrv modldrv = {
140 &mod_driverops, "xnbe driver", &ops,
141 };
142
143 static struct modlinkage modlinkage = {
144 MODREV_1, &modldrv, NULL
145 };
146
147 int
148 _init(void)
149 {
150 return (mod_install(&modlinkage));
151 }
152
153 int
154 _info(struct modinfo *modinfop)
155 {
156 return (mod_info(&modlinkage, modinfop));
157 }
158
159 int
160 _fini(void)
161 {
162 return (mod_remove(&modlinkage));
163 }
|
124 static struct dev_ops ops = {
125 DEVO_REV, /* devo_rev */
126 0, /* devo_refcnt */
127 nulldev, /* devo_getinfo */
128 nulldev, /* devo_identify */
129 nulldev, /* devo_probe */
130 xnbe_attach, /* devo_attach */
131 xnbe_detach, /* devo_detach */
132 nodev, /* devo_reset */
133 &cb_ops, /* devo_cb_ops */
134 (struct bus_ops *)0, /* devo_bus_ops */
135 NULL, /* devo_power */
136 ddi_quiesce_not_needed, /* devo_quiesce */
137 };
138
139 static struct modldrv modldrv = {
140 &mod_driverops, "xnbe driver", &ops,
141 };
142
143 static struct modlinkage modlinkage = {
144 MODREV_1, { &modldrv, NULL }
145 };
146
147 int
148 _init(void)
149 {
150 return (mod_install(&modlinkage));
151 }
152
153 int
154 _info(struct modinfo *modinfop)
155 {
156 return (mod_info(&modlinkage, modinfop));
157 }
158
159 int
160 _fini(void)
161 {
162 return (mod_remove(&modlinkage));
163 }
|