
This is the second of a few series, the goal of which is to facilitate porting drivers from the linux kernel. Most of the series will be about adding managed API to existing infrastructure (GPIO, reset, phy,...)
This particular series is about clocks. It adds a managed API, using the same API as linux. It also fix a use-case where the clock is initialized (rate and/or mux) when it is probed using the assigned-clocks-* properties.
JJ
Jean-Jacques Hiblot (5): drivers: clk: Handle gracefully NULL pointers drivers: clk: Add a managed API to get clocks from the device-tree test: clk: Update tests to also check the managed API drivers: clk: Fix using assigned-clocks in the node of the clock it sets up test: clk: test clock self assignment
arch/sandbox/dts/test.dts | 8 +- arch/sandbox/include/asm/clk.h | 33 ++++++++ drivers/clk/clk-uclass.c | 139 ++++++++++++++++++++++++++++++--- drivers/clk/clk_sandbox.c | 56 +++++++++++++ drivers/clk/clk_sandbox_test.c | 66 +++++++++++++--- drivers/core/device.c | 2 +- include/clk.h | 53 ++++++++++++- test/dm/clk.c | 36 ++++++++- 8 files changed, 364 insertions(+), 29 deletions(-)