Re: [PATCH v3 3/4] i2c: jz4780: Use devm_clk_get_enabled() helpers
From: Andy Shevchenko
Date: Fri Aug 23 2024 - 11:33:58 EST
On Fri, Aug 23, 2024 at 11:51:15AM +0800, Rong Qianfeng wrote:
> The devm_clk_get_enabled() helpers:
> - call devm_clk_get()
> - call clk_prepare_enable() and register what is needed in order to
> call clk_disable_unprepare() when needed, as a managed resource.
>
> This simplifies the code and avoids the calls to clk_disable_unprepare().
>
> While at it, no more special handling needed here, remove the goto
> label "err:".
...
> ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency",
> &clk_freq);
(side note: this driver should use i2c_timings and respective I2C core
APIs instead of this)
> if (ret) {
> dev_err(&pdev->dev, "clock-frequency not specified in DT\n");
> - goto err;
> + return ret;
While at it,
return dev_err_probe(...);
> }
> i2c->speed = clk_freq / 1000;
(side note: this should be HZ_PER_KHZ from units.h)
> if (i2c->speed == 0) {
> ret = -EINVAL;
> dev_err(&pdev->dev, "clock-frequency minimum is 1000\n");
> - goto err;
> + return ret;
return dev_err_probe(...);
> }
...
> ret = platform_get_irq(pdev, 0);
> if (ret < 0)
> - goto err;
> + return ret;
> i2c->irq = ret;
I would add a blank line here.
> ret = devm_request_irq(&pdev->dev, i2c->irq, jz4780_i2c_irq, 0,
> dev_name(&pdev->dev), i2c);
> if (ret)
> - goto err;
> + return ret;
--
With Best Regards,
Andy Shevchenko