diff options
author | 2012-01-29 14:20:42 +0000 | |
---|---|---|
committer | 2012-01-29 14:20:42 +0000 | |
commit | 668111718ed614457536a58478f64356fe01a395 (patch) | |
tree | b9370b11ff64188dc9dabab951d817cab6443e14 | |
parent | Fix another instance of the 11a->11b switch panic (see previous commit). (diff) | |
download | wireguard-openbsd-668111718ed614457536a58478f64356fe01a395.tar.xz wireguard-openbsd-668111718ed614457536a58478f64356fe01a395.zip |
Start cleaning vgafb(4) to be make it more like vga(4). Remove unused
function and move vgafb functions to there right place.
ok miod@
-rw-r--r-- | sys/arch/macppc/pci/vgafb.c | 89 | ||||
-rw-r--r-- | sys/arch/macppc/pci/vgafb_pci.c | 63 | ||||
-rw-r--r-- | sys/arch/macppc/pci/vgafbvar.h | 4 |
3 files changed, 45 insertions, 111 deletions
diff --git a/sys/arch/macppc/pci/vgafb.c b/sys/arch/macppc/pci/vgafb.c index 729bfb90237..fa80fe7516e 100644 --- a/sys/arch/macppc/pci/vgafb.c +++ b/sys/arch/macppc/pci/vgafb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vgafb.c,v 1.38 2010/11/27 18:31:53 miod Exp $ */ +/* $OpenBSD: vgafb.c,v 1.39 2012/01/29 14:20:42 mpi Exp $ */ /* $NetBSD: vga.c,v 1.3 1996/12/02 22:24:54 cgd Exp $ */ /* @@ -62,6 +62,7 @@ struct vgafb_devconfig { int dc_blanked; /* currently had video disabled */ }; +extern struct vgafb_config vgafb_pci_console_vc; struct vgafb_devconfig vgafb_console_dc; struct wsscreen_descr vgafb_stdscreen = { @@ -103,53 +104,6 @@ int vgafb_putcmap(struct vgafb_config *vc, struct wsdisplay_cmap *cm); extern int allowaperture; #endif -/* - * The following functions implement back-end configuration grabbing - * and attachment. - */ -int -vgafb_common_probe(bus_space_tag_t iot, bus_space_tag_t memt, u_int32_t iobase, - size_t iosize, u_int32_t membase, size_t memsize, u_int32_t mmiobase, - size_t mmiosize) -{ - bus_space_handle_t ioh_b, ioh_c, ioh_d, memh, mmioh; - int gotio_b, gotio_c, gotio_d, gotmem, gotmmio, rv; - - gotio_b = gotio_c = gotio_d = gotmem = gotmmio = rv = 0; - - if (iosize != 0) { - if (bus_space_map(iot, iobase+0x3b0, 0xc, 0, &ioh_b)) - goto bad; - gotio_b = 1; - if (bus_space_map(iot, iobase+0x3c0, 0x10, 0, &ioh_c)) - goto bad; - gotio_c = 1; - if (bus_space_map(iot, iobase+0x3d0, 0x10, 0, &ioh_d)) - goto bad; - gotio_d = 1; - } - if (mmiosize != 0) { - if (bus_space_map(iot, mmiobase, mmiosize, 0, &mmioh)) - goto bad; - gotmmio = 1; - } - - rv = 1; - -bad: - if (gotio_b) - bus_space_unmap(iot, ioh_b, 0xc); - if (gotio_c) - bus_space_unmap(iot, ioh_c, 0x10); - if (gotio_d) - bus_space_unmap(iot, ioh_d, 0x10); - if (gotmmio) - bus_space_unmap(memt, mmioh, mmiosize); - if (gotmem) - bus_space_unmap(memt, memh, memsize); - - return (rv); -} void vgafb_common_setup(bus_space_tag_t iot, bus_space_tag_t memt, @@ -510,3 +464,42 @@ vgafb_burn(void *v, u_int on, u_int flags) vc->vc_backlight_on = on; } } + +int +vgafb_alloc_screen(void *v, const struct wsscreen_descr *type, void **cookiep, + int *curxp, int *curyp, long *attrp) +{ + struct vgafb_config *vc = v; + long defattr; + + if (vc->nscreens > 0) + return (ENOMEM); + + *cookiep = &vc->dc_rinfo; /* one and only for now */ + *curxp = 0; + *curyp = 0; + vc->dc_rinfo.ri_ops.alloc_attr(&vc->dc_rinfo, 0, 0, 0, &defattr); + *attrp = defattr; + + vc->nscreens++; + + return (0); +} + +void +vgafb_free_screen(void *v, void *cookie) +{ + struct vgafb_config *vc = v; + + if (vc == &vgafb_pci_console_vc) + panic("vgafb_free_screen: console"); + + vc->nscreens--; +} + +int +vgafb_show_screen(void *v, void *cookie, int waitok, + void (*cb)(void *, int, int), void *cbarg) +{ + return (0); +} diff --git a/sys/arch/macppc/pci/vgafb_pci.c b/sys/arch/macppc/pci/vgafb_pci.c index 307790ad30b..d282481cb9a 100644 --- a/sys/arch/macppc/pci/vgafb_pci.c +++ b/sys/arch/macppc/pci/vgafb_pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vgafb_pci.c,v 1.22 2011/09/29 20:57:43 miod Exp $ */ +/* $OpenBSD: vgafb_pci.c,v 1.23 2012/01/29 14:20:42 mpi Exp $ */ /* $NetBSD: vga_pci.c,v 1.4 1996/12/05 01:39:38 cgd Exp $ */ /* @@ -66,9 +66,6 @@ int vgafb_pci_probe(struct pci_attach_args *pa, int id, u_int32_t *ioaddr, int vgafb_pci_match(struct device *, void *, void *); void vgafb_pci_attach(struct device *, struct device *, void *); -paddr_t vgafbpcimmap(void *, off_t, int); -int vgafbpciioctl(void *, u_long, caddr_t, int, struct proc *); - struct cfattach vgafb_pci_ca = { sizeof(struct vgafb_pci_softc), (cfmatch_t)vgafb_pci_match, vgafb_pci_attach, }; @@ -283,8 +280,8 @@ vgafb_pci_attach(struct device *parent, struct device *self, void *aux) vgafb_common_setup(pa->pa_iot, pa->pa_memt, vc, ioaddr, iosize, memaddr, memsize, mmioaddr, mmiosize); } - vc->vc_mmap = vgafbpcimmap; - vc->vc_ioctl = vgafbpciioctl; + vc->vc_mmap = vgafb_mmap; + vc->vc_ioctl = vgafb_ioctl; vc->membase = memaddr; vc->memsize = memsize; vc->mmiobase = mmioaddr; @@ -342,57 +339,3 @@ vgafb_pci_console(bus_space_tag_t iot, u_int32_t ioaddr, u_int32_t iosize, vgafb_cnattach(iot, memt, pc, bus, device, function); vc->nscreens++; } - -int -vgafbpciioctl(void *v, u_long cmd, caddr_t data, int flag, struct proc *p) -{ - struct vgafb_pci_softc *sc = v; - - return (vgafb_ioctl(sc->sc_vc, cmd, data, flag, p)); -} - -paddr_t -vgafbpcimmap(void *v, off_t offset, int prot) -{ - struct vgafb_pci_softc *sc = v; - - return (vgafb_mmap(sc->sc_vc, offset, prot)); -} - -int -vgafb_alloc_screen(void *v, const struct wsscreen_descr *type, void **cookiep, - int *curxp, int *curyp, long *attrp) -{ - struct vgafb_config *vc = v; - long defattr; - - if (vc->nscreens > 0) - return (ENOMEM); - - *cookiep = &vc->dc_rinfo; /* one and only for now */ - *curxp = 0; - *curyp = 0; - vc->dc_rinfo.ri_ops.alloc_attr(&vc->dc_rinfo, 0, 0, 0, &defattr); - *attrp = defattr; - vc->nscreens++; - return (0); -} - -void -vgafb_free_screen(void *v, void *cookie) -{ - struct vgafb_config *vc = v; - - if (vc == &vgafb_pci_console_vc) - panic("vgafb_free_screen: console"); - - vc->nscreens--; -} - -int -vgafb_show_screen(void *v, void *cookie, int waitok, - void (*cb)(void *, int, int), void *cbarg) -{ - - return (0); -} diff --git a/sys/arch/macppc/pci/vgafbvar.h b/sys/arch/macppc/pci/vgafbvar.h index 5eae1c67982..c1a015b78d8 100644 --- a/sys/arch/macppc/pci/vgafbvar.h +++ b/sys/arch/macppc/pci/vgafbvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vgafbvar.h,v 1.12 2010/11/27 18:31:53 miod Exp $ */ +/* $OpenBSD: vgafbvar.h,v 1.13 2012/01/29 14:20:42 mpi Exp $ */ /* $NetBSD: vgavar.h,v 1.2 1996/11/23 06:06:43 cgd Exp $ */ /* @@ -68,8 +68,6 @@ struct vgafb_config { u_int vc_mode; }; -int vgafb_common_probe(bus_space_tag_t, bus_space_tag_t, - u_int32_t, size_t, u_int32_t, size_t, u_int32_t, size_t ); void vgafb_common_setup(bus_space_tag_t, bus_space_tag_t, struct vgafb_config *, u_int32_t, size_t, u_int32_t, size_t, u_int32_t, size_t); |