]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
powerpc/sgy_cts1000: Fix gpio_halt_cb()'s signature
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Tue, 26 Jul 2016 04:45:01 +0000 (21:45 -0700)
committerScott Wood <oss@buserror.net>
Sun, 25 Sep 2016 04:59:51 +0000 (23:59 -0500)
Halt callback in struct machdep_calls is declared with __noreturn
attribute, so omitting that attribute in gpio_halt_cb()'s signatrue
results in compilation error.

Change the signature to address the problem as well as change the code
of the function to avoid ever returning from the function.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Scott Wood <oss@buserror.net>
arch/powerpc/platforms/85xx/sgy_cts1000.c

index 79fd0dfd4b8203f95a07d6bef19407d309708772..21d6aaa5c3e4aedced415e9409591049a63cc7cc 100644 (file)
@@ -38,18 +38,18 @@ static void gpio_halt_wfn(struct work_struct *work)
 }
 static DECLARE_WORK(gpio_halt_wq, gpio_halt_wfn);
 
-static void gpio_halt_cb(void)
+static void __noreturn gpio_halt_cb(void)
 {
        enum of_gpio_flags flags;
        int trigger, gpio;
 
        if (!halt_node)
-               return;
+               panic("No reset GPIO information was provided in DT\n");
 
        gpio = of_get_gpio_flags(halt_node, 0, &flags);
 
        if (!gpio_is_valid(gpio))
-               return;
+               panic("Provided GPIO is invalid\n");
 
        trigger = (flags == OF_GPIO_ACTIVE_LOW);
 
@@ -57,6 +57,8 @@ static void gpio_halt_cb(void)
 
        /* Probably wont return */
        gpio_set_value(gpio, trigger);
+
+       panic("Halt failed\n");
 }
 
 /* This IRQ means someone pressed the power button and it is waiting for us