245 struct dev_ops dump_ops = {
246 DEVO_REV, /* devo_rev, */
247 0, /* refcnt */
248 dump_info, /* info */
249 nulldev, /* identify */
250 nulldev, /* probe */
251 dump_attach, /* attach */
252 dump_detach, /* detach */
253 nodev, /* reset */
254 &dump_cb_ops, /* driver operations */
255 (struct bus_ops *)0, /* bus operations */
256 NULL, /* power */
257 ddi_quiesce_not_needed, /* quiesce */
258 };
259
260 static struct modldrv modldrv = {
261 &mod_driverops, "crash dump driver", &dump_ops,
262 };
263
264 static struct modlinkage modlinkage = {
265 MODREV_1, (void *)&modldrv, NULL
266 };
267
268 int
269 _init(void)
270 {
271 return (mod_install(&modlinkage));
272 }
273
274 int
275 _fini(void)
276 {
277 return (mod_remove(&modlinkage));
278 }
279
280 int
281 _info(struct modinfo *modinfop)
282 {
283 return (mod_info(&modlinkage, modinfop));
284 }
|
245 struct dev_ops dump_ops = {
246 DEVO_REV, /* devo_rev, */
247 0, /* refcnt */
248 dump_info, /* info */
249 nulldev, /* identify */
250 nulldev, /* probe */
251 dump_attach, /* attach */
252 dump_detach, /* detach */
253 nodev, /* reset */
254 &dump_cb_ops, /* driver operations */
255 (struct bus_ops *)0, /* bus operations */
256 NULL, /* power */
257 ddi_quiesce_not_needed, /* quiesce */
258 };
259
260 static struct modldrv modldrv = {
261 &mod_driverops, "crash dump driver", &dump_ops,
262 };
263
264 static struct modlinkage modlinkage = {
265 MODREV_1, { (void *)&modldrv, NULL }
266 };
267
268 int
269 _init(void)
270 {
271 return (mod_install(&modlinkage));
272 }
273
274 int
275 _fini(void)
276 {
277 return (mod_remove(&modlinkage));
278 }
279
280 int
281 _info(struct modinfo *modinfop)
282 {
283 return (mod_info(&modlinkage, modinfop));
284 }
|