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