linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
To: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Russell King <linux@arm.linux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	Michal Simek <michal.simek@xilinx.com>,
	<linux-kernel@vger.kernel.org>,
	Mike Turquette <mturquette@linaro.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC 17/17] clk: zynq: remove call to of_clk_init
Date: Fri, 23 Aug 2013 09:00:23 -0700	[thread overview]
Message-ID: <bf33d6fc-a28b-410a-aa75-be7b584aadd8@CO9EHSMHS025.ehs.local> (raw)
In-Reply-To: <20130823073250.GB30135@pengutronix.de>

Hi Steffen,

On Fri, Aug 23, 2013 at 09:32:50AM +0200, Steffen Trumtrar wrote:
> Hi!
> 
> On Thu, Aug 22, 2013 at 05:59:36PM -0700, Sören Brinkmann wrote:
> > On Thu, Aug 22, 2013 at 05:26:47PM -0700, Sören Brinkmann wrote:
[ ... ]
> I propose getting rid of the whole global pointer and let the clkc map the
> address itself instead.
> 
> Then there is no need to shuffle stuff around in the initcalls.
> I have some WIP patches (not rebased on next and not even tested with it,
> but with v3.11-rc4)
> 
> The dtsi would be something like:
> 
>        control-register@f8000000 {
> 	       compatible = "simple-bus";
>                #address-cells = <1>;
>                #size-cells = <1>;
>                reg = <0xf8000000 0x1000>;
>                ranges;
> 
>                slcr: slcr@f8000000 {
>                        compatible = "xlnx,zynq-slcr", "syscon";
>                        reg = <0xf8000000 0x10>;
>                };
> 
>                clkc: clkc@f8000100 {
>                        #clock-cells = <1>;
>                        compatible = "xlnx,ps7-clkc";
>                        reg = <0xf8000100 0x100>;

This is splitting the SLCR into multiple regions. I just heard about the
syscon the first time, but wouldn't it be more correct to leave the SLCR
region in one piece in the slcr node and then pass the slcr phandle to
the clkc and later also pinmux etc. nodes? This way the SLCR is in
charge of the lock and all registers protected by the lock.
That wouldn't get rid of the dependency that SLCR has to be initialized
before any of its users, but seems to reflect actual HW better since the
whole region is protected by the same SLCR lock which makes them kinda
inseparable.

Anyway, after all we more or less agree, that syscon/slcr has to be
initialized before any SLCR user. So, no matter whether we do this
through current code and a global pointer or DT phandles, the effect
stays the same, IIUC.
So, in order to not mix stuff around too much, I'd rather make sure that
zynq_slcr_init() is called early enough (put it in init_irq() or some
init_call() whatever works best), and keep the global pointer for now.
That way most code can stay as is and we don't have to change the DT
bindings.
And then you can finish your work on this and we can revisit the topic
of migrating to use the slcr through a phandle later?

	Sören



  reply	other threads:[~2013-08-23 16:00 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-20  2:04 [RFC 00/17] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 01/17] clk: ensure __clk_of_table is only initialized once Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 02/17] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-20 15:46   ` Stephen Warren
2013-08-20 19:47     ` Sebastian Hesselbarth
2013-08-20 19:52       ` Stephen Warren
2013-08-20 20:19         ` Sebastian Hesselbarth
2013-08-21 18:54           ` Arnd Bergmann
2013-08-22  7:25             ` Mike Turquette
2013-08-22 17:28               ` Arnd Bergmann
2013-08-20 20:44     ` Arnd Bergmann
2013-08-20 20:57       ` Stephen Warren
2013-08-21 18:51         ` Arnd Bergmann
2013-08-20  2:04 ` [RFC 03/17] ARM: dove: remove custom .init_time hook Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 04/17] ARM: exynos: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 05/17] ARM: highbank: " Sebastian Hesselbarth
2013-08-20 19:12   ` Rob Herring
2013-08-20 20:01     ` Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 06/17] ARM: imx: " Sebastian Hesselbarth
2013-08-20  7:26   ` Sascha Hauer
2013-08-20  8:48     ` Sebastian Hesselbarth
2013-08-20  9:10       ` Sascha Hauer
2013-08-20  9:20         ` Sebastian Hesselbarth
2013-08-20 10:20           ` Russell King - ARM Linux
2013-08-20 10:37             ` Sebastian Hesselbarth
2013-08-20 10:42               ` Russell King - ARM Linux
2013-08-20 10:46                 ` Sebastian Hesselbarth
2013-08-20  9:23   ` [RFC v2] " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 07/17] ARM: kirkwood: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 08/17] ARM: mvebu: " Sebastian Hesselbarth
2013-08-20 12:50   ` Ezequiel Garcia
2013-08-20 13:12     ` Sebastian Hesselbarth
2013-08-20 14:01       ` Ezequiel Garcia
2013-08-23 10:06   ` Gregory CLEMENT
2013-08-23 10:32     ` Sebastian Hesselbarth
2013-08-23 11:39       ` Gregory CLEMENT
2013-08-23 12:13         ` Sebastian Hesselbarth
2013-08-23 14:23           ` Gregory CLEMENT
2013-08-23 14:34             ` Gregory CLEMENT
2013-08-20  2:04 ` [RFC 09/17] ARM: mxs: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 10/17] ARM: nspire: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 11/17] ARM: rockchip: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 12/17] ARM: socfpga: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 13/17] ARM: sti: " Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 14/17] ARM: tegra: remove .init_time hook to clocksource_of_init Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 15/17] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 16/17] clk: vt8500: remove call to of_clk_init Sebastian Hesselbarth
2013-08-20  2:04 ` [RFC 17/17] clk: zynq: " Sebastian Hesselbarth
2013-08-23  0:26   ` Sören Brinkmann
2013-08-23  0:59     ` Sören Brinkmann
2013-08-23  7:32       ` Steffen Trumtrar
2013-08-23 16:00         ` Sören Brinkmann [this message]
2013-08-23 23:38           ` Steffen Trumtrar
2013-08-26 11:15         ` Michal Simek
2013-08-26 12:07           ` Steffen Trumtrar
2013-08-26 12:53             ` Sebastian Hesselbarth
2013-08-26 15:14               ` Michal Simek
2013-08-26 15:31                 ` Steffen Trumtrar
2013-08-26 15:16               ` Sören Brinkmann
2013-08-26 15:33                 ` Steffen Trumtrar
2013-08-23  9:30       ` Sebastian Hesselbarth
2013-08-23 17:19         ` Sören Brinkmann
2013-08-23 17:44           ` Sebastian Hesselbarth
2013-08-23 23:22             ` Steffen Trumtrar
2013-08-26 15:20             ` Sören Brinkmann
2013-08-27 21:27 ` [PATCH RFC v2 00/16] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 01/16] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-27 22:19   ` Sören Brinkmann
2013-08-27 22:58     ` Sebastian Hesselbarth
2013-08-27 23:20       ` Sören Brinkmann
2013-08-29 13:45       ` Arnd Bergmann
2013-09-04 19:32         ` Sebastian Hesselbarth
2013-09-04 20:41           ` Sören Brinkmann
2013-09-04 20:52             ` Sebastian Hesselbarth
2013-09-04 20:59               ` Sören Brinkmann
2013-09-05  9:34                 ` Arnd Bergmann
2013-08-27 21:27 ` [PATCH RFC v2 02/16] ARM: dove: remove custom .init_time hook Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 03/16] ARM: exynos: " Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 04/16] ARM: highbank: " Sebastian Hesselbarth
2013-08-27 23:13   ` Mike Turquette
2013-08-27 21:27 ` [PATCH RFC v2 05/16] ARM: imx: " Sebastian Hesselbarth
2013-08-29 11:00   ` Shawn Guo
2013-08-27 21:28 ` [PATCH RFC v2 06/16] ARM: kirkwood: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 07/16] ARM: mvebu: " Sebastian Hesselbarth
2013-08-28  6:28   ` Gregory CLEMENT
2013-08-27 21:28 ` [PATCH RFC v2 08/16] ARM: mxs: " Sebastian Hesselbarth
2013-08-27 23:16   ` Mike Turquette
2013-08-29 11:08   ` Shawn Guo
2013-08-29 11:32     ` Sebastian Hesselbarth
2013-08-29 12:58       ` Shawn Guo
2013-08-27 21:28 ` [PATCH RFC v2 09/16] ARM: nspire: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 10/16] ARM: rockchip: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 11/16] ARM: socfpga: remove call to of_clk_init Sebastian Hesselbarth
2013-08-29 15:38   ` Dinh Nguyen
2013-08-29 17:23     ` Arnd Bergmann
2013-08-27 21:28 ` [PATCH RFC v2 12/16] ARM: sti: remove custom .init_time hook Sebastian Hesselbarth
2013-08-29 16:29   ` [STLinux Kernel] " Srinivas KANDAGATLA
2013-08-27 21:28 ` [PATCH RFC v2 13/16] ARM: tegra: split tegra_pmc_init() in two Sebastian Hesselbarth
2013-08-27 21:59   ` Stephen Warren
2013-08-27 22:09     ` Sebastian Hesselbarth
2013-09-11 19:56   ` Stephen Warren
2013-09-12  6:21     ` Sebastian Hesselbarth
2013-09-12 16:32       ` Stephen Warren
2013-08-27 21:28 ` [PATCH RFC v2 14/16] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-08-29 13:35   ` Arnd Bergmann
2013-08-29 18:16     ` Sebastian Hesselbarth
2013-08-30 10:02       ` Jon Medhurst (Tixy)
2013-08-30 11:39         ` Russell King - ARM Linux
2013-08-30 13:12         ` Pawel Moll
2013-08-27 21:28 ` [PATCH RFC v2 15/16] clk: vt8500: remove call to of_clk_init Sebastian Hesselbarth
2013-08-27 23:16   ` Mike Turquette
2013-08-29 13:42   ` Arnd Bergmann
2013-08-27 21:28 ` [PATCH RFC v2 16/16] ARM: zynq: Don't call of_clk_init() Sebastian Hesselbarth
2013-08-29 13:37   ` Arnd Bergmann
2013-08-29 14:21     ` Michal Simek
2013-08-29 17:20       ` Arnd Bergmann
2013-08-29 18:14         ` Michal Simek
2013-08-29 18:20     ` Sebastian Hesselbarth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bf33d6fc-a28b-410a-aa75-be7b584aadd8@CO9EHSMHS025.ehs.local \
    --to=soren.brinkmann@xilinx.com \
    --cc=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=michal.simek@xilinx.com \
    --cc=mturquette@linaro.org \
    --cc=s.trumtrar@pengutronix.de \
    --cc=sebastian.hesselbarth@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).