Thread (28 messages) 28 messages, 5 authors, 2015-08-11
STALE3948d
Revisions (4)
  1. v1 current
  2. v1 [diff vs current]
  3. v3 [diff vs current]
  4. v4 [diff vs current]

[PATCH 00/20] ARM: at91: Properly handle slow clock

From: Alexandre Belloni <hidden>
Date: 2015-07-30 00:22:34
Also in: linux-clk, linux-pm, linux-rtc, linux-watchdog, lkml

Hi,

It was discovered that all the slow clock user were not properly claiming it.
This can end up in a system hang because the last registered user is releasing
it, and it gets disabled.

commit dca1a4b5ff6e ("clk: at91: keep slow clk enabled to prevent system hang")
was a workaround. This series is adding the slow clock to the necessary drivers
to avoid the issue and then removes that workaround.

The Documentation updates and DT patches should probably go through the AT91
tree this cycle to avoid breakage.

Then the other patches can go through each subsystem tree. They are trivial
enough to also go in this cycle.

The final clk patch depends on the other ones and may be taken for the next
cycle to avoid synchronization issues.

I've thrown in a cleanup for at91-reset as it avoids adding support for that
clock to the platform data initialization

Cc: Alessandro Zummo <redacted>
Cc: rtc-linux at googlegroups.com
Cc: Wim Van Sebroeck <redacted>
Cc: linux-watchdog at vger.kernel.org
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Dmitry Eremin-Solenikov <redacted>
Cc: linux-pm at vger.kernel.org
Cc: Daniel Lezcano <redacted>
Cc: Thomas Gleixner <redacted>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <redacted>
Cc: linux-clk at vger.kernel.org

Alexandre Belloni (20):
  Documentation: dt: atmel-at91: add clocks to system timer, rstc and
    shdwc
  Documentation: watchdog: at91sam9_wdt: add clocks property
  Documentation: dt: rtc: at91rm9200: add clocks property
  ARM: at91/dt: at91rm9200: use slow clock where necessary
  ARM: at91/dt: at91sam9260: use slow clock where necessary
  ARM: at91/dt: at91sam9261: use slow clock where necessary
  ARM: at91/dt: at91sam9263: use slow clock where necessary
  ARM: at91/dt: at91sam9g45: use slow clock where necessary
  ARM: at91/dt: at91sam9n12: use slow clock where necessary
  ARM: at91/dt: at91sam9rl: use slow clock where necessary
  ARM: at91/dt: at91sam9x5: use slow clock where necessary
  ARM: at91/dt: sama5d3: use slow clock where necessary
  ARM: at91/dt: sama5d4: use slow clock where necessary
  rtc: at91rm9200: get and use slow clock
  watchdog: at91sam9: get and use slow clock
  power/reset: at91-reset: remove useless at91_reset_platform_probe()
  power/reset: at91-reset: get and use slow clock
  power/reset: at91-poweroff: get and use slow clock
  clocksource: atmel-st: get and use slow clock
  clk: at91: Revert "keep slow clk enabled to prevent system hang"

 .../devicetree/bindings/arm/atmel-at91.txt         | 11 +++--
 .../bindings/rtc/atmel,at91rm9200-rtc.txt          |  2 +
 .../devicetree/bindings/watchdog/atmel-wdt.txt     |  2 +
 arch/arm/boot/dts/at91rm9200.dtsi                  |  2 +
 arch/arm/boot/dts/at91sam9260.dtsi                 |  3 ++
 arch/arm/boot/dts/at91sam9261.dtsi                 |  3 ++
 arch/arm/boot/dts/at91sam9263.dtsi                 |  3 ++
 arch/arm/boot/dts/at91sam9g45.dtsi                 |  4 ++
 arch/arm/boot/dts/at91sam9n12.dtsi                 |  4 ++
 arch/arm/boot/dts/at91sam9rl.dtsi                  |  4 ++
 arch/arm/boot/dts/at91sam9x5.dtsi                  |  4 ++
 arch/arm/boot/dts/sama5d3.dtsi                     |  4 ++
 arch/arm/boot/dts/sama5d4.dtsi                     |  4 ++
 drivers/clk/at91/clk-slow.c                        | 27 -------------
 drivers/clocksource/timer-atmel-st.c               | 31 +++++++++-----
 drivers/power/reset/at91-poweroff.c                | 13 ++++++
 drivers/power/reset/at91-reset.c                   | 47 ++++++----------------
 drivers/rtc/rtc-at91rm9200.c                       | 27 +++++++++++--
 drivers/watchdog/at91sam9_wdt.c                    | 22 +++++++++-
 19 files changed, 138 insertions(+), 79 deletions(-)

-- 
2.1.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help