Re: [PATCH] clk: Mark fwnodes when their clock provider is added

Started by Geert Uytterhoeven on Mar 30, 2021

open the first message on its own page

Message details and related content
Hi Stephen,

On Tue, Mar 30, 2021 at 3:53 AM Stephen Boyd [off-list ref] wrote:
Quoting Saravana Kannan (2021-03-29 16:28:20)
quoted
On Mon, Mar 29, 2021 at 2:25 PM Stephen Boyd [off-list ref] wrote:
quoted
Quoting Geert Uytterhoeven (2021-03-26 11:29:55)
quoted
On Fri, Mar 26, 2021 at 7:13 PM Stephen Boyd [off-list ref] wrote:
quoted
Quoting Nicolas Saenz Julienne (2021-03-25 11:25:24)
quoted
quoted
This patch mainly revealed that clk/bcm/clk-raspberrypi.c driver calls
devm_of_clk_add_hw_provider(), with a device pointer, which has a NULL
dev->of_node. I'm not sure if adding a check for a NULL np in
of_clk_add_hw_provider() is a right fix, though.
I believe the right fix is not to call 'devm_of_clk_add_hw_provider()' if
'pdev->dev.of_node == NULL'. In such case, which is RPi3's, only the CPU clock
is used, and it's defined and queried later through
devm_clk_hw_register_clkdev().

@Marek, I don't mind taking care of it if it's OK with you.
Ah I see this is related to the patch I just reviewed. Can you reference
this in the commit text? And instead of putting the change into the clk
provider let's check for NULL 'np' in of_clk_add_hw_provider() instead
and return 0 if there's nothing to do. That way we don't visit this
problem over and over again.
I'm not sure the latter is what we reall want: shouldn't calling
*of*_clk_add_hw_provider() with a NULL np be a bug in the provider?
I don't have a strong opinion either way. Would it be useful if the
function returned an error when 'np' is NULL?
I lean towards returning an error. Not a strong opinion either.
Does it have any use?
of_clk_del_provider() removes the first provider found with node == NULL.
If there are two drivers calling of_clk_add_hw_provider(), and one of
hem calls of_clk_del_provider() later, the wrong provider may be
removed from the list.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help