Re: [PATCH] clk: prevent __of_clk_get_hw_from_provider() from returning NULL

From: Sylwester Nawrocki
Date: Fri Aug 05 2016 - 04:30:00 EST


On 08/04/2016 10:57 PM, Stephen Boyd wrote:
> On 07/19, Masahiro Yamada wrote:
>> > The .get(_hw) callback of an OF clock provider can return a NULL
>> > pointer in some cases.
>> >
>> > For example, of_clk_src_onecell_get() returns NULL for index 1 of a
>> > sparse array of clocks like follows:
>> >
>> > clk_num == 3
>> > idx 0: UART clk
>> > idx 1: NULL (no clk is allocated)
>> > idx 2: I2C clk
>> >
>> > In such cases, clk_get() successfully returns NULL.

I remember running into same issue before, we have addressed
it by initializing the array of clocks with some errno value,
e.g ERR_PTR(-ENOENT), so there is no chance to get NULL from
the array - either a valid clk pointer or an ERR_PTR() value.

--
Thanks,
Sylwester