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

Arnd Bergmann
2014-06-23T15:36:13Z

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.

Arnd