* Copyright (c) 1992 The Regents of the University of California.
* This software was developed by the Computer Systems Engineering group
* at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
* contributed to Berkeley.
* All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Lawrence Berkeley Laboratories.
* %sccs.include.redist.c%
* @(#)fb.c 7.3 (Berkeley) %G%
* from: $Header: fb.c,v 1.6 92/06/17 05:35:46 torek Exp $
* /dev/fb (indirect frame buffer driver). This is gross; we should
* just build cdevsw[] dynamically.
#include <machine/fbvar.h>
static struct fbdevice
*devfb
;
(*devfb
->fb_driver
->fbd_unblank
)(devfb
->fb_device
);
if (devfb
) panic("multiple /dev/fb declarers");
fbopen(dev
, flags
, mode
, p
)
return (cdevsw
[devfb
->fb_major
].d_open(dev
, flags
, mode
, p
));
fbclose(dev
, flags
, mode
, p
)
return (cdevsw
[devfb
->fb_major
].d_close(dev
, flags
, mode
, p
));
fbioctl(dev
, cmd
, data
, flags
, p
)
return (cdevsw
[devfb
->fb_major
].d_ioctl(dev
, cmd
, data
, flags
, p
));
int (*map
)() = cdevsw
[devfb
->fb_major
].d_mmap
;
return (map(dev
, off
, prot
));