01 Apr, 2020

3 commits

  • Texas Instruments K3 SoCs contain an RTI (Real Time Interrupt) module
    which can be used as a watchdog. This IP provides a support for
    windowed watchdog mode, in which the watchdog must be petted within
    a certain time window. If it is petted either too soon, or too late,
    a watchdog error will be triggered.

    Signed-off-by: Tero Kristo
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200312095808.19907-4-t-kristo@ti.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Tero Kristo
     
  • The RAVE watchdog is not a full system watchdog, but is used to reset
    ethernet switch when required. Change the name to better reflect this
    usage.

    Signed-off-by: Lucas Stach
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200313101138.25915-1-l.stach@pengutronix.de
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Lucas Stach
     
  • If the heartbeat module param is not specified we would get an error
    message

    watchdog: f1020300.watchdog: driver supplied timeout (4294967295) out of range
    watchdog: f1020300.watchdog: falling back to default timeout (171)

    This is because we were initialising heartbeat to -1. By removing the
    initialisation (thus letting the C run time initialise it to 0) we
    silence the warning message and the default timeout is still used.

    Signed-off-by: Chris Packham
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200313031312.1485-1-chris.packham@alliedtelesis.co.nz
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Chris Packham
     

18 Mar, 2020

10 commits

  • Signed-off-by: Tomer Maimon
    Link: https://lore.kernel.org/r/20200303100114.87786-4-tmaimon77@gmail.com
    Reviewed-by: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Tomer Maimon
     
  • Currently the watchdog core does not initialize the last_hw_keepalive
    time during watchdog startup. This will cause the watchdog to be pinged
    immediately if enough time has passed from the system boot-up time, and
    some types of watchdogs like K3 RTI does not like this.

    To avoid the issue, setup the last_hw_keepalive time during watchdog
    startup.

    Signed-off-by: Tero Kristo
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200302200426.6492-3-t-kristo@ti.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Tero Kristo
     
  • .remove callback implementation doesn' call clk_disable_unprepare() which
    is buggy, actually, we can just use devm_watchdog_register_device() and
    devm_add_action_or_reset() to handle all necessary operations for remove
    action, then .remove callback can be dropped.

    Signed-off-by: Anson Huang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1582512687-13312-1-git-send-email-Anson.Huang@nxp.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Anson Huang
     
  • Many watchdog drivers use watchdog_stop_on_reboot() helper in order
    to stop the watchdog on system reboot. Unfortunately, this logic is
    coded in driver's probe function and doesn't allows user to decide what
    to do during shutdown/reboot.

    On the other side, Xen and Qemu watchdog drivers (xen_wdt and i6300esb)
    may be configured to either send NMI or turn off/reboot VM as
    the watchdog action. As the kernel may stuck at any state, sending NMIs
    can't reliably reboot the VM.

    At Arista, we benefited from the following set-up: the emulated watchdogs
    trigger VM reset and softdog is set to catch less severe conditions to
    generate vmcore. Just before reboot watchdog's timeout is increased
    to some good-enough value (3 mins). That keeps watchdog always running
    and guarantees that VM doesn't stuck.

    Provide new stop_on_reboot module parameter to let user control
    watchdog's reboot policy.

    Cc: Guenter Roeck
    Cc: Wim Van Sebroeck
    Cc: linux-watchdog@vger.kernel.org
    Signed-off-by: Dmitry Safonov
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200223114939.194754-1-dima@arista.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Dmitry Safonov
     
  • An attempt to convert the driver to using GPIO descriptors
    (see Link tag) was discouraged in favor of deleting the
    handling of the update GPIO altogehter since there are
    no in-tree users.

    This patch deletes the GPIO handling instead.

    Cc: Richard Fitzgerald
    Cc: Charles Keepax
    Cc: Mark Brown
    Link: https://lore.kernel.org/linux-watchdog/20200210102209.289379-1-linus.walleij@linaro.org/
    Signed-off-by: Linus Walleij
    Reviewed-by: Guenter Roeck
    Acked-by: Charles Keepax
    Link: https://lore.kernel.org/r/20200229115046.57781-1-linus.walleij@linaro.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Linus Walleij
     
  • There is nothing in use from init.h, remove it.

    Signed-off-by: Anson Huang
    Link: https://lore.kernel.org/r/1582250430-8872-2-git-send-email-Anson.Huang@nxp.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Anson Huang
     
  • There is nothing in use from init.h/reboot.h, remove them.

    Signed-off-by: Anson Huang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1582250430-8872-1-git-send-email-Anson.Huang@nxp.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Anson Huang
     
  • The DT or ACPI tables should tell the driver what the irq flags are.
    Given that this driver probes only on DT based platforms and those DT
    platforms specify the irq flags we can safely drop the forced irq flag
    setting here.

    Cc: Andy Gross
    Cc: Bjorn Andersson
    Cc: Sai Prakash Ranjan
    Signed-off-by: Stephen Boyd
    Reviewed-by: Bjorn Andersson
    Reviewed-by: Guenter Roeck
    Reviewed-by: Sai Prakash Ranjan
    Link: https://lore.kernel.org/r/20200220002047.115000-1-swboyd@chromium.org
    [groeck: Context conflict resolution]
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Stephen Boyd
     
  • Add suspend and resume pm operations.
    Tested on dragonboard-410c.

    Signed-off-by: Loic Poulain
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1581435483-6796-1-git-send-email-loic.poulain@linaro.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Loic Poulain
     
  • Some platform like ipq806x doesn't support pretimeout and define
    some interrupts used by qcom,msm-timer. Change the driver to check
    and use pretimeout only on qcom,kpss-wdt as it's the only platform
    that actually supports it.

    Signed-off-by: Ansuel Smith
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200204195648.23350-1-ansuelsmth@gmail.com
    [groeck: Conflict resolution]
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Ansuel Smith
     

