<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/clk, branch v3.18.4</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>clk: at91: keep slow clk enabled to prevent system hang</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Boris Brezillon</name>
<email>boris.brezillon@free-electrons.com</email>
</author>
<published>2015-01-13T14:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8f3922eea5611ebc2693b169b6dbf5487fb5b75d'/>
<id>8f3922eea5611ebc2693b169b6dbf5487fb5b75d</id>
<content type='text'>
commit dca1a4b5ff6e2c25adeff366eb06270dadeab3db upstream.

All slow clk users are not properly claiming it (get + prepare + enable)
before using it.
If all users properly claiming this clock release it, the clock is
disabled, but faulty users still depends on it, and the system hangs.

This fix prevents the slow clock from being disabled, and should solve the
hanging issue, but offending drivers should be patched to properly claim
this clock.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Reported-by: Bo Shen &lt;voice.shen@atmel.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit dca1a4b5ff6e2c25adeff366eb06270dadeab3db upstream.

All slow clk users are not properly claiming it (get + prepare + enable)
before using it.
If all users properly claiming this clock release it, the clock is
disabled, but faulty users still depends on it, and the system hangs.

This fix prevents the slow clock from being disabled, and should solve the
hanging issue, but offending drivers should be patched to properly claim
this clock.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Reported-by: Bo Shen &lt;voice.shen@atmel.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: berlin: bg2q: remove non-exist "smemc" gate clock</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Jisheng Zhang</name>
<email>jszhang@marvell.com</email>
</author>
<published>2014-12-31T08:57:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=cfde14bfad76d049ac250398910bce468df871a3'/>
<id>cfde14bfad76d049ac250398910bce468df871a3</id>
<content type='text'>
commit b71e8ecd57c8aae5b1815782c47b74ffe3efc09a upstream.

The "smemc" clock is removed on BG2Q SoCs. In fact, bit19 of clkenable
register is for nfc. Current code use bit19 for non-exist "smemc"
incorrectly, this prevents eMMC from working due to the sdhci's
"core" clk is still gated.

Signed-off-by: Jisheng Zhang &lt;jszhang@marvell.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b71e8ecd57c8aae5b1815782c47b74ffe3efc09a upstream.

The "smemc" clock is removed on BG2Q SoCs. In fact, bit19 of clkenable
register is for nfc. Current code use bit19 for non-exist "smemc"
incorrectly, this prevents eMMC from working due to the sdhci's
"core" clk is still gated.

Signed-off-by: Jisheng Zhang &lt;jszhang@marvell.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: rockchip: fix rk3066 pll lock bit location</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Heiko Stuebner</name>
<email>heiko@sntech.de</email>
</author>
<published>2014-12-24T13:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=94085032b432ab156da4c0ddfa510bb89268ce6d'/>
<id>94085032b432ab156da4c0ddfa510bb89268ce6d</id>
<content type='text'>
commit 12551f0239b50c88352e3292dd7703382addbf5e upstream.

The bit locations indicating the locking status of the plls on rk3066 are
shifted by one to the right when compared to the rk3188, bits [7:4] instead
of [8:5] on the rk3188, thus indicating the locking state of the wrong pll
or a completely different information in case of the gpll.

The recently introduced pll init code exposed that problem on some rk3066
boards when it tried to bring the boot-pll value in line with the value
from the rate table.

Fix this by defining separate pll definitions for rk3066 with the correct
locking indices.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Fixes: 2c14736c75db ("clk: rockchip: add clock driver for rk3188 and rk3066 clocks")
Tested-by: FUKAUMI Naoki &lt;naobsd@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 12551f0239b50c88352e3292dd7703382addbf5e upstream.

The bit locations indicating the locking status of the plls on rk3066 are
shifted by one to the right when compared to the rk3188, bits [7:4] instead
of [8:5] on the rk3188, thus indicating the locking state of the wrong pll
or a completely different information in case of the gpll.

The recently introduced pll init code exposed that problem on some rk3066
boards when it tried to bring the boot-pll value in line with the value
from the rate table.

Fix this by defining separate pll definitions for rk3066 with the correct
locking indices.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Fixes: 2c14736c75db ("clk: rockchip: add clock driver for rk3188 and rk3066 clocks")
Tested-by: FUKAUMI Naoki &lt;naobsd@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</pre>
</div>
</content>
</entry>
<entry>
<title>clk: rockchip: fix rk3288 cpuclk core dividers</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Heiko Stuebner</name>
<email>heiko@sntech.de</email>
</author>
<published>2014-12-18T19:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a195f753217c0cfb47e53fd4ab6db210ae498015'/>
<id>a195f753217c0cfb47e53fd4ab6db210ae498015</id>
<content type='text'>
commit 9880d4277f6aab6b21404c824f9d9c652ba518ac upstream.

