- register struct mapmem *mp, **mpp;
- int found, unit = minor(dev);
-
-#ifdef DEBUG
- if (grfdebug & GDB_MMAP)
- printf("grfunmmap(%d): id %d addr %x\n",
- u.u_procp->p_pid, unit, addr);
-#endif
- found = 0;
- mpp = &u.u_mmap;
- for (mp = *mpp; mp; mp = *mpp) {
- if (mp->mm_ops != &grfops || mp->mm_id != unit) {
- mpp = &mp->mm_next;
- continue;
- }
- if (addr &&
- (addr < mp->mm_uva || addr >= mp->mm_uva+mp->mm_size)) {
- mpp = &mp->mm_next;
- continue;
- }
- grfexit(mp);
- found++;
- }
- return(found ? 0 : EINVAL);
-}
-
-grfexit(mp)
- struct mapmem *mp;
-{
- struct grf_softc *gp = &grf_softc[GRFUNIT(mp->mm_id)];