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

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

 



Hi Andy,

On 20 November 2018 10:39 Andy Shevchenko wrote:
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.
There shouldn't be any surprises. My earlier attempts at implementing this
were hampered by the fact that of_clk_get_by_name() can return -EINVAL
in some circumstances. By directly wrapping the (devm_)clk_get() functions
that problem goes away.

+	if (ERR_PTR(-ENOENT))
Huh? That wasn't the code I sent...

+		return NULL;
+	else
+		return clk;

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

?

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

Ditto.
Sure, will fix both.

Thanks
Phil




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux