hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
u-boot/drivers/watchdog/rockchip_wdt.c
....@@ -86,7 +86,8 @@
8686
8787 printf("Rockchip watchdog timeout: %lld sec\n", timeout / 1000);
8888
89
- reset_deassert(&priv->rst);
89
+ if (priv->rst.dev)
90
+ reset_deassert(&priv->rst);
9091
9192 rockchip_wdt_reset(dev);
9293 rockchip_wdt_settimeout(timeout, priv);
....@@ -100,8 +101,10 @@
100101 {
101102 struct rockchip_wdt_priv *priv = dev_get_priv(dev);
102103
103
- reset_assert(&priv->rst);
104
- reset_deassert(&priv->rst);
104
+ if (priv->rst.dev) {
105
+ reset_assert(&priv->rst);
106
+ reset_deassert(&priv->rst);
107
+ }
105108
106109 printf("Rockchip watchdog stop\n");
107110
....@@ -133,7 +136,7 @@
133136 ret = reset_get_by_name(dev, "reset", &priv->rst);
134137 if (ret) {
135138 pr_err("reset_get_by_name(reset) failed: %d\n", ret);
136
- return ret;
139
+ priv->rst.dev = NULL;
137140 }
138141
139142 ret = clk_get_by_index(dev, 0, &priv->clk);