linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/7] arm64: ARMv8 RTSM model (SoC) support
Date: Tue, 18 Dec 2012 16:29:44 +0000	[thread overview]
Message-ID: <20121218162944.GA594@arm.com> (raw)
In-Reply-To: <20121211163932.GC16071@arm.com>

On Tue, Dec 11, 2012 at 04:39:32PM +0000, Catalin Marinas wrote:
> On Tue, Dec 11, 2012 at 03:41:15PM +0000, Arnd Bergmann wrote:
> > On Friday 07 December 2012, Catalin Marinas wrote:
> > > diff --git a/arch/arm6
> > > +static const char *vexpress_dt_match[] __initdata = {
> > > +       "arm,vexpress",
> > > +       NULL,
> > > +};
> > > +
> > > +static int __init vexpress_init(void)
> > > +{
> > > +       if (!of_flat_dt_match(of_get_flat_dt_root(), vexpress_dt_match))
> > > +               return 0;
> > > +
> > > +       vexpress_sysreg_of_early_init();
> > > +       vexpress_clk_of_init();
> > > +
> > > +       return 0;
> > > +}
> > > +arch_initcall(vexpress_init);
> > 
> > I think it would be more appropriate for these two to check the presence of
> > the individual devices, and move the caller into the actual device driver,
> > rather than checking for the root node of the device tree.
> > 
> > There may be cases where we want to check the root node, but both the clock
> > setup and the sysreg should both be detectable.
> 
> I cc'ed Pawel as well since it's touching his code. We've been through
> several versions internally and didn't find a clear winner. Currently,
> vexpress_clk_of_init() requires vexpress_sysreg_of_early_init() to be
> called first. Pawel has a patch to allow sysreg self-initialisation when
> called from vexpress_clk_of_init().
> 
> This leaves us with a way to call vexpress_clk_of_init() directly from
> clk-vexpress.c. There are two ways:
> 
> 1. arch_initcall() in clk-vexpress.c, checking for the DT match.
> 2. driver registration (arch_initcall) and later probing when
>    of_platform_populate() is called from the arch/arm64 code.

After some more thinking, none of these would work for arch/arm since
vexpress_clk_of_init() is called very early via the time_init() ...
v2m_dt_timer_init(). On arm64 we rely on the architected timers to be
always present but this assumption is not valid on arm where clocks
would need to be initialised early.

While I'd really like to get rid of the SoC code in arch/arm64, the best
place I see for the vexpress_clk_of_init() call is still the arch code
(unless we add #ifdefs in the clk-vexpress.c code).

-- 
Catalin

  parent reply	other threads:[~2012-12-18 16:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-07 21:06 [PATCH 0/7] arm64: Initial SoC support (ARMv8 RTSM model) Catalin Marinas
2012-12-07 21:06 ` [PATCH 1/7] arm: Move sp810.h to include/linux/amba/ Catalin Marinas
2012-12-07 21:06 ` [PATCH 2/7] arm64: Add dtbs target for building all the enabled dtb files Catalin Marinas
2012-12-07 21:47   ` Rob Herring
2012-12-10 18:04     ` Catalin Marinas
2012-12-11  2:30       ` Rob Herring
2012-12-07 21:06 ` [PATCH 3/7] arm64: SoC infrastructure preparation Catalin Marinas
2012-12-07 21:06 ` [PATCH 4/7] arm64: Populate the platform devices Catalin Marinas
2012-12-07 21:06 ` [PATCH 5/7] arm64: ARMv8 RTSM model (SoC) support Catalin Marinas
2012-12-11 15:41   ` Arnd Bergmann
2012-12-11 16:39     ` Catalin Marinas
2012-12-11 17:21       ` Pawel Moll
2012-12-11 17:45         ` Catalin Marinas
2012-12-18 16:29       ` Catalin Marinas [this message]
2012-12-18 17:59         ` Arnd Bergmann
2012-12-19 15:28           ` Pawel Moll
2012-12-19 15:52             ` Catalin Marinas
2012-12-07 21:06 ` [PATCH 6/7] arm64: Add dts files for the ARMv8 RTSM model Catalin Marinas
2012-12-07 21:06 ` [PATCH 7/7] arm64: Add simple earlyprintk support Catalin Marinas

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=20121218162944.GA594@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).