[PARISC] Add os_id_to_string helper

Add a helper to asm/pdc.h to translate OS_ID values to strings
and use it in the pdc_stable driver.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
Kyle McMartin 2006-06-25 16:58:57 +00:00 committed by Kyle McMartin
parent ec1fdc24c2
commit 67a061a191
2 changed files with 15 additions and 12 deletions

View File

@ -622,22 +622,12 @@ static ssize_t
pdcs_osid_read(struct subsystem *entry, char *buf) pdcs_osid_read(struct subsystem *entry, char *buf)
{ {
char *out = buf; char *out = buf;
char *tmpstr = NULL;
if (!entry || !buf) if (!entry || !buf)
return -EINVAL; return -EINVAL;
switch (pdcs_osid) { out += sprintf(out, "%s dependent data (0x%.4x)\n",
case 0x0000: tmpstr = "No OS"; break; os_id_to_string(pdcs_osid), pdcs_osid);
case 0x0001: tmpstr = "HP-UX"; break;
case 0x0002: tmpstr = "MPE-iX"; break;
case 0x0003: tmpstr = "OSF"; break;
case 0x0004: tmpstr = "HP-RT"; break;
case 0x0005: tmpstr = "Novell Netware"; break;
case 0x0006: tmpstr = "Linux"; break;
default: tmpstr = "Unknown"; break;
}
out += sprintf(out, "%s dependent data (0x%.4x)\n", tmpstr, pdcs_osid);
return out - buf; return out - buf;
} }

View File

@ -284,6 +284,19 @@ typedef struct {
#define OS_ID_NOVEL 5 /* NOVELL OS */ #define OS_ID_NOVEL 5 /* NOVELL OS */
#define OS_ID_LINUX 6 /* Linux */ #define OS_ID_LINUX 6 /* Linux */
static inline char * os_id_to_string(u16 os_id) {
switch(os_id) {
case OS_ID_NONE: return "No OS";
case OS_ID_HPUX: return "HP-UX";
case OS_ID_MPEXL: return "MPE-iX";
case OS_ID_OSF: return "OSF";
case OS_ID_HPRT: return "HP-RT";
case OS_ID_NOVEL: return "Novell Netware";
case OS_ID_LINUX: return "Linux";
default: return "Unknown";
}
}
/* constants for PDC_CHASSIS */ /* constants for PDC_CHASSIS */
#define OSTAT_OFF 0 #define OSTAT_OFF 0