10 Sep, 2012
2 commits
-
The dereference should be moved below the NULL test.
spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)Signed-off-by: Wei Yongjun
Signed-off-by: Wim Van Sebroeck -
kdump can be interrupted by watchdog timer when the timer is left
activated on the crash kernel. Changed the hpwdt driver to disable
watchdog timer at boot-time. This assures that watchdog timer is
disabled until /dev/watchdog is opened, and prevents watchdog timer
to be left running on the crash kernel.Signed-off-by: Toshi Kani
Tested-by: Lisa Mitchell
Signed-off-by: Thomas Mingarelli
Signed-off-by: Wim Van Sebroeck
Cc: stable
29 Aug, 2012
1 commit
-
delay.h header file was included twice.
Signed-off-by: Sachin Kamat
Signed-off-by: Wim Van Sebroeck
17 Aug, 2012
1 commit
-
Fix some booke wdt ioctls return value error.
Signed-off-by: Tiejun Chen
Acked-by: Timur Tabi
Signed-off-by: Kumar Gala
03 Aug, 2012
1 commit
-
Pull arm-soc Marvell Orion device-tree updates from Olof Johansson:
"This contains a set of device-tree conversions for Marvell Orion
platforms that were staged early but took a few tries to get the
branch into a format where it was suitable for us to pick up.Given that most people working on these platforms are hobbyists with
limited time, we were a bit more flexible with merging it even though
it came in late."* tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
ARM: Kirkwood: Replace mrvl with marvell
ARM: Kirkwood: Describe GoFlex Net LEDs and SATA in DT.
ARM: Kirkwood: Describe Dreamplug LEDs in DT.
ARM: Kirkwood: Describe iConnects LEDs in DT.
ARM: Kirkwood: Describe iConnects temperature sensor in DT.
ARM: Kirkwood: Describe IB62x0 LEDs in DT.
ARM: Kirkwood: Describe IB62x0 gpio-keys in DT.
ARM: Kirkwood: Describe DNS32? gpio-keys in DT.
ARM: Kirkwood: Move common portions into a kirkwood-dnskw.dtsi
ARM: Kirkwood: Replace DNS-320/DNS-325 leds with dt bindings
ARM: Kirkwood: Describe DNS325 temperature sensor in DT.
ARM: Kirkwood: Use DT to configure SATA device.
ARM: kirkwood: use devicetree for SPI on dreamplug
ARM: kirkwood: Add LS-XHL and LS-CHLv2 support
ARM: Kirkwood: Initial DTS support for Kirkwood GoFlex Net
ARM: Kirkwood: Add basic device tree support for QNAP TS219.
ATA: sata_mv: Add device tree support
ARM: Orion: DTify the watchdog timer.
ARM: Orion: Add arch support needed for I2C via DT.
ARM: kirkwood: use devicetree for orion-spi
...Conflicts:
drivers/watchdog/orion_wdt.c
28 Jul, 2012
2 commits
-
Pull ARM updates from Russell King:
"First ARM push of this merge window, post me coming back from holiday.
This is what has been in linux-next for the last few weeks. Not much
to say which isn't described by the commit summaries."* 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (32 commits)
ARM: 7463/1: topology: Update cpu_power according to DT information
ARM: 7462/1: topology: factorize the update of sibling masks
ARM: 7461/1: topology: Add arch_scale_freq_power function
ARM: 7456/1: ptrace: provide separate functions for tracing syscall {entry,exit}
ARM: 7455/1: audit: move syscall auditing until after ptrace SIGTRAP handling
ARM: 7454/1: entry: don't bother with syscall tracing on ret_from_fork path
ARM: 7453/1: audit: only allow syscall auditing for pure EABI userspace
ARM: 7452/1: delay: allow timer-based delay implementation to be selected
ARM: 7451/1: arch timer: implement read_current_timer and get_cycles
ARM: 7450/1: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
ARM: 7449/1: use generic strnlen_user and strncpy_from_user functions
ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration
ARM: 7447/1: rwlocks: remove unused branch labels from trylock routines
ARM: 7446/1: spinlock: use ticket algorithm for ARMv6+ locking implementation
ARM: 7445/1: mm: update CONTEXTIDR register to contain PID of current process
ARM: 7444/1: kernel: add arch-timer C3STOP feature
ARM: 7460/1: remove asm/locks.h
ARM: 7439/1: head.S: simplify initial page table mapping
ARM: 7437/1: zImage: Allow DTB command line concatenation with ATAG_CMDLINE
ARM: 7436/1: Do not map the vectors page as write-through on UP systems
...
27 Jul, 2012
1 commit
-
Add device tree support to the Orion watchdog timer, and enable its
use in the kirkwood devices using device tree.Signed-off-by: Andrew Lunn
Acked-by: Sebastian Hesselbarth
Tested-by: Simon Baatz
25 Jul, 2012
1 commit
-
Pull watchdog changes from Wim Van Sebroeck:
- conversion of iTCO_wdt and orion_wdt to the generic watchdog API
- uses module_platform_driver() for s3c2410_wdt
- Adds support for Jetway JNF99 Motherboard
- various fixes* git://www.linux-watchdog.org/linux-watchdog:
watchdog: orion_wdt: Convert driver to watchdog core
watchdog: s3c2410_wdt: Use module_platform_driver()
watchdog: sch311x_wdt: Fix Polarity when starting watchdog
Watchdog: OMAP: Fix the runtime pm code to avoid module getting stuck intransition state.
watchdog: ie6xx_wdt: section mismatch in ie6xx_wdt_probe()
watchdog: bcm63xx_wdt: fix driver section mismatch
watchdog: iTCO_wdt.c: convert to watchdog core
char/ipmi: remove local ioctl defines replaced by generic ones
watchdog: xilinx: Read clock frequency directly from DT node
watchdog: coh901327_wdt: use clk_prepare/unprepare
watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard
24 Jul, 2012
1 commit
-
Pull powerpc updates from Benjamin Herrenschmidt:
"Notable highlights:- iommu improvements from Anton removing the per-iommu global lock in
favor of dividing the DMA space into pools, each with its own lock,
and hashed on the CPU number. Along with making the locking more
fine grained, this gives significant improvements in multiqueue
networking scalability.- Still from Anton, we know provide a vdso based variant of getcpu
which makes sched_getcpu with the appropriate glibc patch something
like 18 times faster.- More anton goodness (he's been busy !) in other areas such as a
faster __clear_user and copy_page on P7, various perf fixes to
improve sampling quality, etc...- One more step toward removing legacy i2c interfaces by using new
device-tree based probing of platform devices for the AOA audio
drivers- A nice series of patches from Michael Neuling that helps avoiding
confusion between register numbers and litterals in assembly code,
trying to enforce the use of "%rN" register names in gas rather
than plain numbers.- A pile of FSL updates
- The usual bunch of small fixes, cleanups etc...
You may spot a change to drivers/char/mem. The patch got no comment
or ack from outside, it's a trivial patch to allow the architecture to
skip creating /dev/port, which we use to disable it on ppc64 that
don't have a legacy brige. On those, IO ports 0...64K are not mapped
in kernel space at all, so accesses to /dev/port cause oopses (and
yes, distros -still- ship userspace that bangs hard coded ports such
as kbdrate)."* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)
powerpc/mpic: Create a revmap with enough entries for IPIs and timers
Remove stale .rej file
powerpc/iommu: Fix iommu pool initialization
powerpc/eeh: Check handle_eeh_events() return value
powerpc/85xx: Add phy nodes in SGMII mode for MPC8536/44/72DS & P2020DS
powerpc/e500: add paravirt QEMU platform
powerpc/mpc85xx_ds: convert to unified PCI init
powerpc/fsl-pci: get PCI init out of board files
powerpc/85xx: Update corenet64_smp_defconfig
powerpc/85xx: Update corenet32_smp_defconfig
powerpc/85xx: Rename P1021RDB-PC device trees to be consistent
powerpc/watchdog: move booke watchdog param related code to setup-common.c
sound/aoa: Adapt to new i2c probing scheme
i2c/powermac: Improve detection of devices from device-tree
powerpc: Disable /dev/port interface on systems without an ISA bridge
of: Improve prom_update_property() function
powerpc: Add "memory" attribute for mfmsr()
powerpc/ftrace: Fix assembly trampoline register usage
powerpc/hw_breakpoints: Fix incorrect pointer access
powerpc: Put the gpr save/restore functions in their own section
...
23 Jul, 2012
10 commits
-
Convert orion_wdt driver to use watchdog framework API.
Signed-off-by: Axel Lin
Tested-by: Andrew Lunn
Signed-off-by: Wim Van Sebroeck -
module_platform_driver() replaces module_init() and module_exit()
and makes the code simpler.Signed-off-by: Sachin Kamat
Signed-off-by: Wim Van Sebroeck -
Some motherboards like the Advantech ARK3400 documentation
use a non-inverted GPIO pin. We fix this by assuming that
the BIOS will set the Polarity bit for the GPIO correctly
at startup and we keep the Bit-setting intact when we start
and stop the watchdog.Reported-by: Jean-François Deverge
Signed-off-by: Dave Mueller
Signed-off-by: Wim Van Sebroeck -
OMAP watchdog driver is adapted to runtime PM like a general device
driver but it is not appropriate. It is causing couple of functional
issues.1. On OMAP4 SYSCLK can't be gated, because of issue with WDTIMER2 module,
which constantly stays in "in transition" state. Value of register
CM_WKUP_WDTIMER2_CLKCTRL is always 0x00010000 in this case.
Issue occurs immediately after first idle, when hwmod framework tries
to disable WDTIMER2 functional clock - "wd_timer2_fck". After this
module falls to "in transition" state, and SYSCLK gating is blocked.2. Due to runtime PM, watchdog timer may be completely disabled.
In current code base watchdog timer is not disabled only because of
issue 1. Otherwise state of WDTIMER2 module will be "Disabled", and there
will be no interrupts from omap_wdt. In other words watchdog will not
work at all.Watchdong is a special IP and it should not be disabled otherwise
purpose of it itself is defeated. Watchdog functional clock should
never be disabled. This patch updates the runtime PM handling in
driver so that runtime PM is limited only during probe/shutdown
and suspend/resume.The patch fixes issue 1 and 2
Signed-off-by: Lokesh Vutla
Acked-by: Santosh Shilimkar
Signed-off-by: Wim Van Sebroeck -
ie6xx_wdt_probe() calls ie6xx_wdt_debugfs_exit() as part of
it's error cleanup path, and ie6xx_wdt_debugfs_exit() is
currently annotated __devexit.Signed-off-by: Gerard Snitselaar
Signed-off-by: Wim Van Sebroeck -
bcm63xx_wdt was used as a platform_driver but was not suffixed with
_driver, thus causing section mismatches, fix that.Signed-off-by: Florian Fainelli
Signed-off-by: Wim Van Sebroeck -
This patch converts the iTCO_wdt watchdog driver to use the
generic watchdog framework.Signed-off-by: Wim Van Sebroeck
-
Do not use clock-frequency property from parent node.
Use it from watchdog node.Signed-off-by: Michal Simek
Acked-By: Alejandro Cabrera
Signed-off-by: Wim Van Sebroeck -
Make sure we prepare/unprepare the COH901327 watchdog timer
as is required by the clk API especially if you use common
clock.Signed-off-by: Linus Walleij
Reviewed-by : Pankaj Jangra
Signed-off-by: Wim Van Sebroeck -
The Jetway JNF99 motherboard features a F71869 SuperIO chip, but its
watchdog chipset ID appears to be 1007 (as opposed to 0814). Some testing
confirmed it behaves the exact same as 0814. So add this chipset ID to the
module's ID list so that the Fintek watchdog driver can correctly identify
and access it.Signed-off-by: Justin Wheeler
Acked-by: Giel van Schijndel
Signed-off-by: Wim Van Sebroeck
10 Jul, 2012
2 commits
-
CONFIG_FSL_BOOKE is only defined in 32-bit, CONFIG_PPC_FSL_BOOK3E is
defined in both 32-bit and 64-bit, so use CONFIG_PPC_FSL_BOOK3E to make
driver work in 32-bit & 64-bit.Signed-off-by: Shaohui Xie
Signed-off-by: Kumar Gala -
Make the OS timer registers have IOMEM like properities so they can
be passed to readl_relaxed/writel_relaxed() et.al. rather than being
straight volatile dereferences. Add linux/io.h includes where
required.linux/io.h includes added to arch/arm/mach-sa1100/cpu-sa1100.c,
arch/arm/mach-sa1100/jornada720_ssp.c, arch/arm/mach-sa1100/leds-lart.c
drivers/input/touchscreen/jornada720_ts.c, drivers/pcmcia/sa1100_shannon.c
from Arnd.This fixes these warnings:
arch/arm/mach-sa1100/time.c: In function 'sa1100_timer_init':
arch/arm/mach-sa1100/time.c:104: warning: passing argument 1 of 'clocksource_mmio_init' discards qualifiers from pointer target type
arch/arm/mach-pxa/time.c: In function 'pxa_timer_init':
arch/arm/mach-pxa/time.c:126: warning: passing argument 1 of 'clocksource_mmio_init' discards qualifiers from pointer target typeSigned-off-by: Arnd Bergmann
Signed-off-by: Russell King
09 Jul, 2012
1 commit
-
Add device table for omap_wdt to support dt.
Signed-off-by: Xiao Jiang
Acked-by: Wim Van Sebroeck
Signed-off-by: Tony Lindgren
29 Jun, 2012
3 commits
-
In commit 7a87982420e5e126bfefeb42232d1fd92052794e we added
a wrapper for the WDIOC_GETSTATUS ioctl call. The code results
however in a different behaviour: it returns an error if the
driver doesn't support the status operation. This is not
according to the API that says that when we don't support
the status operation, that we just should return a 0 value.
Only when the device isn't there anymore, we should return an
error.Signed-off-by: Wim Van Sebroeck
-
This patch is to unregister for NMI events upon exit. Also we are now
making the default setting for allow_kdump enabled.Signed-off-by: Thomas Mingarelli
Signed-off-by: Wim Van Sebroeck -
The recent conversion of iTCO_wdt resulted in the driver no longer
getting loaded automatically, since it no longer has a
MODULE_DEVICE_TABLE() included. As the lpc_ich driver now creates a
platform device, auto-loading can easily be done by having a respective
module alias in place.Signed-off-by: Jan Beulich
Cc: Aaron Sierra
Acked-by: Guenter Roeck
Cc: Samuel Ortiz
Signed-off-by: Wim Van Sebroeck
21 Jun, 2012
1 commit
-
viresh.kumar@st.com email-id doesn't exist anymore as I have left the
company. Replace ST's id with viresh.linux@gmail.com.It also updates .mailmap file to fix address for 'git shortlog'
Signed-off-by: Viresh Kumar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
30 May, 2012
13 commits
-
Fix printk format warnings:
drivers/watchdog/iTCO_wdt.c:577:3: warning: format '%04llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
drivers/watchdog/iTCO_wdt.c:594:3: warning: format '%04llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
drivers/watchdog/iTCO_wdt.c:600:2: warning: format '%04llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'Signed-off-by: Randy Dunlap
Signed-off-by: Wim Van Sebroeck -
clk_{un}prepare() routines are required for required on some platforms to run
part of clk enable/disable() routines from contexts that can schedule.This patch adds support for these routines in sp805 driver.
Signed-off-by: Viresh Kumar
Signed-off-by: Wim Van Sebroeck -
This patch converts existing sp805 watchdog driver to use already in place
common infrastructure present in watchdog core. With this lot of code goes away.Signed-off-by: Viresh Kumar
Signed-off-by: Wim Van Sebroeck -
This driver adds support for the watchdog functionality provided by
the Dialog Semiconductor DA9052 PMIC chip.Tested on samsung smdkv6410 and i.mx53 QS boards.
Signed-off-by: Anthony Olech
Signed-off-by: Ashish Jangam
Signed-off-by: Wim Van Sebroeck -
If a driver's watchdog_device struct is part of a dynamically allocated
struct (which it often will be), merely locking the module is not enough,
even with a drivers module locked, the driver can be unbound from the device,
examples:
1) The root user can unbind it through sysfd
2) The i2c bus master driver being unloaded for an i2c watchdogI will gladly admit that these are corner cases, but we still need to handle
them correctly.The fix for this consists of 2 parts:
1) Add ref / unref operations, so that the driver can refcount the struct
holding the watchdog_device struct and delay freeing it until any
open filehandles referring to it are closed
2) Most driver operations will do IO on the device and the driver should not
do any IO on the device after it has been unbound. Rather then letting each
driver deal with this internally, it is better to ensure at the watchdog
core level that no operations (other then unref) will get called after
the driver has called watchdog_unregister_device(). This actually is the
bulk of this patch.Signed-off-by: Hans de Goede
Signed-off-by: Wim Van Sebroeck -
This patch fixes some potential multithreading issues, despite only
allowing one process to open the /dev/watchdog device, we can still get
called multiple times at the same time, since a program could be using thread,
or could share the fd after a fork.This causes 2 potential problems:
1) watchdog_start / open do an unlocked test_n_set / test_n_clear,
if these 2 race, the watchdog could be stopped while the active
bit indicates it is running or visa versa.2) Most watchdog_dev drivers probably assume that only one
watchdog-op will get called at a time, this is not necessary
true atm.Signed-off-by: Hans de Goede
Signed-off-by: Wim Van Sebroeck -
Rewrite and extend the wrapper code so that we can easily introduce
locking (this to be able to prevent potential multithreading issues).Signed-off-by: Hans de Goede
Signed-off-by: Wim Van Sebroeck -
While they are registered all our watchdogs now have a valid device object
so we can in turn use that to report problems nicely.Signed-off-by: Alan Cox
Signed-off-by: Hans de Goede
Signed-off-by: Wim Van Sebroeck -
Create the watchdog class and it's associated devices.
Signed-off-by: Alan Cox
Signed-off-by: Hans de Goede
Signed-off-by: Wim Van Sebroeck -
We keep the old /dev/watchdog interface file for the first watchdog via
miscdev. This is basically a cut and paste of the relevant interface code
from the rtc driver layer tweaked for watchdog.Revised to fix problems noted by Hans de Goede
Signed-off-by: Alan Cox
Signed-off-by: Hans de Goede
Signed-off-by: Tomas Winkler
Signed-off-by: Wim Van Sebroeck -
Make the functions in watchdog_core.h extern like it should.
Signed-off-by: Wim Van Sebroeck
-
The watchdog_core include file should have been named
watchdog_core.h and not watchdog_dev.h . Correct this.Signed-off-by: Wim Van Sebroeck
-
Some watchdog may need to check if watchdog is ACTIVE or not, for example in
their suspend/resume hooks.This patch adds this routine and changes the core drivers to use it.
Signed-off-by: Viresh Kumar
Signed-off-by: Wim Van Sebroeck