Re: [PATCH v5 8/8] clk: fixed-rate: Convert into a module platform driver

From: Alan Tull
Date: Thu Oct 18 2018 - 16:34:14 EST


On Thu, Oct 18, 2018 at 3:24 PM Stephen Boyd <sboyd@xxxxxxxxxx> wrote:
>
> Quoting Alan Tull (2018-10-18 12:20:58)
> > On Tue, Jul 5, 2016 at 11:45 AM Ricardo Ribalda Delgado
> > <ricardo.ribalda@xxxxxxxxx> wrote:
> >
> > I've stumbled across a of_node_get/put imbalance that happens when the
> > fixed rate clock is added and deleted using device tree. The cause is
> > that this driver calls of_clk_add_provider() when probed, but doesn't
> > call of_clk_del_provider() when removed.
> >
> > It looks like a lot of clock drivers share that issue:
> >
> > $ cd drivers/clk/
> > $ git grep -l of_clk_add_provider * | xargs grep -L of_clk_del_provider | wc -l
> > 131
> >
> > It should be a one line fix, but for many files.
> >
> > I'm not a clock subsystem expert, so please let me know whether I'm
> > missing something here.
> >
>
> Patches welcome. Please include Fixes: tags for backports. Probably
> drivers don't care because clk devices are almost never removed. That
> isn't to say it shouldn't be fixed, but just giving some background on
> why nobody has fixed it.

Thanks for the context. I ran into this while testing some devicetree
overlay code changes. My use is FPGAs where a clock may be added or
removed if the FPGA is reprogrammed.

Alan