<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/clk/versatile, branch v3.18.100</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.18.100</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.18.100'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-07-12T12:48:02+00:00</updated>
<entry>
<title>clk: versatile: sp810: support reentrance</title>
<updated>2016-07-12T12:48:02+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2016-02-24T08:39:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=be75dcc0a08c5816df3cb21281b2e399f5e656b2'/>
<id>urn:sha1:be75dcc0a08c5816df3cb21281b2e399f5e656b2</id>
<content type='text'>
[ Upstream commit ec7957a6aa0aaf981fb8356dc47a2cdd01cde03c ]

Despite care take to allocate clocks state containers the
SP810 driver actually just supports creating one instance:
all clocks registered for every instance will end up with the
exact same name and __clk_init() will fail.

Rename the timclken&lt;0&gt; .. timclken&lt;n&gt; to sp810_&lt;instance&gt;_&lt;n&gt;
so every clock on every instance gets a unique name.

This is necessary for the RealView PBA8 which has two SP810
blocks: the second block will not register its clocks unless
every clock on every instance is unique and results in boot
logs like this:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at ../drivers/clk/versatile/clk-sp810.c:137
  clk_sp810_of_setup+0x110/0x154()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted
4.5.0-rc2-00030-g352718fc39f6-dirty #225
Hardware name: ARM RealView Machine (Device Tree Support)
[&lt;c00167f8&gt;] (unwind_backtrace) from [&lt;c0013204&gt;]
             (show_stack+0x10/0x14)
[&lt;c0013204&gt;] (show_stack) from [&lt;c01a049c&gt;]
             (dump_stack+0x84/0x9c)
[&lt;c01a049c&gt;] (dump_stack) from [&lt;c0024990&gt;]
             (warn_slowpath_common+0x74/0xb0)
[&lt;c0024990&gt;] (warn_slowpath_common) from [&lt;c0024a68&gt;]
             (warn_slowpath_null+0x1c/0x24)
[&lt;c0024a68&gt;] (warn_slowpath_null) from [&lt;c051eb44&gt;]
             (clk_sp810_of_setup+0x110/0x154)
[&lt;c051eb44&gt;] (clk_sp810_of_setup) from [&lt;c051e3a4&gt;]
             (of_clk_init+0x12c/0x1c8)
[&lt;c051e3a4&gt;] (of_clk_init) from [&lt;c0504714&gt;]
             (time_init+0x20/0x2c)
[&lt;c0504714&gt;] (time_init) from [&lt;c0501b18&gt;]
             (start_kernel+0x244/0x3c4)
[&lt;c0501b18&gt;] (start_kernel) from [&lt;7000807c&gt;] (0x7000807c)
---[ end trace cb88537fdc8fa200 ]---

Cc: Michael Turquette &lt;mturquette@baylibre.com&gt;
Cc: Pawel Moll &lt;pawel.moll@arm.com&gt;
Fixes: 6e973d2c4385 "clk: vexpress: Add separate SP810 driver"
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>clk: versatile: off by one in clk_sp810_timerclken_of_get()</title>
<updated>2015-10-28T02:14:38+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2015-07-29T10:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8437a1598f929204f5bd683431f5f8fa4481cbe9'/>
<id>urn:sha1:8437a1598f929204f5bd683431f5f8fa4481cbe9</id>
<content type='text'>
[ Upstream commit 3294bee87091be5f179474f6c39d1d87769635e2 ]

The "&gt;" should be "&gt;=" or we end up reading beyond the end of the array.

Fixes: 6e973d2c4385 ('clk: vexpress: Add separate SP810 driver')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>clk: versatile: add versatile OSC support</title>
<updated>2014-06-24T19:21:22+00:00</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2014-03-02T04:05:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a54c959d8be9d057b1a192e34a378b74dd81c5f6'/>
<id>urn:sha1:a54c959d8be9d057b1a192e34a378b74dd81c5f6</id>
<content type='text'>
Versatile platforms share the same OSC programming model as Integrator
platforms. Add the necessary parameters and init functions for Versatile.

