20 Sep, 2011

4 commits


02 Aug, 2011

3 commits

  • The newly added WATCHDOG_CORE option is a bool, but the help text suggests
    it can be built as a module. Fix it up.

    Signed-off-by: Josh Boyer
    Signed-off-by: Wim Van Sebroeck

    Josh Boyer
     
  • At present the module does not unset the NO_REBOOT bit upon shutdown, this
    causes the BIOS to fail the POST once and reset. During the next boot it
    displays the following error message:

    ***** Warning: System BOOT Fail *****
    Your system last boot fail or POST interrupted.
    Please enter setup to load default and reboot again.
    Press F1 to continue, DEL to enter SETUP

    With this patch the NO_REBOOT flag will be unset on shutdown and thus stop
    this failure from occurring.

    Tested on 'ASUS P5N32-E SLI with BIOS revision 1801' and
    'ASUS P5N32-E SLI PLUS with BIOS revision 1502'.

    Signed-off-by: Mart Gerrits
    Signed-off-by: Wim Van Sebroeck

    Mart Gerrits
     
  • Fix the usage of mod_timer() and make the driver usable. mod_timer() must
    be called with an absolute timeout in jiffies. The old implementation
    used a relative timeout thus the hardware watchdog was never triggered.

    Signed-off-by: David Engraf
    Signed-off-by: Paul Mundt
    Signed-off-by: Wim Van sebroeck
    Signed-off-by: Andrew Morton
    Cc: stable

    David Engraf
     

30 Jul, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-watchdog: (25 commits)
    watchdog: WatchDog Timer Driver Core - Add minimum and max timeout
    watchdog: WatchDog Timer Driver Core - Add ioctl call
    watchdog: WatchDog Timer Driver Core - Add nowayout feature
    watchdog: WatchDog Timer Driver Core - Add Magic Close feature
    watchdog: WatchDog Timer Driver Core - Add WDIOC_SETTIMEOUT and WDIOC_GETTIMEOUT ioctl
    watchdog: WatchDog Timer Driver Core - Add WDIOC_SETOPTIONS ioctl
    watchdog: WatchDog Timer Driver Core - Add WDIOC_KEEPALIVE ioctl
    watchdog: WatchDog Timer Driver Core - Add basic ioctl functionality
    watchdog: WatchDog Timer Driver Core - Add basic framework
    watchdog: hpwdt: add next gen HP servers
    watchdog: it8712f_wdt.c: improve includes
    watchdog: at91sam9/wdt: move register header to drivers
    watchdog: Add Xilinx watchdog timer driver
    watchdog: remove empty pm-functions
    watchdog: sp805: Flush posted writes in enable/disable.
    watchdog: sp805: Don't write 0 to the load value register.
    watchdog: imx2_wdt: add device tree probe support
    watchdog: s3c2410: Add support for device tree based probe
    watchdog: mpcore_wdt: Add suspend/resume support.
    watchdog: mtx1-wdt: use dev_{err,info} instead of printk()
    ...

    Linus Torvalds
     

28 Jul, 2011

10 commits


27 Jul, 2011

