mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
ANDROID: 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. 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> Bug: 163752725 Link: https://lore.kernel.org/lkml/20191015145147.1106247-2-thierry.reding@gmail.com/ Change-Id: I67834fb04f2c7dfae5e098bcf777e0405f2d415a Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This commit is contained in:
parent
bf679b9412
commit
0e49e052ae
|
|
@ -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 New Issue
Block a user