From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [Ksummit-2013-discuss] [ARM ATTEND] arch/arm SoC organization
Date: Sun, 4 Aug 2013 23:21:29 -0700 [thread overview]
Message-ID: <20130805062129.GK7656@atomide.com> (raw)
In-Reply-To: <CAGFynZ-V6CUFXh+iC8M7spwHn3gma6gYgRFBaoAXRYtw1fbgHA@mail.gmail.com>
* Christian Daudt <csd_b@daudt.org> [130802 16:13]:
> On Fri, Aug 2, 2013 at 1:33 AM, Tony Lindgren <tony@atomide.com> wrote:
> > * Jason Cooper <jason@lakedaemon.net> [130731 07:25]:
> >> So, I'd like to propose we discuss some lessons learned and maybe arrive
> >> at some best practices. eg, should we just go with mach-$COMPANY/? How
> >> best to handle config symbols for efficient building? Deprecation path
> >> for legacy (unconverted) boards?
> >
> > A lot of that problem goes away by initializing everything as late
> > as possible, and making things to live under drivers.
> One category of items that we haven't found a good place for in this
> new multiplatform world is where does dt-driven non-driver code reside
> ? e.g. we have a secure monitor access function that only kicks in if
> the appropriate dt entry is available . It currently resides in
> mach-bcm/bcm_kona_smc.c as it seems like the only location for it at
> the moment, but that doesn't seem like the best place because (a)
> mach-bcm might end up littered with one-of cases like this and (b)
> anything in mach-bcm is not visible to arm64 SoCs, and some of those
> in the future will need to share with their arm32 cousins.
> But putting in drivers (e.g. drivers/smc) seems like the wrong thing
> to do also because this is not a driver.
> We have a couple of other smallish pieces of IP that just need a bit
> of generic init code to keep them happy, which we were discussing
> internally where to best land them. At present they are also headed to
> mach-bcm.
> Ultimately the question is 'what is allowed to reside in mach-<misc>
> ?' And by extension: 'is there a good home for everything else ?''
Well I guess the question is how early do you need it?
We only need the following things early on that might be SoC specific:
1. Timers for clockevents
2. Interrupt controller
If you need the SoC specific code for the two items above, then
you probably want to set it up in the SoC specific init_early.
Everything else should be possible to do as device drivers with
initramfs. If the code has an interrupt handler, chances are it
can be a driver :)
Regards,
Tony
next prev parent reply other threads:[~2013-08-05 6:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-31 14:18 [ARM ATTEND] arch/arm SoC organization Jason Cooper
2013-08-02 8:33 ` [Ksummit-2013-discuss] " Tony Lindgren
2013-08-02 23:06 ` Christian Daudt
2013-08-03 5:24 ` Olof Johansson
2013-08-06 22:57 ` Christian Daudt
2013-08-05 6:21 ` Tony Lindgren [this message]
2013-08-06 23:07 ` Christian Daudt
2013-08-07 6:57 ` Tony Lindgren
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=20130805062129.GK7656@atomide.com \
--to=tony@atomide.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).