• Kuninori Morimoto's avatar
    clk: add devm_get_clk_from_child() API · 71a2f115
    Kuninori Morimoto authored
    Some driver is using this type of DT bindings for clock (more detail,
    see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt).
    
    	sound_soc {
    		...
    		cpu {
    			clocks = <&xxx>;
    			...
    		};
    		codec {
    			clocks = <&xxx>;
    			...
    		};
    	};
    
    Current driver in this case uses of_clk_get() for each node, but there
    is no devm_of_clk_get() today.
    OTOH, the problem of having devm_of_clk_get() is that it encourages the
    use of of_clk_get() when clk_get() is more desirable.
    
    Thus, this patch adds new devm_get_clk_from_chile() which explicitly
    reads as get a clock from a child node of this device.
    By this function, we can also use this type of DT bindings
    
    	sound_soc {
    		clocks = <&xxx>, <&xxx>;
    		clock-names = "cpu", "codec";
    		clock-ranges;
    		...
    		cpu {
    			...
    		};
    		codec {
    			...
    		};
    	};
    Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    [sboyd@codeurora.org: Rename subject to clk + add API]
    Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
    71a2f115
clk-devres.c 1.49 KB