<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/clk/clk-devres.c, branch v6.0</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>clk: Fix pointer casting to prevent oops in devm_clk_release()</title>
<updated>2022-06-22T23:10:23+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2022-06-20T17:18:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8b3d743fc9e2542822826890b482afabf0e7522a'/>
<id>8b3d743fc9e2542822826890b482afabf0e7522a</id>
<content type='text'>
The release function is called with a pointer to the memory returned by
devres_alloc(). I was confused about that by the code before the
generalization that used a struct clk **ptr.

Reported-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Fixes: abae8e57e49a ("clk: generalize devm_clk_get() a bit")
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Link: https://lore.kernel.org/r/20220620171815.114212-1-u.kleine-koenig@pengutronix.de
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Tested-by: Linux Kernel Functional Testing &lt;lkft@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The release function is called with a pointer to the memory returned by
devres_alloc(). I was confused about that by the code before the
generalization that used a struct clk **ptr.

Reported-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Fixes: abae8e57e49a ("clk: generalize devm_clk_get() a bit")
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Link: https://lore.kernel.org/r/20220620171815.114212-1-u.kleine-koenig@pengutronix.de
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Tested-by: Linux Kernel Functional Testing &lt;lkft@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Provide new devm_clk helpers for prepared and enabled clocks</title>
<updated>2022-06-16T02:22:29+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2022-05-20T07:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7ef9651e9792b08eb310c6beb202cbc947f43cab'/>
<id>7ef9651e9792b08eb310c6beb202cbc947f43cab</id>
<content type='text'>
When a driver keeps a clock prepared (or enabled) during the whole
lifetime of the driver, these helpers allow to simplify the drivers.

Reviewed-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Alexandru Ardelean &lt;aardelean@deviqon.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Link: https://lore.kernel.org/r/20220520075737.758761-4-u.kleine-koenig@pengutronix.de
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a driver keeps a clock prepared (or enabled) during the whole
lifetime of the driver, these helpers allow to simplify the drivers.

Reviewed-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Alexandru Ardelean &lt;aardelean@deviqon.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Link: https://lore.kernel.org/r/20220520075737.758761-4-u.kleine-koenig@pengutronix.de
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: generalize devm_clk_get() a bit</title>
<updated>2022-06-16T02:22:29+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2022-05-20T07:57:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=abae8e57e49aa75f6db76aa866c775721523908f'/>
<id>abae8e57e49aa75f6db76aa866c775721523908f</id>
<content type='text'>
Allow to add an exit hook to devm managed clocks. Also use
clk_get_optional() in devm_clk_get_optional instead of open coding it.
The generalisation will be used in the next commit to add some more
devm_clk helpers.

Reviewed-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Alexandru Ardelean &lt;aardelean@deviqon.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Link: https://lore.kernel.org/r/20220520075737.758761-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow to add an exit hook to devm managed clocks. Also use
clk_get_optional() in devm_clk_get_optional instead of open coding it.
The generalisation will be used in the next commit to add some more
devm_clk helpers.

Reviewed-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Reviewed-by: Alexandru Ardelean &lt;aardelean@deviqon.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Link: https://lore.kernel.org/r/20220520075737.758761-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: fix leak on devm_clk_bulk_get_all() unwind</title>
<updated>2021-07-31T07:53:38+00:00</updated>
<author>
<name>Brian Norris</name>
<email>briannorris@chromium.org</email>
</author>
<published>2021-07-31T02:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f828b0bcacef189edbd247e9f48864fc36bfbe33'/>
<id>f828b0bcacef189edbd247e9f48864fc36bfbe33</id>
<content type='text'>
clk_bulk_get_all() allocates an array of struct clk_bulk data for us
(unlike clk_bulk_get()), so we need to free it. Let's use the
clk_bulk_put_all() helper.

kmemleak complains, on an RK3399 Gru/Kevin system:

