1
Commit Graph

280 Commits

Author SHA1 Message Date
Wim Van Sebroeck
d5d06ff7f1 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4
a number of small patches:
- include notifier.h include file
- re-arrange prototype functions
- remove =0 initializations
- change printk logging levels to what's used in other drivers
- /dev/watchdog is a VFS so use nonseekable_open
- Style: Instead of "if (constant op function_or_variable)"
  we prefer "if (function_or_variable op constant)"
- arg is a __user pointer
- use MAX_TIMEOUT_SECONDS instead of 32 in WDIOC_SETTIMEOUT

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-11-17 23:50:06 +01:00
Wim Van Sebroeck
414a675964 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3
Move start and stop code into seperate functions

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-11-17 23:36:08 +01:00
Wim Van Sebroeck
97846e3ccb [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2
Reorganize source code so that it is structured as follows:
- Function prototypes
- Local variables
- Module arguments
- Interrupt handler
- Watchdog functions
- /dev/watchdog operations
- Shutdown notifier
- Kernel interfaces
- Init & exit procedures
- Device driver init & exit

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-11-17 23:15:48 +01:00
Wim Van Sebroeck
cd57eeab7c [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1
Locate parameter descriptions close to parameter definition -
not in bottom of file.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-11-17 21:51:35 +01:00
Thomas Koeller
825d3748c1 [WATCHDOG] MIPS RM9000 on-chip watchdog device
This is a driver for the on-chip watchdog device found on some
MIPS RM9000 processors.

Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-11-17 20:45:24 +01:00
Wim Van Sebroeck
e033351d53 [WATCHDOG] Add iTCO vendor specific support
Add vendor specific support to the intel TCO timer based watchdog
devices. At this moment we only have additional support for some
SuperMicro Inc. motherboards.

Signed-off-by: Robert Seretny <lkpatches@paypc.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-11-12 18:05:09 +01:00
Akinobu Mita
150ed8ed63 [WATCHDOG] sc1200wdt.c pnp unregister fix.
If no devices found or invalid parameter is specified,
scl200wdt_pnp_driver is left unregistered.
It breaks global list of pnp drivers.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-29 22:09:32 +01:00
Akinobu Mita
58c6570add [WATCHDOG] sc1200wdt.c pnp unregister fix.
If no devices found or invalid parameter is specified,
scl200wdt_pnp_driver is left unregistered.
It breaks global list of pnp drivers.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-29 10:27:43 +01:00
Andrew Morton
fd0c5eca44 [WATCHDOG] config.h removal
config.h got removed

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-28 22:19:07 +02:00
Linus Torvalds
6d03a68e6d Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (33 commits)
  [WATCHDOG] remove experimental on iTCO_wdt.c
  [WATCHDOG] Atmel AT91RM9200 rename.
  [WATCHDOG] includes for sample watchdog program.
  [WATCHDOG] watchdog/iTCO_wdt: fix bug related to gcc uninit warning
  [WATCHDOG] add ich8 support to iTCO_wdt.c (patch 2)
  [WATCHDOG] add ich8 support to iTCO_wdt.c
  [WATCHDOG] ioremap balanced with iounmap for drivers/char/watchdog/s3c2410_wdt.c
  [WATCHDOG] w83697hf/hg WDT driver - Kconfig patch
  [WATCHDOG] w83697hf/hg WDT driver - autodetect patch
  [WATCHDOG] w83697hf/hg WDT driver - patch 16
  [WATCHDOG] w83697hf/hg WDT driver - patch 15
  [WATCHDOG] w83697hf/hg WDT driver - patch 14
  [WATCHDOG] w83697hf/hg WDT driver - patch 13
  [WATCHDOG] w83697hf/hg WDT driver - patch 12
  [WATCHDOG] w83697hf/hg WDT driver - patch 11
  [WATCHDOG] w83697hf/hg WDT driver - patch 10
  [WATCHDOG] w83697hf/hg WDT driver - patch 9
  [WATCHDOG] w83697hf/hg WDT driver - patch 8
  [WATCHDOG] w83697hf/hg WDT driver - patch 7
  [WATCHDOG] w83697hf/hg WDT driver - patch 6
  ...
2006-10-23 15:56:26 -07:00
Wim Van Sebroeck
0835caa2bf [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes
Some small fixes:
* the status should return 0 and not 1 (1 means:
* wdt_io is not a module-param, io is.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-23 18:21:52 +02:00
Sven Anders & Marcus Junker
00b3b3e660 [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1
Change the driver for proper spin_locking,
remove the TEMP_MINOR stuff,
make sure the device works as a Virtual File System
that is non_seekable,
...

Signed-off-by: Sven Anders <anders@anduras.de>
Signed-off-by: Marcus Junker <junker@anduras.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-23 09:35:53 +02:00
Ben Collins
5cacb9f8bc [alim7101] Add pci dev table for auto module loading.
Also fixes comment for nowayout module param.

Signed-off-by: Ben Collins <bcollins@ubuntu.com>
2006-10-18 08:24:30 -04:00
Sven Anders & Marcus Junker
789fc0adba [WATCHDOG] NS pc87413-wdt Watchdog driver
New watchdog driver for the NS pc87413-wdt Watchdog Timer.
 
Signed-off-by: Sven Anders <anders@anduras.de>
Signed-off-by: Marcus Junker <junker@anduras.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-15 20:04:59 +02:00
Wim Van Sebroeck
cbf40d3f04 [WATCHDOG] remove experimental on iTCO_wdt.c
The iTCO_wdt.c driver has been tested enough. So we can
remove the experimental classification.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-14 20:18:47 +02:00
Andrew Victor
bdcff3458f [WATCHDOG] Atmel AT91RM9200 rename.
The new Atmel AT91SAM9261 and AT91SAM9260 processors use a different
internal watchdog peripheral.  This watchdog driver is therefore
AT91RM9200-specific.

This patch renames at91_wdt.c to at91rm9200_wdt.c, and changes the name
of the configuration option.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-13 23:10:39 +02:00
Jeff Garzik
80060362aa [WATCHDOG] watchdog/iTCO_wdt: fix bug related to gcc uninit warning
gcc emits the following warning:

drivers/char/watchdog/iTCO_wdt.c: In function ‘iTCO_wdt_ioctl’:
drivers/char/watchdog/iTCO_wdt.c:429: warning: ‘time_left’ may be used uninitialized in this function

This indicates a condition near enough to a bug, to want to fix.
iTCO_wdt_get_timeleft() stores a value in 'time_left' iff
iTCO_version==(1 or 2).  This driver only supports versions
1 or 2, so this is ok.  However, since (a) the return value of
iTCO_wdt_get_timeleft() is handled anyway, (b) it fixes the warning,
and (c) it future-proofs the driver, we go ahead and add the obvious
return value.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-11 23:12:31 +02:00
Wim Van Sebroeck
a8edd74e44 [WATCHDOG] add ich8 support to iTCO_wdt.c (patch 2)
Add ICH8 support to the iTCO_wdt driver.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-08 21:05:21 +02:00
Arnaud Patard (Rtp)
bcbf25bd0d [WATCHDOG] add ich8 support to iTCO_wdt.c
Add ICH8 support to the iTCO_wdt driver.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-08 20:44:04 +02:00
Amol Lad
e34477e990 [WATCHDOG] ioremap balanced with iounmap for drivers/char/watchdog/s3c2410_wdt.c
ioremap must be balanced by an iounmap and failing to do so can result
in a memory leak.

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-07 22:43:56 +02:00
David Howells
7d12e780e0 IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.

The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around.  On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).

Where appropriate, an arch may override the generic storage facility and do
something different with the variable.  On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.

Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions.  Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller.  A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.

I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.

This will affect all archs.  Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

	struct pt_regs *old_regs = set_irq_regs(regs);

And put the old one back at the end:

	set_irq_regs(old_regs);

Don't pass regs through to generic_handle_irq() or __do_IRQ().

In timer_interrupt(), this sort of change will be necessary:

	-	update_process_times(user_mode(regs));
	-	profile_tick(CPU_PROFILING, regs);
	+	update_process_times(user_mode(get_irq_regs()));
	+	profile_tick(CPU_PROFILING);

I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().

Some notes on the interrupt handling in the drivers:

 (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
     the input_dev struct.

 (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
     something different depending on whether it's been supplied with a regs
     pointer or not.

 (*) Various IRQ handler function pointers have been moved to type
     irq_handler_t.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-10-05 15:10:12 +01:00
Samuel Tardieu
ff02cfc76a [WATCHDOG] w83697hf/hg WDT driver - Kconfig patch
Update Kconfig for the w83697hf/hg watchdog driver.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:54:26 +02:00
Wim Van Sebroeck
e223f01a82 [WATCHDOG] w83697hf/hg WDT driver - autodetect patch
Change the autodetect code so that it is more generic.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:46:35 +02:00
Samuel Tardieu
3fdee8db01 [WATCHDOG] w83697hf/hg WDT driver - patch 16
This is patch 16 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Add copyright notice for Samuel Tardieu also.

This is the last patch in this series. 

The original description for Samuel's driver was:
driver for the Winbond W83697HF/W83697HG watchdog timer

The Winbond SuperIO W83697HF/HG includes a watchdog that can count from
1 to 255 seconds (or minutes). This drivers allows the seconds mode to
be used. It exposes a standard /dev/watchdog interface. This chip is
currently being used on some motherboards designed by VIA.

By default, the module looks for a chip at I/O port 0x2e. The chip can
be configured to be at 0x4e on some motherboards, the address can be
chosen using the wdt_io module parameter. Using 0 will try to autodetect
the address.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:46:22 +02:00
Samuel Tardieu
b7b9868ba6 [WATCHDOG] w83697hf/hg WDT driver - patch 15
This is patch 15 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Clean-up initialization code - part 2: 
   * the line reading "set second mode & disable keyboard ..."
     is plain wrong, the register being manipulated (CRF4) is
     the counter itself, not the control byte (CRF3) -- looks
     like it has been copied from another driver.
   * I think garbage is being written in CRF3 (the control word)
     as the timeout value is being stored in this register (such
     as 60 for 60 seconds).
   * We only want to set pin 119 to WDTO# mode and leave the rest
     of CR29 like it is.
   * Set count mode to seconds and not minutes.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:46:11 +02:00
Samuel Tardieu
fa69afd3c2 [WATCHDOG] w83697hf/hg WDT driver - patch 14
This is patch 14 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Clean-up initialization code (part 1: remove
   w83697hf_select_wd_register() and
   w83697hf_unselect_wd_register() functions).
 - Make sure that the watchdog device is stopped
   as soon as we found it.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:46:00 +02:00
Samuel Tardieu
089d8139f4 [WATCHDOG] w83697hf/hg WDT driver - patch 13
This is patch 13 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Remove wdt_ctrl (it has been replaced with the
   w83697hf_write_timeout() function) and redo/clean-up
   the start/stop/ping code.
 - Make sure that the watchdog is enabled or disabled
   When starting or stoping the device (with a call
   to w83697hf_set_reg(0x30, ?); ).

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:45:42 +02:00
Samuel Tardieu
d46ab596e2 [WATCHDOG] w83697hf/hg WDT driver - patch 12
This is patch 12 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Add w83697hf_write_timeout() to set the
   watchdog's timeout value.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:45:30 +02:00
Samuel Tardieu
a7933e05d4 [WATCHDOG] w83697hf/hg WDT driver - patch 11
This is patch 11 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Add w83697hf_select_wdt() and w83697hf_deselect_wdt()
   so that the start/stop/ping code can directly talk to
   the watchdog.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:45:21 +02:00
Samuel Tardieu
c81b299625 [WATCHDOG] w83697hf/hg WDT driver - patch 10
This is patch 10 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - check whether the device is really present
   (we *can* probe for the device now).

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:45:11 +02:00
Samuel Tardieu
0cd544763b [WATCHDOG] w83697hf/hg WDT driver - patch 9
This is patch 9 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - add w83697hf_get_reg() and w83697hf_set_reg()
   functions.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:44:59 +02:00
Samuel Tardieu
fe851ebade [WATCHDOG] w83697hf/hg WDT driver - patch 8
This is patch 8 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - add w83697hf_lock function to leave the
   chipsets extended function mode.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:44:47 +02:00
Samuel Tardieu
f7be3328b6 [WATCHDOG] w83697hf/hg WDT driver - patch 7
This is patch 7 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - add w83697hf_unlock function to enter the
   chipsets extended function mode.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:44:33 +02:00
Samuel Tardieu
de710d6871 [WATCHDOG] w83697hf/hg WDT driver - patch 6
This is patch 6 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - The driver works for both the w83697hf
   and the w83697hg chipset's.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:44:21 +02:00
Samuel Tardieu
44d7d3282b [WATCHDOG] w83697hf/hg WDT driver - patch 5
This is patch 5 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Rename the Extended Function Registers to the names
   used in the data-sheet.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:44:08 +02:00
Samuel Tardieu
eb64419e39 [WATCHDOG] w83697hf/hg WDT driver - patch 4
This is patch 4 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - limits the watchdog timeout to 1-63 while this
   device accepts 1-255.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:43:39 +02:00
Samuel Tardieu
db16525e63 [WATCHDOG] w83697hf/hg WDT driver - patch 3
This is patch 3 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - Fix identation.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:43:23 +02:00
Samuel Tardieu
b41a9f59d1 [WATCHDOG] w83697hf/hg WDT driver - patch 2
This is patch 2 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - wdt_io is 2 bytes long. We should do a
   request_region for 2 bytes instead of 1.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:43:13 +02:00
Samuel Tardieu
8de6fc1e20 [WATCHDOG] w83697hf/hg WDT driver - patch 1
This is patch 1 in the series of patches that converts
Marcus Junker's w83697hf watchdog driver to Samuel Tardieau's
w83697hf/hg watchdog driver.

This patch contains following changes:
 - the note concerning tyan motherboards has been copied from
   another driver, This doesn't apply here.
 - the comments concerning CRF6 are wrong as CRF3 is manipulated
   and CRF6 is never read nor written.
 - the comments concerning CRF5 are wrong as CRF4 is manipulated
   and CRF5 is never read nor written.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:43:03 +02:00
Wim Van Sebroeck
196f29c8e8 [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-04 22:42:19 +02:00
Wim Van Sebroeck
c310e2b950 [WATCHDOG] Kconfig clean up
fixed some more trailing spaces.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:42:07 +02:00
Wim Van Sebroeck
ab9d441425 [WATCHDOG] w836?7hf_wdt spinlock fixes.
Add io spinlocks to prevent possible race
conditions between start and stop operations
that are issued from different child processes
where the master process opened /dev/watchdog.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:41:48 +02:00
Wim Van Sebroeck
e0845bf4e1 [WATCHDOG] Kconfig clean-up
* fix typo's according to spellings checker
* Fix some leading and trailing spaces

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:41:37 +02:00
Marcus Junker
f9a8c8913a [WATCHDOG] w83697hf WDT driver
New watchdog driver for the Winbond W83697HF chipset.
 
Signed-off-by: Marcus Junker <junker@anduras.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:41:07 +02:00
Wim Van Sebroeck
aa1fd4d7c3 [WATCHDOG] Winbond SMsC37B787 watchdog fixes
* Added io spinlocking
* Deleted WATCHDOG_MINOR (it's in the miscdevice include
* Changed timer_enabled to use set_bit functions
* WDIOC_GETSUPPORT should return -EFAULT or 0
* timeout should be correct before we initialize the watchdog
* we should initialize the watchdog before we give access
  to userspace
* Third parameter of module_param is not the default or
  initial value

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:36:42 +02:00
Wim Van Sebroeck
8386c8cfb2 [WATCHDOG] Winbond SMsC37B787 - remove trailing whitespace
Remove trailing whitespace.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:36:30 +02:00
Sven Anders
485ae77dc7 [WATCHDOG] Winbond SMsC37B787 watchdog driver
New watchdog driver for the Winbond SMsC37B787 chipset.
 
Signed-off-by: Sven Anders <anders@anduras.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-04 22:36:02 +02:00
Dave Jones
038b0a6d8d Remove all inclusions of <linux/config.h>
kbuild explicitly includes this at build time.

Signed-off-by: Dave Jones <davej@redhat.com>
2006-10-04 03:38:54 -04:00
Linus Torvalds
708e16892e Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (39 commits)
  Add missing maintainer countries in CREDITS
  Fix bytes <-> kilobytes  typo in Kconfig for ramdisk
  fix a typo in Documentation/pi-futex.txt
  BUG_ON conversion for fs/xfs/
  BUG_ON() conversion in fs/nfsd/
  BUG_ON conversion for fs/reiserfs
  BUG_ON cleanups in arch/i386
  BUG_ON cleanup in drivers/net/tokenring/
  BUG_ON cleanup for drivers/md/
  kerneldoc-typo in led-class.c
  debugfs: spelling fix
  rcutorture: Fix incorrect description of default for nreaders parameter
  parport: Remove space in function calls
  Michal Wronski: update contact info
  Spelling fix: "control" instead of "cotrol"
  reboot parameter in Documentation/kernel-parameters.txt
  Fix copy&waste bug in comment in scripts/kernel-doc
  remove duplicate "until" from kernel/workqueue.c
  ite_gpio fix tabbage
  fix file specification in comments
  ...

Fixed trivial path conflicts due to removed files:
   arch/mips/dec/boot/decstation.c, drivers/char/ite_gpio.c
2006-10-03 16:35:11 -07:00
Uwe Zeisberger
f30c226954 fix file specification in comments
Many files include the filename at the beginning, serveral used a wrong one.

Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-10-03 23:01:26 +02:00
Wim Van Sebroeck
f311896a99 [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-03 22:51:18 +02:00
Wim Van Sebroeck
1bef84bea2 [WATCHDOG] iTCO_wdt.c shutdown patch
Since we are using the device driver model,
we don't need to arrange the shutdown via a
reboot_notifier.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-03 21:35:09 +02:00
Wim Van Sebroeck
4802c6533a [WATCHDOG] iTCO_wdt.c - pci_dev_put fix
for_each_pci_dev calls pci_get_device (and thus
it calls pci_dev_get). So we need to do a pci_dev_put
to keep the refcounting correct.
(Thanks to Jiri Slaby <jirislaby@gmail.com>)

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-03 21:34:56 +02:00
Wim Van Sebroeck
3836cc0ff8 [WATCHDOG] iTCO_wdt (Intel TCO Timer) driver
Convert the iTCO_wdt driver to a platform device
driver.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-03 21:34:46 +02:00
Wim Van Sebroeck
9e0ea345ff [WATCHDOG] iTCO_wdt (Intel TCO Timer) driver
Hardware driver for the intel TCO timer based watchdog devices.
These drivers are included in the Intel 82801 I/O Controller
Hub family (from ICH0 up to ICH7) and in the Intel 6300ESB
controller hub.

This driver will replace the i8xx_tco.c driver.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-03 21:34:29 +02:00
Dave Jones
11dc10195a [WATCHDOG] improve machzwd detection
On a machine with no machzwd, loading the module prints out..

machzwd: MachZ ZF-Logic Watchdog driver initializing.
0xffff
machzwd: Watchdog using action = RESET

- the 0xffff printk is unnecessary
- 0xffff seems to be 'hardware not present'
- fix CodingStyle. (This driver could use some more work here)

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-02 23:14:38 +02: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
Ben Dooks
25ff3780d4 [WATCHDOG] s3c24XX nowayout
If the driver is not configured for `no way out`,
then the open method should not automatically allow
the setting of allow_close to CLOSE_STATE_ALLOW.

The setting of allow_close nullifies the use of
the magic close via the write path. It means that
in the default state, the watchdog will shut-down
even if the magic close has not been issued.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2006-10-02 23:07:18 +02:00
Vitaly Wool
65a64ec3b4 [WATCHDOG] pnx4008: add cpu_relax()
Added cpu_relax as suggested by Alan Cox.

Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-02 23:05:38 +02:00
Wim Van Sebroeck
99d2853ac9 [WATCHDOG] pnx4008_wdt.c - spinlock fixes.
Add io spinlocks to prevent possible race
conditions between start and stop operations
that are issued from different child processes
where the master process opened /dev/watchdog.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-02 23:05:28 +02:00
Wim Van Sebroeck
f676449785 [WATCHDOG] pnx4008_wdt.c - remove patch
Change remove code so that we first detach
the driver from userspace, then clean up the
clock and then clean up the memory we allocated.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-02 23:05:16 +02:00
Wim Van Sebroeck
2898172708 [WATCHDOG] pnx4008_wdt.c - nowayout patch
Change nowayout to: WATCHDOG_NOWAYOUT as defined
in include/linux/watchdog.h .

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-02 23:05:06 +02:00
Vitaly Wool
9325fa3615 [WATCHDOG] pnx4008: add watchdog support
Add watchdog support for Philips PNX4008 ARM board inlined.

Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-10-02 23:02:37 +02:00
Jiri Slaby
92dd9994c3 [WATCHDOG] i8xx_tco remove pci_find_device.
Use refcounting for pci device obtaining.
Use PCI_DEVICE macro.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: Andrew Morton <akpm@osdl.org>
2006-10-02 22:56:20 +02:00
Jiri Slaby
02be2ee9e0 [WATCHDOG] alim remove pci_find_device
Convert pci_find_device to pci_get_device + pci_dev_put
in alim watchdog cards' drivers (refcounting).

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-10-02 22:55:51 +02:00
Komal Shah
7768a13c25 [PATCH] OMAP: Add Watchdog driver support
Add Texas Instruments (TI) OMAP1/2 (http://www.ti.com/omap) based
processors, like OMAP1610/1710/242x.

[akpm@osdl.org: cleanups]
Cc: <gdavis@mvista.com>
Cc: "Komal Shah" <komal_shah802003@yahoo.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-29 09:18:07 -07:00
Paul Mundt
f118420be8 watchdog: Add a simple mmap() stub for shwdt.
In some applications people have expressed a need for an mmap() method,
so we implement a simple stub for this that maps back a page with the
counter in it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27 17:53:59 +09:00
Paul Mundt
e4c2cfee5d sh: Various cosmetic cleanups.
We had quite a bit of whitespace damage, clean most of it up..

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27 12:31:01 +09:00
Ian E. Morgan
290995fc3c [PATCH] SBC8360: module_param() permission fixes
The last argument of module_param is permissions, not default value.

Acked-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-01 11:39:08 -07:00
Matt LaPlante
2621e2a155 [WATCHDOG] Kconfig typos fix.
Three typos in drivers/char/watchdog/Kconfig...

Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-08-15 11:17:22 +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
Thomas Gleixner
0f2ed4c6ba [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-02 13:58:49 -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
Andrew Victor
dfc7bd9c38 [WATCHDOG] convert AT91RM9200 watchdog to platform driver
Converted to a platform driver.
Added suspend/resume support - the watchdog is disabled during the
sleep states.

Original patch from David Brownell.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-06-20 19:15:52 +02:00
Wim Van Sebroeck
58b519f3e5 [WATCHDOG] add WDIOC_GETTIMELEFT ioctl
Some watchdog drivers have the ability to report the remaining time
before the system will reboot. With the WDIOC_GETTIMELEFT ioctl
you can now read the time left before the watchdog would reboot
your system.

The following drivers support this new IOCTL:
i8xx_tco.c, pcwd_pci.c and pcwd_usb.c .

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-06-20 19:00:30 +02:00
Ben Dooks
655516c80c [WATCHDOG] s3c2410_wdt.c stop watchdog after boot
If the s3c2410 watchdog timer is not enabled by
the driver at startup, ensure that it is stopped
in-case the boot process has enabled it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-05-15 21:38:14 +02:00
Wim Van Sebroeck
03a8e359cf [WATCHDOG] i8xx_tco.c - remove support for ICH6 + ICH7
Temporary remove support for ICH6 + ICH7. In these newer TCO's
the watchdog timer has changed: the TCO_TMR register is not at
the TCOBASE+0x1 offset, but changed it's place to TCOBASE+0x12
and became 10 bit long [0:9]. (Kernel BUG 6031).

ICH6 + ICH7 support will be added in a new driver. Code is
under test.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-05-15 21:37:58 +02:00
Dave Jones
7071e522a5 [WATCHDOG] sc1200wdt.c printk fix
Fix printk output.

sc1200wdt: build 20020303<3>sc1200wdt: io parameter must be specified

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-05-15 21:37:36 +02:00
Andrew Victor
853807fb50 [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver
Watchdog driver for the Atmel AT91RM9200 processor.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-04-02 18:52:01 +02:00
Adrian Bunk
c9d1a0b8d5 [WATCHDOG] pcwd_usb.c: fix a NULL pointer dereference
The Coverity checker noted that this resulted in a NULL pointer
reference if we were coming from

        if (usb_pcwd == NULL) {
                printk(KERN_ERR PFX "Out of memory\n");
                    goto error;
        }

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-04-02 18:51:50 +02:00
Wim Van Sebroeck
6bbc20bc0b [WATCHDOG] pcwd.c sprintf/strcpy fix
change sprintf(pcwd_private.fw_ver_str, "ERROR");
to strcpy... as pointed out by Andrew Morton.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-04-02 18:51:40 +02:00
Wim Van Sebroeck
369fa25294 [WATCHDOG] pcwd.c general clean-up after patches
removal of includes (since we don't use kmalloc and
TASK_INTERRUPTABLE anymore).
Addition of missing commands.
Printk that lets the user know when the module was
unloaded.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-04-02 18:51:24 +02:00
Wim Van Sebroeck
c324ab4281 [WATCHDOG] pcwd.c add debug info
Add debugging info for the pcwd.c module.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-04-02 18:51:15 +02:00
Wim Van Sebroeck
69f83d5216 [WATCHDOG] pcwd.c pcwd_cleanup_module patch
static void pcwd_cleanup_module doesn't need a return;

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-04-02 18:50:57 +02:00
Wim Van Sebroeck
2891b6ad18 [WATCHDOG] pcwd.c firmware-info patch
Get the firmware version into the private data struct
of the ISA-PC watchdog card.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-04-02 18:39:48 +02:00
Wim Van Sebroeck
4206f0c4de [WATCHDOG] pcwd.c control status patch
Clean-up the control status code (insert tabs where relevant),
Add new Control Status defines, Make sure that the R2DS bit
stays the same.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-04-02 18:36:43 +02:00
Alessandro Zummo
f52ac8fec8 [PATCH] cirrus ep93xx watchdog driver
Add a driver for the on-chip watchdog on the cirrus ep93xx series of ARM
CPUs.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-25 08:22:49 -08:00
Ingo Molnar
6f87f0deeb [PATCH] sem2mutex: drivers/char/
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-23 07:38:11 -08: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
David Vrabel
489447380a [PATCH] handle errors returned by platform_get_irq*()
platform_get_irq*() now returns on -ENXIO when the resource cannot be
found.  Ensure all users of platform_get_irq*() handle this error
appropriately.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 13:42:57 -08:00
Wim Van Sebroeck
a7122f9169 [WATCHDOG] pcwd.c - update module version info
Update the module version defines.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:46:48 +01:00
Wim Van Sebroeck
af3b38d99d [WATCHDOG] pcwd.c show card info patch
Put all code for showing the card's boot info in
one sub-routine.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:46:43 +01:00
Wim Van Sebroeck
85875211ac [WATCHDOG] pcwd.c move get_support to pcwd_check_temperature_support
Rename get_support function to pcwd_check_temperature_support
so that it is clearer what the function does.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:46:39 +01:00
Wim Van Sebroeck
8f0235dccc [WATCHDOG] pcwd.c Control Status #2 patch
Add Control Status #2 bits (with defines)

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:46:32 +01:00
Wim Van Sebroeck
a2be878600 [WATCHDOG] pcwd.c private data struct patch
more private data of the card to one struct.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:46:25 +01:00
Wim Van Sebroeck
f1c3a0567a [WATCHDOG] pcwd.c card_found-- fix.
When doing a __devexit from a card we should also
decrement the cards_found counter.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:46:11 +01:00
Wim Van Sebroeck
fd41fa616f [WATCHDOG] pcwd.c add comments + tabs
add extra comments for the include files
changes spaces by tabs where it is appropriate.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 14:45:56 +01:00
Ian Campbell
3a69e57913 [WATCHDOG] sa1100_wdt.c sparse clean (2)
The following makes drivers/char/watchdog/sa1100_wdt.c sparse clean.
(similar to the other watchdog drivers)

Signed-off-by: Ian Campbell <icampbell@arcom.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-02-12 12:58:17 +01:00
Al Viro
73a09e626b [PATCH] drivers/char/watchdog/sbc_epx_c3.c __user annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-02-07 20:57:58 -05:00
Alan Cox
de6c642ca9 [PATCH] SBC EPX does not check/claim I/O ports it uses (2nd Edition)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-03 08:32:02 -08:00
Ian Campbell
a073404272 [WATCHDOG] sa1100_wdt.c sparse cleanups
The following makes drivers/char/watchdog/sa1100_wdt.c sparse clean.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2006-01-15 21:06:13 +01:00
Kumar Gala
fabbfb9e8c [PATCH] powerpc: Add support for the MPC83xx watchdog
Add support for the PowerPC MPC83xx watchdog.  The MPC83xx has a simple
watchdog that once enabled it can not be stopped, has some simple timeout
range selection, and the ability to either reset the processor or take a
machine check.

Signed-off-by: Dave Updegraff <dave@cray.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-14 18:27:07 -08:00
Calin A. Culianu
eed6565f70 [PATCH] Watchdog: Winsystems EPX-C3 SBC
This is a 2.6 patch that adds support for the watchdog timer built into the
EPX-C3 single board computer manufactured by Winsystems, Inc.

Driver details:

This is for x86 only.  This watchdog is pretty basic and simple.  It is
only configurable via jumpers on the SBC, and it only has either a 1.5s or
200s interval.  The watchdog can either be auto-configured to start as soon
as the machine powers up (bad idea for the 1.5s interval!) or it can be
enabled and disabled by writing to io port 0x1ee.  Petting the watchdog
involves writing any value to io port 0x1ef.

The only unfortunate thing about this watchdog (and it is not at all
uncommmon in watchdogs that linux supports) is that it is not a PCI or
ISA-PNP device and as such it isn't at all probeable.  Either the watchdog
exists as 2 bytes at 0x1ee, or it doesn't.  Thus, using this driver on a
machine that doesn't have that watchdog can potentially hang/crash the
system, etc.  So only use this driver if you in fact are on a Winsystems
EPX-C3 SBC.

Anyway this driver fits into the already-existing watchdog framework quite
nicely and I already tested it on my EPX-C3 and it works like a charm.

Signed-off-by: Calin A. Culianu <calin@ajvar.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-14 18:27:07 -08:00
Steven Rostedt
3fe0c27761 [PATCH] mutex subsystem, semaphore to completion: CPU3WDT
change CPU3WDT semaphores to completions.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
2006-01-09 15:59:26 -08:00
Linus Torvalds
6150c32589 Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge 2006-01-09 10:03:44 -08:00
Woody Suwalski
4dab06fa7b [PATCH] ARM Netwinder watchdog wdt977 update
Cleanup for the ARM-only watchdog driver wdt977.

This is probably the last update, since we want to merge with w83977f_wdt.
Jose Goncalves has ported this driver to i386, so probably we can iron out
configuration differences.

Signed-off-by: Woody Suwalski <woodys@xandros.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:12:39 -08:00
Marcelo Tosatti
398f68580f [PATCH] powerpc/8xx: Fix m8xx_wdt issues
The following fixes some issues with the last mpc8xx_wdt update:

- Adds missing #include <asm/io.h>
- Use "uint __iomem" pointer for in_be32/out_be32

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-01-09 14:52:01 +11:00
Marcelo Tosatti
fb64c2446b [PATCH] ppc32: m8xx watchdog update
This updates m8xx_wdt as follows:

1) Remove now obsolete fpos check in the write() function. The driver is
currently non functional due to this bug.

2) Use in/out macros for register access.

3) Allows m8xx_wdt to use a kernel timer instead of the builtin RTC/PIT
for keep-alive trigger (which is responsible for servicing the watchdog
until an userspace application takes over). For instance Cyclades PRxK
boards (MPC 855T based) have a non-functional internal RTC/PIT unit.
Behaviour for boards with RTC/PIT is unchaged.

4) The last change required moving the RTCSC register setting code
to a weak function which can be overriden by board specific files.
Otherwise the timer init code trashes the register making it impossible
for m8xx_wdt to detect the situation.

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-01-09 14:50:51 +11:00
Russell King
f8ce25476d [ARM] Move asm/hardware/clock.h to linux/clk.h
This is needs to be visible to other architectures using the AMBA
bus and peripherals.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-01-07 16:15:52 +00:00
Russell King
123656d4cc Merge with Linus' kernel. 2006-01-07 14:40:05 +00:00
Martin Schwidefsky
347a8dc3b8 [PATCH] s390: cleanup Kconfig
Sanitize some s390 Kconfig options.  We have ARCH_S390, ARCH_S390X,
ARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT.  Replace these 6 options by
S390, 64BIT and COMPAT.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-06 08:33:53 -08:00
Deepak Saxena
3adfd4e2b8 [PATCH] Fix IXP4xx watchdog errata workaround
The IXP4xx driver bails out on all A0 CPUs, but it should only do
so on IXP42x as IXP46x has functioning HW.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-04 16:47:42 -08:00
Greg Kroah-Hartman
75318d2d7c [PATCH] USB: remove .owner field from struct usb_driver
It is no longer needed, so let's remove it, saving a bit of memory.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:48:34 -08:00
Russell King
a8d3584a2d [ARM] Remove clk_use()/clk_unuse()
It seems that clk_use() and clk_unuse() are additional complexity
which isn't required anymore.  Remove them from the clock framework
to avoid the additional confusion which they cause, and update all
ARM machine types except for OMAP.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-01-03 18:41:37 +00:00
Al Viro
a78719c387 [PATCH] ppc: booke_wdt compile fix
booke_wdt.c had been missed in cpu_specs[] removal sweep

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-16 14:43:05 -08:00
Al Viro
538bacf8a4 [PATCH] __user annotations (booke_wdt.c)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-15 10:04:30 -08:00
Al Viro
e896fd9861 [PATCH] wdrtas.c: fix __user annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-15 10:04:30 -08:00
Marcelo Tosatti
9ddf61bd09 [ARM SMP] mpcore_wdt bogus fpos check
drivers/char/watchdog/mpcore_wdt.c write function contains a check for
(ppos != &file->f_pos). Such check used to make sense when a pointer to
file->f_pos was handed by vfs_write(), not a copy of it as it stands
now.

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-12-05 10:15:06 +00:00
Kumar Gala
4c8d3d997e [PATCH] Update email address for Kumar
Changed jobs and the Freescale address is no longer valid.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-13 18:14:10 -08:00
Linus Torvalds
5643f000c1 Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00
Greg Kroah-Hartman
249bb070f5 [PATCH] PCI: removed unneeded .owner field from struct pci_driver
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-11-10 16:09:17 -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
Wim Van Sebroeck
b3faed6373 [WATCHDOG] pcwd_pci.c update comments
update copyright + update bells and whistles driver for v2.6

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-11-01 19:31:48 +01:00
Pozsar Balazs
d05101738a [WATCHDOG] w83627hf_wdt trivial typo
The most trivial typo fix in the world.

Signed-off-by: Pozsar Balazs <pozsy@uhulinux.hu>
Signed-off-by: Pdraig Brady <P@draigBrady.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-11-01 19:31:37 +01:00
Ben Dooks
30da9404bc [WATCHDOG] s3c2410 wdt - add .owner field
Initialise the .owner field of the device driver
with the module that owns it, for easier tracking
of device driver ownership.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-11-01 19:31:19 +01:00
Linus Torvalds
4fd5f8267d Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel
Manual #include fixups for clashes - there may be some unnecessary
2005-10-31 07:32:56 -08:00
Tim Schmielau
4e57b68178 [PATCH] fix missing includes
I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.

In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch.  This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other.  So if any
hunk rejects or gets in the way of other patches, just drop it.  My scripts
will pick it up again in the next round.

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:32 -08:00
Laurent Riffard
ed8b39d0aa [PATCH] watchdog: update .owner field of struct pci_driver
This updates .owner field of struct pci_driver.

This allows SYSFS to create the symlink from the driver to the module which
provides it.

Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:26 -08: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
Russell King
9480e307cd [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks
In PM v1, all devices were called at SUSPEND_DISABLE level.  Then
all devices were called at SUSPEND_SAVE_STATE level, and finally
SUSPEND_POWER_DOWN level.  However, with PM v2, to maintain
compatibility for platform devices, I arranged for the PM v2
suspend/resume callbacks to call the old PM v1 suspend/resume
callbacks three times with each level in order so that existing
drivers continued to work.

Since this is obsolete infrastructure which is no longer necessary,
we can remove it.  Here's an (untested) patch to do exactly that.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:56 -07:00
Linus Torvalds
58a2c3221e Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2005-10-08 14:58:25 -07: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
Wim Van Sebroeck
195331d7c9 [WATCHDOG] pcwd_pci.c add debug module_param
Add debugging code for the pcwd_pci driver.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-29 16:22:30 +02:00
Wim Van Sebroeck
a0800f6da7 [WATCHDOG] pcwd_pci.c control status + boot-code clean-up
* Clean-up control status code (use control status defines +
  change pcipcwd_clear_status)
* Clean-up boot-code (move card info to pcipcwd_show_card_info() )

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-29 16:21:50 +02:00
Russell King
ad4162f371 [ARM SMP] Add timer/watchdog defines for MPCore
The timer/watchdog register definitions were missing from
the mpcore watchdog patch.  Add them.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-09-14 09:56:38 +01:00
Linus Torvalds
a8cd2e5045 Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2005-09-13 09:45:20 -07:00
Russell King
b9d36b851a [ARM SMP] Add MPCore watchdog driver
Add platform independent parts of the ARM MPCore watchdog driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-09-12 22:56:56 +01:00
Wim Van Sebroeck
c315b7e840 [WATCHDOG] pcwd_pci-include+WDIOC_SETOPTIONS-patch
Clean-up includes
Check results for start + stop in the WDIOC_SETOPTIONS ioctl call

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-12 09:38:26 +02:00
Wim Van Sebroeck
3908bb1867 [WATCHDOG] sbc8360+w83977f_wdt-consolidate_CONFIG_WATCHDOG_NOWAYOUT_handling
Attached patch removes #ifdef CONFIG_WATCHDOG_NOWAYOUT mess and
replaces it with common define in linux/watchdog.h.

Signed-Off-By: Wim Van Sebroeck <wim@iguana.be>
2005-09-12 09:37:41 +02:00
Jose Miguel Goncalves
b4cc4aa24c [WATCHDOG] w83977f-watchdog-driver.patch
In a project for my company I've needed to use the watchdog device in a
PCM-5335 SBC from AAEON.  The watchdog timer is from a Winbond's SuperIO
chip, the W83977F.

I've made this driver based on two others already on the kernel tree,
the w83877f_wdt and the wdt977.

Signed-off-by: Jose Goncalves <jose.goncalves@inov.pt>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-12 09:34:39 +02:00
Ian E. Morgan
3809ad384a [WATCHDOG] New SBC8360 watchdog driver (revised)
New SBC8360 watchdog driver patch

From: Ian E. Morgan <imorgan@webcon.ca>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 22:14:27 +02:00
Wim Van Sebroeck
266aa1c4b3 [WATCHDOG] driver-for-ibm-automatic-server-restart-watchdog-fix2.patch
The device/watchdog has a fixed timeout/heartbeat.
So we don't support the WDIOC_SETTIMEOUT ioctl call
and we also may not set the WDIOF_SETTIMEOUT flag.

Cc: Andrey Panin <pazke@donpac.ru>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2005-09-11 22:11:40 +02:00
Andrew Morton
cd7b80079b [WATCHDOG] driver-for-ibm-automatic-server-restart-watchdog-fix
Add fixed timeout comments

Cc: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 22:09:54 +02:00
Andrey Panin
d532134d4c [WATCHDOG] driver-for-ibm-automatic-server-restart-watchdog.patch
This patch adds driver for IBM Automatic Server Restart watchdog hardware
found in some IBM eServer xSeries machines.  This driver is based on the ugly
driver provided by IBM.  Driver was tested on IBM eServer 226.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 22:07:34 +02:00
David Hardeman
abda5c8bd2 [WATCHDOG] i6300.h-removal-patch
the attached patch moves the content of drivers/char/watchdog/i6300.h
into drivers/char/watchdog/i6300.c, since it is the only file using the
defines there is no real reason to have a separate header.

Also cleaned up the comments a bit and added myself to the copyright
holders.

Signed-off-by: David Hardeman <david@2gen.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 22:01:58 +02:00
Jiri Slaby
bb5dc36644 [WATCHDOG] i6300esb.c-2-bugs-little-cleanup.patch
In i6300esb.c watchdog card driver were 2 bugs (misused pc_match_device and
pci_dev_put wasn't called in one error case) and one little cleanup was
done (long line was converted to a shorter one with using built-in macro).

Signed-off-by: Jiri Slaby <xslaby@fi.muni.cz>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 21:56:10 +02:00
Naveen Gupta
811f999160 [WATCHDOG] i6300esb.c-pci_dev_put+nowayout-patch
One pci_dev_put was misused (there was one case without putting
the device).
Changed nowayout according to other drivers.

Signed-off-by: Jiri Slaby <xslaby@fi.muni.cz>
Signed-off-by: Naveen Gupta <ngupta@google.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 21:53:32 +02:00
Naveen Gupta
ce2f50b4ae [WATCHDOG] i6300esb-set_correct_reload_register_bit
This patch writes into bit 8 of the reload register to perform the
correct 'Reload Sequence' instead of writing into bit 4 of Watchdog for
Intel 6300ESB chipset.

Signed-off-by: Naveen Gupta <ngupta@google.com>
Signed-off-by: David Hardeman <david@2gen.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 21:51:18 +02:00
Naveen Gupta
28562af3d4 [WATCHDOG] i6300esb.c-WDT_ENABLE-bug
This patch sets the WDT_ENABLE bit of the Lock Register to enable the
watchdog and WDT_LOCK bit only if nowayout is set. The old code always
sets the WDT_LOCK bit of watchdog timer for Intel 6300ESB chipset. So, we
end up locking the watchdog instead of enabling it.

Signed-off-by: Naveen Gupta <ngupta@google.com>
Signed-off-by: David Hardeman <david@2gen.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-09-11 21:48:46 +02:00