mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 12:25:00 -04:00
FROMLIST: ARM: prima2: Register with kernel restart handler
Register with kernel restart handler instead of setting arm_pm_restart directly. By doing this, the prima2 reset handler can be prioritized among other restart methods available on a particular board. Select a high priority of 192 since the original code overwrites the default arm restart handler. Bug: 146512338 Change-Id: I7b1f295a8a68c75d502ce050429297c2644233fb Link: https://lore.kernel.org/patchwork/patch/1139626/ Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
183905b9fd
commit
b0ac347088
1 changed files with 9 additions and 2 deletions
|
|
@ -64,11 +64,18 @@ static struct reset_controller_dev sirfsoc_reset_controller = {
|
|||
|
||||
#define SIRFSOC_SYS_RST_BIT BIT(31)
|
||||
|
||||
static void sirfsoc_restart(enum reboot_mode mode, const char *cmd)
|
||||
static int sirfsoc_restart(struct notifier_block *nb, unsigned long action,
|
||||
void *data)
|
||||
{
|
||||
writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base);
|
||||
return NOTIFY_DONE;
|
||||
}
|
||||
|
||||
static struct notifier_block sirfsoc_restart_nb = {
|
||||
.notifier_call = sirfsoc_restart,
|
||||
.priority = 192,
|
||||
};
|
||||
|
||||
static int sirfsoc_rstc_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
|
|
@ -79,7 +86,7 @@ static int sirfsoc_rstc_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
sirfsoc_reset_controller.of_node = np;
|
||||
arm_pm_restart = sirfsoc_restart;
|
||||
register_restart_handler(&sirfsoc_restart_nb);
|
||||
|
||||
if (IS_ENABLED(CONFIG_RESET_CONTROLLER))
|
||||
reset_controller_register(&sirfsoc_reset_controller);
|
||||
|
|
|
|||
Loading…
Reference in a new issue