265 bofi_attach,
266 bofi_detach,
267 nulldev, /* reset */
268 &bofi_cb_ops,
269 (struct bus_ops *)NULL,
270 nulldev, /* power */
271 ddi_quiesce_not_needed, /* quiesce */
272 };
273
274 /* module configuration stuff */
275 static void *statep;
276
277 static struct modldrv modldrv = {
278 &mod_driverops,
279 "bofi driver",
280 &bofi_ops
281 };
282
283 static struct modlinkage modlinkage = {
284 MODREV_1,
285 &modldrv,
286 0
287 };
288
289 static struct bus_ops save_bus_ops;
290
291 #if defined(__sparc)
292 static struct dvma_ops bofi_dvma_ops = {
293 DVMAO_REV,
294 bofi_dvma_kaddr_load,
295 bofi_dvma_unload,
296 bofi_dvma_sync
297 };
298 #endif
299
300 /*
301 * support routine - map user page into kernel virtual
302 */
303 static caddr_t
304 dmareq_mapin(offset_t len, caddr_t addr, struct as *as, int flag)
305 {
306 struct buf buf;
|
265 bofi_attach,
266 bofi_detach,
267 nulldev, /* reset */
268 &bofi_cb_ops,
269 (struct bus_ops *)NULL,
270 nulldev, /* power */
271 ddi_quiesce_not_needed, /* quiesce */
272 };
273
274 /* module configuration stuff */
275 static void *statep;
276
277 static struct modldrv modldrv = {
278 &mod_driverops,
279 "bofi driver",
280 &bofi_ops
281 };
282
283 static struct modlinkage modlinkage = {
284 MODREV_1,
285 { &modldrv, NULL }
286 };
287
288 static struct bus_ops save_bus_ops;
289
290 #if defined(__sparc)
291 static struct dvma_ops bofi_dvma_ops = {
292 DVMAO_REV,
293 bofi_dvma_kaddr_load,
294 bofi_dvma_unload,
295 bofi_dvma_sync
296 };
297 #endif
298
299 /*
300 * support routine - map user page into kernel virtual
301 */
302 static caddr_t
303 dmareq_mapin(offset_t len, caddr_t addr, struct as *as, int flag)
304 {
305 struct buf buf;
|