summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
AgeCommit message (Collapse)AuthorFilesLines
2008-06-20[watchdog] hpwdt: fix use of inline assemblyLinus Torvalds1-75/+80
The inline assembly in drivers/watchdog/hpwdt.c was incredibly broken, and included all the function prologue and epilogue stuff, even though it was itself then inside a C function where the compiler would add its own prologue and epilogue on top of it all. This then just _happened_ to work if you had exactly the right compiler version and exactly the right compiler flags, so that gcc just happened to not create any prologue at all (the gcc-generated epilogue wouldn't matter, since it would never be reached). But the more proper way to fix it is to simply not do this. Move the inline asm to the top level, with no surrounding function at all (the better alternative would be to remove the prologue and make it actually use proper description of the arguments to the inline asm, but that's a bigger change than the one I'm willing to make right now). Tested-by: S.Çağlar Onur <caglar@pardus.org.tr> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-18Revert "[WATCHDOG] hpwdt: Fix NMI handling."Wim Van Sebroeck1-12/+15
The old setup works better. Signed-off-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-06-17[WATCHDOG] hpwdt: Add CFLAGS to get driver workingThomas Mingarelli1-0/+1
To get this driver working we need the CFLAGS_hpwdt.o += -O in the Makefile. Signed-off-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-06-17Revert "[WATCHDOG] make watchdog/hpwdt.c:asminline_call() static"Thomas Mingarelli1-4/+4
The driver needs the asmlinkage tag and the CFLAGS line in the Makefile. Without it the driver doesn't work. Signed-off-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-05-30drivers/watchdog/geodewdt.c: build fixIngo Molnar1-2/+1
* Wim Van Sebroeck <wim@iguana.be> wrote: > Author: Jordan Crouse <jordan.crouse@amd.com> > Date: Mon Jan 21 10:07:00 2008 -0700 > > [WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timers -tip testing found the following build failure on latest -git: drivers/watchdog/geodewdt.c: In function 'geodewdt_probe': drivers/watchdog/geodewdt.c:225: error: too many arguments to function 'geode_mfgpt_alloc_timer' make[1]: *** [drivers/watchdog/geodewdt.o] Error 1 make: *** [drivers/watchdog/geodewdt.o] Error 2 with this config: http://redhat.com/~mingo/misc/config-Fri_May_30_15_19_52_CEST_2008.bad find the fix below. Signed-off-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jordan Crouse <jordan.crouse@amd.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-05-25[WATCHDOG] Add ICH9DO into the iTCO_wdt.c driverGabriel C1-5/+9
Add the Intel ICH9DO controller ID's for the iTCO_wdt kernel driver and bump the driver version. Tested on an P5E-VM DO ASUS motherboard. Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-05-25[WATCHDOG] Fix booke_wdt.c on MPC85xx SMP system'sChen Gong1-48/+40
On Book-E SMP systems each core has its own private watchdog. If only one watchdog is enabled, when the core that doesn't enable the watchdog is hung, system can't reset because no watchdog is running on it. That's bad. It means we must enable watchdogs on both cores. We can use smp_call_function() to send appropriate messages to all the other cores to enable and update the watchdog. Signed-off-by: Chen Gong <g.chen@freescale.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-05-25[WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timersJordan Crouse3-0/+323
Add a watchdog timer based on the MFGPT timers in the CS5535/CS5536 companion chips to the AMD Geode GX and LX processors. Only caveat is that the BIOS must provide at least a one free timer, and most do not. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-05-25[WATCHDOG] hpwdt: Fix NMI handling.Mingarelli, Thomas1-15/+12
I need to just return in case it's not my NMI so someone else can take a look at it (and reset die_nmi_called to 0 in case I actually do get one that's mine to handle). Signed-off-by: Thomas Mingarelli <thomas.mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-05-25[WATCHDOG] Blackfin Watchdog Driver: split platform device/driverMike Frysinger1-40/+71
- split platform device/driver registering from actual watchdog device/driver registering so that we can cleanly load/unload - fixup __initdata with __initconst and __devinitdata with __devinitconst Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-05-25[WATCHDOG] Add w83697h_wdt early_disable optionSamuel Tardieu1-1/+26
Pádraig Brady requested the possibility of not disabling the watchdog at module load time or kernel boot time if it had been previously enabled in the bios. It may help rebooting the machine if it freezes before the userland daemon kicks in. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Cc: Pádraig Brady <P@draigBrady.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-05-25[WATCHDOG] Make w83697h_wdt timeout option string similar to othersSamuel Tardieu1-1/+1
Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-05-25[WATCHDOG] Make w83697h_wdt void-like functions voidSamuel Tardieu1-6/+3
Some non-exported functions always returned 0. Mark them void instead. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-04-18Convert asm/semaphore.h users to linux/semaphore.hMatthew Wilcox1-1/+1
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
2008-04-11watchdog: fix platform driver hotplug/coldplugKay Sievers12-0/+20
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable watchdog drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers; registration fixes] Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Wim Van Sebroeck <wim@iguana.be> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-06[WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdogAndrew Paprocki1-0/+2
I noticed this while testing the latest code. I'm not sure if it is required, but the normal (or LSB) timeout value is set to zero, so the MSB should be as well to stay consistent. If the chip revision is >= 8, set MSB of the 16-bit timeout value to zero when disabling the watchdog in it8712f_wdt_disable(). Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-04-01[WATCHDOG] Fix it8712f_wdt.c wrong byte order accessing WDT_TIMEOUTOliver Schuster1-12/+2
This patch corrects an error in the driver it8712f_wdt. You cannot set the 16-bit WDT_TIMEOUT access as a 16-bit outw, because the byte ordering will be wrong. So just do the high 8 bits as a separate access. Signed-off-by: Oliver Schuster <olivers137@aol.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-03-06[WATCHDOG] make watchdog/hpwdt.c:asminline_call() staticAdrian Bunk1-4/+4
This patch makes the needlessly global asminline_call() static and removes the not required "asmlinkage". Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Cc: Andrew Morton <akpm@linux-foundation.org>
2008-03-06[WATCHDOG] Remove volatiles from watchdog device structuresFlorian Fainelli2-4/+4
Remove the volatile since those are useless in such a structure. Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-03-06[WATCHDOG] replace remaining __FUNCTION__ occurrencesHarvey Harrison4-8/+8
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-03-06[WATCHDOG] hpwdt: Use dmi_walk() instead of own copyRoland Dreier1-183/+20
We can simplify the code by deleting all of the duplicated DMI table walking code and using the kernel's existing dmi_walk() interface to find the DMI entry the driver is looking for. Signed-off-by: Roland Dreier <rolandd@cisco.com> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-03-06[WATCHDOG] Fix return value warning in hpwdtRoland Dreier1-11/+8
The return value of smbios_scan_machine() is never used, and when it succeeds it doesn't return anything, so just make it void. This fixes: drivers/watchdog/hpwdt.c: In function 'smbios_scan_machine': drivers/watchdog/hpwdt.c:562: warning: control reaches end of non-void function Signed-off-by: Roland Dreier <rolandd@cisco.com> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-03-06[WATCHDOG] Fix declaration of struct smbios_entry_point in hpwdtRoland Dreier1-1/+1
On my HP DL380 G5 system running a 64-bit kernel, loading the hpwdt driver causes a crash because the driver attempts to ioremap an invalid physical address. This is because the driver has an incorrect definition of the SMBIOS table entry point structure: the table address is only a 32-bit quantity, and making it a u64 means that the high-order 32 bits end up containing garbage. Correcting the structure definition fixes the driver so that it loads without any problems on my system. Signed-off-by: Roland Dreier <rolandd@cisco.com> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-03-06[WATCHDOG] it8712f_wdt support for 16-bit timeout values, WDIOC_GETSTATUSAndrew Paprocki1-14/+64
This patch adds support for 16-bit watchdog timeout values which are available in chip revisions >= 0x08. Values <= 65535 are seconds precision, otherwise minutes precision is used up to a maximum value of 3932100. Added implementation for WDIOC_GETSTATUS which checks the WDT status bit in the WDT control register. Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-02-18[WATCHDOG] HP ProLiant WatchDog driverThomas Mingarelli3-0/+939
Hp is providing a Hardware WatchDog Timer driver that will only work with the specific HW Timer located in the HP ProLiant iLO 2 ASIC. The iLO 2 HW Timer will generate a Non-maskable Interrupt (NMI) 9 seconds before physically resetting the server, by removing power, so that the event can be logged to the HP Integrated Management Log (IML), a Non-Volatile Random Access Memory (NVRAM). The logging of the event is performed using the HP ProLiant ROM via an Industry Standard access known as a BIOS Service Directory Entry. Signed-off-by: Thomas Mingarelli <thomas.mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-02-18[WATCHDOG] blackfin Watchdog driver: relocate all strings used in __init ↵Mike Frysinger1-3/+4
functions to __initdata Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-02-18[WATCHDOG] Convert mtx1 wdt to be a platform device and use generic GPIO APIFlorian Fainelli1-5/+30
This patch converts the MTX-1 to be a platform device, use the available generic GPIO API for the MTX-1 board and register the miscdev alias. Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-02-18[WATCHDOG] Add support for SB1 hardware watchdogAndrew Sharp3-0/+367
Support watchdog timers built into SiByte MIPS SoCs. Signed-off-by: Andy Sharp <andy.sharp@onstor.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-02-03drivers/watchdog/: Spelling fixesJoe Perches1-1/+1
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Adrian Bunk <bunk@kernel.org>
2008-01-29[WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG dependsThomas Bogendoerfer1-1/+1
Use SGI_HAS_INDYDOG for INDYDOG depends. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-01-25[WATCHDOG] constify function pointer tablesJan Engelhardt5-5/+5
"static struct file_operations" should be "static const struct file_operations". Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-01-25[WATCHDOG] TXx9 watchdog driverAtsushi Nemoto3-0/+283
This is a driver for watchdog timer built into TXx9 MIPS SoCs. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-01-25[WATCHDOG] misc_register patch Wim Van Sebroeck7-60/+60
Make sure that we first do a register_reboot_notifier before we do a misc_register. A misc_register opens the interface to userspace and it's best to do this as the last action. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2008-01-25[WATCHDOG] wdt: fix lockingAlan Cox1-3/+27
The audit of _p usage shows various drivers assume inb_p is somehow atomic. Of course it isn't and the delay can be split from the I/O cycle causing a timing violation on chips that matter (eg this one) With the proposed use of udelay() for some _p delays this will cease to be a mostly theoretical bug (as the delay stall is unsplittable) and wants fixing. Lots of other drivers need fixing this way too. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2008-01-25[AVR32] Add support for AT32AP7001 and AT32AP7002Haavard Skinnemoen1-1/+1
These are derivatives of the AT32AP7000 chip, which means that most of the code stays the same. Rename a few files, functions, definitions and config symbols to reflect that they apply to all AP700x chips, and exclude some platform devices from chips where they aren't present. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2008-01-18[WATCHDOG] Revert "Stop looking for device as soon as one is found"Wim Van Sebroeck1-3/+1
This reverts commit 3ff6eb4a2fe5757cbe7c5d57c8eb60ab0775f2f0. the !found check in the for loop allready made sure that only one device was found. Signed-Off-By: Pádraig Brady <P@draigBrady.com> Signed-Off-By: Wim Van Sebroeck <wim@iguana.be>
2007-12-04[WATCHDOG] add Nano 7240 driverGilles Gigan3-0/+338
Adds support for the built-in watchdog on EPIC Nano 7240 boards from IEI. Tested on Nano-7240RS. Hardware documentation of the platform (including watchdog) can be found on the IEI website: http://www.ieiworld.com Signed-off-by: Gilles Gigan <gilles.gigan@gmail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-11-19[WATCHDOG] IT8212F watchdog driverJorge Boncompte [DTI2]3-0/+411
This patch adds support for the ITE Tech Inc. IT8712F EC-LPC Super I/O chipset found on many Pentium III and AMD motherboards. Developed using code from other watchdog drivers and the datasheet on ITE Tech homepage. Signed-off-by: Jorge Boncompte <jorge@dti2.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-11-19[WATCHDOG] bfin_wdt, remove SPIN_LOCK_UNLOCKEDJiri Slaby1-1/+1
bfin_wdt, remove SPIN_LOCK_UNLOCKED SPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Acked-by: Mike Frysinger <vapier.adi@gmail.com> Cc: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-11-19[WATCHDOG] Stop looking for device as soon as one is foundSamuel Tardieu1-1/+3
If no address is given for the W83697HF/HG watchdog IO port, stop looping through possible locations when a watchdog device has been found. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-11-19[WATCHDOG] at32ap700x_wdt: add support for boot status and add fix for ↵Hans-Christian Egtvedt1-4/+65
silicon errata This patch enables the watchdog to read out the reset cause after a boot and provide this to the user. The driver will now also return -EIO if probed when booting from a watchdog reset. This is due to a silicon errata in the AT32AP700x devices. Detailed description and work-arounds can be found in the errata section of the datasheet avilable from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-11-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdogLinus Torvalds21-109/+92
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] iTCO_wdt.c ICH8 pci-device-id's [WATCHDOG] iTCO_wdt.c init & exit fixes [WATCHDOG] iTCO_wdt.c pci_device_id table clean-up [WATCHDOG] spin_lock_init() fixes [WATCHDOG] Unlock in iTCO_wdt_start when reboot is disabled [WATCHDOG] Add necessary braces to if (...) \n #if... cases [WATCHDOG] trivial fix two returns in void functions
2007-11-02[WATCHDOG] iTCO_wdt.c ICH8 pci-device-id'sWim Van Sebroeck1-4/+12
Add the pci-device-id's for the ICH8M and the ICH8M-E chipsets. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-11-02[WATCHDOG] iTCO_wdt.c init & exit fixesWim Van Sebroeck1-5/+5
Mark init and exit procedures as __devinit & _-devexit. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-11-02[WATCHDOG] iTCO_wdt.c pci_device_id table clean-upWim Van Sebroeck1-39/+48
Make the pci_device_id table more readable. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-11-02[WATCHDOG] spin_lock_init() fixesAlexey Dobriyan19-57/+20
Some watchdog drivers initialize global spinlocks in module's init function which is tolerable, but some do it in PCI probe function. So, switch to static initialization to fix theoretical bugs and, more importantly, stop giving people bad examples. Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-10-30Kbuild/doc: fix links to Documentation filesDirk Hohndel1-2/+2
Fix links to files in Documentation/* in various Kconfig files Signed-off-by: Dirk Hohndel <hohndel@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-27[WATCHDOG] Unlock in iTCO_wdt_start when reboot is disabledRoel Kluin1-0/+1
Unlock in iTCO_wdt_start when reboot is disabled Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2007-10-25[WATCHDOG] Add necessary braces to if (...) \n #if... casesIlpo Jarvinen2-2/+4
Signed-off-by: Ilpo Jarvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-10-25[WATCHDOG] trivial fix two returns in void functionsFlorian Fainelli2-2/+2
This patch fixes two returns in the TI Davinci and PNX4008 in void functions. Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>