summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/dev/ifb.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/sparc64/dev/ifb.c')
-rw-r--r--sys/arch/sparc64/dev/ifb.c58
1 files changed, 10 insertions, 48 deletions
diff --git a/sys/arch/sparc64/dev/ifb.c b/sys/arch/sparc64/dev/ifb.c
index 9cc81b0ff53..bdd42275a80 100644
--- a/sys/arch/sparc64/dev/ifb.c
+++ b/sys/arch/sparc64/dev/ifb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ifb.c,v 1.3 2008/12/27 14:33:55 kettenis Exp $ */
+/* $OpenBSD: ifb.c,v 1.4 2008/12/27 17:23:01 miod Exp $ */
/*
* Copyright (c) 2007, 2008 Miodrag Vallat.
@@ -210,23 +210,19 @@ struct ifb_softc {
int ifb_ioctl(void *, u_long, caddr_t, int, struct proc *);
paddr_t ifb_mmap(void *, off_t, int);
-int ifb_alloc_screen(void *, const struct wsscreen_descr *, void **,
- int *, int *, long *);
-void ifb_free_screen(void *, void *);
-int ifb_show_screen(void *, void *, int,
- void (*cb)(void *, int, int), void *);
void ifb_burner(void *, u_int, u_int);
struct wsdisplay_accessops ifb_accessops = {
ifb_ioctl,
ifb_mmap,
- ifb_alloc_screen,
- ifb_free_screen,
- ifb_show_screen,
- NULL,
- NULL,
- NULL,
- ifb_burner
+ NULL, /* alloc_screen */
+ NULL, /* free_screen */
+ NULL, /* show_screen */
+ NULL, /* load_font */
+ NULL, /* scrollback */
+ NULL, /* getchar */
+ ifb_burner,
+ NULL /* pollc */
};
int ifbmatch(struct device *, void *, void *);
@@ -328,8 +324,7 @@ ifbattach(struct device *parent, struct device *self, void *aux)
ri->ri_bits = NULL;
ri->ri_hw = sc;
- /* do NOT pass RI_CLEAR yet */
- fbwscons_init(&sc->sc_sunfb, RI_BSWAP);
+ fbwscons_init(&sc->sc_sunfb, RI_BSWAP, sc->sc_console);
ri->ri_flg &= ~RI_FULLCLEAR; /* due to the way we handle updates */
if (!sc->sc_console) {
@@ -483,39 +478,6 @@ ifb_setcolor(void *v, u_int index, u_int8_t r, u_int8_t g, u_int8_t b)
(((u_int)b) << 22) | (((u_int)g) << 12) | (((u_int)r) << 2));
}
-int
-ifb_alloc_screen(void *v, const struct wsscreen_descr *type, void **cookiep,
- int *curxp, int *curyp, long *attrp)
-{
- struct ifb_softc *sc = v;
-
- if (sc->sc_nscreens > 0)
- return ENOMEM;
-
- *cookiep = &sc->sc_sunfb.sf_ro;
- *curyp = 0;
- *curxp = 0;
- sc->sc_sunfb.sf_ro.ri_ops.alloc_attr(&sc->sc_sunfb.sf_ro,
- WSCOL_BLACK, WSCOL_WHITE, WSATTR_WSCOLORS, attrp);
- sc->sc_nscreens++;
- return 0;
-}
-
-void
-ifb_free_screen(void *v, void *cookie)
-{
- struct ifb_softc *sc = v;
-
- sc->sc_nscreens--;
-}
-
-int
-ifb_show_screen(void *v, void *cookie, int waitok,
- void (*cb)(void *, int, int), void *cbarg)
-{
- return 0;
-}
-
paddr_t
ifb_mmap(void *v, off_t off, int prot)
{