diff options
author | Kyle McMartin <kyle@parisc-linux.org> | 2006-01-17 22:33:32 -0700 |
---|---|---|
committer | Kyle McMartin <kyle@duet.int.mcmartin.ca> | 2006-01-22 20:26:50 -0500 |
commit | 85509c00073d4bdd1f4b7796180a15198f2e62da (patch) | |
tree | 0249b9515dac45bd2adb645e05706eee0ef807e3 | |
parent | 526110f8c8d2326413e2de5496d196ee9d4856ad (diff) |
[PARISC] Add chassis_power_off routine
Define a chassis_power_off routine that machines which have a way
to turn off the power supply can hook into. Formerly they were
using pm_power_off, which is now being used by generic code. Make
lasi.c use chassis_power_off instead of pm_power_off.
Note, all machines need to call machine_power_off so that the
switch can power off the machine, though halt -p may not necessarily
be able to work properly on the machine.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
-rw-r--r-- | arch/parisc/kernel/process.c | 13 | ||||
-rw-r--r-- | drivers/parisc/lasi.c | 3 |
2 files changed, 7 insertions, 9 deletions
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c index 998700ce455..e8dea417711 100644 --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c @@ -54,12 +54,6 @@ #include <asm/uaccess.h> #include <asm/unwind.h> -/* - * Power off function, if any - */ -void (*pm_power_off)(void); -EXPORT_SYMBOL(pm_power_off); - void default_idle(void) { barrier(); @@ -142,6 +136,7 @@ void machine_halt(void) */ } +void (*chassis_power_off)(void); /* * This routine is called from sys_reboot to actually turn off the @@ -150,8 +145,8 @@ void machine_halt(void) void machine_power_off(void) { /* If there is a registered power off handler, call it. */ - if(pm_power_off) - pm_power_off(); + if (chassis_power_off) + chassis_power_off(); /* Put the soft power button back under hardware control. * If the user had already pressed the power button, the @@ -167,6 +162,8 @@ void machine_power_off(void) KERN_EMERG "Please power this system off now."); } +void (*pm_power_off)(void) = machine_power_off; +EXPORT_SYMBOL(pm_power_off); /* * Create a kernel thread diff --git a/drivers/parisc/lasi.c b/drivers/parisc/lasi.c index d043a8a3351..cb3d2817612 100644 --- a/drivers/parisc/lasi.c +++ b/drivers/parisc/lasi.c @@ -166,6 +166,7 @@ static void lasi_power_off(void) int __init lasi_init_chip(struct parisc_device *dev) { + extern void (*chassis_power_off)(void); struct gsc_asic *lasi; struct gsc_irq gsc_irq; int ret; @@ -222,7 +223,7 @@ lasi_init_chip(struct parisc_device *dev) * ensure that only the first LASI (the one controlling the power off) * should set the HPA here */ lasi_power_off_hpa = lasi->hpa; - pm_power_off = lasi_power_off; + chassis_power_off = lasi_power_off; return ret; } |