diff options
author | Andi Shyti <andi.shyti@kernel.org> | 2023-06-12 00:56:56 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2023-06-23 12:19:34 +0200 |
commit | 7e8e6677a8f70deb14482b70bef59dbf094d4321 (patch) | |
tree | 3ae17db3ebed7a4fe35ee2ed4f6c866bad38309a /drivers/i2c | |
parent | 9d8b7b6102d9cefb9e95c7ba764121182f696943 (diff) | |
download | lwn-7e8e6677a8f70deb14482b70bef59dbf094d4321.tar.gz lwn-7e8e6677a8f70deb14482b70bef59dbf094d4321.zip |
i2c: owl: Use devm_clk_get_enabled()
Replace the pair of functions, devm_clk_get() and clk_prepare_enable(),
with a single function devm_clk_get_enabled().
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-owl.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/i2c/busses/i2c-owl.c b/drivers/i2c/busses/i2c-owl.c index 99ddd8894964..5f0ef8c35141 100644 --- a/drivers/i2c/busses/i2c-owl.c +++ b/drivers/i2c/busses/i2c-owl.c @@ -461,21 +461,16 @@ static int owl_i2c_probe(struct platform_device *pdev) return -EINVAL; } - i2c_dev->clk = devm_clk_get(dev, NULL); + i2c_dev->clk = devm_clk_get_enabled(dev, NULL); if (IS_ERR(i2c_dev->clk)) { - dev_err(dev, "failed to get clock\n"); + dev_err(dev, "failed to enable clock\n"); return PTR_ERR(i2c_dev->clk); } - ret = clk_prepare_enable(i2c_dev->clk); - if (ret) - return ret; - i2c_dev->clk_rate = clk_get_rate(i2c_dev->clk); if (!i2c_dev->clk_rate) { dev_err(dev, "input clock rate should not be zero\n"); - ret = -EINVAL; - goto disable_clk; + return -EINVAL; } init_completion(&i2c_dev->msg_complete); @@ -496,15 +491,10 @@ static int owl_i2c_probe(struct platform_device *pdev) i2c_dev); if (ret) { dev_err(dev, "failed to request irq %d\n", irq); - goto disable_clk; + return ret; } return i2c_add_adapter(&i2c_dev->adap); - -disable_clk: - clk_disable_unprepare(i2c_dev->clk); - - return ret; } static const struct of_device_id owl_i2c_of_match[] = { |