On Mon, May 18, 2015 at 10:03:52PM +0200, Arnd Bergmann wrote:
On Monday 18 May 2015 10:23:30 Guenter Roeck wrote:
integrate watchdog_init_pretimeout and watchdog_init_timeout will be a little hard, we may need to change this API to :
watchdog_init_timeouts(struct watchdog_device *wdd, unsigned int timeout_parm, unsigned int pretimeout_parm, struct device *dev)
then we need to update all the watchdog drivers which use this API, maybe we can do this in a individual patchset, after this pretimeout patch is merged.
Is that OK ? any thought?
That is what I would recommend.
The API change is fine, but I don't think you need to change all drivers.
Just add a small wrapper function in the header file doing the conversion:
static inline int watchdog_init_timeout(struct watchdog_device *wdd, unsigned int timeout_parm, struct device *dev) { return watchdog_init_timeouts(wdd, timeout_parm, ~0ul, dev); }
Then you can update the drivers that actually use the pretimeout to use the new function at some point, and leave all other drivers calling the wrapper function.
Excellent idea.
Guenter