diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-02 04:31:16 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-02 09:31:11 +0200 |
commit | cdb3592a20b41377a28a0737dc9af95e53024470 (patch) | |
tree | 378d6001731b78e9c8bcb15d642dc34a18e887f7 /arch/sparc64/kernel/power.c | |
parent | sparc64: Pass proper parent device down into root pci_create_bus() call. (diff) | |
download | linux-cdb3592a20b41377a28a0737dc9af95e53024470.tar.xz linux-cdb3592a20b41377a28a0737dc9af95e53024470.zip |
sparc64: Move reboot handling into seperate file and kill power reg programming.
We should always use prom_power_off().
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/power.c')
-rw-r--r-- | arch/sparc64/kernel/power.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/arch/sparc64/kernel/power.c b/arch/sparc64/kernel/power.c index 7559ad395a33..076cad7f9757 100644 --- a/arch/sparc64/kernel/power.c +++ b/arch/sparc64/kernel/power.c @@ -7,21 +7,11 @@ #include <linux/module.h> #include <linux/init.h> #include <linux/interrupt.h> -#include <linux/pm.h> #include <linux/reboot.h> #include <linux/of_device.h> -#include <asm/auxio.h> #include <asm/prom.h> #include <asm/io.h> -#include <asm/sstate.h> -#include <asm/reboot.h> - -/* - * sysctl - toggle power-off restriction for serial console - * systems in machine_power_off() - */ -int scons_pwroff = 1; static void __iomem *power_reg; @@ -33,31 +23,6 @@ static irqreturn_t power_handler(int irq, void *dev_id) return IRQ_HANDLED; } -static void (*poweroff_method)(void) = machine_alt_power_off; - -void machine_power_off(void) -{ - sstate_poweroff(); - if (strcmp(of_console_device->type, "serial") || scons_pwroff) { - if (power_reg) { - /* Both register bits seem to have the - * same effect, so until I figure out - * what the difference is... - */ - writel(AUXIO_PCIO_CPWR_OFF | AUXIO_PCIO_SPWR_OFF, power_reg); - } else { - if (poweroff_method != NULL) { - poweroff_method(); - /* not reached */ - } - } - } - machine_halt(); -} - -void (*pm_power_off)(void) = machine_power_off; -EXPORT_SYMBOL(pm_power_off); - static int __init has_button_interrupt(unsigned int irq, struct device_node *dp) { if (irq == 0xffffffff) @@ -78,8 +43,6 @@ static int __devinit power_probe(struct of_device *op, const struct of_device_id printk(KERN_INFO "%s: Control reg at %lx\n", op->node->name, res->start); - poweroff_method = machine_halt; /* able to use the standard halt */ - if (has_button_interrupt(irq, op->node)) { if (request_irq(irq, power_handler, 0, "power", NULL) < 0) |