10 Mar, 2020

2 commits

  • The iTCO_wdt driver only needs ICH_RES_IO_SMI I/O resource when either
    turn_SMI_watchdog_clear_off module parameter is set to match ->iTCO_version
    (or higher), and when legacy iTCO_vendorsupport is set. Modify the driver
    so that ICH_RES_IO_SMI is optional if the two conditions are not met.

    Signed-off-by: Mika Westerberg
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wolfram Sang

    Mika Westerberg
     
  • In preparation for making ->smi_res optional the iTCO_wdt driver needs
    to know whether vendorsupport is being set to non-zero. For this reason
    export the variable.

    Signed-off-by: Mika Westerberg
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wolfram Sang

    Mika Westerberg
     

29 Feb, 2020

1 commit

  • Pull ACPI fixes from Rafael Wysocki:
    "Fix a couple of configuration issues in the ACPI watchdog (WDAT)
    driver (Mika Westerberg) and make it possible to disable that driver
    at boot time in case it still does not work as expected (Jean
    Delvare)"

    * tag 'acpi-5.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: watchdog: Set default timeout in probe
    ACPI: watchdog: Fix gas->access_width usage
    ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro
    ACPI: watchdog: Allow disabling WDAT at boot

    Linus Torvalds
     

17 Feb, 2020

