Re: [PATCH 3/8] watchdog: Introduce WDOG_RUNNING flag

Guenter Roeck
2015-08-04T15:56:21Z

Hi Uwe,

On 08/04/2015 08:41 AM, Uwe Kleine-König wrote:
> Hello,
>
> On Mon, Aug 03, 2015 at 07:13:29PM -0700, Guenter Roeck wrote:
>> The WDOG_RUNNING flag is expected to be set by watchdog drivers if
>> the hardware watchdog is running. If the flag is set, the watchdog
>> subsystem will ping the watchdog even if the watchdog device is closed.
>>
>> The watchdog driver stop function is now optional and may be omitted
>> if the watchdog can not be stopped. If stopping the watchdog is not
>> possible but the driver implements a stop function, it is responsible
>> to set the WDOG_RUNNING flag in its stop function.
>>
>> Cc: Timo Kokkonen <timo.kokkonen@offcode.fi>
>> Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>> Documentation/watchdog/watchdog-kernel-api.txt | 19 ++++++++-----
>> drivers/watchdog/watchdog_core.c | 2 +-
>> drivers/watchdog/watchdog_dev.c | 39 ++++++++++++++++++++------
>> include/linux/watchdog.h | 7 +++++
>> 4 files changed, 50 insertions(+), 17 deletions(-)
> Another thing that I noticed just now after looking at a later patch in
> this series: Conceptually that worker stuff better fits into
> watchdog_core.c than watchdog_dev.c, doesn't it? But maybe this
> separation doesn't make sense anyhow?
>

I actually started with that approach.

Problem is that the functionality added by the patch set is to a large degree
associated with code in watchdog_dev.c. I would have to export static functions
from watchdog_dev.c (such as _watchdog_ping), and I would have to export some
of the worker functions (such as watchdog_update_worker) if the code would be
in watchdog_core.c.

On the other side, when adding the code to watchdog_dev.c, I did not have to
export any functions. So adding the code there seemed to make more sense to me.

Thanks,
Guenter