Hi Viresh,
The only way this is usable is if a watchdog user binds to a particular CPU before opening this device, and remains bound to that user. But this doesn't fit the current watchdog model in linux.
Interrupt request doesn't use the right API: The TWD watchdog uses a per-cpu interrupt (usually interrupt #30), and the GIC configuration should flag it as such. With this setup, request_irq() should fail, and the right API is request_percpu_irq(), together with enable_percpu_irq()/disable_percpu_irq().
Nothing ensures the userspace ioctl() will end-up kicking the watchdog on the right CPU.
There are no users of this driver since a long time and it makes more sense to get rid of it as nobody is looking to fix it.
In case somebody wakes up after this has been removed and needs it, please revert this driver and pick these updates (These were never pushed to mainline):
http://comments.gmane.org/gmane.linux.ports.arm.kernel/245998
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
Documentation/watchdog/watchdog-parameters.txt | 8 - arch/arm/configs/spear13xx_defconfig | 1 - drivers/watchdog/Kconfig | 9 - drivers/watchdog/Makefile | 1 - drivers/watchdog/mpcore_wdt.c | 456 ------------------------- 5 files changed, 475 deletions(-) delete mode 100644 drivers/watchdog/mpcore_wdt.c
Added patch to linux-watchdog-next.
Kind regards, Wim.