diff options
author | Jason Zhou <jason.zhou@starfivetech.com> | 2022-07-21 13:40:44 +0300 |
---|---|---|
committer | Jason Zhou <jason.zhou@starfivetech.com> | 2022-07-21 13:40:44 +0300 |
commit | a03172890bed9cc2793f36fcb0b40ca831cc9c20 (patch) | |
tree | d54f09645962464ac269973063e06fde98d38dd8 | |
parent | afa9b7d3b9fdf7e165bb23de0f8950f4ae5ac79c (diff) | |
parent | 90bf7fcc1ebef012271393beffffa7f85fc642c5 (diff) | |
download | linux-a03172890bed9cc2793f36fcb0b40ca831cc9c20.tar.xz |
Merge branch 'CR_1661_Watchdog_api_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_1661 watchdog:starfive:Update reset api
See merge request sdk/linux!308
-rwxr-xr-x | drivers/watchdog/starfive-wdt.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/watchdog/starfive-wdt.c b/drivers/watchdog/starfive-wdt.c index abe41eed44c0..6db31d3bd234 100755 --- a/drivers/watchdog/starfive-wdt.c +++ b/drivers/watchdog/starfive-wdt.c @@ -134,8 +134,7 @@ struct starfive_wdt { struct watchdog_device wdt_device; struct clk *core_clk; struct clk *apb_clk; - struct reset_control *rst_apb; - struct reset_control *rst_core; + struct reset_control *rsts; const struct starfive_wdt_variant *drv_data; u32 count; /*count of timeout*/ u32 reload; /*restore the count*/ @@ -252,18 +251,13 @@ static int starfive_wdt_reset_init(struct starfive_wdt *wdt) { int err = 0; - wdt->rst_apb = devm_reset_control_get_exclusive(wdt->dev, "rst_apb"); - if (!IS_ERR(wdt->rst_apb)) { - err = reset_control_deassert(wdt->rst_apb); + wdt->rsts = devm_reset_control_array_get_exclusive(wdt->dev); + if (!IS_ERR(wdt->rsts)) { + err = reset_control_deassert(wdt->rsts); if (err) - dev_warn(wdt->dev, "deassert apb_rst error.\n"); - } - wdt->rst_core = devm_reset_control_get_exclusive(wdt->dev, "rst_core"); - if (!IS_ERR(wdt->rst_core)) { - err = reset_control_deassert(wdt->rst_core); - if (err) - dev_warn(wdt->dev, "deassert core_rst error.\n"); - } + dev_err(wdt->dev, "deassert rsts error.\n"); + } else + err = PTR_ERR(wdt->rsts); return err; } |