On Tue, Jul 23, 2013 at 10:39:50AM +0100, Russell King - ARM Linux wrote:
On Tue, Jul 23, 2013 at 11:08:20AM +0200, Sascha Hauer wrote:
On Tue, Jul 23, 2013 at 09:53:46AM +0100, Russell King - ARM Linux wrote:
On Tue, Jul 23, 2013 at 10:46:15AM +0200, Jean-Francois Moine wrote:
The kirkwood i2s driver is used without DT in the Kirkwood machine. This patch adds a DT compatible definition for use in other Marvell machines as the Armada 88AP510 (Dove).
Yet again, this illustrates why converting to DT causes backwards steps in drivers: the conversion of devm_clk_get() to of_clk_get() necessitates a clk_put().
Can someone please provide a devm_of_clk_get() function before we accept any more patches doing this kind of thing?
The question is why isn't regular [devm_]clk_get used here? I don't know what the Marvell stuff is doing here, but if the clk stuff is implemented correctly then
np = pdev->dev.of_node; priv->clk = of_clk_get(np, 0);
and
devm_clk_get(&pdev->dev, "label");
should both work
You tell me - I keep seeing patches on this list converting drivers from using devm_clk_get() to using of_clk_get(). Maybe of_clk_get() should be marked deprecated to stop people using it?
I don't think that's possible. There are some valid usecases for of_clk_get() when there's no struct device * available, like in many clocksource drivers.
Sascha