summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
Commit message (Collapse)AuthorAgeFilesLines
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdogLinus Torvalds2011-03-1739-92/+1447
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: watchdog: booke_wdt: clean up status messages watchdog: cleanup spaces before tabs watchdog: convert to DEFINE_PCI_DEVICE_TABLE watchdog: Xen watchdog driver watchdog: Intel SCU Watchdog Timer Driver for Moorestown and Medfield platforms. watchdog: jz4740_wdt - fix magic character checking watchdog: add JZ4740 watchdog driver watchdog: it87_wdt: Add support for IT8721F watchdog watchdog: hpwdt: build hpwdt as module by default with NMI_DECODING enabled watchdog: hpwdt: Fix a couple of typos
| * watchdog: booke_wdt: clean up status messagesTimur Tabi2011-03-151-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the status messages that are displayed during some operations of the PowerPC watchdog timer driver. When the watchdog is enabled, the timeout is displayed as a number of seconds, instead of an obscure "period". The "period" is the position of a bit in a 64-bit timer register. The higher the value, the quicker the watchdog timeout occurs. Some people chose a high "period" value for the timer and get confused as to why the board resets within a few seconds. Messages displayed during open and close are now debug messages, so that they don't clutter the console by default. Finally, printk() is replaced with the pr_xxx() equivalent. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: cleanup spaces before tabsWim Van Sebroeck2011-03-1526-63/+63
| | | | | | | | | | | | | | cleanup spaces before tabs in drivers/watchdog/ Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: convert to DEFINE_PCI_DEVICE_TABLEWim Van Sebroeck2011-03-159-9/+9
| | | | | | | | | | | | | | Convert static struct pci_device_id *[] to static DEFINE_PCI_DEVICE_TABLE tables. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Xen watchdog driverJan Beulich2011-03-153-0/+372
| | | | | | | | | | | | | | | | | | | | | | | | While the hypervisor change adding SCHEDOP_watchdog support included a daemon to make use of the new functionality, having a kernel driver for /dev/watchdog so that user space code doesn't need to distinguish non-Xen and Xen seems to be preferable. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Intel SCU Watchdog Timer Driver for Moorestown and Medfield platforms.Donald Johnson2011-03-154-0/+649
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This submission includes: - Fix to intel_scu_write() to start watchdog timer the on the first write, and refresh on subsequent writes. This enables Open, write, write, ... usage model. - Moves boot parameter checks from intel_scu_open() to intel_scu_watchdog_init(), so driver init will fail if these parameters are out of bounds. - Adds check for whether process waiting in wait_event_interruptible() received a signal while it was waiting. - Other small error handling changes. Removed the read() method for now as that wass a non-standard behaviour. Signed-off-by: Donald Johnson <donald.k.johnson@intel.com> Signed-off-by: Shuduo Sang <shuduo.sang@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: jz4740_wdt - fix magic character checkingWim Van Sebroeck2011-03-151-4/+11
| | | | | | | | | | | | | | | | When writing to /dev/watchdog all characters should be checked for the magic character 'V'. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: add JZ4740 watchdog driverPaul Cercueil2011-03-153-0/+322
| | | | | | | | | | | | | | | | | | Adds support for the hardware watchdog found in Ingenic's jz4740 System-on-Chip. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: it87_wdt: Add support for IT8721F watchdogHuaro Tomita2011-03-152-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for a watchdog in IT8721F Super IO chip to it87_wdt driver. This new chips differ from the older IT87xxxF chips in the following ways: * WDT_GAMEPORT is not in IT8721F. * WDT_PWROK is not in IT8721F. Signed-off-by: Haruo Tomita <haruo.tomita@toshiba.co.jp> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: hpwdt: build hpwdt as module by default with NMI_DECODING enabledTony Camuso2011-03-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Builds the hpwdt driver as a module by default. If the hardware is present, the module will be loaded. Also, if hpwdt is loaded, it will decode NMIs by default. This has been made possible by he patches to hpwdt made by Dann Frazier as well as related patches submitted by Don Zickus. hpwdt only loads on hp ProLiant x86 32-bit and 64-bit platforms. Signed-off-by: Tony Camuso <tcamuso@redhat.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: hpwdt: Fix a couple of typosNaga Chumbalkar2011-03-151-2/+2
| | | | | | | | | | | | | | | | Fix some typos. Signed-off-by: Naga Chumbalkar <nagananda.chumbalkar@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | Merge branch 'master' of ↵Paul Mundt2011-03-1711-57/+60
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-latest
| * \ Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2011-03-164-21/+21
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6: (21 commits) tty: serial: altera_jtaguart: Add device tree support tty: serial: altera_uart: Add devicetree support dt: eliminate of_platform_driver shim code dt: Eliminate of_platform_{,un}register_driver dt/serial: Eliminate users of of_platform_{,un}register_driver dt/usb: Eliminate users of of_platform_{,un}register_driver dt/video: Eliminate users of of_platform_{,un}register_driver dt/net: Eliminate users of of_platform_{,un}register_driver dt/sound: Eliminate users of of_platform_{,un}register_driver dt/spi: Eliminate users of of_platform_{,un}register_driver dt: uartlite: merge platform and of_platform driver bindings dt: xilinx_hwicap: merge platform and of_platform driver bindings ipmi: convert OF driver to platform driver leds/leds-gpio: merge platform_driver with of_platform_driver dt/sparc: Eliminate users of of_platform_{,un}register_driver dt/powerpc: Eliminate users of of_platform_{,un}register_driver dt/powerpc: move of_bus_type infrastructure to ibmebus drivercore/dt: add a match table pointer to struct device dt: Typo fix. altera_ps2: Add devicetree support ...
| | * dt: Eliminate of_platform_{,un}register_driverGrant Likely2011-02-284-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Final step to eliminate of_platform_bus_type. They're all just platform drivers now. v2: fix type in pasemi_nand.c (thanks to Stephen Rothwell) Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | watchdog: hpwdt: eliminate section mismatch warningAxel Lin2011-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hpwdt_init_nmi_decoding() is called in hpwdt_init_one error handling, thus remove the __devexit annotation of hpwdt_exit_nmi_decoding(). This patch fixes below warning: WARNING: drivers/watchdog/hpwdt.o(.devinit.text+0x36f): Section mismatch in reference from the function hpwdt_init_one() to the function .devexit.text:hpwdt_exit_nmi_decoding() The function __devinit hpwdt_init_one() references a function __devexit hpwdt_exit_nmi_decoding(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of hpwdt_exit_nmi_decoding() so it may be used outside an exit section. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * | watchdog: w83697ug_wdt: Fix set bit 0 to activate GPIO2Wim Van Sebroeck2011-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | outb_p(c || 0x01, WDT_EFDR); -> || should be | Reported-By: Toralf Förster <toralf.foerster@gmx.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * | watchdog: sch311x_wdt: fix printk conditionDan Carpenter2011-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "==" has higher precedence than "&". Since if (sch311x_sio_inb(sio_config_port, 0x30) & (0x01 == 0)) is always false the message is never printed. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * | watchdog: sch311x_wdt: Fix LDN active checkWim Van Sebroeck2011-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | if (sch311x_sio_inb(sio_config_port, 0x30) && 0x01 == 0) -> && should be & Reported-By: Toralf Förster <toralf.foerster@gmx.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * | watchdog: cpwd: Fix buffer-overflowWim Van Sebroeck2011-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cppcheck-1.47 reports: [drivers/watchdog/cpwd.c:650]: (error) Buffer access out-of-bounds: p.devs The source code is for (i = 0; i < 4; i++) { misc_deregister(&p->devs[i].misc); where devs is defined as WD_NUMDEVS big and WD_NUMDEVS is equal to 3. So the 4 should be a 3 or WD_NUMDEVS. Reported-By: David Binderman Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * | watchdog: sbc_fitpc2_wdt, fix crash on systems without DMI_BOARD_NAMEJiri Slaby2011-03-091-2/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems don't provide DMI_BOARD_NAME in their DMI tables. Avoid crash in such situations in fitpc2_wdt_init. The fix is to check if the dmi_get_system_info return value is NULL. The oops: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81253ae6>] strstr+0x26/0xa0 PGD 3966e067 PUD 39605067 PMD 0 Oops: 0000 [#1] SMP last sysfs file: /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map CPU 1 Modules linked in: ... Pid: 1748, comm: modprobe Not tainted 2.6.37-22-default #1 /Bochs RIP: 0010:[<ffffffff81253ae6>] [<ffffffff81253ae6>] strstr+0x26/0xa0 RSP: 0018:ffff88003ad73f18 EFLAGS: 00010206 RAX: 0000000000000000 RBX: 00000000ffffffed RCX: 00000000ffffffff RDX: ffffffffa003f4cc RSI: ffffffffa003f4c2 RDI: 0000000000000000 ... CR2: 0000000000000000 CR3: 000000003b7ac000 CR4: 00000000000006e0 ... Process modprobe (pid: 1748, threadinfo ffff88003ad72000, task ffff88002e6365c0) Stack: ... Call Trace: [<ffffffffa004201f>] fitpc2_wdt_init+0x1f/0x13c [sbc_fitpc2_wdt] [<ffffffff810002da>] do_one_initcall+0x3a/0x170 ... Code: f3 c3 0f 1f 00 80 3e 00 53 48 89 f8 74 1b 48 89 f2 0f 1f 40 00 48 83 c2 01 80 3a 00 75 f7 49 89 d0 48 89 f8 49 29 f0 75 02 5b c3 <80> 3f 00 74 0e 0f 1f 44 00 00 48 83 c0 01 80 38 00 75 f7 49 89 Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * m68knommu: Rename m548x_wdt.c to m54xx_wdt.cPhilippe De Muyter2011-02-083-4/+4
| | | | | | | | | | | | | | All m548x files were renamed to m54xx, except m548x_wdt.c. Fix that. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: fix m548x_wdt.c compilation after headers renamingPhilippe De Muyter2011-02-081-25/+25
| | | | | | | | | | | | | | | | m548x headers were renamed to m54xx, but m548x_wdt.c still uses the old names. Fix that. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* | Merge branches 'sh/wdt', 'sh/pci-express-async' and 'common/serial-rework' ↵Paul Mundt2011-01-2648-394/+5037
|\| | | | | | | into sh-latest
| * watchdog: Add MCF548x watchdog driver.Philippe De Muyter2011-01-123-3/+234
| | | | | | | | | | | | | | | | Add watchdog driver for MCF548x. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: add driver for the Atheros AR71XX/AR724X/AR913X SoCsGabor Juhos2011-01-123-0/+313
| | | | | | | | | | | | | | | | | | | | This patch adds a driver for the built-in hardware watchdog device of the Atheros AR71XX/AR724X/AR913X SoCs. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Add TCO support for nVidia chipsetsMike Waychison2011-01-124-0/+595
| | | | | | | | | | | | | | | | | | | | | | This driver adds support for /dev/watchdog for boards using either the MCP51 or MCP55 chipsets. These are also known as the nForce 430 and nForce 550. This driver is likely to work on other chipsets as well, though those are the only two that have been tested. Signed-off-by: Mike Waychison <mikew@google.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Add support for sp5100 chipset TCOPriyanka Gupta2011-01-124-0/+533
| | | | | | | | | | | | | | | | | | | | | | This driver adds /dev/watchdog support for the AMD sp5100 aka SB7x0 chipsets. It follows the same conventions found in other /dev/watchdog drivers. Signed-off-by: Priyanka Gupta <priyankag@google.com> Signed-off-by: Mike Waychison <mikew@google.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: f71808e_wdt: add F71862FG, F71869 to KconfigLutz Ballaschke2011-01-121-2/+2
| | | | | | | | | | | | | | | | | | Update Kconfig with the additional Fintek hardware that we support. Signed-off-by: Lutz Ballaschke <vegan.grindcore@googlemail.com> Acked-by: Giel van Schijndel <me@mortis.eu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: iTCO_wdt: TCO Watchdog patch for Intel DH89xxCC PCHSeth Heasley2011-01-121-1/+5
| | | | | | | | | | | | | | | | This patch adds the DeviceIDs for TCO Watchdog on the Intel DH89xxCC PCH. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: iTCO_wdt: TCO Watchdog patch for Intel NM10 DeviceIDsWim Van Sebroeck2011-01-121-1/+5
| | | | | | | | | | | | | | | | This patch adds the Intel NM10 DeviceIDs for iTCO Watchdog. Reported-by: Dan Weinlader <dan@weinlader.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: ks8695_wdt: include mach/hardware.h instead of mach/timex.h.Yegor Yefremov2011-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ks8695_wdt needs KS8695_CLOCK_RATE, which is defined in mach/hardware.h, which is pulled in by the include of mach/timex.h, but the latter is going away, so just include mach/hardware.h directly. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Propagate Book E WDT period changes to all coresRandy Vinson2011-01-121-2/+17
| | | | | | | | | | | | | | | | | | When the watchdog period is changed, it needs to be propagated to all cores in addition to the core that performed the change. Signed-off-by: Randy Vinson <rvinson@mvista.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: add CONFIG_WATCHDOG_NOWAYOUT support to PowerPC Book-E watchdog driverTimur Tabi2011-01-121-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, the watchdog is disabled when dev/watchdog is closed, but if CONFIG_WATCHDOG_NOWAYOUT is defined, then it means that the watchdog should remain enabled. So we should disable it only if CONFIG_WATCHDOG_NOWAYOUT is not defined. Also ensure that /dev/watchdog is only opened by one process at a time. That way, a second process can't accidentally disable the watchdog while the first process has it open. There shouldn't be any need for more than one process to open /dev/watchdog anyway. Signed-off-by: Timur Tabi <timur@freescale.com> Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: alim7101_wdt: fix compiler warning on alim7101_pci_tblNamhyung Kim2011-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Annotate alim7101_pci_tbl as '__used' to fix following warning: CC drivers/watchdog/alim7101_wdt.o drivers/watchdog/alim7101_wdt.c:433: warning: ‘alim7101_pci_tbl’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: alim1535_wdt: fix compiler warning on ali_pci_tblNamhyung Kim2011-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Annotate ali_pci_tbl as '__used' to fix following warning: CC drivers/watchdog/alim1535_wdt.o drivers/watchdog/alim1535_wdt.c:304: warning: ‘ali_pci_tbl’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Fix reboot on W83627ehf chipset.Herman Morsink Vollenbroek2011-01-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The watchdog driver for the SUPERIO chip winbond w83627ehf does not work. If you open /dev/watchdog and write a character to /dev/watchdog then the watchdog will be triggered. However the watchdog will not trigger the hardware RESET after the timeout, because the watchdog has never been enabled. Signed-off-by: Herman Morsink Vollenbroek <h.morsinkvollenbroek@home.nl> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: Add watchdog support for W83627DHG chipBenny Loenstrup Ammitzboell2011-01-122-7/+8
| | | | | | | | | | | | | | | | | | The following adds watchdog support for the Winbond W83627DHG chip. I have tested it on a PQ7-M102XL (Intel Atom) board. Signed-off-by: Benny Lønstrup Ammitzbøll <benny@ammitzboell-consult.dk> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: f71808e_wdt: Add Fintek F71869 watchdogMichel Arboi2011-01-121-1/+11
| | | | | | | | | | | | | | | | | | Add Fintek f71869 as a supported watchdog device. Signed-off-by: Michel Arboi <michel@arboi.fr.eu.org> Acked-by: Giel van Schijndel <me@mortis.eu> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: add f71862fg supportLutz Ballaschke2011-01-121-4/+41
| | | | | | | | | | | | | | | | | | | | Watchdog support for Fintek F71862fg Super-I/O added. Two different hardware reset pins of the F71862fg chip can be configured by an additional module parameter. Signed-off-by: Lutz Ballaschke <vegan.grindcore@googlemail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * watchdog: clean-up f71808e_wdt.cLutz Ballaschke2011-01-121-10/+11
| | | | | | | | | | | | | | | | Cleaned up and replaced some magic numbers by constants. Signed-off-by: Lutz Ballaschke <vegan.grindcore@googlemail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * Merge branch 'perf-fixes-for-linus' of ↵Linus Torvalds2011-01-111-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits) perf session: Fix infinite loop in __perf_session__process_events perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1) perf sched: Use PTHREAD_STACK_MIN to avoid pthread_attr_setstacksize() fail perf tools: Emit clearer message for sys_perf_event_open ENOENT return perf stat: better error message for unsupported events perf sched: Fix allocation result check perf, x86: P4 PMU - Fix unflagged overflows handling dynamic debug: Fix build issue with older gcc tracing: Fix TRACE_EVENT power tracepoint creation tracing: Fix preempt count leak tracepoint: Add __rcu annotation tracing: remove duplicate null-pointer check in skb tracepoint tracing/trivial: Add missing comma in TRACE_EVENT comment tracing: Include module.h in define_trace.h x86: Save rbp in pt_regs on irq entry x86, dumpstack: Fix unused variable warning x86, NMI: Clean-up default_do_nmi() x86, NMI: Allow NMI reason io port (0x61) to be processed on any CPU x86, NMI: Remove DIE_NMI_IPI x86, NMI: Add priorities to handlers ...
| | * x86: Convert some devices to use DIE_NMIUNKNOWNDon Zickus2011-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are a handful of places in the code that register a die_notifier as a catch all in case no claims the NMI. Unfortunately, they trigger on events like DIE_NMI and DIE_NMI_IPI, which depending on when they registered may collide with other handlers that have the ability to determine if the NMI is theirs or not. The function unknown_nmi_error() makes one last effort to walk the die_chain when no one else has claimed the NMI before spitting out messages that the NMI is unknown. This is a better spot for these devices to execute any code without colliding with the other handlers. The two drivers modified are only compiled on x86 arches I believe, so they shouldn't be affected by other arches that may not have DIE_NMIUNKNOWN defined. Signed-off-by: Don Zickus <dzickus@redhat.com> Cc: Russ Anderson <rja@sgi.com> Cc: Corey Minyard <minyard@acm.org> Cc: openipmi-developer@lists.sourceforge.net Cc: dann frazier <dannf@hp.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1294348732-15030-3-git-send-email-dzickus@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2011-01-061-1/+1
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits) ARM: DMA: add support for DMA debugging ARM: PL011: add DMA burst threshold support for ST variants ARM: PL011: Add support for transmit DMA ARM: PL011: Ensure IRQs are disabled in UART interrupt handler ARM: PL011: Separate hardware FIFO size from TTY FIFO size ARM: PL011: Allow better handling of vendor data ARM: PL011: Ensure error flags are clear at startup ARM: PL011: include revision number in boot-time port printk ARM: vexpress: add sched_clock() for Versatile Express ARM i.MX53: Make MX53 EVK bootable ARM i.MX53: Some bug fix about MX53 MSL code ARM: 6607/1: sa1100: Update platform device registration ARM: 6606/1: sa1100: Fix platform device registration ARM i.MX51: rename IPU irqs ARM i.MX51: Add ipu clock support ARM: imx/mx27_3ds: Add PMIC support ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn() mx51: fix usb clock support MX51: Add support for usb host 2 arch/arm/plat-mxc/ehci.c: fix errors/typos ...
| | * Merge branch 'devel-stable' into develRussell King2011-01-061-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-pxa/clock.c arch/arm/mach-pxa/clock.h
| | | * Merge branch 'sgu/mxs-core-v8' of git://git.pengutronix.de/git/ukl/linux-2.6 ↵Sascha Hauer2011-01-034-32/+22
| | | |\ | | | | | | | | | | | | | | | into imx-for-2.6.38-new
| | | * | watchdog: imx: use clk_get to acquire the watchdog clockFabio Estevam2010-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use clk_get to acquire the watchdog clock and also avoid hardcoding the clock name. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | | Merge commit 'v2.6.37-rc8' into perf/coreIngo Molnar2011-01-041-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge reason: pick up latest -rc. Signed-off-by: Ingo Molnar <mingo@elte.hu>
| | * | | watchdog: Fix null pointer dereference while accessing rdc321x platform_dataFlorian Fainelli2010-12-221-1/+1
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rdc321x-wdt currently fetches its driver specific data by using the platform_device->platform_data pointer, this is wrong because the mfd device which registers our platform_device has been added using mfd_add_device() which sets the platform_device->driver_data pointer instead. Signed-off-by: Florian Fainelli <florian@openwrt.org> CC: stable@kernel.org Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * | | x86, nmi_watchdog: Remove ARCH_HAS_NMI_WATCHDOG and rely on ↵Don Zickus2010-12-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_HARDLOCKUP_DETECTOR The x86 arch has shifted its use of the nmi_watchdog from a local implementation to the global one provide by kernel/watchdog.c. This shift has caused a whole bunch of compile problems under different config options. I attempt to simplify things with the patch below. In order to simplify things, I had to come to terms with the meaning of two terms ARCH_HAS_NMI_WATCHDOG and CONFIG_HARDLOCKUP_DETECTOR. Basically they mean the same thing, the former on a local level and the latter on a global level. With the old x86 nmi watchdog gone, there is no need to rely on defining the ARCH_HAS_NMI_WATCHDOG variable because it doesn't make sense any more. x86 will now use the global implementation. The changes below do a few things. First it changes the few places that relied on ARCH_HAS_NMI_WATCHDOG to use CONFIG_X86_LOCAL_APIC (the former was an alias for the latter anyway, so nothing unusual here). Those pieces of code were relying more on local apic functionality the nmi watchdog functionality, so the change should make sense. Second, I removed the x86 implementation of touch_nmi_watchdog(). It isn't need now, instead x86 will rely on kernel/watchdog.c's implementation. Third, I removed the #define ARCH_HAS_NMI_WATCHDOG itself from x86. And tweaked the include/linux/nmi.h file to tell users to look for an externally defined touch_nmi_watchdog in the case of ARCH_HAS_NMI_WATCHDOG _or_ CONFIG_HARDLOCKUP_DETECTOR. This changes removes some of the ugliness in that file. Finally, I added a Kconfig dependency for CONFIG_HARDLOCKUP_DETECTOR that said you can't have ARCH_HAS_NMI_WATCHDOG _and_ CONFIG_HARDLOCKUP_DETECTOR. You can only have one nmi_watchdog. Tested with ARCH=i386: allnoconfig, defconfig, allyesconfig, (various broken configs) ARCH=x86_64: allnoconfig, defconfig, allyesconfig, (various broken configs) Hopefully, after this patch I won't get any more compile broken emails. :-) v3: changed a couple of 'linux/nmi.h' -> 'asm/nmi.h' to pick-up correct function prototypes when CONFIG_HARDLOCKUP_DETECTOR is not set. Signed-off-by: Don Zickus <dzickus@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: fweisbec@gmail.com LKML-Reference: <1293044403-14117-1-git-send-email-dzickus@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | Merge commit 'v2.6.37-rc5' into perf/coreIngo Molnar2010-12-074-32/+22
| |\| | | | | | | | | | | | | | | | | | | | | | Merge reason: Pick up the latest -rc. Signed-off-by: Ingo Molnar <mingo@elte.hu>