diff options
Diffstat (limited to 'xorg-server/hw/xfree86/os-support/linux/lnx_axp.c')
-rw-r--r-- | xorg-server/hw/xfree86/os-support/linux/lnx_axp.c | 166 |
1 files changed, 84 insertions, 82 deletions
diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c b/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c index 10fd9e865..d65a3a487 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c @@ -9,93 +9,95 @@ axpDevice lnxGetAXP(void); -typedef struct - { char* sysName; - char* sysVari; - char* cpu; - axpDevice sys; } -AXP; +typedef struct { + char *sysName; + char *sysVari; + char *cpu; + axpDevice sys; +} AXP; static AXP axpList[] = { - { "Tsunami", NULL, NULL, TSUNAMI }, - { "Eiger", NULL, NULL, TSUNAMI }, - {"Noname", NULL, NULL, LCA }, - { "AlphaBook1", NULL, NULL, LCA }, - {"EB66", NULL, NULL, LCA}, - {"EB64+",NULL,NULL, APECS}, - {"Noritake",NULL,"EV5",CIA}, - {"Noritake",NULL,"EV56",CIA}, - {"Noritake",NULL,NULL,APECS}, - {"XL",NULL,NULL,APECS}, - {"Avanti",NULL,NULL,APECS}, - {"Mikasa",NULL,"EV5",CIA}, - {"Mikasa",NULL,"EV56",CIA}, - {"Mikasa",NULL,NULL,APECS}, - {"EB164","EB164",NULL,CIA}, - {"EB164","PC164", NULL,CIA}, - {"EB164","LX164",NULL, PYXIS}, - {"EB164","SX164",NULL, PYXIS}, - {"EB164","RX164",NULL, POLARIS}, - {"Alcor",NULL,NULL,CIA}, - {"Takara",NULL,NULL,CIA}, - {"Sable",NULL, "EV5",T2_GAMMA}, - {"Sable",NULL,"EV56",T2_GAMMA}, - {"Sable",NULL,NULL,T2}, - {"Rawhide",NULL,NULL,MCPCIA}, - {"Jensen",NULL,NULL,JENSEN}, - {"Miata",NULL,NULL,PYXIS_CIA}, - {"Ruffian",NULL,NULL,PYXIS_CIA}, - {"Nautilus",NULL,NULL,IRONGATE}, - {NULL,NULL,NULL,SYS_NONE} + {"Tsunami", NULL, NULL, TSUNAMI}, + {"Eiger", NULL, NULL, TSUNAMI}, + {"Noname", NULL, NULL, LCA}, + {"AlphaBook1", NULL, NULL, LCA}, + {"EB66", NULL, NULL, LCA}, + {"EB64+", NULL, NULL, APECS}, + {"Noritake", NULL, "EV5", CIA}, + {"Noritake", NULL, "EV56", CIA}, + {"Noritake", NULL, NULL, APECS}, + {"XL", NULL, NULL, APECS}, + {"Avanti", NULL, NULL, APECS}, + {"Mikasa", NULL, "EV5", CIA}, + {"Mikasa", NULL, "EV56", CIA}, + {"Mikasa", NULL, NULL, APECS}, + {"EB164", "EB164", NULL, CIA}, + {"EB164", "PC164", NULL, CIA}, + {"EB164", "LX164", NULL, PYXIS}, + {"EB164", "SX164", NULL, PYXIS}, + {"EB164", "RX164", NULL, POLARIS}, + {"Alcor", NULL, NULL, CIA}, + {"Takara", NULL, NULL, CIA}, + {"Sable", NULL, "EV5", T2_GAMMA}, + {"Sable", NULL, "EV56", T2_GAMMA}, + {"Sable", NULL, NULL, T2}, + {"Rawhide", NULL, NULL, MCPCIA}, + {"Jensen", NULL, NULL, JENSEN}, + {"Miata", NULL, NULL, PYXIS_CIA}, + {"Ruffian", NULL, NULL, PYXIS_CIA}, + {"Nautilus", NULL, NULL, IRONGATE}, + {NULL, NULL, NULL, SYS_NONE} }; - axpDevice lnxGetAXP(void) { - FILE *file; - int count = 0; - char res[256]; - char cpu[255]; - char systype[255]; - char sysvari[255]; - if (!(file = fopen("/proc/cpuinfo","r"))) - return SYS_NONE; - do { - if (!fgets(res,0xff,file)) return SYS_NONE; - switch (count) { - case 1: - sscanf(res, "cpu model : %s",cpu); - DebugF("CPU %s\n",cpu); - break; - case 5: - sscanf(res, "system type : %s",systype); - DebugF("system type : %s\n",systype); - break; - case 6: - sscanf(res, "system variation : %s",sysvari); - DebugF("system variation: %s\n",sysvari); - break; - } - count++; - } while (count < 8); - - fclose(file); - - count = 0; - - do { - if (!axpList[count].sysName || !strcmp(axpList[count].sysName,systype)) { - if (axpList[count].sysVari && strcmp(axpList[count].sysVari,sysvari)) { - count++; - continue; - }; - if (axpList[count].cpu && strcmp(axpList[count].cpu,cpu)) { - count++; - continue; - } - return axpList[count].sys; - } - count++; - } while (1); + FILE *file; + int count = 0; + char res[256]; + char cpu[255]; + char systype[255]; + char sysvari[255]; + + if (!(file = fopen("/proc/cpuinfo", "r"))) + return SYS_NONE; + do { + if (!fgets(res, 0xff, file)) + return SYS_NONE; + switch (count) { + case 1: + sscanf(res, "cpu model : %s", cpu); + DebugF("CPU %s\n", cpu); + break; + case 5: + sscanf(res, "system type : %s", systype); + DebugF("system type : %s\n", systype); + break; + case 6: + sscanf(res, "system variation : %s", sysvari); + DebugF("system variation: %s\n", sysvari); + break; + } + count++; + } while (count < 8); + + fclose(file); + + count = 0; + + do { + if (!axpList[count].sysName || !strcmp(axpList[count].sysName, systype)) { + if (axpList[count].sysVari && + strcmp(axpList[count].sysVari, sysvari)) { + count++; + continue; + }; + if (axpList[count].cpu && strcmp(axpList[count].cpu, cpu)) { + count++; + continue; + } + return axpList[count].sys; + } + count++; + } while (1); } |