8 commits

  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • remove unneeded pci.h include.
    and include ioport.h to avoid build errors for the region functions.

    Reported-by: Randy Dunlap
    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • move register header to drivers

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
    Cc: Nicolas Ferre
    Signed-off-by: Wim Van Sebroeck

    Jean-Christophe Plagniol-Villard
     
  • Watchdog timer device driver for Xilinx xps_timebase_wdt compatible ip cores.
    It takes watchdog timer configuration from device tree and it needs that its
    parent has defined the property "clock-frecuency".
    It is compatible with watchdog timer kernel API, so user apps like watchdogd
    may talk with it.

    Signed-off-by: Alejandro Cabrera
    Signed-off-by: Wim Van Sebroeck

    Alejandro Cabrera
     
  • While checking what watchdog drivers usually do in suspend/resume to
    spot common behaviour for the watchdog framework, I found these drivers
    which do nothing but add some cruft. Remove it, it is superfluous. New
    approaches should probably be done with pm_ops anyway.

    Signed-off-by: Wolfram Sang
    Signed-off-by: Wim Van Sebroeck

    Wolfram Sang
     
  • There are no reads in these functions, so if MMIO writes are posted,
    the writes in enable/disable may not have completed by the time these
    functions return. If the functions run from different CPUs, it's
    in theory possible for the writes to be interleaved, which would be
    disastrous for this driver.

    At the very least, we need an mmiowb() before releasing the lock, but
    since it seems desirable for the watchdog timer to be actually stopped
    or reset when these functions return, read the lock register to force
    the writes out.

    Signed-off-by: Nick Bowler
    Signed-off-by: Wim Van Sebroeck

    Nick Bowler
     
  • At least on the Versatile Express' V2M, calling wdt_disable followed by
    wdt_enable, for instance by running the following sequence:

    echo V > /dev/watchdog; echo V > /dev/watchdog

    results in an immediate reset. The wdt_disable function writes 0 to the
    load register; while the watchdog interrupts are disabled at this point,
    this special value is defined to trigger an interrupt immediately. It
    appears that in this instance, the reset happens when the interrupts
    are subsequently enabled by wdt_enable.

    Putting in a short delay after writing a new load value in wdt_enable
    solves the issue, but it seems cleaner to simply never write 0 to the
    load register at all: according to the hardware docs, writing 0 to the
    control register suffices to stop the counter, and the write of 0 to
    the load register is questionable anyway since this register resets to
    0xffffffff.

    Signed-off-by: Nick Bowler
    Signed-off-by: Wim Van Sebroeck

    Nick Bowler
     
  • Adds device tree probe support for imx2_wdt driver.

    Signed-off-by: Shawn Guo
    Cc: Grant Likely
    Cc: Wolfram Sang
    Signed-off-by: Wim Van Sebroeck

    Shawn Guo
     

22 Jul, 2011

8 commits

  • This patch adds the of_match_table to enable s3c2410-wdt driver
    to be probed when watchdog device node is found in the device tree.

    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Wim Van Sebroeck

    Thomas Abraham
     
  • Add support for suspend and resume to the MPCore watchdog driver.

    Signed-off-by: Peter Fordham
    Signed-off-by: Wim Van Sebroeck

    Peter Fordham
     
  • use dev_{err,info} instead of printk(KERN_{ERR,INFO} ...)

    Signed-off-by: Florian Fainelli
    Signed-off-by: Wim Van Sebroeck

    Florian Fainelli
     
  • The i.MX architecture provides IMX_HAVE_PLATFORM_* macros to signal
    that a selected SoC supports a certain hardware. Use them instead of
    depending on ARCH_* directly.

    Signed-off-by: Sascha Hauer
    Acked-by: Uwe Kleine-König
    Signed-off-by: Wim Van Sebroeck
    Cc: linux-watchdog@vger.kernel.org

    Sascha Hauer
     
  • The Synopsys DesignWare watchdog is found in several ARM based systems
    and provides a choice of 16 timeout periods depending on the clock
    input. The watchdog cannot be disabled once started.

    Signed-off-by: Jamie Iles
    Acked-by: Viresh Kumar
    Signed-off-by: Wim Van Sebroeck

    Jamie Iles
     
  • Inspired by Nat Gurumoorthy's recent patches for cleaning up the it87
    drivers to use request_muxed_region for accessing the SuperIO area on
    these chips, and the fact I have a GPIO driver for the pc8741x basically
    ready for submission, here is a patch to cleanup the pc87413 watchdog
    driver to use request_muxed_region for accessing the SuperIO area.

    It also pulls out the details about the SWC IO area on initial driver
    load, and properly does a request_region for that area - there's no
    requirement to touch the SuperIO area after doing the initial watchdog
    enable and IO base retrieval.

    While I have hardware with a pc87413 on it it is not wired in a way that
    allows the watchdog to reboot the machine, so I have not been able to
    fully test these changes - I have checked that the driver correctly
    initialises itself still and requests the SWC io region ok.

    Signed-Off-By: Jonathan McDowell
    Signed-Off-By: Wim Van Sebroeck

    Jonathan McDowell
     
  • Clean up of the iTCO_wdt PCI device ID's.
    Own macro is replaced by the PCI_VDEVICE macro.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • Changes the it87 watchdog drivers to use "request_muxed_region".
    Serialize access to the hardware by using "request_muxed_region" macro defined
    by Alan Cox. Call to this macro will hold off the requestor if the resource is
    currently busy.

    The use of the above macro makes it possible to get rid of
    spinlocks in it8712f_wdt.c and it87_wdt.c watchdog drivers.
    This also greatly simplifies the implementation of it87_wdt.c driver.

    "superio_enter" will return an error if call to "request_muxed_region" fails.
    Rest of the code change is to ripple an error return from superio_enter to
    the top level.

    Signed-off-by: Nat Gurumoorthy
    Signed-off-by: Wim Van Sebroeck

    Nat Gurumoorthy
     

