In tc_fb_cnattach(): match from a table, and add #ifdef'ed out glue for the
px/pxg devices.
This commit is contained in:
parent
024d36d353
commit
4368af2854
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: tcasic.c,v 1.30 2000/06/05 21:47:32 thorpej Exp $ */
|
/* $NetBSD: tcasic.c,v 1.31 2000/12/22 13:33:57 ad Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
|
* Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
||||||
|
|
||||||
__KERNEL_RCSID(0, "$NetBSD: tcasic.c,v 1.30 2000/06/05 21:47:32 thorpej Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: tcasic.c,v 1.31 2000/12/22 13:33:57 ad Exp $");
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/systm.h>
|
#include <sys/systm.h>
|
||||||
|
@ -173,11 +173,41 @@ tcasicprint(aux, pnp)
|
||||||
|
|
||||||
#include "cfb.h"
|
#include "cfb.h"
|
||||||
#include "sfb.h"
|
#include "sfb.h"
|
||||||
|
#ifdef notyet
|
||||||
|
#include "px.h"
|
||||||
|
#include "pxg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
extern int sfb_cnattach __P((tc_addr_t));
|
extern void sfb_cnattach __P((tc_addr_t));
|
||||||
extern int cfb_cnattach __P((tc_addr_t));
|
extern void cfb_cnattach __P((tc_addr_t));
|
||||||
|
extern void px_cnattach __P((tc_addr_t));
|
||||||
|
extern void pxg_cnattach __P((tc_addr_t));
|
||||||
extern int tc_checkslot __P((tc_addr_t, char *));
|
extern int tc_checkslot __P((tc_addr_t, char *));
|
||||||
|
|
||||||
|
struct cnboards {
|
||||||
|
const char *cb_tcname;
|
||||||
|
int (*cb_cnattach)(tc_addr_t);
|
||||||
|
} static cnboards[] = {
|
||||||
|
#if NSFB > 0
|
||||||
|
{ "PMAGB-BA", sfb_cnattach },
|
||||||
|
#endif
|
||||||
|
#if NCFB > 0
|
||||||
|
{ "PMAG-BA ", cfb_cnattach },
|
||||||
|
#endif
|
||||||
|
#ifdef notyet
|
||||||
|
#if NPX > 0
|
||||||
|
{ "PMAG-CA ", px_cnattach },
|
||||||
|
#endif
|
||||||
|
#if NPXG > 0
|
||||||
|
{ "PMAG-DA ", pxg_cnattach },
|
||||||
|
{ "PMAG-FA ", pxg_cnattach },
|
||||||
|
{ "PMAG-FB ", pxg_cnattach },
|
||||||
|
{ "PMAGB-FA", pxg_cnattach },
|
||||||
|
{ "PMAGB-FB", pxg_cnattach },
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* tc_fb_cnattach --
|
* tc_fb_cnattach --
|
||||||
* Attempt to attach the appropriate display driver to the
|
* Attempt to attach the appropriate display driver to the
|
||||||
|
@ -188,23 +218,19 @@ tc_fb_cnattach(tcaddr)
|
||||||
tc_addr_t tcaddr;
|
tc_addr_t tcaddr;
|
||||||
{
|
{
|
||||||
char tcname[TC_ROM_LLEN];
|
char tcname[TC_ROM_LLEN];
|
||||||
|
int i;
|
||||||
|
|
||||||
if (tc_badaddr(tcaddr) || (tc_checkslot(tcaddr, tcname) == 0)) {
|
if (tc_badaddr(tcaddr) || (tc_checkslot(tcaddr, tcname) == 0))
|
||||||
return EINVAL;
|
return (EINVAL);
|
||||||
}
|
|
||||||
|
|
||||||
#if NSFB > 0
|
for (i = 0; i < sizeof(cnboards) / sizeof(cnboards[0]); i++)
|
||||||
if (strncmp("PMAGB-BA", tcname, TC_ROM_LLEN) == 0) {
|
if (strncmp(tcname, cnboards[i].cb_tcname, TC_ROM_LLEN) == 0)
|
||||||
sfb_cnattach(tcaddr);
|
break;
|
||||||
return 0;
|
|
||||||
}
|
if (i == sizeof(cnboards) / sizeof(cnboards[0]))
|
||||||
#endif
|
return (ENXIO);
|
||||||
#if NCFB > 0
|
|
||||||
if (strncmp("PMAG-BA ", tcname, TC_ROM_LLEN) == 0) {
|
(cnboards[i].cb_cnattach)(tcaddr);
|
||||||
cfb_cnattach(tcaddr);
|
return (0);
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return ENXIO;
|
|
||||||
}
|
}
|
||||||
#endif /* if NWSDISPLAY > 0 */
|
#endif /* if NWSDISPLAY > 0 */
|
||||||
|
|
Loading…
Reference in New Issue