Re: [PATCH v3 3/4] i2c: jz4780: Use devm_clk_get_enabled() helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2024/8/23 23:33, Andy Shevchenko 写道:
[Some people who received this message don't often get email from andriy.shevchenko@xxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]

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)
Sorry, I didn't fully understand what you meant, it's my problem. I guess
you are suggesting to use an API like i2c_parse_fw_timings() to get the
clock-frequency?


Best Regards,
Qianfeng

       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






[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux