<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/clk, branch v3.19</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.19</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.19'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-01-17T19:33:57Z</updated>
<entry>
<title>clk: fix possible null pointer dereference</title>
<updated>2015-01-17T19:33:57Z</updated>
<author>
<name>Stanimir Varbanov</name>
<email>svarbanov@mm-sol.com</email>
</author>
<published>2015-01-05T16:04:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c7662fc59ca38517e0ec04ceaa123ed8209ab6bf'/>
<id>urn:sha1:c7662fc59ca38517e0ec04ceaa123ed8209ab6bf</id>
<content type='text'>
The commit 646cafc6 (clk: Change clk_ops-&gt;determine_rate to
return a clk_hw as the best parent) opens a possibility for
null pointer dereference, fix this.

Signed-off-by: Stanimir Varbanov &lt;svarbanov@mm-sol.com&gt;
Reviewed-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>Revert "clk: ppc-corenet: Fix Section mismatch warning"</title>
<updated>2015-01-17T19:27:16Z</updated>
<author>
<name>Kevin Hao</name>
<email>haokexin@gmail.com</email>
</author>
<published>2014-12-03T08:53:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=176a107b868781c8d6868454aea7d07e0b82d6b8'/>
<id>urn:sha1:176a107b868781c8d6868454aea7d07e0b82d6b8</id>
<content type='text'>
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.

Cc: stable@vger.kernel.org # 3.17
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;
</content>
</entry>
<entry>
<title>clk: rockchip: fix deadlock possibility in cpuclk</title>
<updated>2015-01-17T19:22:39Z</updated>
<author>
<name>Heiko Stübner</name>
<email>heiko@sntech.de</email>
</author>
<published>2015-01-16T16:52:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a5e1baf7dca10f8cf945394034013260297bc416'/>
<id>urn:sha1:a5e1baf7dca10f8cf945394034013260297bc416</id>
<content type='text'>
Lockdep reported a possible deadlock between the cpuclk lock and for example
the i2c driver.

       CPU0                    CPU1
       ----                    ----
  lock(clk_lock);
                               local_irq_disable();
                               lock(&amp;(&amp;i2c-&gt;lock)-&gt;rlock);
                               lock(clk_lock);
  &lt;Interrupt&gt;
    lock(&amp;(&amp;i2c-&gt;lock)-&gt;rlock);

 *** DEADLOCK ***

The generic clock-types of the core ccf already use spin_lock_irqsave when
touching clock registers, so do the same for the cpuclk.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Reviewed-by: Doug Anderson &lt;dianders@chromium.org&gt;
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
[mturquette@linaro.org: removed initialization of "flags"]
</content>
</entry>
<entry>
<title>clk: berlin: bg2q: remove non-exist "smemc" gate clock</title>
<updated>2015-01-13T18:58:43Z</updated>
<author>
<name>Jisheng Zhang</name>
<email>jszhang@marvell.com</email>
</author>
<published>2014-12-31T08:57:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b71e8ecd57c8aae5b1815782c47b74ffe3efc09a'/>
<id>urn:sha1:b71e8ecd57c8aae5b1815782c47b74ffe3efc09a</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org # 3.16+
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: at91: keep slow clk enabled to prevent system hang</title>
<updated>2015-01-13T18:54:01Z</updated>
<author>
<name>Boris Brezillon</name>
<email>boris.brezillon@free-electrons.com</email>
</author>
<published>2015-01-13T14:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dca1a4b5ff6e2c25adeff366eb06270dadeab3db'/>
<id>urn:sha1:dca1a4b5ff6e2c25adeff366eb06270dadeab3db</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org
Signed-off-by: Michael Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: rockchip: fix rk3288 cpuclk core dividers</title>
<updated>2014-12-28T22:31:44Z</updated>
<author>
<name>Heiko Stuebner</name>
<email>heiko@sntech.de</email>
</author>
<published>2014-12-18T19:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9880d4277f6aab6b21404c824f9d9c652ba518ac'/>
<id>urn:sha1:9880d4277f6aab6b21404c824f9d9c652ba518ac</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>clk: rockchip: fix rk3066 pll lock bit location</title>
<updated>2014-12-28T22:30:08Z</updated>
<author>
<name>Heiko Stuebner</name>
<email>heiko@sntech.de</email>
</author>
<published>2014-12-24T13:31:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=12551f0239b50c88352e3292dd7703382addbf5e'/>
<id>urn:sha1:12551f0239b50c88352e3292dd7703382addbf5e</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>clk: rockchip: Fix clock gate for rk3188 hclk_emem_peri</title>
<updated>2014-12-21T14:21:28Z</updated>
<author>
<name>Romain Perier</name>
<email>romain.perier@gmail.com</email>
</author>
<published>2014-12-12T17:50:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5039d16abe250102c021557184950c47566170a4'/>
<id>urn:sha1:5039d16abe250102c021557184950c47566170a4</id>
<content type='text'>
Do not disable clock gate "hclk_emem_peri", otherwise EMAC clocks no longer work
and it breaks ethernet on RK3066 and RK3188. It fixes a regression introduced by
commit 78eaf6095cc7 ("clk: rockchip: disable unused clocks").

