<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/clk/mvebu, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-09-22T09:41:22Z</updated>
<entry>
<title>clk: kirkwood: Fix a clocking boot regression</title>
<updated>2021-09-22T09:41:22Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2021-08-14T23:55:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c0be52046c94489dfbb87ef0ff6107f04ff1e5d'/>
<id>urn:sha1:5c0be52046c94489dfbb87ef0ff6107f04ff1e5d</id>
<content type='text'>
commit aaedb9e00e5400220a8871180d23a83e67f29f63 upstream.

Since a few kernel releases the Pogoplug 4 has crashed like this
during boot:

Unable to handle kernel NULL pointer dereference at virtual address 00000002
(...)
[&lt;c04116ec&gt;] (strlen) from [&lt;c00ead80&gt;] (kstrdup+0x1c/0x4c)
[&lt;c00ead80&gt;] (kstrdup) from [&lt;c04591d8&gt;] (__clk_register+0x44/0x37c)
[&lt;c04591d8&gt;] (__clk_register) from [&lt;c04595ec&gt;] (clk_hw_register+0x20/0x44)
[&lt;c04595ec&gt;] (clk_hw_register) from [&lt;c045bfa8&gt;] (__clk_hw_register_mux+0x198/0x1e4)
[&lt;c045bfa8&gt;] (__clk_hw_register_mux) from [&lt;c045c050&gt;] (clk_register_mux_table+0x5c/0x6c)
[&lt;c045c050&gt;] (clk_register_mux_table) from [&lt;c0acf3e0&gt;] (kirkwood_clk_muxing_setup.constprop.0+0x13c/0x1ac)
[&lt;c0acf3e0&gt;] (kirkwood_clk_muxing_setup.constprop.0) from [&lt;c0aceae0&gt;] (of_clk_init+0x12c/0x214)
[&lt;c0aceae0&gt;] (of_clk_init) from [&lt;c0ab576c&gt;] (time_init+0x20/0x2c)
[&lt;c0ab576c&gt;] (time_init) from [&lt;c0ab3d18&gt;] (start_kernel+0x3dc/0x56c)
[&lt;c0ab3d18&gt;] (start_kernel) from [&lt;00000000&gt;] (0x0)
Code: e3130020 1afffffb e12fff1e c08a1078 (e5d03000)

This is because the "powersave" mux clock 0 was provided in an unterminated
array, which is required by the loop in the driver:

        /* Count, allocate, and register clock muxes */
        for (n = 0; desc[n].name;)
                n++;

Here n will go out of bounds and then call clk_register_mux() on random
memory contents after the mux clock.

Fix this by terminating the array with a blank entry.

Fixes: 105299381d87 ("cpufreq: kirkwood: use the powersave multiplexer")
Cc: stable@vger.kernel.org
Cc: Andrew Lunn &lt;andrew@lunn.ch&gt;
Cc: Chris Packham &lt;chris.packham@alliedtelesis.co.nz&gt;
Cc: Gregory CLEMENT &lt;gregory.clement@bootlin.com&gt;
Cc: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Link: https://lore.kernel.org/r/20210814235514.403426-1-linus.walleij@linaro.org
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>clk: armada-xp: fix refcount leak in axp_clk_init()</title>
<updated>2020-01-29T09:21:38Z</updated>
<author>
<name>Yangtao Li</name>
</author>
<published>2018-12-26T13:42:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e1cef32bde2ad8493809075832f4860fffcf228'/>
<id>urn:sha1:0e1cef32bde2ad8493809075832f4860fffcf228</id>
<content type='text'>
[ Upstream commit db20a90a4b6745dad62753f8bd2f66afdd5abc84 ]

The of_find_compatible_node() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.

Signed-off-by: Yangtao Li &lt;tiny.windzz@gmail.com&gt;
Reviewed-by: Gregory CLEMENT &lt;gregory.clement@bootlin.com&gt;
Fixes: 0a11a6ae9437 ("clk: mvebu: armada-xp: maintain clock init order")
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: kirkwood: fix refcount leak in kirkwood_clk_init()</title>
<updated>2020-01-29T09:21:38Z</updated>
<author>
<name>Yangtao Li</name>
</author>
<published>2018-12-26T13:40:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0023d105fc47c6a5c29049422763568646a62c2c'/>
<id>urn:sha1:0023d105fc47c6a5c29049422763568646a62c2c</id>
<content type='text'>
[ Upstream commit e7beeab9c61591cd0e690d8733d534c3f4278ff8 ]

The of_find_compatible_node() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.

Signed-off-by: Yangtao Li &lt;tiny.windzz@gmail.com&gt;
Reviewed-by: Gregory CLEMENT &lt;gregory.clement@bootlin.com&gt;
Fixes: 58d516ae95cb ("clk: mvebu: kirkwood: maintain clock init order")
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: armada-370: fix refcount leak in a370_clk_init()</title>
<updated>2020-01-29T09:21:38Z</updated>
<author>
<name>Yangtao Li</name>
</author>
<published>2018-12-26T13:36:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f26005984a5086ba4bdcf21df0e7b4c503c4eec4'/>
<id>urn:sha1:f26005984a5086ba4bdcf21df0e7b4c503c4eec4</id>
<content type='text'>
[ Upstream commit a3c24050bdf70c958a8d98c2823b66ea761e6a31 ]

