Miaoqian Lin
b3ac0c58fa
watchdog: rti-wdt: Fix pm_runtime_get_sync() error checking
...
If the device is already in a runtime PM enabled state
pm_runtime_get_sync() will return 1, so a test for negative
value should be used to check for errors.
Fixes: 2d63908bdb ("watchdog: Add K3 RTI watchdog support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20220412070824.23708-1-linmq006@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2022-05-21 10:09:28 +02:00
Jan Kiszka
c83f643878
watchdog: rti_wdt: Fix calculation and evaluation of preset heartbeat
...
This ensures that the same value is read back as was eventually
programmed when using seconds as accuracy. Even then, comparing the more
precise heartbeat_ms against heartbeat in seconds will almost never
provide a match and will needlessly raise a warning. Fix by comparing
apples to apples.
Tested in combination with U-Boot as watchdog starter.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/6a4b54ac-9588-e172-c4c7-b91d524a851e@siemens.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2022-05-21 10:07:32 +02:00
Miaoqian Lin
d055ef3a2c
watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function
...
If the probe fails, we should use pm_runtime_disable() to balance
pm_runtime_enable().
Fixes: 2d63908bdb ("watchdog: Add K3 RTI watchdog support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20220105092114.23932-1-linmq006@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2022-03-27 17:04:07 +02:00
Cai Huoqing
b3220bde5e
watchdog: rti-wdt: Make use of the helper function devm_platform_ioremap_resource()
...
Use the devm_platform_ioremap_resource() helper instead of
calling platform_get_resource() and devm_ioremap_resource()
separately
Signed-off-by: Cai Huoqing <caihuoqing@baidu.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20210907074237.2808-1-caihuoqing@baidu.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2021-10-26 21:31:09 +02:00
Zhang Qilong
8711071e97
watchdog: rti-wdt: fix reference leak in rti_wdt_probe
...
pm_runtime_get_sync() will increment pm usage counter even it
failed. Forgetting to call pm_runtime_put_noidle will result
in reference leak in rti_wdt_probe, so we should fix it.
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20201030154909.100023-1-zhangqilong3@huawei.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2020-12-13 16:17:40 +01:00
Krzysztof Kozlowski
d342951bcd
watchdog: rti: Simplify with dev_err_probe()
...
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and the error value gets printed.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20200901153141.18960-3-krzk@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2020-10-14 15:02:25 +02:00
Tero Kristo
d5b29c2c5b
watchdog: rti-wdt: balance pm runtime enable calls
...
PM runtime should be disabled in the fail path of probe and when
the driver is removed.
Fixes: 2d63908bdb ("watchdog: Add K3 RTI watchdog support")
Signed-off-by: Tero Kristo <t-kristo@ti.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20200717132958.14304-5-t-kristo@ti.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2020-08-05 18:43:03 +02:00
Tero Kristo
5527483f8f
watchdog: rti-wdt: attach to running watchdog during probe
...
If the RTI watchdog is running already during probe, the driver must
configure itself to match the HW. Window size and timeout is probed from
hardware, and the last keepalive ping is adjusted to match it also.
Signed-off-by: Tero Kristo <t-kristo@ti.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20200717132958.14304-4-t-kristo@ti.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2020-08-05 18:43:02 +02:00
Tero Kristo
2d63908bdb
watchdog: Add K3 RTI watchdog support
...
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 <t-kristo@ti.com >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Link: https://lore.kernel.org/r/20200312095808.19907-4-t-kristo@ti.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org >
2020-04-01 11:35:23 +02:00