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;
}
#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