Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/dreamcast/dev Move several static wsdisplay variabl...



details:   https://anonhg.NetBSD.org/src/rev/521f0251bd90
branches:  trunk
changeset: 765196:521f0251bd90
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sat May 21 12:00:18 2011 +0000

description:
Move several static wsdisplay variables into proper device specific structures
to resolve XXX comments.  Tested on GXemul.

diffstat:

 sys/arch/dreamcast/dev/pvr.c |  49 +++++++++++++++++--------------------------
 1 files changed, 20 insertions(+), 29 deletions(-)

diffs (107 lines):

diff -r f7e0274f0e71 -r 521f0251bd90 sys/arch/dreamcast/dev/pvr.c
--- a/sys/arch/dreamcast/dev/pvr.c      Sat May 21 11:56:00 2011 +0000
+++ b/sys/arch/dreamcast/dev/pvr.c      Sat May 21 12:00:18 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pvr.c,v 1.31 2011/01/26 13:14:07 tsutsui Exp $ */
+/*     $NetBSD: pvr.c,v 1.32 2011/05/21 12:00:18 tsutsui Exp $ */
 
 /*-
  * Copyright (c) 2001 Marcus Comstedt.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>                 /* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: pvr.c,v 1.31 2011/01/26 13:14:07 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pvr.c,v 1.32 2011/05/21 12:00:18 tsutsui Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -144,6 +144,9 @@
        int     dc_tvsystem;            /* TV broadcast system */
 
        struct rasops_info dc_rinfo;
+
+       char dc_wsscrname[32];
+       struct wsscreen_descr dc_wsscrdescr;
 };
 
 #define        PVR_RGBMODE     0x01            /* RGB or composite */
@@ -153,6 +156,8 @@
        device_t sc_dev;
        struct fb_devconfig *sc_dc;     /* device configuration */
        int sc_nscreens;
+       const struct wsscreen_descr *sc_scrdescs[1];
+       struct wsscreen_list sc_scrlist;
 };
 
 static int     pvr_match(device_t, cfdata_t, void *);
@@ -165,23 +170,6 @@
 
 static struct fb_devconfig pvr_console_dc;
 
-static char pvr_stdscreen_textgeom[32] = { "std" };    /* XXX yuck */
-
-static struct wsscreen_descr pvr_stdscreen = {
-       pvr_stdscreen_textgeom, 0, 0,
-       0, /* textops */
-       0, 0,
-       WSSCREEN_WSCOLORS,
-};
-
-static const struct wsscreen_descr *_pvr_scrlist[] = {
-       &pvr_stdscreen,
-};
-
-static const struct wsscreen_list pvr_screenlist = {
-       sizeof(_pvr_scrlist) / sizeof(struct wsscreen_descr *), _pvr_scrlist
-};
-
 static int     pvrioctl(void *, void *, u_long, void *, int, struct lwp *);
 static paddr_t pvrmmap(void *, void *, off_t, int);
 
@@ -266,15 +254,14 @@
 
        rasops_init(&dc->dc_rinfo, 500, 500);
 
-       /* XXX shouldn't be global */
-       pvr_stdscreen.nrows = dc->dc_rinfo.ri_rows;
-       pvr_stdscreen.ncols = dc->dc_rinfo.ri_cols;
-       pvr_stdscreen.textops = &dc->dc_rinfo.ri_ops;
-       pvr_stdscreen.capabilities = dc->dc_rinfo.ri_caps;
+       dc->dc_wsscrdescr.name = dc->dc_wsscrname;
+       dc->dc_wsscrdescr.ncols = dc->dc_rinfo.ri_cols;
+       dc->dc_wsscrdescr.nrows = dc->dc_rinfo.ri_rows;
+       dc->dc_wsscrdescr.textops = &dc->dc_rinfo.ri_ops;
+       dc->dc_wsscrdescr.capabilities = dc->dc_rinfo.ri_caps;
 
-       /* XXX yuck */
-       sprintf(pvr_stdscreen_textgeom, "%dx%d", pvr_stdscreen.ncols,
-           pvr_stdscreen.nrows);
+       sprintf(dc->dc_wsscrname, "%dx%d",
+           dc->dc_wsscrdescr.ncols, dc->dc_wsscrdescr.nrows);
 }
 
 void
@@ -305,8 +292,12 @@
 
        /* XXX Colormap initialization? */
 
+       sc->sc_scrdescs[0] = &sc->sc_dc->dc_wsscrdescr;
+       sc->sc_scrlist.nscreens = 1;
+       sc->sc_scrlist.screens = sc->sc_scrdescs;
+
        waa.console = console;
-       waa.scrdata = &pvr_screenlist;
+       waa.scrdata = &sc->sc_scrlist;
        waa.accessops = &pvr_accessops;
        waa.accesscookie = sc;
 
@@ -588,7 +579,7 @@
 
        pvr_getdevconfig(dcp);
        (*dcp->dc_rinfo.ri_ops.allocattr)(&dcp->dc_rinfo, 0, 0, 0, &defattr);
-       wsdisplay_cnattach(&pvr_stdscreen, &dcp->dc_rinfo, 0, 0, defattr);
+       wsdisplay_cnattach(&dcp->dc_wsscrdescr, &dcp->dc_rinfo, 0, 0, defattr);
 
        pvr_is_console = 1;
 



Home | Main Index | Thread Index | Old Index