Index: linux/Makefile =================================================================== RCS file: /var/cvs/linux/Makefile,v retrieving revision 1.231 diff -u -p -r1.231 Makefile --- linux/Makefile 2001/12/26 22:02:47 1.231 +++ linux/Makefile 2001/12/26 23:16:09 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 16 -EXTRAVERSION = -pa26 +EXTRAVERSION = -pa27 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) Index: linux/arch/parisc/kernel/power.c =================================================================== RCS file: /var/cvs/linux/arch/parisc/kernel/power.c,v retrieving revision 1.4 diff -u -p -r1.4 power.c --- linux/arch/parisc/kernel/power.c 2001/12/05 18:46:30 1.4 +++ linux/arch/parisc/kernel/power.c 2001/12/26 23:16:20 @@ -15,11 +15,6 @@ * - .... */ -#include -#include -#include -#include - #include #include #include @@ -27,6 +22,12 @@ #include #include +#include +#include +#include +#include +#include + /* For kernel debugging purposes it's sometimes better to have * the soft-power switch killing the power at once. @@ -38,23 +39,21 @@ /* local time-counter for shutdown */ static int shutdown_timer; +#define DIAG_CODE(code) (0x14000000 + ((code)<<5)) /* this will go to processor.h or any other place... */ -/* taken from PCXL ERS pg 82 */ +/* taken from PCXL ERS page 82 */ #define MFCPU_X(rDiagReg, t_ch, t_th, code) \ - (0x14000000 + ((rDiagReg)<<21) + ((t_ch)<<16) + ((code)<<5) + ((t_th)<<0) ) + (DIAG_CODE(code) + ((rDiagReg)<<21) + ((t_ch)<<16) + ((t_th)<<0) ) +#define MTCPU(dr, gr) MFCPU_X(dr, gr, 0, 0x12) /* move value of gr to dr[dr] */ #define MFCPU_C(dr, gr) MFCPU_X(dr, gr, 0, 0x30) /* for dr0 and dr8 only ! */ #define MFCPU_T(dr, gr) MFCPU_X(dr, 0, gr, 0xa0) /* all dr except dr0 and dr8 */ #define __getDIAG(dr) ( { \ register unsigned long __res asm("r28");\ - __asm__ __volatile__ ( \ - ".word %0 \n\t" \ - "nop \n\t" \ - : \ - : "i" (MFCPU_T(dr,28)) \ - : "memory" \ + __asm__ __volatile__ ( \ + ".word %1\n nop\n" : "=&r" (__res) : "i" (MFCPU_T(dr,28)) \ ); \ __res; \ } ) @@ -64,7 +63,8 @@ static int shutdown_timer; static void deferred_poweroff(void *dummy) { - kill_proc(1, SIGINT, 0); + extern int cad_pid; /* kernel/sys.c */ + kill_proc(cad_pid, SIGINT, 1); /* machine_power_off(); */ } @@ -98,7 +98,11 @@ static void process_shutdown(void) /* wait until the button was pressed for 1 second */ if (shutdown_timer == HZ) { - printk(KERN_INFO "Shutting down...\n"); + static char msg[] = "Shutting down..."; + printk(KERN_INFO "%s\n", msg); +#ifdef CONFIG_CHASSIS_LCD_LED + lcd_print(msg); +#endif poweroff(); } }