clk_enable_bulk() returns 0 if CLK is not enabled. But clk_get_bulk()
returns -ENOSYS if CLK is not enabled. So the -ENOSYS check needs to be
for clk_get_bulk() and not clk_enable_bulk().

Fixes: 4a3390f1d3b7 ("dm: Add support for simple-pm-bus")
Signed-off-by: Markus Schneider-Pargmann (TI) <[email protected]>
---
 drivers/core/simple-pm-bus.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/core/simple-pm-bus.c b/drivers/core/simple-pm-bus.c
index 5df11728e828..de4d9f7b4fb8 100644
--- a/drivers/core/simple-pm-bus.c
+++ b/drivers/core/simple-pm-bus.c
@@ -16,11 +16,11 @@ static int simple_pm_bus_probe(struct udevice *dev)
        struct clk_bulk *bulk = dev_get_priv(dev);
 
        ret = clk_get_bulk(dev, bulk);
-       if (ret && ret != -ENOENT)
+       if (ret && ret != -ENOENT && ret != -ENOSYS)
                return ret;
 
        ret = clk_enable_bulk(bulk);
-       if (ret && ret != -ENOSYS) {
+       if (ret) {
                clk_release_bulk(bulk);
                return ret;
        }

---
base-commit: d3e8597e46b635ec556a057bc42f0b0859654bdf
change-id: 
20260827-v2026-10-next-topic-am45-ofupstream-simple-pm-bus-64848798be49

Best regards,
--  
Markus Schneider-Pargmann (TI) <[email protected]>

Reply via email to