Re: [RFC PATCH v2 0/2] clk: Support for DT assigned clock parents and rates

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

 




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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux