Simplify the code which fetches the input clock for a PWM channel by
using devm_clk_get_optional().
This comes with a small functional change: previously all errors except
EPROBE_DEFER were ignored. Now all other errors are also treated as
errors. If no input clock is present devm_clk_get_optional() will return
NULL instead of an error which matches the behavior of the old code.

Signed-off-by: Martin Blumenstingl <martin.blumensti...@googlemail.com>
---
 drivers/pwm/pwm-meson.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
index 3fbbc4128ce8..35b38c7201c3 100644
--- a/drivers/pwm/pwm-meson.c
+++ b/drivers/pwm/pwm-meson.c
@@ -474,14 +474,9 @@ static int meson_pwm_init_channels(struct meson_pwm *meson,
 
                snprintf(name, sizeof(name), "clkin%u", i);
 
-               channel->clk_parent = devm_clk_get(dev, name);
-               if (IS_ERR(channel->clk_parent)) {
-                       err = PTR_ERR(channel->clk_parent);
-                       if (err == -EPROBE_DEFER)
-                               return err;
-
-                       channel->clk_parent = NULL;
-               }
+               channel->clk_parent = devm_clk_get_optional(dev, name);
+               if (IS_ERR(channel->clk_parent))
+                       return PTR_ERR(channel->clk_parent);
        }
 
        return 0;
-- 
2.21.0

Reply via email to