- 10 1月, 2016 1 次提交
-
-
由 John Crispin 提交于
This patch adds support for the watchdog core found on newer MediaTek Wifi SoCs MT7621 and MT7628. There is no symbol for MT7628 as it is a subtype of MT7620 so we depend on that instead. Signed-off-by: NJohn Crispin <blogic@openwrt.org> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 30 12月, 2015 6 次提交
-
-
由 Guenter Roeck 提交于
Reference counting is now implemented in the watchdog core and no longer required in watchdog drivers. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
Reference counting is now implemented in the watchdog core and no longer required in watchdog drivers. Since it was implememented a no-op, and since the local memory is allocated with devm_kzalloc(), the reference counting code in the driver really did not really work anyway, and this patch effectively fixes a bug which could cause a crash on unloading if the watchdog device was still open. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
Reference counting is now implemented in the watchdog core and no longer required in watchdog drivers. Since it was implememented a no-op, and since the local memory is allocated with devm_kzalloc(), the reference counting code in the driver really did not really work anyway, and this patch effectively fixes a bug which could cause a crash on unloading if the watchdog device was still open. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
All variables required by the watchdog core to manage a watchdog are currently stored in struct watchdog_device. The lifetime of those variables is determined by the watchdog driver. However, the lifetime of variables used by the watchdog core differs from the lifetime of struct watchdog_device. To remedy this situation, watchdog drivers can implement ref and unref callbacks, to be used by the watchdog core to lock struct watchdog_device in memory. While this solves the immediate problem, it depends on watchdog drivers to actually implement the ref/unref callbacks. This is error prone, often not implemented in the first place, or not implemented correctly. To solve the problem without requiring driver support, split the variables in struct watchdog_device into two data structures - one for variables associated with the watchdog driver, one for variables associated with the watchdog core. With this approach, the watchdog core can keep track of its variable lifetime and no longer depends on ref/unref callbacks in the driver. As a side effect, some of the variables originally in struct watchdog_driver are now private to the watchdog core and no longer visible in watchdog drivers. As a side effect of the changes made, an ioctl will now always fail with -ENODEV after a watchdog device was unregistered with the character device still open. Previously, it would only fail with -ENODEV in some situations. Also, ioctl operations are now atomic from driver perspective. With this change, it is now guaranteed that the driver will not unregister a watchdog between a timeout change and the subsequent ping. The 'ref' and 'unref' callbacks in struct watchdog_driver are no longer used and marked as deprecated. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
A watchdog driver should not use watchdog subsystem internal flags. Use a driver variable and flag instead to maintain the watchdog state and to determine if a suspend operation is possible or not. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
The watchdog character device is currently created in watchdog_dev.c, and the watchdog device in watchdog_core.c. This results in cross-dependencies, since device creation needs to know the watchdog character device number as well as the watchdog class, both of which reside in watchdog_dev.c. Create the watchdog device in watchdog_dev.c to simplify the code. Inspired by earlier patch set from Damien Riegel. Cc: Damien Riegel <damien.riegel@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 29 12月, 2015 16 次提交
-
-
由 Guenter Roeck 提交于
The 'dev' pointer in struct watchdog_device is set by the watchdog core when registering the watchdog device and not by the driver. It points to the watchdog device, not its parent. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
The device pointer in struct watchdog_device has a different lifetime than the driver code and should not be used in drivers. Use the pointer to the parent device instead. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
The device pointer in struct watchdog_device has a different lifetime than the driver code and should not be used in drivers. Use the pointer to the parent device instead. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
The device pointer in struct watchdog_device should not be used by drivers and may be removed in the near future. Use the platform device pointer for info messages instead. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guenter Roeck 提交于
Stopping a watchdog is a normal operation and does not warrant a log message. Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Mans Rullgard 提交于
This adds a binding for the watchdog in Sigma Designs SMP8642 and similar devices. Signed-off-by: NMans Rullgard <mans@mansr.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Mans Rullgard 提交于
This adds support for the Sigma Designs SMP86xx/SMP87xx family built-in watchdog. Signed-off-by: NMans Rullgard <mans@mansr.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Martyn Welch 提交于
This patchs adds documentation for the binding of the Zodiac RAVE Switch Watchdog Processor. This is an i2c based watchdog. Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Kumar Gala <galak@codeaurora.org> Cc: devicetree@vger.kernel.org Signed-off-by: NMartyn Welch <martyn.welch@collabora.co.uk> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Martyn Welch 提交于
This patch adds a driver for the Zodiac Aerospace RAVE Watchdog Procesor. This device implements a watchdog timer, accessible over I2C. Signed-off-by: NMartyn Welch <martyn.welch@collabora.co.uk> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Oleksij Rempel 提交于
Signed-off-by: NOleksij Rempel <linux@rempel-privat.de> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Oleksij Rempel 提交于
Add WD support for Alphascale asm9260 SoC. This driver provide support for different function modes: - HW mode to trigger SoC reset on timeout - SW mode do soft reset if needed - DEBUG mode Signed-off-by: NOleksij Rempel <linux@rempel-privat.de> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
This watchdog is instantiated in a FPGA that is memory mapped. It is made of only one register, called the feed register. Writing to this register will re-arm the watchdog for a given time (and enable it if it was disable). It can be disabled by writing a special value into it. It is part of a syscon block, and the watchdog register offset in this block varies from board to board. This offset is passed in the syscon property after the phandle to the syscon node. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Guo Zeng 提交于
This patch adds watchdog driver for CSRatlas7 platform. On CSRatlas7, the 6th timer can act as a watchdog timer when the Watchdog mode is enabled. Signed-off-by: NGuo Zeng <Guo.Zeng@csr.com> Signed-off-by: NWilliam Wang <William.Wang@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Carlo Caione 提交于
Add SoC specific data in the watchdog driver for the meson8b SoC. Signed-off-by: NCarlo Caione <carlo@endlessm.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Carlo Caione 提交于
With this patch we refactor the driver code to enable watchdog support for all platforms based on Amlogic meson SoCs. The new default timeout is also now chosen considering the maximum timeout allowed by the SoC. Signed-off-by: NCarlo Caione <carlo@endlessm.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Mingarelli, Thomas 提交于
This patch is for the rebranding changes for the corporate split at HP. There are no functional changes with this patch. Signed-off-by: NTom Mingarelli <thomas.mingarelli@hpe.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 28 12月, 2015 9 次提交
-
-
由 Geliang Tang 提交于
Use to_platform_device() instead of open-coding it. Signed-off-by: NGeliang Tang <geliangtang@163.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Uwe Kleine-König 提交于
With the early_enable module parameter the watchdog can be started during driver probe time. If this is requested the bets are good that the timer is already running, so to narrow the gap where the timer is disabled only call the disable function when the timer shouldn't be started. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Uwe Kleine-König 提交于
omap_wdt_start calls pm_runtime_get_sync so dropping a reference just before calling omap_wdt_start doesn't make much sense. Moreover there is no point to use the synchronous variant of pm_runtime_put because the driver doesn't care if the clock is disabled before or after omap_wdt_probe returns. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Jisheng Zhang 提交于
On 64bit platforms, "(1 << (16 + top)) / clk_get_rate(dw_wdt.clk)" is sign-extended to 64bit then converted to unsigned 64bit, finally divide the clk rate. If the top is the maximum TOP i.e 15, "(1 << (16 +15))" will be sign-extended to 0xffffffff80000000, then converted to unsigned 0xffffffff80000000, which is a huge number, thus the final result is wrong. We fix this issue by giving usigned value(1U in this case) at first. Let's assume clk rate is 25MHZ, Before the patch: dw_wdt_top_in_seconds(15) = -864612050 After the patch: dw_wdt_top_in_seconds(15) = 85 Signed-off-by: NJisheng Zhang <jszhang@marvell.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Li RongQing 提交于
the softdog has static variables which are accessed if its timer is still running after the driver is unloaded. and lead to crash: $modprobe softdog $echo 1 >/dev/watchdog $modprobe -r softdog CPU 20 Unable to handle kernel paging request at virtual address Oops[#1]: CPU: 20 PID: 0 Comm: swapper/20 Not tainted 4.1.13-WR8.0.0.0_standard ... Modules linked in: [last unloaded: softdog] .... Call Trace: [<ffffffff801e142c>] cascade+0x34/0xb0 [<ffffffff801e1964>] run_timer_softirq+0x30c/0x368 [<ffffffff80181044>] __do_softirq+0x1ec/0x418 [<ffffffff801815d0>] irq_exit+0x90/0x98 [<ffffffff8010749c>] plat_irq_dispatch+0xa4/0x140 [<ffffffff80152740>] ret_from_irq+0x0/0x4 [<ffffffff801529e0>] __r4k_wait+0x20/0x40 [<ffffffff801c2278>] cpu_startup_entry+0x2a0/0x368 [<ffffffff8015fa64>] start_secondary+0x444/0x4d8 add the module ref when timer is running to avoid to unload the softdog module Signed-off-by: NLi RongQing <roy.qing.li@gmail.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Harald Geyer 提交于
This allows the system to actually halt even if userspace forgot to disable the watchdog first. Old behaviour was that the watchdog forced the system to boot again. Signed-off-by: NHarald Geyer <harald@ccbib.org> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Huang Rui 提交于
For SB800 and later chipsets, the register definitions are the same with SB800. And for SB700 and older chipsets, the definitions should be same with SP5100/SB7x0. Signed-off-by: NHuang Rui <ray.huang@amd.com> Cc: Denis Turischev <denis.turischev@compulab.co.il> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Huang Rui 提交于
sp5100_tco watchdog is also supported on AMD KernCZ chipset of Carrizo platform. Signed-off-by: NHuang Rui <ray.huang@amd.com> Cc: Denis Turischev <denis.turischev@compulab.co.il> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Denis Turischev 提交于
AMD Mullins watchdog is fully compatible to the previous Hudson chipset, reuse the existent sp5100_tco driver. Signed-off-by: NDenis Turischev <denis.turischev@compulab.co.il> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 27 12月, 2015 2 次提交
-
-
由 Pratyush Anand 提交于
This patch adds following attributes to watchdog device's sysfs interface to read its different status. * state - reads whether device is active or not * identity - reads Watchdog device's identity string. * timeout - reads current timeout. * timeleft - reads timeleft before watchdog generates a reset * bootstatus - reads status of the watchdog device at boot * status - reads watchdog device's internal status bits * nowayout - reads whether nowayout feature was set or not Testing with iTCO_wdt: # cd /sys/class/watchdog/watchdog1/ # ls bootstatus dev device identity nowayout power state subsystem timeleft timeout uevent # cat identity iTCO_wdt # cat timeout 30 # cat state inactive # echo > /dev/watchdog1 # cat timeleft 26 # cat state active # cat bootstatus 0 # cat nowayout 0 Signed-off-by: NPratyush Anand <panand@redhat.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Pratyush Anand 提交于
We need few sysfs attributes to know different status of a watchdog device. To do that, we need to associate .dev_groups with watchdog_class. So convert it from pointer to static. Putting this static struct in watchdog_dev.c, so that static device attributes defined in that file can be attached to it. Signed-off-by: NPratyush Anand <panand@redhat.com> Suggested-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 13 12月, 2015 6 次提交
-
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Note that this watchdog used to stop unconditionnaly on SYS_HALT and SYS_POWER_OFF. The core function now calls ops->stop on SYS_HALT and SYS_DOWN. To prevent the watchdog from being stopped on reboot, the "always-running" property must be set, otherwise it will now be stopped. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Many watchdog drivers register a reboot notifier in order to stop the watchdog on system reboot. Thus we can factorize this code in the watchdog core. For that purpose, a new notifier block is added in watchdog_device for internal use only, as well as a new watchdog_stop_on_reboot helper function. If this helper is called, watchdog core registers the related notifier block and will stop the watchdog when SYS_HALT or SYS_DOWN is received. Since this operation can be critical on some platforms, abort the device registration if the reboot notifier registration fails. Suggested-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-