[RFC PATCH v2 0/2] clk: Support for DT assigned clock parents and rates
Maxime Coquelin
maxime.coquelin at st.com
Thu Mar 6 08:45:55 EST 2014
Hi Sylwester,
I like the principle of your implementation, but I have two questions:
1 - How can we manage PM with this solution, as the parent/rate will be
set only once at probe time?
2 - How to set the parent of a parent clock (which can be shared with
other devices)? Same question about the parent rates.
Thanks,
Maxime
On 03/03/2014 07:15 PM, Sylwester Nawrocki wrote:
> This patch set adds a DT binding documentation for new 'clock-parents'
> and 'clock-rates' DT properties and a helper function to parse them.
> The helper is now being called from within the driver core, similarly
> as it is done for the pins configuration binding to a device.
>
> Patch 1/2 adds a variant of of_clk_get() function which accepts name of
> a DT property containing list of phandle + clock specifier pairs, as
> opposed to hard coded "clocks" property name in of_clk_get().
> As Mike suggested I've renamed this function to of_clk_get_by_property().
>
> Patch 2/2 actually adds the code searching for related DT properties at
> device node and performing re-parenting and/or clock frequency setting
> as specified.
>
> Changes since v1:
> - updated DT binding documentation,
> - dropped the platform bus notifier, the clock setup routine is now
> being called directly from the driver core before a driver probe() call;
> this has an advantage such as all bus types are handled and any errors
> are propagated, so that, for instance a driver probe() can be deferred
> also when resources specified by clock-parents/clock-rates properties
> are not yet available; an alternative would be to let drivers call
> of_clk_device_setup() directly,
> - dropped the patch adding a macro definition for maximum DT property
> name length for now.
>
> Open issues:
> - handling of errors from of_clk_get_by_property() could be improved,
> currently ENOENT is returned by this function not only for a null
> entry.
>
> This series has been tested on ARM, on Exynos4412 Trats2 board.
> RFC v1 can be found at:
> http://www.spinics.net/lists/arm-kernel/msg309241.html
>
> Sylwester Nawrocki (2):
> clk: Add function parsing arbitrary clock list DT property
> clk: Add handling of clk parent and rate assigned from DT
>
> .../devicetree/bindings/clock/clock-bindings.txt | 23 ++++++
> drivers/base/dd.c | 5 ++
> drivers/clk/clk.c | 77 ++++++++++++++++++++
> drivers/clk/clk.h | 3 +
> drivers/clk/clkdev.c | 25 ++++++-
> include/linux/clk-provider.h | 6 ++
> 6 files changed, 135 insertions(+), 4 deletions(-)
>
> --
> 1.7.9.5
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
More information about the linux-arm-kernel
mailing list