]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/sgi-ip22/ip22-reset.c
Merge branch 'fixes-davem' of master.kernel.org:/pub/scm/linux/kernel/git/linville...
[linux-2.6-omap-h63xx.git] / arch / mips / sgi-ip22 / ip22-reset.c
index 7a941ecff3bbd505066013f125118b55c9c0d39f..a435b31cf031b8c5b73e60fa76724b7ddeece7fd 100644 (file)
@@ -46,7 +46,7 @@ static struct timer_list power_timer, blink_timer, debounce_timer, volume_timer;
 
 static int machine_state;
 
-static void ATTRIB_NORET sgi_machine_power_off(void)
+static void __noreturn sgi_machine_power_off(void)
 {
        unsigned int tmp;
 
@@ -68,7 +68,7 @@ static void ATTRIB_NORET sgi_machine_power_off(void)
        }
 }
 
-static void ATTRIB_NORET sgi_machine_restart(char *command)
+static void __noreturn sgi_machine_restart(char *command)
 {
        if (machine_state & MACHINE_SHUTTING_DOWN)
                sgi_machine_power_off();
@@ -76,7 +76,7 @@ static void ATTRIB_NORET sgi_machine_restart(char *command)
        while (1);
 }
 
-static void ATTRIB_NORET sgi_machine_halt(void)
+static void __noreturn sgi_machine_halt(void)
 {
        if (machine_state & MACHINE_SHUTTING_DOWN)
                sgi_machine_power_off();
@@ -169,7 +169,7 @@ static inline void volume_down_button(unsigned long data)
        }
 }
 
-static irqreturn_t panel_int(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t panel_int(int irq, void *dev_id)
 {
        unsigned int buttons;
 
@@ -232,11 +232,18 @@ static struct notifier_block panic_block = {
 
 static int __init reboot_setup(void)
 {
+       int res;
+
        _machine_restart = sgi_machine_restart;
        _machine_halt = sgi_machine_halt;
        pm_power_off = sgi_machine_power_off;
 
-       request_irq(SGI_PANEL_IRQ, panel_int, 0, "Front Panel", NULL);
+       res = request_irq(SGI_PANEL_IRQ, panel_int, 0, "Front Panel", NULL);
+       if (res) {
+               printk(KERN_ERR "Allocation of front panel IRQ failed\n");
+               return res;
+       }
+
        init_timer(&blink_timer);
        blink_timer.function = blink_timeout;
        atomic_notifier_chain_register(&panic_notifier_list, &panic_block);