return (0);
return (rv == 0 ? 0 : EINVAL);
grfunmap(dev, addr, p)	dev_t   dev;	caddr_t addr;	struct proc *p;{	struct grf_softc *gp;	vm_size_t size;	gp = grf_cd.cd_devs[GRFUNIT(dev)];#ifdef DEBUG	if (grfdebug & GDB_MMAP)		printf("grfunmap(%d): dev %x addr %p\n", p->p_pid, dev, addr);#endif	if (addr == 0)		return (EINVAL);/* XXX: how do we deal with this? */	size = round_page(gp->sc_grfmode->fbsize);	uvm_unmap(&p->p_vmspace->vm_map, (vm_offset_t)addr,	    (vm_offset_t)addr + size);	return (0);}