Loading arch/mips/cobalt/reset.c +2 −19 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ */ #include <linux/init.h> #include <linux/io.h> #include <linux/jiffies.h> #include <linux/leds.h> #include <cobalt.h> Loading @@ -29,29 +28,13 @@ device_initcall(ledtrig_power_off_init); void cobalt_machine_halt(void) { int state, last, diff; unsigned long mark; /* * turn on power off LED on RaQ * * restart if ENTER and SELECT are pressed */ last = COBALT_KEY_PORT; led_trigger_event(power_off_led_trigger, LED_FULL); for (state = 0;;) { diff = COBALT_KEY_PORT ^ last; last ^= diff; if((diff & (COBALT_KEY_ENTER | COBALT_KEY_SELECT)) && !(~last & (COBALT_KEY_ENTER | COBALT_KEY_SELECT))) writeb(RESET, RESET_PORT); for (mark = jiffies; jiffies - mark < HZ;) ; } local_irq_disable(); while (1) ; } void cobalt_machine_restart(char *command) Loading include/asm-mips/mach-cobalt/cobalt.h +1 −14 Original line number Diff line number Diff line /* * Lowlevel hardware stuff for the MIPS based Cobalt microservers. * The Cobalt board ID information. * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive Loading @@ -12,9 +12,6 @@ #ifndef __ASM_COBALT_H #define __ASM_COBALT_H /* * The Cobalt board ID information. */ extern int cobalt_board_id; #define COBALT_BRD_ID_QUBE1 0x3 Loading @@ -22,14 +19,4 @@ extern int cobalt_board_id; #define COBALT_BRD_ID_QUBE2 0x5 #define COBALT_BRD_ID_RAQ2 0x6 #define COBALT_KEY_PORT ((~*(volatile unsigned int *) CKSEG1ADDR(0x1d000000) >> 24) & COBALT_KEY_MASK) # define COBALT_KEY_CLEAR (1 << 1) # define COBALT_KEY_LEFT (1 << 2) # define COBALT_KEY_UP (1 << 3) # define COBALT_KEY_DOWN (1 << 4) # define COBALT_KEY_RIGHT (1 << 5) # define COBALT_KEY_ENTER (1 << 6) # define COBALT_KEY_SELECT (1 << 7) # define COBALT_KEY_MASK 0xfe #endif /* __ASM_COBALT_H */ Loading
arch/mips/cobalt/reset.c +2 −19 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ */ #include <linux/init.h> #include <linux/io.h> #include <linux/jiffies.h> #include <linux/leds.h> #include <cobalt.h> Loading @@ -29,29 +28,13 @@ device_initcall(ledtrig_power_off_init); void cobalt_machine_halt(void) { int state, last, diff; unsigned long mark; /* * turn on power off LED on RaQ * * restart if ENTER and SELECT are pressed */ last = COBALT_KEY_PORT; led_trigger_event(power_off_led_trigger, LED_FULL); for (state = 0;;) { diff = COBALT_KEY_PORT ^ last; last ^= diff; if((diff & (COBALT_KEY_ENTER | COBALT_KEY_SELECT)) && !(~last & (COBALT_KEY_ENTER | COBALT_KEY_SELECT))) writeb(RESET, RESET_PORT); for (mark = jiffies; jiffies - mark < HZ;) ; } local_irq_disable(); while (1) ; } void cobalt_machine_restart(char *command) Loading
include/asm-mips/mach-cobalt/cobalt.h +1 −14 Original line number Diff line number Diff line /* * Lowlevel hardware stuff for the MIPS based Cobalt microservers. * The Cobalt board ID information. * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive Loading @@ -12,9 +12,6 @@ #ifndef __ASM_COBALT_H #define __ASM_COBALT_H /* * The Cobalt board ID information. */ extern int cobalt_board_id; #define COBALT_BRD_ID_QUBE1 0x3 Loading @@ -22,14 +19,4 @@ extern int cobalt_board_id; #define COBALT_BRD_ID_QUBE2 0x5 #define COBALT_BRD_ID_RAQ2 0x6 #define COBALT_KEY_PORT ((~*(volatile unsigned int *) CKSEG1ADDR(0x1d000000) >> 24) & COBALT_KEY_MASK) # define COBALT_KEY_CLEAR (1 << 1) # define COBALT_KEY_LEFT (1 << 2) # define COBALT_KEY_UP (1 << 3) # define COBALT_KEY_DOWN (1 << 4) # define COBALT_KEY_RIGHT (1 << 5) # define COBALT_KEY_ENTER (1 << 6) # define COBALT_KEY_SELECT (1 << 7) # define COBALT_KEY_MASK 0xfe #endif /* __ASM_COBALT_H */