Renaming the file to clk-versatile.c as versatile is used as the family
name for ARM, Ltd. boards.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'clk-for-linus-3.16' of git://git.linaro.org/people/mike.turquette/linux into next</title>
<updated>2014-06-08T03:27:30+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-06-08T03:27:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1a5700bc2d10cd379a795fd2bb377a190af5acd4'/>
<id>urn:sha1:1a5700bc2d10cd379a795fd2bb377a190af5acd4</id>
<content type='text'>
Pull clock framework updates from Mike Turquette:
 "The clock framework changes for 3.16 are pretty typical: mostly clock
  driver additions and fixes.  There are additions to the clock core
  code for some of the basic types (e.g. the common divider type has
  some fixes and featured added to it).

  One minor annoyance is a last-minute dependency that wasn't handled
  quite right.  Commit ba0fae3b06a6 ("clk: berlin: add core clock driver
  for BG2/BG2CD") in this pull request depends on
  include/dt-bindings/clock/berlin2.h, which is already in your tree via
  the arm-soc pull request.  Building for the berlin platform will break
  when the clk tree is built on it's own, but merged into your master
  branch everything should be fine"

* tag 'clk-for-linus-3.16' of git://git.linaro.org/people/mike.turquette/linux: (75 commits)
  mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs
  clk: export __clk_round_rate for providers
  clk: versatile: free icst on error return
  clk: qcom: Return error pointers for unimplemented clocks
  clk: qcom: Support msm8974pro global clock control hardware
  clk: qcom: Properly support display clocks on msm8974
  clk: qcom: Support display RCG clocks
  clk: qcom: Return highest rate when round_rate() exceeds plan
  clk: qcom: Fix mmcc-8974's PLL configurations
  clk: qcom: Fix clk_rcg2_is_enabled() check
  clk: berlin: add core clock driver for BG2Q
  clk: berlin: add core clock driver for BG2/BG2CD
  clk: berlin: add driver for BG2x complex divider cells
  clk: berlin: add driver for BG2x simple PLLs
  clk: berlin: add driver for BG2x audio/video PLL
  clk: st: Terminate of match table
  clk/exynos4: Fix compilation warning
  ARM: shmobile: r8a7779: Add clock index macros for DT sources
  clk: divider: Fix overflow in clk_divider_bestdiv
  clk: u300: Terminate of match table
  ...
</content>
</entry>
<entry>
<title>clk: versatile: free icst on error return</title>
<updated>2014-05-31T00:07:46+00:00</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2014-04-12T17:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ab7ad35300f3810bca13993d1a6e100505c4af5b'/>
<id>urn:sha1:ab7ad35300f3810bca13993d1a6e100505c4af5b</id>
<content type='text'>
commit a183da63 introduced a new error return path that does
not kfree icst if the kmemdup of desc-&gt;params fails.

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'linaro/clk-next' into clk-next</title>
<updated>2014-05-23T21:30:35+00:00</updated>
<author>
<name>Mike Turquette</name>
<email>mturquette@linaro.org</email>
</author>
<published>2014-05-23T21:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dedca6abaf42fb596645e60a20f677a6a4692c22'/>
<id>urn:sha1:dedca6abaf42fb596645e60a20f677a6a4692c22</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clk: impd1: add pclk clocks</title>
<updated>2014-05-21T23:16:02+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2014-04-15T08:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=222cb1bf180e413e1816aaf4166e4f56e72201d8'/>
<id>urn:sha1:222cb1bf180e413e1816aaf4166e4f56e72201d8</id>
<content type='text'>
The IM-PD1 PrimeCells all have pclk assignments though this clock
cannot be controlled, and we need to provide this as a dummy
clock for the PL061 GPIO driver to probe, so let's assign it to
all the cells on the board.

Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk: versatile: Split config options for sp810 and vexpress_osc</title>
<updated>2014-05-15T16:02:20+00:00</updated>
<author>
<name>Pawel Moll</name>
<email>pawel.moll@arm.com</email>
</author>
<published>2013-09-17T16:16:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5ee2b877793d89f1d73338d08af12f73fbbfed4a'/>
<id>urn:sha1:5ee2b877793d89f1d73338d08af12f73fbbfed4a</id>
<content type='text'>
Move the Kconfig entry for Versatile (&amp; Express) clock drivers
into a separate file and add individual options for sp810
and vexpress_osc drivers, as they are optional in some
configurations and may have separate dependencies.

Signed-off-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: vexpress: Convert custom func API to regmap</title>
<updated>2014-05-15T16:02:18+00:00</updated>
<author>
<name>Pawel Moll</name>
<email>pawel.moll@arm.com</email>
</author>
<published>2014-04-30T15:46:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3b9334ac835bb431e2186645230c9f1eb94b5d49'/>
<id>urn:sha1:3b9334ac835bb431e2186645230c9f1eb94b5d49</id>
<content type='text'>
Components of the Versatile Express platform (configuration
microcontrollers on motherboard and daughterboards in particular)
talk to each other over a custom configuration bus. They
provide miscellaneous functions (from clock generator control
to energy sensors) which are represented as platform devices
(and Device Tree nodes). The transactions on the bus can
be generated by different "bridges" in the system, some
of which are universal for the whole platform (for the price
of high transfer latencies), others restricted to a subsystem
(but much faster).

Until now drivers for such functions were using custom "func"
API, which is being replaced in this patch by regmap calls.
This required:

* a rework (and move to drivers/bus directory, as suggested
  by Samuel and Arnd) of the config bus core, which is much
  simpler now and uses device model infrastructure (class)
  to keep track of the bridges; non-DT case (soon to be
  retired anyway) is simply covered by a special device
  registration function

* the new config-bus driver also takes over device population,
  so there is no need for special matching table for
  of_platform_populate nor "simple-bus" hack in the arm64
  model dtsi file (relevant bindings documentation has
  been updated); this allows all the vexpress devices
  fit into normal device model, making it possible
  to remove plenty of early inits and other hacks in
  the near future

* adaptation of the syscfg bridge implementation in the
  sysreg driver, again making it much simpler; there is
  a special case of the "energy" function spanning two
  registers, where they should be both defined in the tree
  now, but backward compatibility is maintained in the code

* modification of the relevant drivers:

  * hwmon - just a straight-forward API change
  * power/reset driver - API change
  * regulator - API change plus error handling
    simplification
  * osc clock driver - this one required larger rework
    in order to turn in into a standard platform driver

Signed-off-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Acked-by: Mark Brown &lt;broonie@linaro.org&gt;
Acked-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Acked-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
<entry>
<title>clk/versatile: export symbols for impd1</title>
<updated>2014-05-15T06:40:49+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2014-05-08T14:56:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a218d7fa3f7dbc0d3a168f1ccd13b21313d85dab'/>
<id>urn:sha1:a218d7fa3f7dbc0d3a168f1ccd13b21313d85dab</id>
<content type='text'>
The impd1 code on mach-integrator can be a loadable module,
so we have to export icst_clk_register, integrator_impd1_clk_init
and integrator_impd1_clk_exit.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
</entry>
</feed>
