<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/clk/samsung, branch linux-5.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-03-23T19:11:29Z</updated>
<entry>
<title>clk: samsung: exynos5: Fix kfree() of const memory on setting driver_override</title>
<updated>2019-03-23T19:11:29Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2019-02-21T11:45:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a29715073a181d6d41b8b6b1a9b7a3b67f4c0b9'/>
<id>urn:sha1:1a29715073a181d6d41b8b6b1a9b7a3b67f4c0b9</id>
<content type='text'>
commit 785c9f411eb2d9a6076d3511c631587d5e676bf3 upstream.

Platform driver driver_override field should not be initialized from
const memory because the core later kfree() it.  If driver_override is
manually set later through sysfs, kfree() of old value leads to:

    $ echo "new_value" &gt; /sys/bus/platform/drivers/.../driver_override

    kernel BUG at ../mm/slub.c:3960!
    Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
    ...
    (kfree) from [&lt;c058e8c0&gt;] (platform_set_driver_override+0x84/0xac)
    (platform_set_driver_override) from [&lt;c058e908&gt;] (driver_override_store+0x20/0x34)
    (driver_override_store) from [&lt;c031f778&gt;] (kernfs_fop_write+0x100/0x1dc)
    (kernfs_fop_write) from [&lt;c0296de8&gt;] (__vfs_write+0x2c/0x17c)
    (__vfs_write) from [&lt;c02970c4&gt;] (vfs_write+0xa4/0x188)
    (vfs_write) from [&lt;c02972e8&gt;] (ksys_write+0x4c/0xac)
    (ksys_write) from [&lt;c0101000&gt;] (ret_fast_syscall+0x0/0x28)

The clk-exynos5-subcmu driver uses override only for the purpose of
creating meaningful names for children devices (matching names of power
domains, e.g. DISP, MFC).  The driver_override was not developed for
this purpose so just switch to default names of devices to fix the
issue.

Fixes: b06a532bf1fa ("clk: samsung: Add Exynos5 sub-CMU clock driver")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Reviewed-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&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: samsung: exynos5: Fix possible NULL pointer exception on platform_device_alloc() failure</title>
<updated>2019-03-23T19:11:29Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2019-02-21T11:45:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7da58ad824b10393f15a02375638945cbdde8389'/>
<id>urn:sha1:7da58ad824b10393f15a02375638945cbdde8389</id>
<content type='text'>
commit 5f0b6216ea381b43c0dff88702d6cc5673d63922 upstream.

During initialization of subdevices if platform_device_alloc() failed,
returned NULL pointer will be later dereferenced.  Add proper error
paths to exynos5_clk_register_subcmu().  The return value of this
function is still ignored because at this stage of init there is nothing
we can do.

Fixes: b06a532bf1fa ("clk: samsung: Add Exynos5 sub-CMU clock driver")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Reviewed-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&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: samsung: s3c2410: Remove usage of CLK_IS_BASIC</title>
<updated>2018-12-10T22:44:08Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2018-11-30T20:59:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f246affc0825cb7c1b4938802d33075afb0ca996'/>
<id>urn:sha1:f246affc0825cb7c1b4938802d33075afb0ca996</id>
<content type='text'>
This flag doesn't look to be used by any code, just set in the clk init
structure and then never tested again. Remove it from this drivers as it
doesn't provide any benefit.

Cc: Kukjin Kim &lt;kgene@kernel.org&gt;
Cc: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Cc: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Acked-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: Use clk_hw API for calling clk framework from clk notifiers</title>
<updated>2018-10-05T11:36:39Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2018-10-02T11:52:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1da220e3a5d22fccda0bc8542997abc1d1741268'/>
<id>urn:sha1:1da220e3a5d22fccda0bc8542997abc1d1741268</id>
<content type='text'>
clk_notifier_register() documentation states, that the provided notifier
callbacks associated with the notifier must not re-enter into the clk
framework by calling any top-level clk APIs. Fix this by replacing
clk_get_rate() calls with clk_hw_get_rate(), which is safe in this
context.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos5420: Enable PERIS clocks for suspend</title>
<updated>2018-10-05T11:36:38Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2018-09-24T11:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b33228029d842269e17bba591609e83ed422005d'/>
<id>urn:sha1:b33228029d842269e17bba591609e83ed422005d</id>
<content type='text'>
Ensure that clocks for core SoC modules (including TZPC0..9 modules)
are enabled for suspend/resume cycle. This fixes suspend/resume
support on Exynos5422-based Odroid XU3/XU4 boards.