Commit 0e5bdb3f9fa5 (clk: rockchip: switch to using the new cpuclk type
for armclk) didn't take into account that the divider used on rk3288
are of the (n+1) type.

The rk3066 and rk3188 socs use more complex divider types making it
necessary for the list-elements to be the real register-values to write.

Therefore reduce divider values in the table accordingly so that they
really are the values that should be written to the registers and match
the dividers actually specified for the rk3288.

Reported-by: Sonny Rao &lt;sonnyrao@chromium.org&gt;
Fixes: 0e5bdb3f9fa5 ("clk: rockchip: switch to using the new cpuclk type for armclk")
Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Reviewed-by: Doug Anderson &lt;dianders@chromium.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9880d4277f6aab6b21404c824f9d9c652ba518ac upstream.

Commit 0e5bdb3f9fa5 (clk: rockchip: switch to using the new cpuclk type
for armclk) didn't take into account that the divider used on rk3288
are of the (n+1) type.

The rk3066 and rk3188 socs use more complex divider types making it
necessary for the list-elements to be the real register-values to write.

Therefore reduce divider values in the table accordingly so that they
really are the values that should be written to the registers and match
the dividers actually specified for the rk3288.

Reported-by: Sonny Rao &lt;sonnyrao@chromium.org&gt;
Fixes: 0e5bdb3f9fa5 ("clk: rockchip: switch to using the new cpuclk type for armclk")
Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Reviewed-by: Doug Anderson &lt;dianders@chromium.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "clk: ppc-corenet: Fix Section mismatch warning"</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Kevin Hao</name>
<email>haokexin@gmail.com</email>
</author>
<published>2014-12-03T08:53:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f3067bf77664b8fdc67f89b09abf112ff0f9e038'/>
<id>f3067bf77664b8fdc67f89b09abf112ff0f9e038</id>
<content type='text'>
commit 176a107b868781c8d6868454aea7d07e0b82d6b8 upstream.

This reverts commit da788acb28386aa896224e784954bb73c99ff26c.

That commit tried to fix the section mismatch warning by moving the
ppc_corenet_clk_driver struct to init section. This is definitely wrong
because the kernel would free the memories occupied by this struct
after boot while this driver is still registered in the driver core.
The kernel would panic when accessing this driver struct.

Signed-off-by: Kevin Hao &lt;haokexin@gmail.com&gt;
Acked-by: Scott Wood &lt;scottwood@freescale.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 176a107b868781c8d6868454aea7d07e0b82d6b8 upstream.

This reverts commit da788acb28386aa896224e784954bb73c99ff26c.

That commit tried to fix the section mismatch warning by moving the
ppc_corenet_clk_driver struct to init section. This is definitely wrong
because the kernel would free the memories occupied by this struct
after boot while this driver is still registered in the driver core.
The kernel would panic when accessing this driver struct.

Signed-off-by: Kevin Hao &lt;haokexin@gmail.com&gt;
Acked-by: Scott Wood &lt;scottwood@freescale.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Don't try to use a struct clk* after it could have been freed</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Tomeu Vizoso</name>
<email>tomeu.vizoso@collabora.com</email>
</author>
<published>2014-12-02T07:54:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fcdb6d6101c937dd590cfc15c8bcd8a45048fe4f'/>
<id>fcdb6d6101c937dd590cfc15c8bcd8a45048fe4f</id>
<content type='text'>
commit 10cdfe54dab034311c8e2fad9ba2dffbe616caa9 upstream.

As __clk_release could call kfree on clk and then we wouldn't have a safe way
of getting the module that owns the clock.

Signed-off-by: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt;
Fixes: fcb0ee6a3d33 ("clk: Implement clk_unregister")
Reviewed-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 10cdfe54dab034311c8e2fad9ba2dffbe616caa9 upstream.

As __clk_release could call kfree on clk and then we wouldn't have a safe way
of getting the module that owns the clock.

Signed-off-by: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt;
Fixes: fcb0ee6a3d33 ("clk: Implement clk_unregister")
Reviewed-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Really fix deadlock with mmap_sem</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2014-12-12T23:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e2481b604dd9424a873bc5ab45eaa0c0de0d9036'/>
<id>e2481b604dd9424a873bc5ab45eaa0c0de0d9036</id>
<content type='text'>
commit 89f7e9de59bf3e3cda2e00de12c66db22675a7cf upstream.

