Re: [PATCH v3] i2c: ocores: use devm_ managed clks

Dan Carpenter
2023-05-25T09:26:46Z

On Wed, May 24, 2023 at 09:21:56PM +0200, Christophe JAILLET wrote:
> > + if (ret) {
> > + dev_err(dev,
> > + "clk_prepare_enable failed: %d\n", ret);
> > + return ret;
> > }
> > + rate = clk_get_rate(i2c->clk) / 1000;
>
> Now (because of the devm_clk_get_optional_enabled()), i2c->clk can be NULL,
> so this would deference a NULL pointer.
>

No, it's fine. clk_get_rate() checks for NULL. When a function returns
a mix of error pointers and NULL, like devm_clk_get_optional_enabled(),
then all the functions like this must have NULL checks built it.

regards,
dan carpenter