Index: arch/parisc/kernel/led.c =================================================================== RCS file: /var/cvs/linux/arch/parisc/kernel/led.c,v retrieving revision 1.24 diff -u -p -r1.24 led.c --- arch/parisc/kernel/led.c 2001/10/22 15:45:36 1.24 +++ arch/parisc/kernel/led.c 2001/11/20 22:06:00 @@ -51,6 +51,30 @@ static int led_diskio = 1; static int led_lanrxtx = 1; static char lcd_text[32] = {0}; +/***** + * stuff for E55 and similar server with RUN/ATTENTION LED + */ + +#define LED_CHASSIS_OFF 0 +#define LED_CHASSIS_FAULT 1 +#define LED_CHASSIS_TEST 2 +#define LED_CHASSIS_INIT 3 +#define LED_CHASSIS_SHUTDOWN 4 +#define LED_CHASSIS_WARNING 5 +#define LED_CHASSIS_RUN 6 +#define LED_CHASSIS_ALL_ON 7 + +#define LED_CHASSIS_BYTE(v) ((unsigned long)((v) << 1)) +#define LED_CHASSIS_DISP_DATA(v) ((unsigned long)(LED_CHASSIS_BYTE(v) << 16)) +extern int pdc_chassis_disp (unsigned long); +extern int pdc_model_sysmodel (char *); +static int use_chassis_call = 0; +static int chassis_run_mode = 0; + +void led_chassis_run (void); +void led_chassis_attention (void); +void led_chassis_init (void); + #if 0 #define DPRINTK(x) printk x #else @@ -450,13 +474,24 @@ static void led_tasket_func(unsigned lon if (led_heartbeat) { + /* for server with RUN led, switch it on, heartbeat is active, + led_chassis_run() checks itself, if a machine of this + type is used */ + led_chassis_run (); + /* flash heartbeat-LED like a real heart (2 x short then a long delay) */ if (count_HZ=HEARTBEAT_2ND_RANGE_START && count_HZ