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