Fix evbarm compile again.

This commit is contained in:
nonaka 2006-12-18 15:30:56 +00:00
parent 471243e4da
commit 405a97b628
6 changed files with 56 additions and 30 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: pxa2x0_lcd.c,v 1.15 2006/12/17 16:03:33 peter Exp $ */
/* $NetBSD: pxa2x0_lcd.c,v 1.16 2006/12/18 15:30:56 nonaka Exp $ */
/*
* Copyright (c) 2002 Genetec Corporation. All rights reserved.
@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pxa2x0_lcd.c,v 1.15 2006/12/17 16:03:33 peter Exp $");
__KERNEL_RCSID(0, "$NetBSD: pxa2x0_lcd.c,v 1.16 2006/12/18 15:30:56 nonaka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -68,6 +68,16 @@ __KERNEL_RCSID(0, "$NetBSD: pxa2x0_lcd.c,v 1.15 2006/12/17 16:03:33 peter Exp $"
#include "wsdisplay.h"
/*
* Console variables. These are necessary since console is setup very early,
* before devices get attached.
*/
struct {
int is_console;
struct pxa2x0_wsscreen_descr *descr;
const struct lcd_panel_geometry *geom;
} pxa2x0_lcd_console;
int lcdintr(void *);
static void pxa2x0_lcd_initialize(struct pxa2x0_lcd_softc *,
@ -202,8 +212,7 @@ pxa2x0_lcd_initialize(struct pxa2x0_lcd_softc *sc,
*/
void
pxa2x0_lcd_attach_sub(struct pxa2x0_lcd_softc *sc,
struct pxaip_attach_args *pxa, struct pxa2x0_wsscreen_descr *descr,
const struct lcd_panel_geometry *geom, int console)
struct pxaip_attach_args *pxa, const struct lcd_panel_geometry *geom)
{
bus_space_tag_t iot = pxa->pxa_iot;
bus_space_handle_t ioh;
@ -235,7 +244,8 @@ pxa2x0_lcd_attach_sub(struct pxa2x0_lcd_softc *sc,
pxa2x0_lcd_initialize(sc, geom);
if (console) {
if (pxa2x0_lcd_console.is_console) {
struct pxa2x0_wsscreen_descr *descr = pxa2x0_lcd_console.descr;
struct pxa2x0_lcd_screen *scr;
struct rasops_info *ri;
long defattr;
@ -262,18 +272,21 @@ pxa2x0_lcd_attach_sub(struct pxa2x0_lcd_softc *sc,
defattr);
printf("%s: console\n", sc->dev.dv_xname);
} else {
struct rasops_info dummy;
/*
* Initialize a dummy rasops_info to compute fontsize and
* the screen size in chars.
*/
memset(&dummy, 0, sizeof(dummy));
pxa2x0_lcd_setup_rasops(sc, &dummy, descr, geom);
}
}
int
pxa2x0_lcd_cnattach(struct pxa2x0_wsscreen_descr *descr,
const struct lcd_panel_geometry *geom)
{
pxa2x0_lcd_console.descr = descr;
pxa2x0_lcd_console.geom = geom;
pxa2x0_lcd_console.is_console = 1;
return 0;
}
/*
* Interrupt handler.
*/

View File

@ -1,4 +1,4 @@
/* $NetBSD: pxa2x0_lcd.h,v 1.6 2006/12/17 16:03:33 peter Exp $ */
/* $NetBSD: pxa2x0_lcd.h,v 1.7 2006/12/18 15:30:56 nonaka Exp $ */
/*
* Copyright (c) 2002 Genetec Corporation. All rights reserved.
* Written by Hiroyuki Bessho for Genetec Corporation.
@ -127,8 +127,7 @@ struct pxa2x0_wsscreen_descr {
};
void pxa2x0_lcd_attach_sub(struct pxa2x0_lcd_softc *,
struct pxaip_attach_args *, struct pxa2x0_wsscreen_descr *,
const struct lcd_panel_geometry *, int);
struct pxaip_attach_args *, const struct lcd_panel_geometry *);
int pxa2x0_lcd_cnattach(struct pxa2x0_wsscreen_descr *,
const struct lcd_panel_geometry *);
void pxa2x0_lcd_start_dma(struct pxa2x0_lcd_softc *,

View File

@ -1,4 +1,4 @@
/* $NetBSD: g42xxeb_lcd.c,v 1.6 2006/04/17 15:59:47 jmmv Exp $ */
/* $NetBSD: g42xxeb_lcd.c,v 1.7 2006/12/18 15:30:56 nonaka Exp $ */
/*-
* Copyright (c) 2001, 2002, 2005 Genetec corp.
@ -222,9 +222,11 @@ void lcd_attach( struct device *parent, struct device *self, void *aux )
}
#else
{
struct pxa2x0_lcd_screen *screen = pxa2x0_lcd_new_screen( sc, 16 );
struct pxa2x0_lcd_screen *screen;
int error;
if (screen) {
error = pxa2x0_lcd_new_screen( sc, 16, &screen );
if (error == 0) {
sc->active = screen;
pxa2x0_lcd_start_dma(sc, screen);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: lubbock_lcd.c,v 1.5 2006/04/17 15:59:47 jmmv Exp $ */
/* $NetBSD: lubbock_lcd.c,v 1.6 2006/12/18 15:30:56 nonaka Exp $ */
/*
* Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved.
@ -40,7 +40,7 @@
* LCD panel geometry
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: lubbock_lcd.c,v 1.5 2006/04/17 15:59:47 jmmv Exp $");
__KERNEL_RCSID(0, "$NetBSD: lubbock_lcd.c,v 1.6 2006/12/18 15:30:56 nonaka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -199,9 +199,11 @@ void lcd_attach( struct device *parent, struct device *self, void *aux )
}
#else
{
struct pxa2x0_lcd_screen *screen = pxa2x0_lcd_new_screen( sc, 8 );
struct pxa2x0_lcd_screen *screen;
int error;
if( screen ){
error = pxa2x0_lcd_new_screen( sc, 8, &screen );
if( error == 0 ){
sc->active = screen;
pxa2x0_lcd_start_dma( sc, screen );
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: zlcd.c,v 1.2 2006/12/17 16:07:11 peter Exp $ */
/* $NetBSD: zlcd.c,v 1.3 2006/12/18 15:30:56 nonaka Exp $ */
/* $OpenBSD: zaurus_lcd.c,v 1.20 2006/06/02 20:50:14 miod Exp $ */
/* NetBSD: lubbock_lcd.c,v 1.1 2003/08/09 19:38:53 bsh Exp */
@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: zlcd.c,v 1.2 2006/12/17 16:07:11 peter Exp $");
__KERNEL_RCSID(0, "$NetBSD: zlcd.c,v 1.3 2006/12/18 15:30:56 nonaka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -152,6 +152,7 @@ static void lcd_attach(struct device *, struct device *, void *);
CFATTACH_DECL(zlcd, sizeof(struct pxa2x0_lcd_softc),
lcd_match, lcd_attach, NULL, NULL);
void lcd_cnattach(void);
int lcd_max_brightness(void);
int lcd_get_brightness(void);
void lcd_set_brightness(int);
@ -174,8 +175,7 @@ lcd_attach(struct device *parent, struct device *self, void *aux)
struct pxa2x0_lcd_softc *sc = (struct pxa2x0_lcd_softc *)self;
struct wsemuldisplaydev_attach_args aa;
pxa2x0_lcd_attach_sub(sc, aux, &lcd_std_screen, CURRENT_DISPLAY,
glass_console);
pxa2x0_lcd_attach_sub(sc, aux, CURRENT_DISPLAY);
aa.console = glass_console;
aa.scrdata = &lcd_screen_list;
@ -190,6 +190,13 @@ lcd_attach(struct device *parent, struct device *self, void *aux)
(void) powerhook_establish(sc->dev.dv_xname, lcd_power, sc);
}
void
lcd_cnattach(void)
{
pxa2x0_lcd_cnattach(&lcd_std_screen, CURRENT_DISPLAY);
}
/*
* wsdisplay accessops overrides
*/

View File

@ -1,4 +1,4 @@
/* $NetBSD: machdep.c,v 1.2 2006/12/17 16:07:11 peter Exp $ */
/* $NetBSD: machdep.c,v 1.3 2006/12/18 15:30:56 nonaka Exp $ */
/* $OpenBSD: zaurus_machdep.c,v 1.25 2006/06/20 18:24:04 todd Exp $ */
/*
@ -107,7 +107,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.2 2006/12/17 16:07:11 peter Exp $");
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.3 2006/12/18 15:30:56 nonaka Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@ -1095,7 +1095,10 @@ consinit(void)
#endif
if (strcmp(console, "glass") == 0) {
#if (NLCD > 0) && (NWSDISPLAY > 0)
extern void lcd_cnattach(void);
glass_console = 1;
lcd_cnattach();
#endif
}