unreferenced object 0xffffff80045def00 (size 128):
  comm "swapper/0", pid 1, jiffies 4294667682 (age 86.394s)
  hex dump (first 32 bytes):
    44 32 60 fe fe ff ff ff 00 00 00 00 00 00 00 00  D2`.............
    48 32 60 fe fe ff ff ff 00 00 00 00 00 00 00 00  H2`.............
  backtrace:
    [&lt;00000000742860d6&gt;] __kmalloc+0x22c/0x39c
    [&lt;00000000b0493f2c&gt;] clk_bulk_get_all+0x64/0x188
    [&lt;00000000325f5900&gt;] devm_clk_bulk_get_all+0x58/0xa8
    [&lt;00000000175b9bc5&gt;] dwc3_probe+0x8ac/0xb5c
    [&lt;000000009169e2f9&gt;] platform_drv_probe+0x9c/0xbc
    [&lt;000000005c51e2ee&gt;] really_probe+0x13c/0x378
    [&lt;00000000c47b1f24&gt;] driver_probe_device+0x84/0xc0
    [&lt;00000000f870fcfb&gt;] __device_attach_driver+0x94/0xb0
    [&lt;000000004d1b92ae&gt;] bus_for_each_drv+0x8c/0xd8
    [&lt;00000000481d60c3&gt;] __device_attach+0xc4/0x150
    [&lt;00000000a163bd36&gt;] device_initial_probe+0x1c/0x28
    [&lt;00000000accb6bad&gt;] bus_probe_device+0x3c/0x9c
    [&lt;000000001a199f89&gt;] device_add+0x218/0x3cc
    [&lt;000000001bd84952&gt;] of_device_add+0x40/0x50
    [&lt;000000009c658c29&gt;] of_platform_device_create_pdata+0xac/0x100
    [&lt;0000000021c69ba4&gt;] of_platform_bus_create+0x190/0x224

Fixes: f08c2e2865f6 ("clk: add managed version of clk_bulk_get_all")
Cc: Dong Aisheng &lt;aisheng.dong@nxp.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Brian Norris &lt;briannorris@chromium.org&gt;
Link: https://lore.kernel.org/r/20210731025950.2238582-1-briannorris@chromium.org
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clk_bulk_get_all() allocates an array of struct clk_bulk data for us
(unlike clk_bulk_get()), so we need to free it. Let's use the
clk_bulk_put_all() helper.

kmemleak complains, on an RK3399 Gru/Kevin system:

unreferenced object 0xffffff80045def00 (size 128):
  comm "swapper/0", pid 1, jiffies 4294667682 (age 86.394s)
  hex dump (first 32 bytes):
    44 32 60 fe fe ff ff ff 00 00 00 00 00 00 00 00  D2`.............
    48 32 60 fe fe ff ff ff 00 00 00 00 00 00 00 00  H2`.............
  backtrace:
    [&lt;00000000742860d6&gt;] __kmalloc+0x22c/0x39c
    [&lt;00000000b0493f2c&gt;] clk_bulk_get_all+0x64/0x188
    [&lt;00000000325f5900&gt;] devm_clk_bulk_get_all+0x58/0xa8
    [&lt;00000000175b9bc5&gt;] dwc3_probe+0x8ac/0xb5c
    [&lt;000000009169e2f9&gt;] platform_drv_probe+0x9c/0xbc
    [&lt;000000005c51e2ee&gt;] really_probe+0x13c/0x378
    [&lt;00000000c47b1f24&gt;] driver_probe_device+0x84/0xc0
    [&lt;00000000f870fcfb&gt;] __device_attach_driver+0x94/0xb0
    [&lt;000000004d1b92ae&gt;] bus_for_each_drv+0x8c/0xd8
    [&lt;00000000481d60c3&gt;] __device_attach+0xc4/0x150
    [&lt;00000000a163bd36&gt;] device_initial_probe+0x1c/0x28
    [&lt;00000000accb6bad&gt;] bus_probe_device+0x3c/0x9c
    [&lt;000000001a199f89&gt;] device_add+0x218/0x3cc
    [&lt;000000001bd84952&gt;] of_device_add+0x40/0x50
    [&lt;000000009c658c29&gt;] of_platform_device_create_pdata+0xac/0x100
    [&lt;0000000021c69ba4&gt;] of_platform_bus_create+0x190/0x224

