On 24 January 2015 at 18:17, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote: > On 01/24/2015 02:58 PM, Rafał Miłecki wrote: >> Just like in case of other watchdog drivers, use the new kernel core >> API to provide restart support. >> >> Signed-off-by: Rafał Miłecki <zajec5@xxxxxxxxx> >> --- >> V2: Include changes to include/linux/bcm47xx_wdt.h >> --- >> drivers/watchdog/bcm47xx_wdt.c | 22 ++++++++++++++++++++-- >> include/linux/bcm47xx_wdt.h | 1 + >> 2 files changed, 21 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/watchdog/bcm47xx_wdt.c b/drivers/watchdog/bcm47xx_wdt.c >> index 9816485..dac3c5d 100644 >> --- a/drivers/watchdog/bcm47xx_wdt.c >> +++ b/drivers/watchdog/bcm47xx_wdt.c >> @@ -169,6 +169,17 @@ static int bcm47xx_wdt_notify_sys(struct notifier_block *this, >> return NOTIFY_DONE; >> } >> >> +static int bcm47xx_wdt_restart(struct notifier_block *this, unsigned long mode, >> + void *cmd) >> +{ >> + struct bcm47xx_wdt *wdt; >> + >> + wdt = container_of(this, struct bcm47xx_wdt, restart_handler); >> + wdt->timer_set(wdt, 1); > > I assume you want to replace the restart code used in > arch/mips/bcm47xx/setup.c and use this for restart on the arm SoCs. > > On BCM4705 some mips asm is needed to make the restart operation > reliable, where do you plan to put it? I think BCM4705 restart it so arch/hw specific, it'll have to stay in arch/mips/ code. For all other hardware we should be able to use do_kernel_restart (and the watchdog driver in the result). Standard do_kernel_restart already works nicely for me when using Broadcom ARM hardware. -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html