| plan 9 kernel history: overview | file list | diff list |
1994/1118/pc/ns16552.h (diff list | history)
| 1994/1108/sys/src/9/pc/ns16552.h:84,90 – 1994/1118/sys/src/9/pc/ns16552.h:84,90 (short | long | prev | next) | ||
|
Bug fix?: allocate cards in order.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1994/1007 | void | |
| 1994/0902 | ns16552install(void) { | |
| 1994/1118 | int i, j, port, nscard; | |
| 1994/1007 | char *p; | |
| 1994/0902 | Scard *sc; | |
| 1994/1108 | char name[NAMELEN]; | |
| 1994/1108/sys/src/9/pc/ns16552.h:106,116 – 1994/1118/sys/src/9/pc/ns16552.h:106,118 | ||
| 1994/1007 | ns16552special(atoi(p), 9600, &kbdq, &printq, kbdcr2nl); | |
| 1994/0902 | /* the rest come out of plan9.ini */ | |
| 1994/1118 | nscard = 0; | |
| 1994/0902 | for(i = 0; i < Maxcard; i++){ | |
| 1994/1118 | sc = scard[nscard] = xalloc(sizeof(Scard)); | |
| 1994/0902 | if(isaconfig("serial", i, sc) == 0){ xfree(sc); | |
| 1994/1118 | scard[nscard] = 0; continue; | |
| 1994/0902 | } if(strcmp(sc->type, "MP008") == 0 || strcmp(sc->type, "mp008") == 0){ | |
| 1994/1108/sys/src/9/pc/ns16552.h:129,135 – 1994/1118/sys/src/9/pc/ns16552.h:131,137 | ||
| 1994/0902 | setvec(Int0vec+sc->irq, mp008intr, sc); port = sc->port; for(j=0; j < sc->size; j++){ | |
| 1994/1108 |
| |
| 1994/1118 | sprint(name, "eia%d%2.2d", nscard, j); | |
| 1994/1108 | ns16552setup(port, sc->freq, name); | |
| 1994/0902 | port += 8; } | |
| 1994/1108/sys/src/9/pc/ns16552.h:141,150 – 1994/1118/sys/src/9/pc/ns16552.h:143,154 | ||
| 1994/0902 | */ | |
| 1994/1106 | if(sc->freq == 0) sc->freq = UartFREQ; | |
| 1994/1108 |
| |
| 1994/1118 | sprint(name, "eia%d00", nscard); | |
| 1994/1108 | ns16552setup(sc->port, sc->freq, name); | |
| 1994/0902 | setvec(Int0vec+sc->irq, ns16552intrx, (void*)(nuart-1)); } | |
| 1994/1118 | nscard++; | |
| 1994/0902 | } } | |