Signed-off-by: Romain Perier &lt;romain.perier@gmail.com&gt;
Fixes: 78eaf6095cc7 ("clk: rockchip: disable unused clocks")
Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
</content>
</entry>
<entry>
<title>clk: rockchip: add CLK_IGNORE_UNUSED flag to fix rk3066/rk3188 USB Host</title>
<updated>2014-12-21T14:18:24Z</updated>
<author>
<name>Julien CHAUVEAU</name>
<email>julien.chauveau@neo-technologies.fr</email>
</author>
<published>2014-12-12T21:05:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=caa6934ac70b1dd7d1d4939961da5b23f305d968'/>
<id>urn:sha1:caa6934ac70b1dd7d1d4939961da5b23f305d968</id>
<content type='text'>
This patch adds CLK_IGNORE_UNUSED flag to hclk_usb_peri, hclk_usbotg0
and hclk_usbotg1 because these clocks must remain enabled to use the
USB controllers in host mode.

This fixes a regression introduced by commit 78eaf6095cc7
("clk: rockchip: disable unused clocks").

Signed-off-by: Julien CHAUVEAU &lt;julien.chauveau@neo-technologies.fr&gt;
Fixes: 78eaf6095cc7 ("clk: rockchip: disable unused clocks")
Reviewed-by: Romain Perier &lt;romain.perier@gmail.com&gt;
Tested-by: Romain Perier &lt;romain.perier@gmail.com&gt;
Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
</content>
</entry>
<entry>
<title>Merge tag 'clk-for-linus-3.19' of git://git.linaro.org/people/mike.turquette/linux</title>
<updated>2014-12-21T00:42:36Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-12-21T00:42:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bfc7249cc293deac8f2678b7ec3d2407b68c0a33'/>
<id>urn:sha1:bfc7249cc293deac8f2678b7ec3d2407b68c0a33</id>
<content type='text'>
Pull clk framework updates from Mike Turquette:
 "This is much later than usual due to several last minute bugs that had
  to be addressed.  As usual the majority of changes are new drivers and
  modifications to existing drivers.  The core recieved many fixes along
  with the groundwork for several large changes coming in the future
  which will better parition clock providers from clock consumers"

* tag 'clk-for-linus-3.19' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
  clk: samsung: Fix Exynos 5420 pinctrl setup and clock disable failure due to domain being gated
  ARM: OMAP3: clock: fix boot breakage in legacy mode
  ARM: OMAP2+: clock: fix DPLL code to use new determine rate APIs
  clk: Really fix deadlock with mmap_sem
  clk: mmp: fix sparse non static symbol warning
  clk: Change clk_ops-&gt;determine_rate to return a clk_hw as the best parent
  clk: change clk_debugfs_add_file to take a struct clk_hw
  clk: Don't expose __clk_get_accuracy
  clk: Don't try to use a struct clk* after it could have been freed
  clk: Remove unused function __clk_get_prepare_count
  clk: samsung: Fix double add of syscore ops after driver rebind
  clk: samsung: exynos4: set parent of sclk_hdmiphy to hdmi
  clk: samsung: exynos4415: Fix build with PM_SLEEP disabled
  clk: samsung: remove unnecessary inclusion of header files from clk.h
  clk: samsung: remove unnecessary CONFIG_OF from clk.c
  clk: samsung: Spelling s/bwtween/between/
  clk: rockchip: Add support for the mmc clock phases using the framework
  clk: rockchip: add bindings for the mmc clocks
  clk: rockchip: rk3288 export i2s0_clkout for use in DT
  clk: rockchip: use clock ID for DMC (memory controller) on rk3288
  ...
</content>
</entry>
</feed>
