ARM: at91/pm: Remove show_reset_status function
Both the reset and poweroff drivers are now implementing what the show_reset_status function used to do. Hence, we can remove this rather hackish function that prevents us from doing further cleanup. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
committed by
Nicolas Ferre
parent
4ae9ccf2fa
commit
572e85e3aa
@ -34,79 +34,8 @@
|
|||||||
#include "pm.h"
|
#include "pm.h"
|
||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
|
|
||||||
/*
|
|
||||||
* Show the reason for the previous system reset.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "at91_rstc.h"
|
|
||||||
#include "at91_shdwc.h"
|
|
||||||
|
|
||||||
static void (*at91_pm_standby)(void);
|
static void (*at91_pm_standby)(void);
|
||||||
|
|
||||||
static void __init show_reset_status(void)
|
|
||||||
{
|
|
||||||
static char reset[] __initdata = "reset";
|
|
||||||
|
|
||||||
static char general[] __initdata = "general";
|
|
||||||
static char wakeup[] __initdata = "wakeup";
|
|
||||||
static char watchdog[] __initdata = "watchdog";
|
|
||||||
static char software[] __initdata = "software";
|
|
||||||
static char user[] __initdata = "user";
|
|
||||||
static char unknown[] __initdata = "unknown";
|
|
||||||
|
|
||||||
static char signal[] __initdata = "signal";
|
|
||||||
static char rtc[] __initdata = "rtc";
|
|
||||||
static char rtt[] __initdata = "rtt";
|
|
||||||
static char restore[] __initdata = "power-restored";
|
|
||||||
|
|
||||||
char *reason, *r2 = reset;
|
|
||||||
u32 reset_type, wake_type;
|
|
||||||
|
|
||||||
if (!at91_shdwc_base || !at91_rstc_base)
|
|
||||||
return;
|
|
||||||
|
|
||||||
reset_type = at91_rstc_read(AT91_RSTC_SR) & AT91_RSTC_RSTTYP;
|
|
||||||
wake_type = at91_shdwc_read(AT91_SHDW_SR);
|
|
||||||
|
|
||||||
switch (reset_type) {
|
|
||||||
case AT91_RSTC_RSTTYP_GENERAL:
|
|
||||||
reason = general;
|
|
||||||
break;
|
|
||||||
case AT91_RSTC_RSTTYP_WAKEUP:
|
|
||||||
/* board-specific code enabled the wakeup sources */
|
|
||||||
reason = wakeup;
|
|
||||||
|
|
||||||
/* "wakeup signal" */
|
|
||||||
if (wake_type & AT91_SHDW_WAKEUP0)
|
|
||||||
r2 = signal;
|
|
||||||
else {
|
|
||||||
r2 = reason;
|
|
||||||
if (wake_type & AT91_SHDW_RTTWK) /* rtt wakeup */
|
|
||||||
reason = rtt;
|
|
||||||
else if (wake_type & AT91_SHDW_RTCWK) /* rtc wakeup */
|
|
||||||
reason = rtc;
|
|
||||||
else if (wake_type == 0) /* power-restored wakeup */
|
|
||||||
reason = restore;
|
|
||||||
else /* unknown wakeup */
|
|
||||||
reason = unknown;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case AT91_RSTC_RSTTYP_WATCHDOG:
|
|
||||||
reason = watchdog;
|
|
||||||
break;
|
|
||||||
case AT91_RSTC_RSTTYP_SOFTWARE:
|
|
||||||
reason = software;
|
|
||||||
break;
|
|
||||||
case AT91_RSTC_RSTTYP_USER:
|
|
||||||
reason = user;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
reason = unknown;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
pr_info("AT91: Starting after %s %s\n", reason, r2);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int at91_pm_valid_state(suspend_state_t state)
|
static int at91_pm_valid_state(suspend_state_t state)
|
||||||
{
|
{
|
||||||
switch (state) {
|
switch (state) {
|
||||||
@ -346,7 +275,6 @@ static int __init at91_pm_init(void)
|
|||||||
|
|
||||||
suspend_set_ops(&at91_pm_ops);
|
suspend_set_ops(&at91_pm_ops);
|
||||||
|
|
||||||
show_reset_status();
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
arch_initcall(at91_pm_init);
|
arch_initcall(at91_pm_init);
|
||||||
|
Reference in New Issue
Block a user