Commit Graph

20 Commits

Author SHA1 Message Date
Dale Farnsworth
f18699940c [WATCHDOG] mv64x60_wdt: Rework the timeout register manipulation
Consolidate the timeout config register modification into a single
function.  Also, use the enabled flag in the config register to
determine whether the timer is enabled instead of a separately
maintained flag, MV64x60_WDOG_FLAG_ENABLED.

Add spinlock protection around enabling/disabling the watchdog timer.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:28 +00:00
Dale Farnsworth
2422df5e26 [WATCHDOG] mv64x60_wdt: disable watchdog timer when driver is probed
Make sure that we disable the watchdog at start-up.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:24 +00:00
Dale Farnsworth
bf2fc92cae [WATCHDOG] mv64x60_wdt: Support the WDIOF_MAGICCLOSE feature
Disallow disabling of the watchdog timer unless a particular
character ('V') was recently written to the watchdog device.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:20 +00:00
Dale Farnsworth
d37a5c3ddf [WATCHDOG] mv64x60_wdt: Add a module parameter to change nowayout setting
Also, use the WATCHDOG_NOWAYOUT macro, rather than #ifdefs,
and use __module_get to prevent module unloading if WATCHDOG_NOWAYOUT
is set.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:18 +00:00
Dale Farnsworth
85d57238d2 [WATCHDOG] mv64x60_wdt: Add WDIOC_SETOPTIONS ioctl support
Allow the watchdog timer to be enabled or disabled via the
WDIOC_SETOPTIONS ioctl.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:15 +00:00
Dale Farnsworth
94796f9087 [WATCHDOG] mv64x60_wdt: Support for WDIOC_SETTIMEOUT ioctl
Add the ability to modify the watchdog timer timeout interval.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:12 +00:00
Dale Farnsworth
264f09915a [WATCHDOG] mv64x60_wdt: Fix WDIOC_GETTIMEOUT return value
WDIOC_GETTIMEOUT returns seconds, not jiffies.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:09 +00:00
Dale Farnsworth
861e513770 [WATCHDOG] mv64x60_wdt: Check return value of nonseekable_open
Return the value of the nonseekable_open function and not 0.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:05 +00:00
Dale Farnsworth
7e07a15913 [WATCHDOG] mv64x60_wdt: Add arch/powerpc platform support
Add support for arch/powerpc, specifically for the prpmc2800 platform.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:16:02 +00:00
Dale Farnsworth
8a5cfa6483 [WATCHDOG] mv64x60_wdt: Get register address from platform data
Previously, the address of the watchdog timer registers was
retrieved by calling a global function, mv64x60_get_bridge_vbase().
That function doesn't exist in arch/powerpc.  Instead, we now get
the register address from a platform data resource and ioremap
the registers within the driver.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 21:15:58 +00:00
Dale Farnsworth
422db8d229 [WATCHDOG] mv64x60_wdt: set up platform_device in platform code
The driver previously registered its platform device data in its own
init function--that's bogus.  Move that code to platform-specific
code in arch/ppc.  This is being done so that the platform code can
decide at runtime whether to initialize this driver or not.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-07-24 18:56:35 +00:00
Samuel Tardieu
795b89d207 [WATCHDOG] use ENOTTY instead of ENOIOCTLCMD in ioctl()
Return ENOTTY instead of ENOIOCTLCMD in user-visible ioctl() results

The watchdog drivers used to return ENOIOCTLCMD for bad ioctl() commands.
ENOIOCTLCMD should not be visible by the user, so use ENOTTY instead.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-02 23:08:34 +02:00
Arjan van de Ven
62322d2554 [PATCH] make more file_operation structs static
Mark the static struct file_operations in drivers/char as const.  Making
them const prevents accidental bugs, and moves them to the .rodata section
so that they no longer do any false sharing; in addition with the proper
debug option they are then protected against corruption..

[akpm@osdl.org: build fix]
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-03 15:26:59 -07:00
Jörn Engel
6ab3d5624e Remove obsolete #include <linux/config.h>
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-06-30 19:25:36 +02:00
Dmitry Torokhov
eee8ab75c6 [PATCH] mv64x600_wdt: convert to the new platform device interface
mv64x600_wdt: convert to the new platform device interface Do not use
platform_device_register_simple() as it is going away.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22 07:53:56 -08:00
Russell King
3ae5eaec1d [DRIVER MODEL] Convert platform drivers to use struct platform_driver
This allows us to eliminate the casts in the drivers, and eventually
remove the use of the device_driver function pointer methods for
platform device drivers.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-11-09 22:32:44 +00:00
Wim Van Sebroeck
de4ae58fc9 [WATCHDOG] adds device_driver .owner field
Initialise the .owner field of the device driver
with the module that owns it, for easier tracking
of device driver ownership. (probably also better
for sysfs...)

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-11-01 19:31:59 +01:00
Russell King
d052d1beff Create platform_device.h to contain all the platform device details.
Convert everyone who uses platform_bus_type to include
linux/platform_device.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-29 19:07:23 +01:00
Al Viro
b2846dfa4a [PATCH] mv64x60_wdt __user annotations and cleanups
- use nonseekable_open() instead of messing with

	if (*ppos != file->f_pos)
		return -EISPIPE

   in ->write() (->read is NULL).

 - trivial __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-29 08:46:27 -07:00
James Chapman
3be10211ab [WATCHDOG] mv64x60_wdt.patch
Add mv64x60 (Marvell Discovery) watchdog support.

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-10 21:03:04 +02:00