Re: [PATCH] clk: Add (devm_)clk_get_optional() functions

From: Andy Shevchenko
Date: Tue Nov 20 2018 - 05:38:41 EST


On Mon, Nov 19, 2018 at 02:12:59PM +0000, Phil Edworthy wrote:
> This adds clk_get_optional() and devm_clk_get_optional() functions to get
> optional clocks.
> They behave the same as (devm_)clk_get except where there is no clock
> producer. In this case, instead of returning -ENOENT, the function
> returns NULL. This makes error checking simpler and allows
> clk_prepare_enable, etc to be called on the returned reference
> without additional checks.

> - Instead of messing with the core functions, simply wrap them for the
> _optional() versions. By putting clk_get_optional() inline in the header
> file, we can get rid of the arch specific patches as well.

Fine if it would have no surprises with error handling.

> + if (ERR_PTR(-ENOENT))
> + return NULL;
> + else
> + return clk;

return clk == ERR_PTR(-ENOENT) ? NULL : clk;

?

> + if (clk == ERR_PTR(-ENOENT))
> + return NULL;
> + else
> + return clk;

Ditto.


--
With Best Regards,
Andy Shevchenko