Re: [PATCH v3 09/22] i2c: tegra: Clean up probe function
From: Andy Shevchenko
Date: Thu Sep 03 2020 - 11:19:42 EST
On Thu, Sep 3, 2020 at 3:54 AM Dmitry Osipenko <digetx@xxxxxxxxx> wrote:
>
> The driver's probe function code is difficult to read and follow. This
> patch reorders code of the probe function, forming logical groups that are
> easy to work with. The clock and hardware initializations are factored
> out into separate functions in order to keep code clean and ease error
> unwinding.
>
> Driver now makes use of devm_platform_get_and_ioremap_resource() and
> platform_get_irq() which are replacing boilerplate parts of the code.
>
> The dev_err_probe() is now used for reset control retrieval because reset
> is now requested before clocks, and thus, BPMP driver that provides reset
> controls for newer SoCs may cause the probe defer.
> The error message of devm_request_irq() is removed because this function
> takes care of printing the message by itself.
I see no evidence of this.
...
> + of_property_read_u32(np, "clock-frequency", &bus_clk_rate);
> + i2c_dev->bus_clk_rate = bus_clk_rate;
Hmm... I dunno if Wolfram is going to implement a special helper
exactly for this. I remember we discussed that with him during v5.8
(?) times.
...
> +static int tegra_i2c_init_clocks(struct tegra_i2c_dev *i2c_dev)
Hmm... Don't we have something like devm_clk_bulk_get_all() or so?
--
With Best Regards,
Andy Shevchenko