Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver

From: Guenter Roeck
Date: Mon Jun 23 2014 - 11:40:23 EST


On 06/23/2014 08:35 AM, Arnd Bergmann wrote:
On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
Moved to where?

I certainly don't want it in the platform directories, and for arm64 we
intentionally don't have a place to put this stuff.


I have no idea, but setting the arm reset function pointer from a watchdog
driver doesn't seem like a good idea either. The arm code _does_ provide
and expect platform code to set the reset function, so having it in the arm
code would at least make more sense than expecting some unrelated driver
code to set it - especially since it is inherently racy [1].

I don't think the race is inherent. We could solve the multiple registration
problem and the unload problem using a notifier chain. If there are actually
cases where we expect to see multiple reboot functions to be present in the
system, we could go one step further and have a priority associated with
it, so we try the best function first and fall back to soft_restart()
if everything else fails.


You mean something like a restart notifier, which would be called from
architecture code (and replace the arm reset function pointer) ?
Yes, that sounds like a possible solution.

Guenter


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/