The of_find_compatible_node() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.

Signed-off-by: Yangtao Li &lt;tiny.windzz@gmail.com&gt;
Reviewed-by: Gregory CLEMENT &lt;gregory.clement@bootlin.com&gt;
Fixes: 07ad6836fa21 ("clk: mvebu: armada-370: maintain clock init order")
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: mvebu: armada-38x: add support for missing clocks</title>
<updated>2018-04-24T07:32:08Z</updated>
<author>
<name>Richard Genoud</name>
</author>
<published>2018-03-13T15:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7b4411c8990623148aa97e5ca8c99abef11d28e'/>
<id>urn:sha1:b7b4411c8990623148aa97e5ca8c99abef11d28e</id>
<content type='text'>
commit 6a4a4595804548e173f0763a0e7274a3521c59a9 upstream.

Clearfog boards can come with a CPU clocked at 1600MHz (commercial)
or 1333MHz (industrial).

They have also some dip-switches to select a different clock (666, 800,
1066, 1200).

The funny thing is that the recovery button is on the MPP34 fq selector.
So, when booting an industrial board with this button down, the frequency
666MHz is selected (and the kernel didn't boot).

This patch add all the missing clocks.

The only mode I didn't test is 2GHz (uboot found 4294MHz instead :/ ).

Fixes: 0e85aeced4d6 ("clk: mvebu: add clock support for Armada 380/385")
Cc: &lt;stable@vger.kernel.org&gt; # 3.16.x: 9593f4f56cf5: clk: mvebu: armada-38x: add support for 1866MHz variants
Cc: &lt;stable@vger.kernel.org&gt; # 3.16.x

Signed-off-by: Richard Genoud &lt;richard.genoud@gmail.com&gt;
Acked-by: Gregory CLEMENT &lt;gregory.clement@bootlin.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: mvebu: armada-38x: add support for 1866MHz variants</title>
<updated>2018-04-24T07:32:08Z</updated>
<author>
<name>Ralph Sennhauser</name>
</author>
<published>2017-05-24T14:58:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=caf996ebc7962864978043add39deed63881e0cc'/>
<id>urn:sha1:caf996ebc7962864978043add39deed63881e0cc</id>
<content type='text'>
commit 9593f4f56cf5d1c443f66660a0c7f01de38f979d upstream.

The Linksys WRT3200ACM CPU is clocked at 1866MHz. Add 1866MHz to the
list of supported CPU frequencies. Also update multiplier and divisor
for the l2clk and ddrclk.

Noticed by the following warning:
[    0.000000] Selected CPU frequency (16) unsupported

Signed-off-by: Ralph Sennhauser &lt;ralph.sennhauser@gmail.com&gt;
Reviewed-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: mvebu: Use of_clk_get_parent_name()</title>
<updated>2015-10-16T23:35:43Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2015-10-16T23:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61e22fff6475448b8e9d3e45f0bab40bae761c96'/>
<id>urn:sha1:61e22fff6475448b8e9d3e45f0bab40bae761c96</id>
<content type='text'>
This reverts commit e79b202c632f24f49f2eb9459b88b5fd9e332263.

Now that we use of_clk_get() inside of_clk_get_parent_name() we
can safely use it here.

Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'clk-fixes' into clk-next</title>
<updated>2015-10-15T23:13:50Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2015-10-15T23:13:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=087a920d4a3e33285f93a0ae7607f71095ffe601'/>
<id>urn:sha1:087a920d4a3e33285f93a0ae7607f71095ffe601</id>
<content type='text'>
* clk-fixes:
  Partially revert "clk: mvebu: Convert to clk_hw based provider APIs"
</content>
</entry>
<entry>
<title>Partially revert "clk: mvebu: Convert to clk_hw based provider APIs"</title>
<updated>2015-10-14T18:28:17Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2015-10-14T18:23:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e79b202c632f24f49f2eb9459b88b5fd9e332263'/>
<id>urn:sha1:e79b202c632f24f49f2eb9459b88b5fd9e332263</id>
<content type='text'>
This partially reverts commit eca61c9ff2588e1df373e61078e1874976315839.

Thomas reports that it causes regressions on Armada XP devices.
This is because of_clk_get_parent_name() relies on the property
'clock-output-names' to resolve the name of a clock's parent,
without trying to get the clock from the framework and call
__clk_get_name(). Given that Armada XP devices don't have the
'clock-output-names' property, of_clk_get_parent_name() returns
the name of the node which doesn't match the actual parent
clock's name at all, causing CPU clocks to never link up with
their parents.

Reported-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>clk: Remove unneeded semicolons</title>
<updated>2015-09-17T18:15:14Z</updated>
<author>
<name>Javier Martinez Canillas</name>
</author>
<published>2015-09-17T13:49:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90c53547fcae9daf46265fd9e74adc4f936cd919'/>
<id>urn:sha1:90c53547fcae9daf46265fd9e74adc4f936cd919</id>
<content type='text'>
There are cleary typo errors so can be removed.

Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Acked-by: Leo Yan &lt;leo.yan@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
</feed>