4 commits

  • Since commit 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic
    safe"), the driver calls i2c functions directly. It now therefore depends
    on I2C. This is a hard dependency which overrides COMPILE_TEST.

    Reported-by: kbuild test robot
    Reported-by: Randy Dunlap
    Fixes: 057b52b4b3d58 ("watchdog: da9062: make restart handler atomic safe")
    Cc: Marco Felsch
    Cc: Adam Thomson
    Cc: Stefan Lengfeld
    Reviewed-by: Marco Felsch
    Acked-by: Randy Dunlap
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Guenter Roeck
     
  • This fixes commit f6c98b08381c ("watchdog: da9062: add power management
    ops"). During discussion [1] we agreed that this should be configurable
    because it is a device quirk if we can't use the hw watchdog auto
    suspend function.

    [1] https://lore.kernel.org/linux-watchdog/20191128171931.22563-1-m.felsch@pengutronix.de/

    Signed-off-by: Marco Felsch
    Fixes: f6c98b08381c ("watchdog: da9062: add power management ops")
    Reviewed-by: Guenter Roeck
    Reviewed-by: Adam Thomson
    Link: https://lore.kernel.org/r/20200207071518.5559-1-m.felsch@pengutronix.de
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Marco Felsch
     
  • The da9062 hw has a minimum ping cool down phase of at least 200ms. The
    driver takes that into account by setting the min_hw_heartbeat_ms to
    300ms and the core guarantees that the hw limit is observed for the
    ping() calls. But the core can't guarantee the required minimum ping
    cool down phase if a stop() command is send immediately after the ping()
    command. So it is not allowed to ping the watchdog within the stop()
    command as the driver does. Remove the ping can be done without doubts
    because the watchdog gets disabled anyway and a (re)start resets the
    watchdog counter too.

    Signed-off-by: Marco Felsch
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200120091729.16256-1-m.felsch@pengutronix.de
    [groeck: Updated description]
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Marco Felsch
     
  • Fix build error when CONFIG_RESET_CONTROLLER is not set by
    selecting RESET_CONTROLLER.

    ld: drivers/watchdog/mtk_wdt.o: in function `mtk_wdt_probe':
    mtk_wdt.c:(.text+0x3ec): undefined reference to `devm_reset_controller_register'

    Signed-off-by: Randy Dunlap
    Fixes: c254e103082b74e ("watchdog: mtk_wdt: mt8183: Add reset controller")
    Cc: Wim Van Sebroeck
    Cc: Guenter Roeck
    Cc: Matthias Brugger
    Cc: linux-watchdog@vger.kernel.org
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/77c1e557-4941-3806-2933-6c3583576390@infradead.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Randy Dunlap
     

14 Feb, 2020

2 commits

  • If the BIOS default timeout for the watchdog is too small userspace may
    not have enough time to configure new timeout after opening the device
    before the system is already reset. For this reason program default
    timeout of 30 seconds in the driver probe and allow userspace to change
    this from command line or through module parameter (wdat_wdt.timeout).

    Reported-by: Jean Delvare
    Signed-off-by: Mika Westerberg
    Reviewed-by: Jean Delvare
    Signed-off-by: Rafael J. Wysocki

    Mika Westerberg
     
  • ACPI Generic Address Structure (GAS) access_width field is not in bytes
    as the driver seems to expect in few places so fix this by using the
    newly introduced macro ACPI_ACCESS_BYTE_WIDTH().

    Fixes: b1abf6fc4982 ("ACPI / watchdog: Fix off-by-one error at resource assignment")
    Fixes: 058dfc767008 ("ACPI / watchdog: Add support for WDAT hardware watchdog")
    Reported-by: Jean Delvare
    Signed-off-by: Mika Westerberg
    Reviewed-by: Jean Delvare
    Cc: 4.16+ # 4.16+
    Signed-off-by: Rafael J. Wysocki

    Mika Westerberg
     

08 Feb, 2020

1 commit

  • Pull watchdog updates from Wim Van Sebroeck:

    - add IT8786 chipset ID

    - addition of sam9x60 compatible watchdog

    - da9062 improvements

    - fix UAF in reboot notifier handling in watchdog core code

    - other fixes and small improvements

    * tag 'linux-watchdog-5.6-rc1' of git://www.linux-watchdog.org/linux-watchdog:
    watchdog: da9062: make restart handler atomic safe
    watchdog: mtk_wdt: mt2712: Add reset controller
    watchdog: mtk_wdt: mt8183: Add reset controller
    dt-bindings: mediatek: mt2712: Add #reset-cells
    dt-bindings: mediatek: mt8183: Add #reset-cells
    dt-bindings: watchdog: da9062: add suspend disable option
    watchdog: it87_wdt: add IT8786 ID
    watchdog: dw_wdt: ping watchdog to reset countdown before start
    watchdog: fix UAF in reboot notifier handling in watchdog core code
    watchdog: cadence: Skip printing pointer value
    watchdog: qcom: Use platform_get_irq_optional() for bark irq
    watchdog: da9062: add power management ops
    watchdog: make DesignWare watchdog allow users to set bigger timeout value
    drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe
    watchdog: sama5d4_wdt: addition of sam9x60 compatible watchdog

    Linus Torvalds
     

28 Jan, 2020

1 commit


27 Jan, 2020

12 commits

  • The restart handler is executed during the shutdown phase which is
    atomic/irq-less. The i2c framework supports atomic transfers since
    commit 63b96983a5dd ("i2c: core: introduce callbacks for atomic
    transfers") to address this use case. Using regmap within an atomic
    context is allowed only if the regmap type is MMIO and the cache type
    'flat' or no cache is used. Using the i2c_smbus_write_byte_data()
    function can be done without additional tests because:
    1) the DA9062 is an i2c-only device and
    2) the i2c framework emulates the smbus protocol if the host adapter
    does not support smbus_xfer by using the master_xfer.

    Signed-off-by: Marco Felsch
    Reviewed-by: Guenter Roeck
    Reviewed-by: Stefan Lengfeld
    Tested-by: Stefan Lengfeld
    Reviewed-by: Adam Thomson
    Link: https://lore.kernel.org/r/20200115162307.7336-1-m.felsch@pengutronix.de
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Marco Felsch
     
  • Add reset controller for 2712.
    Besides watchdog, MTK toprgu module alsa provide sub-system (eg, audio,
    camera, codec and connectivity) software reset functionality.

    Signed-off-by: yong.liang
    Signed-off-by: Jiaxin Yu
    Reviewed-by: Yingjoe Chen
    Reviewed-by: Philipp Zabel
    Acked-by: Matthias Brugger
    Link: https://lore.kernel.org/r/20200115085828.27791-5-yong.liang@mediatek.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    yong.liang
     
  • Add reset controller API in watchdog driver.
    Besides watchdog, MTK toprgu module alsa provide sub-system (eg, audio,
    camera, codec and connectivity) software reset functionality.

    Signed-off-by: yong.liang
    Signed-off-by: Jiaxin Yu
    Reviewed-by: Yingjoe Chen
    Reviewed-by: Philipp Zabel
    Reviewed-by: Guenter Roeck
    Acked-by: Matthias Brugger
    Link: https://lore.kernel.org/r/20200115085828.27791-4-yong.liang@mediatek.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    yong.liang
     
  • IT8786 watchdog works as in IT872x

    Tested on VECOW ECS-9000 board.

    Signed-off-by: Vincent Prince
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200123140544.25937-1-vincent.prince.fr@gmail.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Vincent Prince
     
  • Currently on an rk3288 SoC when trying to use the watchdog the SoC will
    instantly reset. This is due to the watchdog countdown counter being set
    to its initial value of 0x0. Reset the watchdog counter before start in
    order to correctly start the countdown timer from the right position.

    Signed-off-by: Jack Mitchell
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200107155155.278521-1-ml@embed.me.uk
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Jack Mitchell
     
  • After the commit 44ea39420fc9 ("drivers/watchdog: make use of
    devm_register_reboot_notifier()") the struct notifier_block reboot_nb in
    the struct watchdog_device is removed from the reboot notifiers chain at
    the time watchdog's chardev is closed. But at least in i6300esb.c case
    reboot_nb is embedded in the struct esb_dev which can be freed on its
    device removal and before the chardev is closed, thus UAF at reboot:

    [ 7.728581] esb_probe: esb_dev.watchdog_device ffff91316f91ab28
    ts# uname -r note the address ^^^
    5.5.0-rc5-ae6088-wdog
    ts# ./openwdog0 &
    [1] 696
    ts# opened /dev/watchdog0, sleeping 10s...
    ts# echo 1 > /sys/devices/pci0000\:00/0000\:00\:09.0/remove
    [ 178.086079] devres:rel_nodes: dev ffff91317668a0b0 data ffff91316f91ab28
    esb_dev.watchdog_device.reboot_nb memory is freed here ^^^
    ts# ...woken up
    [ 181.459010] devres:rel_nodes: dev ffff913171781000 data ffff913174a1dae8
    [ 181.460195] devm_unreg_reboot_notifier: res ffff913174a1dae8 nb ffff91316f91ab78
    attempt to use memory already freed ^^^
    [ 181.461063] devm_unreg_reboot_notifier: nb->call 6b6b6b6b6b6b6b6b
    [ 181.461243] devm_unreg_reboot_notifier: nb->next 6b6b6b6b6b6b6b6b
    freed memory is filled with a slub poison ^^^
    [1]+ Done ./openwdog0
    ts# reboot
    [ 229.921862] systemd-shutdown[1]: Rebooting.
    [ 229.939265] notifier_call_chain: nb ffffffff9c6c2f20 nb->next ffffffff9c6d50c0
    [ 229.943080] notifier_call_chain: nb ffffffff9c6d50c0 nb->next 6b6b6b6b6b6b6b6b
    [ 229.946054] notifier_call_chain: nb 6b6b6b6b6b6b6b6b INVAL
    [ 229.957584] general protection fault: 0000 [#1] SMP
    [ 229.958770] CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.5.0-rc5-ae6088-wdog
    [ 229.960224] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), ...
    [ 229.963288] RIP: 0010:notifier_call_chain+0x66/0xd0
    [ 229.969082] RSP: 0018:ffffb20dc0013d88 EFLAGS: 00010246
    [ 229.970812] RAX: 000000000000002e RBX: 6b6b6b6b6b6b6b6b RCX: 00000000000008b3
    [ 229.972929] RDX: 0000000000000000 RSI: 0000000000000096 RDI: ffffffff9ccc46ac
    [ 229.975028] RBP: 0000000000000001 R08: 0000000000000000 R09: 00000000000008b3
    [ 229.977039] R10: 0000000000000001 R11: ffffffff9c26c740 R12: 0000000000000000
    [ 229.979155] R13: 6b6b6b6b6b6b6b6b R14: 0000000000000000 R15: 00000000fffffffa
    ... slub_debug=FZP poison ^^^
    [ 229.989089] Call Trace:
    [ 229.990157] blocking_notifier_call_chain+0x43/0x59
    [ 229.991401] kernel_restart_prepare+0x14/0x30
    [ 229.992607] kernel_restart+0x9/0x30
    [ 229.993800] __do_sys_reboot+0x1d2/0x210
    [ 230.000149] do_syscall_64+0x3d/0x130
    [ 230.001277] entry_SYSCALL_64_after_hwframe+0x44/0xa9
    [ 230.002639] RIP: 0033:0x7f5461bdd177
    [ 230.016402] Modules linked in: i6300esb
    [ 230.050261] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

    Fix the crash by reverting 44ea39420fc9 so unregister_reboot_notifier()
    is called when watchdog device is removed. This also makes handling of
    the reboot notifier unified with the handling of the restart handler,
    which is freed with unregister_restart_handler() in the same place.

    Fixes: 44ea39420fc9 ("drivers/watchdog: make use of devm_register_reboot_notifier()")
    Cc: stable@vger.kernel.org # v4.15+
    Signed-off-by: Vladis Dronov
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200108125347.6067-1-vdronov@redhat.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Vladis Dronov
     
  • "%p" is not printing the pointer value.
    In driver, printing pointer value is not useful so avoiding print.

    Signed-off-by: Srinivas Neeli
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1576825096-26605-1-git-send-email-srinivas.neeli@xilinx.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Srinivas Neeli
     
  • platform_get_irq() prints an error message when the interrupt
    is not available. So on platforms where bark interrupt is
    not specified, following error message is observed on SDM845.

    [ 2.975888] qcom_wdt 17980000.watchdog: IRQ index 0 not found

    This is also seen on SC7180, SM8150 SoCs as well.
    Fix this by using platform_get_irq_optional() instead.

    Fixes: 36375491a4395654 ("watchdog: qcom: support pre-timeout when the bark irq is available")
    Signed-off-by: Sai Prakash Ranjan
    Reviewed-by: Bjorn Andersson
    Reviewed-by: Guenter Roeck
    Reviewed-by: Stephen Boyd
    Link: https://lore.kernel.org/r/20191213064934.4112-1-saiprakash.ranjan@codeaurora.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Sai Prakash Ranjan
     
  • Disable the watchdog during suspend if it is enabled and re-enable it on
    resume. So we can sleep without the interruptions.

    Signed-off-by: Marco Felsch
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20191128171931.22563-1-m.felsch@pengutronix.de
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Marco Felsch
     
  • watchdog_dev.c provides means to allow users to set bigger timeout value
    than HW can support, make DesignWare watchdog align with this.

    Signed-off-by: Peng Wang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/8fa54e92c6cd4544a7a3eb60a373ac43@nokia-sbell.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Wang, Peng 1. (NSB - CN/Hangzhou)
     
  • If the watchdog hardware is already enabled during the boot process,
    when the Linux watchdog driver loads, it should start/reset the watchdog
    and tell the watchdog framework. As a result, ping can be generated from
    the watchdog framework (if CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED is set),
    until the userspace watchdog daemon takes over control

    Fixes:4332d113c66a ("watchdog: Add STM32 IWDG driver")

    Signed-off-by: Christophe Roullier
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20191122132246.8473-1-christophe.roullier@st.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Christophe Roullier
     
  • Add support for SAM9X60 WDT into sama5d4_wdt.
    This means that this driver gets a flag inside the data struct
    that represents the sam9x60 support.
    This flag differentiates between the two hardware blocks, and is set
    according to the compatible of the driver instantiation.

    Signed-off-by: Eugen Hristev
    Reviewed-by-off-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1574067012-18559-3-git-send-email-eugen.hristev@microchip.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Eugen Hristev
     

06 Jan, 2020

1 commit


30 Dec, 2019

3 commits

  • Fix:

    orion_wdt f1020300.watchdog: IRQ index 1 not found

    which is caused by platform_get_irq() now complaining when optional
    IRQs are not found. Neither interrupt for orion is required, so
    make them both optional.

    Signed-off-by: Russell King
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/E1iahcN-0000AT-Co@rmk-PC.armlinux.org.uk
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Russell King
     
  • Platform device aliases were missing so module autoloading
    did not work.

    Signed-off-by: Andreas Kemnade
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20191213214802.22268-1-andreas@kemnade.info
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Andreas Kemnade
     
  • If TQMX86_WDT is y and WATCHDOG_CORE is m, building fails:

    drivers/watchdog/tqmx86_wdt.o: In function `tqmx86_wdt_probe':
    tqmx86_wdt.c:(.text+0x46e): undefined reference to `watchdog_init_timeout'
    tqmx86_wdt.c:(.text+0x4e0): undefined reference to `devm_watchdog_register_device'

    Select WATCHDOG_CORE to fix this.

    Reported-by: Hulk Robot
    Fixes: e3c21e088f89 ("watchdog: tqmx86: Add watchdog driver for the IO controller")
    Signed-off-by: YueHaibing
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20191206124259.25880-1-yuehaibing@huawei.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    YueHaibing