Commit 6314b6796e3c (clk: Don't hold prepare_lock across debugfs
creation, 2014-09-04) forgot to update one place where we hold
the prepare_lock while creating debugfs directories. This means
we still have the chance of a deadlock that the commit was trying
to fix. Actually fix it by moving the debugfs creation outside
the prepare_lock.

Reported-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Fixes: 6314b6796e3c "clk: Don't hold prepare_lock across debugfs creation"
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
[mturquette@linaro.org: removed lockdep_assert]
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 89f7e9de59bf3e3cda2e00de12c66db22675a7cf upstream.

Commit 6314b6796e3c (clk: Don't hold prepare_lock across debugfs
creation, 2014-09-04) forgot to update one place where we hold
the prepare_lock while creating debugfs directories. This means
we still have the chance of a deadlock that the commit was trying
to fix. Actually fix it by moving the debugfs creation outside
the prepare_lock.

Reported-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Fixes: 6314b6796e3c "clk: Don't hold prepare_lock across debugfs creation"
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
[mturquette@linaro.org: removed lockdep_assert]
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: samsung: Fix double add of syscore ops after driver rebind</title>
<updated>2015-01-27T16:29:38+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2014-11-26T14:24:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e553baaa08938c9dd1b8145ed2ea6d8a93c47cb2'/>
<id>e553baaa08938c9dd1b8145ed2ea6d8a93c47cb2</id>
<content type='text'>
commit c31844ffdbd4e73a16c66e9d7df8ec290ab4b159 upstream.

During driver unbind the syscore ops were not unregistered which lead to
double add on syscore list:

$ echo "3810000.audss-clock-controller" &gt; /sys/bus/platform/drivers/exynos-audss-clk/unbind
$ echo "3810000.audss-clock-controller" &gt; /sys/bus/platform/drivers/exynos-audss-clk/bind
[ 1463.044061] ------------[ cut here ]------------
[ 1463.047255] WARNING: CPU: 0 PID: 1 at lib/list_debug.c:36 __list_add+0x8c/0xc0()
[ 1463.054613] list_add double add: new=c06e52c0, prev=c06e52c0, next=c06d5f84.
[ 1463.061625] Modules linked in:
[ 1463.064623] CPU: 0 PID: 1 Comm: bash Tainted: G        W      3.18.0-rc5-next-20141121-00005-ga8fab06eab42-dirty #1022
[ 1463.075338] [&lt;c0014e2c&gt;] (unwind_backtrace) from [&lt;c0011d80&gt;] (show_stack+0x10/0x14)
[ 1463.083046] [&lt;c0011d80&gt;] (show_stack) from [&lt;c048bb70&gt;] (dump_stack+0x70/0xbc)
[ 1463.090236] [&lt;c048bb70&gt;] (dump_stack) from [&lt;c00233d4&gt;] (warn_slowpath_common+0x74/0xb0)
[ 1463.098295] [&lt;c00233d4&gt;] (warn_slowpath_common) from [&lt;c00234a4&gt;] (warn_slowpath_fmt+0x30/0x40)
[ 1463.106962] [&lt;c00234a4&gt;] (warn_slowpath_fmt) from [&lt;c020fe80&gt;] (__list_add+0x8c/0xc0)
[ 1463.114760] [&lt;c020fe80&gt;] (__list_add) from [&lt;c0282094&gt;] (register_syscore_ops+0x30/0x3c)
[ 1463.122819] [&lt;c0282094&gt;] (register_syscore_ops) from [&lt;c0392f20&gt;] (exynos_audss_clk_probe+0x36c/0x460)
[ 1463.132091] [&lt;c0392f20&gt;] (exynos_audss_clk_probe) from [&lt;c0283084&gt;] (platform_drv_probe+0x48/0xa4)
[ 1463.141013] [&lt;c0283084&gt;] (platform_drv_probe) from [&lt;c0281a14&gt;] (driver_probe_device+0x13c/0x37c)
[ 1463.149852] [&lt;c0281a14&gt;] (driver_probe_device) from [&lt;c0280560&gt;] (bind_store+0x90/0xe0)
[ 1463.157822] [&lt;c0280560&gt;] (bind_store) from [&lt;c027fd10&gt;] (drv_attr_store+0x20/0x2c)
[ 1463.165363] [&lt;c027fd10&gt;] (drv_attr_store) from [&lt;c0143898&gt;] (sysfs_kf_write+0x4c/0x50)
[ 1463.173252] [&lt;c0143898&gt;] (sysfs_kf_write) from [&lt;c0142c80&gt;] (kernfs_fop_write+0xbc/0x198)
[ 1463.181395] [&lt;c0142c80&gt;] (kernfs_fop_write) from [&lt;c00e2be0&gt;] (vfs_write+0xa0/0x1a8)
[ 1463.189104] [&lt;c00e2be0&gt;] (vfs_write) from [&lt;c00e2f00&gt;] (SyS_write+0x40/0x8c)
[ 1463.196122] [&lt;c00e2f00&gt;] (SyS_write) from [&lt;c000f2a0&gt;] (ret_fast_syscall+0x0/0x48)
[ 1463.203655] ---[ end trace 08f6710c9bc8d8f3 ]---
[ 1463.208244] exynos-audss-clk 3810000.audss-clock-controller: setup completed

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Fixes: 1241ef94ccc3 ("clk: samsung: register audio subsystem clocks using common clock framework")
Signed-off-by: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c31844ffdbd4e73a16c66e9d7df8ec290ab4b159 upstream.

