220 kdrv_getinfo, /* devo_getinfo */
221 nulldev, /* devo_identify */
222 nulldev, /* devo_probe */
223 kdrv_attach, /* devo_attach */
224 kdrv_detach, /* devo_detach */
225 nodev, /* devo_reset */
226 &kdrv_cb_ops, /* devo_cb_ops */
227 (struct bus_ops *)0, /* devo_bus_ops */
228 NULL, /* devo_power */
229 ddi_quiesce_not_needed, /* devo_quiesce */
230 };
231
232 static struct modldrv modldrv = {
233 &mod_driverops,
234 "kmdb driver",
235 &kdrv_ops
236 };
237
238 static struct modlinkage modlinkage = {
239 MODREV_1,
240 (void *)&modldrv,
241 NULL
242 };
243
244 int
245 _init(void)
246 {
247 return (mod_install(&modlinkage));
248 }
249
250 int
251 _info(struct modinfo *modinfop)
252 {
253 return (mod_info(&modlinkage, modinfop));
254 }
255
256 int
257 _fini(void)
258 {
259 return (mod_remove(&modlinkage));
260 }
|
220 kdrv_getinfo, /* devo_getinfo */
221 nulldev, /* devo_identify */
222 nulldev, /* devo_probe */
223 kdrv_attach, /* devo_attach */
224 kdrv_detach, /* devo_detach */
225 nodev, /* devo_reset */
226 &kdrv_cb_ops, /* devo_cb_ops */
227 (struct bus_ops *)0, /* devo_bus_ops */
228 NULL, /* devo_power */
229 ddi_quiesce_not_needed, /* devo_quiesce */
230 };
231
232 static struct modldrv modldrv = {
233 &mod_driverops,
234 "kmdb driver",
235 &kdrv_ops
236 };
237
238 static struct modlinkage modlinkage = {
239 MODREV_1,
240 { (void *)&modldrv, NULL }
241 };
242
243 int
244 _init(void)
245 {
246 return (mod_install(&modlinkage));
247 }
248
249 int
250 _info(struct modinfo *modinfop)
251 {
252 return (mod_info(&modlinkage, modinfop));
253 }
254
255 int
256 _fini(void)
257 {
258 return (mod_remove(&modlinkage));
259 }
|