On Fri, Oct 5, 2012 at 1:16 PM, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> wrote: > On 12:16 Fri 05 Oct , Fabio Porcedda wrote: >> Signed-off-by: Fabio Porcedda <fabio.porcedda@xxxxxxxxx> >> --- >> Documentation/watchdog/watchdog-kernel-api.txt | 4 ++++ >> drivers/watchdog/watchdog_core.c | 27 ++++++++++++++++++++++++++ >> include/linux/watchdog.h | 4 ++++ >> 3 files changed, 35 insertions(+) >> >> diff --git a/Documentation/watchdog/watchdog-kernel-api.txt b/Documentation/watchdog/watchdog-kernel-api.txt >> index 086638f..2208db7 100644 >> --- a/Documentation/watchdog/watchdog-kernel-api.txt >> +++ b/Documentation/watchdog/watchdog-kernel-api.txt >> @@ -212,3 +212,7 @@ driver specific data to and a pointer to the data itself. >> The watchdog_get_drvdata function allows you to retrieve driver specific data. >> The argument of this function is the watchdog device where you want to retrieve >> data from. The function returns the pointer to the driver specific data. >> + >> +The watchdog_init_timeout function allows you to initialize the timeout field >> +using the module timeout parameter or retrieving the timeout-sec property from >> +the device tree. >> diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c >> index 3796434..646be48 100644 >> --- a/drivers/watchdog/watchdog_core.c >> +++ b/drivers/watchdog/watchdog_core.c >> @@ -143,6 +143,33 @@ void watchdog_unregister_device(struct watchdog_device *wdd) >> } >> EXPORT_SYMBOL_GPL(watchdog_unregister_device); >> >> +/** >> + * watchdog_init_timeout() - initialize the timeout field >> + * @parm_timeout: timeout module parameter, it takes precedence over the >> + * timeout-sec property. >> + * @node: Retrieve the timeout-sec property only if the parm_timeout >> + * is out of bounds. >> + */ >> +void watchdog_init_timeout(struct watchdog_device *wdd, >> + unsigned int parm_timeout, struct device_node *node) >> +{ >> + unsigned int t = 0; >> + >> + if ((parm_timeout >= wdd->min_timeout) && >> + (parm_timeout <= wdd->max_timeout)) { >> + wdd->timeout = parm_timeout; >> + return; >> + } >> + >> + if (!node) >> + return; >> + >> + of_property_read_u32(node, "timeout-sec", &t); > why I bother to comment > *make this of generic* this is not watchdog specific other driver can use it You mean to add the function in of.h and use that function inside watchdog_init_timeout or to use the of_* function instead of the watchdog_init_timeout function? Do you like the use of watchdog_init_timeout function inside the at91sam9_wdt driver? Best regards -- Fabio Porcedda -- 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