During driver unbind the syscore ops were not unregistered which lead to
double add on syscore list:

$ echo "3810000.audss-clock-controller" &gt; /sys/bus/platform/drivers/exynos-audss-clk/unbind
$ echo "3810000.audss-clock-controller" &gt; /sys/bus/platform/drivers/exynos-audss-clk/bind
[ 1463.044061] ------------[ cut here ]------------
[ 1463.047255] WARNING: CPU: 0 PID: 1 at lib/list_debug.c:36 __list_add+0x8c/0xc0()
[ 1463.054613] list_add double add: new=c06e52c0, prev=c06e52c0, next=c06d5f84.
[ 1463.061625] Modules linked in:
[ 1463.064623] CPU: 0 PID: 1 Comm: bash Tainted: G        W      3.18.0-rc5-next-20141121-00005-ga8fab06eab42-dirty #1022
[ 1463.075338] [&lt;c0014e2c&gt;] (unwind_backtrace) from [&lt;c0011d80&gt;] (show_stack+0x10/0x14)
[ 1463.083046] [&lt;c0011d80&gt;] (show_stack) from [&lt;c048bb70&gt;] (dump_stack+0x70/0xbc)
[ 1463.090236] [&lt;c048bb70&gt;] (dump_stack) from [&lt;c00233d4&gt;] (warn_slowpath_common+0x74/0xb0)
[ 1463.098295] [&lt;c00233d4&gt;] (warn_slowpath_common) from [&lt;c00234a4&gt;] (warn_slowpath_fmt+0x30/0x40)
[ 1463.106962] [&lt;c00234a4&gt;] (warn_slowpath_fmt) from [&lt;c020fe80&gt;] (__list_add+0x8c/0xc0)
[ 1463.114760] [&lt;c020fe80&gt;] (__list_add) from [&lt;c0282094&gt;] (register_syscore_ops+0x30/0x3c)
[ 1463.122819] [&lt;c0282094&gt;] (register_syscore_ops) from [&lt;c0392f20&gt;] (exynos_audss_clk_probe+0x36c/0x460)
[ 1463.132091] [&lt;c0392f20&gt;] (exynos_audss_clk_probe) from [&lt;c0283084&gt;] (platform_drv_probe+0x48/0xa4)
[ 1463.141013] [&lt;c0283084&gt;] (platform_drv_probe) from [&lt;c0281a14&gt;] (driver_probe_device+0x13c/0x37c)
[ 1463.149852] [&lt;c0281a14&gt;] (driver_probe_device) from [&lt;c0280560&gt;] (bind_store+0x90/0xe0)
[ 1463.157822] [&lt;c0280560&gt;] (bind_store) from [&lt;c027fd10&gt;] (drv_attr_store+0x20/0x2c)
[ 1463.165363] [&lt;c027fd10&gt;] (drv_attr_store) from [&lt;c0143898&gt;] (sysfs_kf_write+0x4c/0x50)
[ 1463.173252] [&lt;c0143898&gt;] (sysfs_kf_write) from [&lt;c0142c80&gt;] (kernfs_fop_write+0xbc/0x198)
[ 1463.181395] [&lt;c0142c80&gt;] (kernfs_fop_write) from [&lt;c00e2be0&gt;] (vfs_write+0xa0/0x1a8)
[ 1463.189104] [&lt;c00e2be0&gt;] (vfs_write) from [&lt;c00e2f00&gt;] (SyS_write+0x40/0x8c)
[ 1463.196122] [&lt;c00e2f00&gt;] (SyS_write) from [&lt;c000f2a0&gt;] (ret_fast_syscall+0x0/0x48)
[ 1463.203655] ---[ end trace 08f6710c9bc8d8f3 ]---
[ 1463.208244] exynos-audss-clk 3810000.audss-clock-controller: setup completed

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Fixes: 1241ef94ccc3 ("clk: samsung: register audio subsystem clocks using common clock framework")
Signed-off-by: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: pxa: fix pxa27x CCCR bit usage</title>
<updated>2014-11-17T19:25:29+00:00</updated>
<author>
<name>Robert Jarzmik</name>
<email>robert.jarzmik@free.fr</email>
</author>
<published>2014-10-06T23:07:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=dcf3d458304aafda3d12413ade39fdf19740dbc3'/>
<id>dcf3d458304aafda3d12413ade39fdf19740dbc3</id>
<content type='text'>
Trivial fix to check the A bit of CCCR for memory frequency
calculations, where the shift of the bit index was missing, triggering a
wrong calculation of memory frequency.

Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Trivial fix to check the A bit of CCCR for memory frequency
calculations, where the shift of the bit index was missing, triggering a
wrong calculation of memory frequency.

Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk-divider: Fix READ_ONLY when divider &gt; 1</title>
<updated>2014-11-17T19:13:52+00:00</updated>
<author>
<name>James Hogan</name>
<email>james.hogan@imgtec.com</email>
</author>
<published>2014-11-14T15:32:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e6d5e7d90be92cee626d7ec16ca9b06f1eed710b'/>
<id>e6d5e7d90be92cee626d7ec16ca9b06f1eed710b</id>
<content type='text'>
Commit 79c6ab509558 (clk: divider: add CLK_DIVIDER_READ_ONLY flag) in
v3.16 introduced the CLK_DIVIDER_READ_ONLY flag which caused the
recalc_rate() and round_rate() clock callbacks to be omitted.