Suggested-by: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos5420: Define CLK_SECKEY gate clock only or Exynos5420</title>
<updated>2018-10-05T11:36:37Z</updated>
<author>
<name>Joonyoung Shim</name>
</author>
<published>2018-09-24T11:00:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d32dd2a1a0f80edad158c9a1ba5f47650d9504a0'/>
<id>urn:sha1:d32dd2a1a0f80edad158c9a1ba5f47650d9504a0</id>
<content type='text'>
The bit of GATE_BUS_PERIS1 for CLK_SECKEY is just reserved on
exynos5422/5800, not exynos5420. Define gate clk for exynos5420 to
handle the bit only on exynos5420.

Signed-off-by: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
[m.szyprow: rewrote commit subject]
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos5433: Keep sclk_uart clocks enabled in suspend</title>
<updated>2018-10-05T11:36:36Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2018-09-12T13:16:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=defadcc956cacfb36ecf9902bd56dc5a14fdec49'/>
<id>urn:sha1:defadcc956cacfb36ecf9902bd56dc5a14fdec49</id>
<content type='text'>
All sclk_uart clocks in TOP CMU have to be kept enabled for suspend/resume
cycle, otherwise TM2(e) boards hangs before entering the suspend mode.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: Remove obsolete code for Exynos4412 ISP clocks</title>
<updated>2018-10-05T11:36:35Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2017-10-11T09:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa34efff75d4a853551c8154e0685d44a7a6a6aa'/>
<id>urn:sha1:fa34efff75d4a853551c8154e0685d44a7a6a6aa</id>
<content type='text'>
Exynos4412 ISP clock are provided by separate Exynos4412 ISP clock
driver, so support for them in Exynos4-clk driver can be removed.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Acked-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: exynos5433: Add suspend state for TOP, CPIF &amp; PERIC CMUs</title>
<updated>2018-10-05T11:36:34Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2018-09-06T16:02:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a766065279e2fd2c4ee6fe6b48d44386c000c940'/>
<id>urn:sha1:a766065279e2fd2c4ee6fe6b48d44386c000c940</id>
<content type='text'>
Before entering system suspend, one has to ensure that some clocks from
TOP, CPIF and PERIC CMUs are enabled. This is needed by the firmware
to properly perform system suspend operation. Instead of adding more and
more clocks with CRITICAL flag, simply enable those clocks directly in
respective CMU registers using 'suspend_regs' feature.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: samsung: Use NOIRQ stage for Exynos5433 clocks suspend/resume</title>
<updated>2018-10-05T11:36:33Z</updated>
<author>
<name>Marek Szyprowski</name>
</author>
<published>2018-09-06T16:02:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=70da9ee80228e6d98fd68e3c1db124c4461d283c'/>
<id>urn:sha1:70da9ee80228e6d98fd68e3c1db124c4461d283c</id>
<content type='text'>
SoC clock drivers should suspend after every other drivers in the system,
which are using clocks and resume before them. The last stage for calling
suspend device callbacks is NOIRQ stage and there exists driver, which use
that state (dwmmc-exynos), so Exynos5433 clocks driver should also use it.
During the same stage, clocks driver will be always suspended after its
clients as a direct result of proper device probe order (deferred probe
reorders the suspend call sequence).

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Acked-by: Chanwoo Choi &lt;cw00.choi@samsung.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Sylwester Nawrocki &lt;snawrocki@kernel.org&gt;
</content>
</entry>
</feed>
