Commit 625f3eea authored by Andrey Smirnov's avatar Andrey Smirnov Committed by Scott Wood

powerpc/sgy_cts1000: Fix gpio_halt_cb()'s signature

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: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: default avatarScott Wood <oss@buserror.net>
parent 49bf9279
...@@ -38,18 +38,18 @@ static void gpio_halt_wfn(struct work_struct *work) ...@@ -38,18 +38,18 @@ static void gpio_halt_wfn(struct work_struct *work)
} }
static DECLARE_WORK(gpio_halt_wq, gpio_halt_wfn); 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; enum of_gpio_flags flags;
int trigger, gpio; int trigger, gpio;
if (!halt_node) if (!halt_node)
return; panic("No reset GPIO information was provided in DT\n");
gpio = of_get_gpio_flags(halt_node, 0, &flags); gpio = of_get_gpio_flags(halt_node, 0, &flags);
if (!gpio_is_valid(gpio)) if (!gpio_is_valid(gpio))
return; panic("Provided GPIO is invalid\n");
trigger = (flags == OF_GPIO_ACTIVE_LOW); trigger = (flags == OF_GPIO_ACTIVE_LOW);
...@@ -57,6 +57,8 @@ static void gpio_halt_cb(void) ...@@ -57,6 +57,8 @@ static void gpio_halt_cb(void)
/* Probably wont return */ /* Probably wont return */
gpio_set_value(gpio, trigger); gpio_set_value(gpio, trigger);
panic("Halt failed\n");
} }
/* This IRQ means someone pressed the power button and it is waiting for us /* This IRQ means someone pressed the power button and it is waiting for us
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment