Module Name: src Committed By: macallan Date: Wed Jun 1 05:06:17 UTC 2011
Modified Files: src/sys/dev/pci: machfb.c Log Message: move wsdisplay_accessops into the softc so multiple instances have a chance to work without stepping on each other's toes To generate a diff of this commit: cvs rdiff -u -r1.66 -r1.67 src/sys/dev/pci/machfb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/machfb.c diff -u src/sys/dev/pci/machfb.c:1.66 src/sys/dev/pci/machfb.c:1.67 --- src/sys/dev/pci/machfb.c:1.66 Mon May 16 00:59:37 2011 +++ src/sys/dev/pci/machfb.c Wed Jun 1 05:06:17 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: machfb.c,v 1.66 2011/05/16 00:59:37 macallan Exp $ */ +/* $NetBSD: machfb.c,v 1.67 2011/06/01 05:06:17 macallan Exp $ */ /* * Copyright (c) 2002 Bang Jun-Young @@ -34,7 +34,7 @@ #include <sys/cdefs.h> __KERNEL_RCSID(0, - "$NetBSD: machfb.c,v 1.66 2011/05/16 00:59:37 macallan Exp $"); + "$NetBSD: machfb.c,v 1.67 2011/06/01 05:06:17 macallan Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -152,6 +152,7 @@ u_char sc_cmap_blue[256]; int sc_dacw, sc_blanked, sc_console; struct vcons_data vd; + struct wsdisplay_accessops sc_accessops; }; struct mach64_crtcregs { @@ -378,16 +379,6 @@ static int mach64_load_font(void *, void *, struct wsdisplay_font *); #endif -static struct wsdisplay_accessops mach64_accessops = { - mach64_ioctl, - mach64_mmap, - NULL, /* vcons_alloc_screen */ - NULL, /* vcons_free_screen */ - NULL, /* vcons_show_screen */ - NULL, /* load_font */ - NULL, /* polls */ - NULL, /* scroll */ -}; static struct vcons_screen mach64_console_screen; @@ -533,6 +524,8 @@ sc->sc_nfunc = pa->pa_function; sc->sc_locked = 0; sc->sc_iot = pa->pa_iot; + sc->sc_accessops.ioctl = mach64_ioctl; + sc->sc_accessops.mmap = mach64_mmap; pci_devinfo(pa->pa_id, pa->pa_class, 0, devinfo, sizeof(devinfo)); aprint_normal(": %s (rev. 0x%02x)\n", devinfo, @@ -763,7 +756,7 @@ wsfont_init(); sc->sc_bg = WS_DEFAULT_BG; - vcons_init(&sc->vd, sc, &mach64_defaultscreen, &mach64_accessops); + vcons_init(&sc->vd, sc, &mach64_defaultscreen, &sc->sc_accessops); sc->vd.init_screen = mach64_init_screen; mach64_init_lut(sc); @@ -794,7 +787,7 @@ aa.console = sc->sc_console; aa.scrdata = &mach64_screenlist; - aa.accessops = &mach64_accessops; + aa.accessops = &sc->sc_accessops; aa.accesscookie = &sc->vd; config_found(self, &aa, wsemuldisplaydevprint);