Fixes: f08c2e2865f6 ("clk: add managed version of clk_bulk_get_all")
Cc: Dong Aisheng &lt;aisheng.dong@nxp.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Brian Norris &lt;briannorris@chromium.org&gt;
Link: https://lore.kernel.org/r/20210731025950.2238582-1-briannorris@chromium.org
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Add devm_clk_bulk_get_optional() function</title>
<updated>2019-06-25T21:28:01+00:00</updated>
<author>
<name>Sylwester Nawrocki</name>
<email>s.nawrocki@samsung.com</email>
</author>
<published>2019-06-19T09:39:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9bd5ef0bd8743700d9adffb6fbb1baa346575457'/>
<id>9bd5ef0bd8743700d9adffb6fbb1baa346575457</id>
<content type='text'>
Add managed version of the clk_bulk_get_optional() helper function.

Signed-off-by: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
[sboyd@kernel.org: Mark __devm_clk_bulk_get() static]
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add managed version of the clk_bulk_get_optional() helper function.

Signed-off-by: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
[sboyd@kernel.org: Mark __devm_clk_bulk_get() static]
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Add (devm_)clk_get_optional() functions</title>
<updated>2019-02-06T18:33:10+00:00</updated>
<author>
<name>Phil Edworthy</name>
<email>phil.edworthy@renesas.com</email>
</author>
<published>2018-12-03T11:13:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=60b8f0ddf1a927ef02141a6610fd52575134f821'/>
<id>60b8f0ddf1a927ef02141a6610fd52575134f821</id>
<content type='text'>
This adds clk_get_optional() and devm_clk_get_optional() functions to get
optional clocks.

They behave the same as (devm_)clk_get() except where there is no clock
producer. In this case, instead of returning -ENOENT, the function
returns NULL. This makes error checking simpler and allows
clk_prepare_enable, etc to be called on the returned reference
without additional checks.

Signed-off-by: Phil Edworthy &lt;phil.edworthy@renesas.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Cc: Russell King &lt;linux@armlinux.org.uk&gt;
[sboyd@kernel.org: Document in devres.txt]
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds clk_get_optional() and devm_clk_get_optional() functions to get
optional clocks.

They behave the same as (devm_)clk_get() except where there is no clock
producer. In this case, instead of returning -ENOENT, the function
returns NULL. This makes error checking simpler and allows
clk_prepare_enable, etc to be called on the returned reference
without additional checks.

Signed-off-by: Phil Edworthy &lt;phil.edworthy@renesas.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Cc: Russell King &lt;linux@armlinux.org.uk&gt;
[sboyd@kernel.org: Document in devres.txt]
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Tag clk core files with SPDX</title>
<updated>2018-12-11T17:57:47+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@kernel.org</email>
</author>
<published>2018-12-11T17:43:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ebafb63dc7759c4cc54065b5aa675080b5f453ce'/>
<id>ebafb63dc7759c4cc54065b5aa675080b5f453ce</id>
<content type='text'>
These are all GPL-2.0 files per the existing license text. Replace the
boiler plate with the tag.

Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are all GPL-2.0 files per the existing license text. Replace the
boiler plate with the tag.

Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: add managed version of clk_bulk_get_all</title>
<updated>2018-10-16T22:42:49+00:00</updated>
<author>
<name>Dong Aisheng</name>
<email>aisheng.dong@nxp.com</email>
</author>
<published>2018-08-31T04:45:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f08c2e2865f6f9b172f37d7bbf24716f9ebad553'/>
<id>f08c2e2865f6f9b172f37d7bbf24716f9ebad553</id>
<content type='text'>
This patch introduces the managed version of clk_bulk_get_all.

