
Hi Jean-Jacques,
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.
This series when applied on newest -master branch causes build breaks (on for instance mips, bcm):
mips: + bcm968380gerg_ram
+drivers/mtd/nand/raw/built-in.o: In function `devm_clk_get':
+drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c:7: multiple definition of `devm_clk_get'
Travis-CI result: https://travis-ci.org/lmajewski/u-boot-dfu/jobs/600367698
The branch to reproduce: https://github.com/lmajewski/u-boot-dfu/commits/testing
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(-)
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de