summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/parisc/pdc_stable.c14
-rw-r--r--include/asm-parisc/pdc.h13
2 files changed, 15 insertions, 12 deletions
diff --git a/drivers/parisc/pdc_stable.c b/drivers/parisc/pdc_stable.c
index 97b34585804..ea1b7a63598 100644
--- a/drivers/parisc/pdc_stable.c
+++ b/drivers/parisc/pdc_stable.c
@@ -622,22 +622,12 @@ static ssize_t
pdcs_osid_read(struct subsystem *entry, char *buf)
{
char *out = buf;
- char *tmpstr = NULL;
if (!entry || !buf)
return -EINVAL;
- switch (pdcs_osid) {
- case 0x0000: tmpstr = "No OS"; break;
- 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);
+ out += sprintf(out, "%s dependent data (0x%.4x)\n",
+ os_id_to_string(pdcs_osid), pdcs_osid);
return out - buf;
}
diff --git a/include/asm-parisc/pdc.h b/include/asm-parisc/pdc.h
index 33bff615d6e..7a21f106ade 100644
--- a/include/asm-parisc/pdc.h
+++ b/include/asm-parisc/pdc.h
@@ -284,6 +284,19 @@ typedef struct {
#define OS_ID_NOVEL 5 /* NOVELL OS */
#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 */
#define OSTAT_OFF 0