All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] clk: improve handling of orphan clocks
@ 2015-04-22 20:53 ` Heiko Stuebner
  0 siblings, 0 replies; 73+ messages in thread
From: Heiko Stuebner @ 2015-04-22 20:53 UTC (permalink / raw)
  To: mturquette, sboyd
  Cc: dianders, linux-clk, linux-kernel, linux-arm-kernel,
	Heiko Stuebner, Boris Brezillon, Alex Elder, Alexandre Belloni,
	Stephen Warren, Max Filippov, kernel, Zhangfei Gao,
	Santosh Shilimkar, Chao Xie, Jason Cooper, Stefan Wahren,
	Andrew Bresticker, Robert Jarzmik, Georgi Djakov,
	Sylwester Nawrocki, Geert Uytterhoeven, Barry Song, Dinh Nguyen,
	Viresh Kumar, Gabriel FERNANDEZ, emilio, Peter De Schrijver,
	Tero Kristo, Ulf Hansson, Pawel Moll, Michal Simek

Using orphan clocks can introduce strange behaviour as they don't have
rate information at all and also of course don't track 

This v2/v3 takes into account suggestions from Stephen Boyd to not try to
walk the clock tree at runtime but instead keep track of orphan states
on clock tree changes and making it mandatory for everybody from the
start as orphaned clocks should not be used at all.


This fixes an issue on most rk3288 platforms, where some soc-clocks
are supplied by a 32khz clock from an external i2c-chip which often
is only probed later in the boot process and maybe even after the
drivers using these soc-clocks like the tsadc temperature sensor.
In this case the driver using the clock should of course defer probing
until the clock is actually usable.


As this changes the behaviour for orphan clocks, it would of course
benefit from more testing than on my Rockchip boards. To keep the
recipent-list reasonable and not spam to much I selected one (the topmost)
from the get_maintainer output of each drivers/clk entry.
Hopefully some will provide Tested-by-tags :-)


Thanks
Heiko

changes since v2:
adapt to comments from Stephen Boyd
- rename to clk_core_update_orphan_status
- use bools instead of 0/1 for the status
- remove redundant check in clk_is_orphan
changes since v1:
- track orphan status on clock tree changes instead of walking the
  tree on clk_get operations
- make get-deferals mandatory for everybody

Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Alex Elder <elder@linaro.org>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: kernel@pengutronix.de
Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Chao Xie <chao.xie@marvell.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Andrew Bresticker <abrestic@chromium.org>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Georgi Djakov <georgi.djakov@linaro.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Barry Song <baohua@kernel.org>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Gabriel FERNANDEZ <gabriel.fernandez@st.com>
Cc: emilio@elopez.com.ar
Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Michal Simek <michal.simek@xilinx.com>


Heiko Stuebner (2):
  clk: track the orphan status of clocks and their children
  clk: prevent orphan clocks from being used

 drivers/clk/clk.c | 46 +++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 43 insertions(+), 3 deletions(-)

-- 
2.1.4


^ permalink raw reply	[flat|nested] 73+ messages in thread

end of thread, other threads:[~2015-08-12  8:26 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-22 20:53 [PATCH v3 0/2] clk: improve handling of orphan clocks Heiko Stuebner
2015-04-22 20:53 ` Heiko Stuebner
2015-04-22 20:53 ` [PATCH v3 1/2] clk: track the orphan status of clocks and their children Heiko Stuebner
2015-04-22 20:53   ` Heiko Stuebner
2015-04-30 23:20   ` Stephen Boyd
2015-04-30 23:20     ` Stephen Boyd
2015-04-22 20:53 ` [PATCH v3 2/2] clk: prevent orphan clocks from being used Heiko Stuebner
2015-04-22 20:53   ` Heiko Stuebner
2015-04-30 23:20   ` Stephen Boyd
2015-04-30 23:20     ` Stephen Boyd
2015-04-25 12:23 ` [PATCH v3 0/2] clk: improve handling of orphan clocks Stefan Wahren
2015-04-25 12:23   ` Stefan Wahren
2015-04-25 13:44   ` Heiko Stübner
2015-04-25 13:44     ` Heiko Stübner
2015-04-26 19:58 ` Robert Jarzmik
2015-04-26 19:58   ` Robert Jarzmik
2015-04-26 19:58   ` Robert Jarzmik
2015-05-01  0:19 ` Stephen Boyd
2015-05-01  0:19   ` Stephen Boyd
2015-05-01 19:59   ` Heiko Stübner
2015-05-01 19:59     ` Heiko Stübner
2015-05-01 20:52     ` Stephen Boyd
2015-05-01 20:52       ` Stephen Boyd
2015-05-01 22:07       ` Heiko Stübner
2015-05-01 22:07         ` Heiko Stübner
2015-05-01 23:40         ` Stephen Boyd
2015-05-01 23:40           ` Stephen Boyd
2015-05-07  8:22           ` Tero Kristo
2015-05-07  8:22             ` Tero Kristo
2015-05-07 18:18             ` Stephen Boyd
2015-05-07 18:18               ` Stephen Boyd
2015-05-08 11:41               ` Tero Kristo
2015-05-08 11:41                 ` Tero Kristo
2015-05-07 15:17           ` Kevin Hilman
2015-05-07 15:17             ` Kevin Hilman
2015-05-07 15:17             ` Kevin Hilman
2015-05-07 21:03             ` Stephen Boyd
2015-05-07 21:03               ` Stephen Boyd
2015-05-08  0:27               ` Kevin Hilman
2015-05-08  0:27                 ` Kevin Hilman
2015-05-08  0:27                 ` Kevin Hilman
2015-05-08  6:53                 ` Stephen Boyd
2015-05-08  6:53                   ` Stephen Boyd
2015-05-08  8:13                   ` Sascha Hauer
2015-05-08  8:13                     ` Sascha Hauer
2015-05-08  9:30                     ` Heiko Stübner
2015-05-08  9:30                       ` Heiko Stübner
2015-05-08  9:53                       ` Sascha Hauer
2015-05-08  9:53                         ` Sascha Hauer
2015-05-08 10:02               ` Maxime Ripard
2015-05-08 10:02                 ` Maxime Ripard
2015-05-12 22:35                 ` Stephen Boyd
2015-05-12 22:35                   ` Stephen Boyd
2015-05-13 13:03                   ` Maxime Ripard
2015-05-13 13:03                     ` Maxime Ripard
2015-05-13 14:33                     ` Kevin Hilman
2015-05-13 14:33                       ` Kevin Hilman
2015-05-13 14:33                       ` Kevin Hilman
2015-05-13 20:14                       ` Maxime Ripard
2015-05-13 20:14                         ` Maxime Ripard
2015-05-13 20:44                         ` Kevin Hilman
2015-05-13 20:44                           ` Kevin Hilman
2015-05-13 20:44                           ` Kevin Hilman
2015-05-13 20:51                           ` Maxime Ripard
2015-05-13 20:51                             ` Maxime Ripard
2015-07-27  8:57                 ` Heiko Stübner
2015-07-27  8:57                   ` Heiko Stübner
2015-07-30 10:09                   ` Maxime Ripard
2015-07-30 10:09                     ` Maxime Ripard
2015-08-11 22:34                     ` Stephen Boyd
2015-08-11 22:34                       ` Stephen Boyd
2015-08-12  8:26                       ` Heiko Stübner
2015-08-12  8:26                         ` Heiko Stübner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.