diff options
author | Federico G. Schwindt <fgsch@cvs.openbsd.org> | 2002-05-22 22:02:09 +0000 |
---|---|---|
committer | Federico G. Schwindt <fgsch@cvs.openbsd.org> | 2002-05-22 22:02:09 +0000 |
commit | 5b606a39f9164098babbb010bc73a07f635fd1fa (patch) | |
tree | 4bb4c21fc841f5fec4a64bad10e9006cf9261ccd /sys/arch/sparc64/dev | |
parent | 3f07829b93ace0640205e778f058729bcf9408b0 (diff) |
Match on "SUNW,afb" as well, a guess to make Elite3D cards work and print
the board type for now as well; jason@ ok.
Diffstat (limited to 'sys/arch/sparc64/dev')
-rw-r--r-- | sys/arch/sparc64/dev/creator.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/sys/arch/sparc64/dev/creator.c b/sys/arch/sparc64/dev/creator.c index 09779772581..c09ef06735b 100644 --- a/sys/arch/sparc64/dev/creator.c +++ b/sys/arch/sparc64/dev/creator.c @@ -1,4 +1,4 @@ -/* $OpenBSD: creator.c,v 1.9 2002/05/22 21:30:47 jason Exp $ */ +/* $OpenBSD: creator.c,v 1.10 2002/05/22 22:02:08 fgsch Exp $ */ /* * Copyright (c) 2002 Jason L. Wright (jason@thought.net) @@ -91,15 +91,16 @@ const struct wsscreen_descr *creator_scrlist[] = { }; struct wsscreen_list creator_screenlist = { - sizeof(creator_scrlist) / sizeof(struct wsscreen_descr *), creator_scrlist + sizeof(creator_scrlist) / sizeof(struct wsscreen_descr *), + creator_scrlist }; -int creator_ioctl(void *, u_long, caddr_t, int, struct proc *); -int creator_alloc_screen(void *, const struct wsscreen_descr *, void **, - int *, int *, long *); -void creator_free_screen(void *, void *); -int creator_show_screen(void *, void *, int, void (*cb)(void *, int, int), - void *); +int creator_ioctl(void *, u_long, caddr_t, int, struct proc *); +int creator_alloc_screen(void *, const struct wsscreen_descr *, void **, + int *, int *, long *); +void creator_free_screen(void *, void *); +int creator_show_screen(void *, void *, int, void (*cb)(void *, int, int), + void *); paddr_t creator_mmap(void *, off_t, int); static int a2int(char *, int); @@ -145,7 +146,8 @@ creator_match(parent, match, aux) { struct mainbus_attach_args *ma = aux; - if (strcmp(ma->ma_name, "SUNW,ffb") == 0) + if (strcmp(ma->ma_name, "SUNW,ffb") == 0 || + strcmp(ma->ma_name, "SUNW,afb") == 0) return (1); return (0); } @@ -169,12 +171,16 @@ creator_attach(parent, self, aux) printf(":"); btype = getpropint(ma->ma_node, "board_type", 0); - if ((btype & 7) == 3) - printf(" Creator3D"); - else - printf(" Creator"); - printf("\n"); + if (strcmp(ma->ma_name, "SUNW,afb") != 0) { + if ((btype & 7) == 3) + printf(" Creator3D"); + else + printf(" Creator"); + } else + printf(" Elite3D"); + + printf(", type %d\n", btype); if (nregs < FFB_REG_DFB32) { printf(": no dfb32 regs found\n"); |