16 Mar, 2011

1 commit

  • 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
    Signed-off-by: Wim Van Sebroeck

    Timur Tabi
     

12 Jan, 2011

2 commits

  • 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
    Signed-off-by: Wim Van Sebroeck

    Randy Vinson
     
  • 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
    Acked-by: Josh Boyer
    Signed-off-by: Wim Van Sebroeck

    Timur Tabi
     

14 Oct, 2010

2 commits

  • The PowerPC Book-E watchdog driver (booke_wdt.c) defines a default timeout
    value in the code based on whether it's a Freescale Book-E part of not.
    Instead of having hard-coded values in the driver, make it a Kconfig
    option.

    As newer chips gets faster, the current default values become less
    appropriate, since the timeout sometimes occurs before the kernel finishes
    booting. Making the value a Kconfig option allows BSPs to configure a new
    value without requiring the wdt_period command-line parameter to be set.

    Signed-off-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Timur Tabi
     
  • Register the __init and __exit functions in the PowerPC Book-E Watchdog
    driver as module entry/exit functions, and modify the Kconfig entry.

    Add a .release method for the PowerPC Book-E Watchdog driver, so that the
    watchdog is disabled when the driver is closed.

    Loosely based on original code from Jiang Yutang .

    Signed-off-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Timur Tabi
     

25 May, 2010

1 commit


27 Apr, 2010

1 commit

  • commit 42747d712de56cf2087b702d2ad90af114c53138 ("[WATCHDOG] watchdog_info
    constify") introduced the following build failure:

    CC booke_wdt.o
    booke_wdt.c: In function 'booke_wdt_init':
    booke_wdt.c:220: error: assignment of read-only variable 'ident'

    Fix this by removing 'const' qualifier from watchdog_info struct.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Wim Van Sebroeck
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton

    Anton Vorontsov
     

16 Apr, 2010

1 commit


07 Mar, 2010

1 commit


18 Sep, 2009

1 commit

  • The WDIOC_SETTIMEOUT argument is supposed to be a "seconds" value.
    However, the book E wdt currently treats it as a "period" which is
    interpreted in a board-specific way.

    This patch allows the user to pass in a "seconds" value and the driver
    will set the smallest timeout that is at least as large as specified
    by the user. It's been tested on e500 hardware and works as
    expected.

    The patch only modifies the CONFIG_FSL_BOOKE case, the CONFIG_4xx case
    is left unmodified as I don't have any hardware to test it on.

    Signed-off-by: Chris Friesen
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Wim Van Sebroeck

    Chris Friesen
     

09 Nov, 2008

1 commit

  • This patch fixes the setting of the Book-E watchdog timer interval setup
    on initialization and by ioctl().

    On initialization the period bits have to be masked before setting
    a new period.

    In WDIOC_SETTIMEOUT ioctl we have to use the correct mask.

    Signed-off-by: Matthias Fuchs
    Acked-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Matthias Fuchs
     

06 Aug, 2008

2 commits

  • This brings the watchdog drivers into line with coding style.
    This patch takes cares of the indentation as described in chapter 1.
    Main changes:
    * Re-structure the ioctl switch call for all drivers as follows:
    switch (cmd) {
    case WDIOC_GETSUPPORT:
    case WDIOC_GETSTATUS:
    case WDIOC_GETBOOTSTATUS:
    case WDIOC_GETTEMP:
    case WDIOC_SETOPTIONS:
    case WDIOC_KEEPALIVE:
    case WDIOC_SETTIMEOUT:
    case WDIOC_GETTIMEOUT:
    case WDIOC_GETTIMELEFT:
    default:
    }

    This to make the migration from the drivers to the uniform watchdog
    device driver easier in the future.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • Merge branch 'alan' of ../linux-2.6-watchdog-mm
    Fixed Conflicts in the following files:
    drivers/watchdog/booke_wdt.c
    drivers/watchdog/mpc5200_wdt.c
    drivers/watchdog/sc1200wdt.c

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     

16 Jul, 2008

1 commit


14 Jun, 2008

1 commit


25 May, 2008

1 commit

  • 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
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Chen Gong
     

18 Oct, 2007

1 commit