17 Jul, 2011

1 commit

  • hpwdt is a PCI driver so it should depend on PCI.
    Fixes these build errors:

    drivers/watchdog/hpwdt.c:762: error: implicit declaration of function 'pci_iomap'
    drivers/watchdog/hpwdt.c:762: warning: assignment makes pointer from integer without a cast
    drivers/watchdog/hpwdt.c:797: error: implicit declaration of function 'pci_iounmap'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Wim Van Sebroeck
    Cc: Thomas Mingarelli

    Randy Dunlap
     

16 Jul, 2011

1 commit

  • Remove Kconfig regression caused by commit
    a4616153deae053b29a2b7dd9ec4b2a225accfc5 "watchdog: hpwdt: build hpwdt as
    module by default with NMI_DECODING enabled"

    With the above change applied, hpwdt will be enabled unconditionally by just
    entering the Watchdog subscreen in menuconfig. Since this driver is not
    essential to boot any box it should remain disabled until it gets manually
    enabled, just like all other drivers.

    Signed-off-by: Olaf Hering
    Cc: Tony Camuso
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Olaf Hering
     

29 Jun, 2011

1 commit


28 Jun, 2011

3 commits

  • Remove the space between "platform:" prefix and the driver name.

    Signed-off-by: Axel Lin
    Acked-by: Martyn Welch
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • Trying to build the Intel SCU Watchdog fails for me with gcc 4.6.0 -
    $ gcc --version | head -n 1
    gcc (GCC) 4.6.0 20110513 (prerelease)

    like this :
    CC drivers/watchdog/intel_scu_watchdog.o
    In file included from drivers/watchdog/intel_scu_watchdog.c:49:0:
    /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h: In function ‘apbt_time_init’:
    /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h:65:42: warning: ‘return’ with a value, in function returning void [enabled by default]
    drivers/watchdog/intel_scu_watchdog.c: In function ‘intel_scu_watchdog_init’:
    drivers/watchdog/intel_scu_watchdog.c:468:2: error: implicit declaration of function ‘sfi_get_mtmr’ [-Werror=implicit-function-declaration]
    drivers/watchdog/intel_scu_watchdog.c:468:32: warning: assignment makes pointer from integer without a cast [enabled by default]
    cc1: some warnings being treated as errors

    make[1]: *** [drivers/watchdog/intel_scu_watchdog.o] Error 1
    make: *** [drivers/watchdog/intel_scu_watchdog.o] Error 2

    Additionally, linux/types.h is needlessly being included twice in
    drivers/watchdog/intel_scu_watchdog.c

    Signed-off-by: Jesper Juhl
    Signed-off-by: Wim Van Sebroeck

    Jesper Juhl
     
  • Fix section mismatch and remove unused variable 'tmp'.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Wim Van Sebroeck

    Florian Fainelli