Loading arch/parisc/kernel/process.c +0 −6 Original line number Diff line number Diff line Loading @@ -97,18 +97,12 @@ void machine_restart(char *cmd) } void (*chassis_power_off)(void); /* * This routine is called from sys_reboot to actually turn off the * machine */ void machine_power_off(void) { /* If there is a registered power off handler, call it. */ 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 * following call will immediately power off. */ Loading drivers/parisc/lasi.c +11 −17 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <linux/module.h> #include <linux/pm.h> #include <linux/types.h> #include <linux/reboot.h> #include <asm/io.h> #include <asm/hardware.h> Loading Loading @@ -145,23 +146,19 @@ static void __init lasi_led_init(unsigned long lasi_hpa) * 1 to PWR_ON_L in the Power Control Register * */ static unsigned long lasi_power_off_hpa __read_mostly; static void lasi_power_off(void) static int lasi_power_off(struct sys_off_data *data) { unsigned long datareg; struct gsc_asic *lasi = data->cb_data; /* calculate addr of the Power Control Register */ datareg = lasi_power_off_hpa + 0x0000C000; /* Power down the machine via Power Control Register */ gsc_writel(0x02, lasi->hpa + 0x0000C000); /* Power down the machine */ gsc_writel(0x02, datareg); /* might not be reached: */ return NOTIFY_DONE; } static int __init lasi_init_chip(struct parisc_device *dev) { extern void (*chassis_power_off)(void); struct gsc_asic *lasi; int ret; Loading Loading @@ -212,12 +209,9 @@ static int __init lasi_init_chip(struct parisc_device *dev) gsc_fixup_irqs(dev, lasi, lasi_choose_irq); /* initialize the power off function */ /* FIXME: Record the LASI HPA for the power off function. This should * ensure that only the first LASI (the one controlling the power off) * should set the HPA here */ lasi_power_off_hpa = lasi->hpa; chassis_power_off = lasi_power_off; /* register the LASI power off function */ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, lasi_power_off, lasi); return ret; } Loading Loading
arch/parisc/kernel/process.c +0 −6 Original line number Diff line number Diff line Loading @@ -97,18 +97,12 @@ void machine_restart(char *cmd) } void (*chassis_power_off)(void); /* * This routine is called from sys_reboot to actually turn off the * machine */ void machine_power_off(void) { /* If there is a registered power off handler, call it. */ 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 * following call will immediately power off. */ Loading
drivers/parisc/lasi.c +11 −17 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <linux/module.h> #include <linux/pm.h> #include <linux/types.h> #include <linux/reboot.h> #include <asm/io.h> #include <asm/hardware.h> Loading Loading @@ -145,23 +146,19 @@ static void __init lasi_led_init(unsigned long lasi_hpa) * 1 to PWR_ON_L in the Power Control Register * */ static unsigned long lasi_power_off_hpa __read_mostly; static void lasi_power_off(void) static int lasi_power_off(struct sys_off_data *data) { unsigned long datareg; struct gsc_asic *lasi = data->cb_data; /* calculate addr of the Power Control Register */ datareg = lasi_power_off_hpa + 0x0000C000; /* Power down the machine via Power Control Register */ gsc_writel(0x02, lasi->hpa + 0x0000C000); /* Power down the machine */ gsc_writel(0x02, datareg); /* might not be reached: */ return NOTIFY_DONE; } static int __init lasi_init_chip(struct parisc_device *dev) { extern void (*chassis_power_off)(void); struct gsc_asic *lasi; int ret; Loading Loading @@ -212,12 +209,9 @@ static int __init lasi_init_chip(struct parisc_device *dev) gsc_fixup_irqs(dev, lasi, lasi_choose_irq); /* initialize the power off function */ /* FIXME: Record the LASI HPA for the power off function. This should * ensure that only the first LASI (the one controlling the power off) * should set the HPA here */ lasi_power_off_hpa = lasi->hpa; chassis_power_off = lasi_power_off; /* register the LASI power off function */ register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, lasi_power_off, lasi); return ret; } Loading