Cc: Michael Turquette &lt;mturquette@baylibre.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Tested-by: Thor Thayer &lt;thor.thayer@linux.intel.com&gt;
Signed-off-by: Dong Aisheng &lt;aisheng.dong@nxp.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch introduces the managed version of clk_bulk_get_all.

Cc: Michael Turquette &lt;mturquette@baylibre.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Tested-by: Thor Thayer &lt;thor.thayer@linux.intel.com&gt;
Signed-off-by: Dong Aisheng &lt;aisheng.dong@nxp.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: add managed version of clk_bulk_get</title>
<updated>2017-06-02T22:37:49+00:00</updated>
<author>
<name>Dong Aisheng</name>
<email>aisheng.dong@nxp.com</email>
</author>
<published>2017-05-19T13:49:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=618aee02e2f57042f4cdeab228caf631e524b281'/>
<id>618aee02e2f57042f4cdeab228caf631e524b281</id>
<content type='text'>
This patch introduces the managed version of clk_bulk_get.

Cc: Michael Turquette &lt;mturquette@baylibre.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@rjwysocki.net&gt;
Cc: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: Mark Brown &lt;broonie@kernel.org&gt;
Cc: Shawn Guo &lt;shawnguo@kernel.org&gt;
Cc: Fabio Estevam &lt;fabio.estevam@nxp.com&gt;
Cc: Sascha Hauer &lt;kernel@pengutronix.de&gt;
Cc: Anson Huang &lt;anson.huang@nxp.com&gt;
Cc: Robin Gong &lt;yibin.gong@nxp.com&gt;
Cc: Bai Ping &lt;ping.bai@nxp.com&gt;
Cc: Leonard Crestez &lt;leonard.crestez@nxp.com&gt;
Cc: Octavian Purdila &lt;octavian.purdila@nxp.com&gt;
Signed-off-by: Dong Aisheng &lt;aisheng.dong@nxp.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch introduces the managed version of clk_bulk_get.

Cc: Michael Turquette &lt;mturquette@baylibre.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@rjwysocki.net&gt;
Cc: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: Mark Brown &lt;broonie@kernel.org&gt;
Cc: Shawn Guo &lt;shawnguo@kernel.org&gt;
Cc: Fabio Estevam &lt;fabio.estevam@nxp.com&gt;
Cc: Sascha Hauer &lt;kernel@pengutronix.de&gt;
Cc: Anson Huang &lt;anson.huang@nxp.com&gt;
Cc: Robin Gong &lt;yibin.gong@nxp.com&gt;
Cc: Bai Ping &lt;ping.bai@nxp.com&gt;
Cc: Leonard Crestez &lt;leonard.crestez@nxp.com&gt;
Cc: Octavian Purdila &lt;octavian.purdila@nxp.com&gt;
Signed-off-by: Dong Aisheng &lt;aisheng.dong@nxp.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: add devm_get_clk_from_child() API</title>
<updated>2016-12-09T00:37:33+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2016-12-05T05:23:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=71a2f11511b4d1dc8b8e326e10ec6533b534ddf1'/>
<id>71a2f11511b4d1dc8b8e326e10ec6533b534ddf1</id>
<content type='text'>
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 = &lt;&amp;xxx&gt;;
			...
		};
		codec {
			clocks = &lt;&amp;xxx&gt;;
			...
		};
	};

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 = &lt;&amp;xxx&gt;, &lt;&amp;xxx&gt;;
		clock-names = "cpu", "codec";
		clock-ranges;
		...
		cpu {
			...
		};
		codec {
			...
		};
	};

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
[sboyd@codeurora.org: Rename subject to clk + add API]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 = &lt;&amp;xxx&gt;;
			...
		};
		codec {
			clocks = &lt;&amp;xxx&gt;;
			...
		};
	};

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 = &lt;&amp;xxx&gt;, &lt;&amp;xxx&gt;;
		clock-names = "cpu", "codec";
		clock-ranges;
		...
		cpu {
			...
		};
		codec {
			...
		};
	};

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
[sboyd@codeurora.org: Rename subject to clk + add API]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
