Re: watchdog infrastructure

From: Arnd Bergmann
Date: Mon Jul 05 2004 - 07:56:45 EST


On Montag, 5. Juli 2004 11:38, you wrote:
> Did you have a look allready at the different watchdog operations in
> include/linux/watchdog.h ?

Yes, I already have a working driver, which does not use the
experimental infrastructure code. I'm just not allowed to
publish it until the hardware is available.

There are a couple of things I noticed about your new code:

- Is there any reason having an alloc_watchdogdev function in the
common code? Simply statically allocating the structure in each
device driver should be a lot simpler.
- Keeping watchdog_ops out of watchdog_device will simplify
the lifetime rules. Just put them in the same structure, add an
owner field and get rid of the *private field.
- watchdog_is_open_sem can just be an atomic_t, you never
actually down() it.
- You need to get the module reference count before calling any
watchdog operation, the best place for this is probably the
open() fop.
- Maybe its easier to always register the misc devices when
watchdog.ko is loaded, and then deny opening them when no
actual watchdog driver is registered to it.
- Why do you need seperate operations for start and keepalive?
- the reboot notifier and the nowayout parameter are probably
common enough to be put into the generic module.

Arnd <><

Attachment: pgp00000.pgp
Description: signature