However using this flag has the unfortunate side effect of causing the
clock recalculation code when a clock rate change is attempted to always
treat it as a pass-through clock, i.e. with a fixed divide of 1, which
may not be the case. Child clock rates are then recalculated using the
wrong parent rate.

Therefore instead of dropping the recalc_rate() and round_rate()
callbacks, alter clk_divider_bestdiv() to always report the current
divider as the best divider so that it is never altered.

For me the read only clock was the system clock, which divided the PLL
rate by 2, from which both the UART and the SPI clocks were divided.
Initial setting of the UART rate set it correctly, but when the SPI
clock was set, the other child clocks were miscalculated. The UART clock
was recalculated using the PLL rate as the parent rate, resulting in a
UART new_rate of double what it should be, and a UART which spewed forth
garbage when the rate changes were propagated.

Signed-off-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Thomas Abraham &lt;thomas.ab@samsung.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;
Cc: Max Schwarz &lt;max.schwarz@online.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.16+
Acked-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 79c6ab509558 (clk: divider: add CLK_DIVIDER_READ_ONLY flag) in
v3.16 introduced the CLK_DIVIDER_READ_ONLY flag which caused the
recalc_rate() and round_rate() clock callbacks to be omitted.

However using this flag has the unfortunate side effect of causing the
clock recalculation code when a clock rate change is attempted to always
treat it as a pass-through clock, i.e. with a fixed divide of 1, which
may not be the case. Child clock rates are then recalculated using the
wrong parent rate.

Therefore instead of dropping the recalc_rate() and round_rate()
callbacks, alter clk_divider_bestdiv() to always report the current
divider as the best divider so that it is never altered.

For me the read only clock was the system clock, which divided the PLL
rate by 2, from which both the UART and the SPI clocks were divided.
Initial setting of the UART rate set it correctly, but when the SPI
clock was set, the other child clocks were miscalculated. The UART clock
was recalculated using the PLL rate as the parent rate, resulting in a
UART new_rate of double what it should be, and a UART which spewed forth
garbage when the rate changes were propagated.

Signed-off-by: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Thomas Abraham &lt;thomas.ab@samsung.com&gt;
Cc: Tomasz Figa &lt;t.figa@samsung.com&gt;
Cc: Max Schwarz &lt;max.schwarz@online.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.16+
Acked-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
