From: Marc Zyngier <marc.zyngier@arm.com>
To: Tomasz Figa <tomasz.figa@gmail.com>
Cc: "linux-samsung-soc@vger.kernel.org"
<linux-samsung-soc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Kukjin Kim <kgene.kim@samsung.com>, Arnd Bergmann <arnd@arndb.de>,
Olof Johansson <olof@lixom.net>, Mark Brown <broonie@kernel.org>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
Benoit Cousson <benoit.cousson@linaro.org>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
Jason Cooper <jason@lakedaemon.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Nicolas Pitre <nico@fluxnic.net>,
Russell King <linux@arm.linux.org.uk>,
Stephen Warren <swarren@wwwdotorg.org>,
Thomas Gleixner <tglx@linutronix.de>,
Will Deacon <Will.Deacon@arm.com>
Subject: Re: [PATCH v6 4/8] ARM: Add .init_platform() callback to machine descriptor
Date: Fri, 21 Jun 2013 11:24:52 +0100 [thread overview]
Message-ID: <51C429F4.60709@arm.com> (raw)
In-Reply-To: <1371774924-9224-5-git-send-email-tomasz.figa@gmail.com>
On 21/06/13 01:35, Tomasz Figa wrote:
Hi Tomasz,
> Most ARM platforms have parts that should be initialized as early as
> possible, which usually means as soon as memory management (kmalloc,
> ioremap) starts to work,
>
> However, currently there is no appropriate callback in machine_desc
> struct to use for such initialization and platforms tend to stuff things
> up .init_irq() and .init_time() callbacks.
>
> Since all the DT-based platforms are going towards generic IRQ and time
> initialization (using irqchip_init and clocksource_of_init) and current
> code assumes that if custom callbacks are not provided in machine_desc
> then generic ones should be used, this problem has become a bit more
> inconvenient.
>
> This patch tries to solve this issue by introducing new callback called
> .init_platform(), where any custom low level initialization of platform
> can be done safely.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
> arch/arm/include/asm/mach/arch.h | 1 +
> arch/arm/kernel/irq.c | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
> index 308ad7d..b2f4d11 100644
> --- a/arch/arm/include/asm/mach/arch.h
> +++ b/arch/arm/include/asm/mach/arch.h
> @@ -46,6 +46,7 @@ struct machine_desc {
> void (*reserve)(void);/* reserve mem blocks */
> void (*map_io)(void);/* IO mapping function */
> void (*init_early)(void);
> + void (*init_platform)(void);
> void (*init_irq)(void);
> void (*init_time)(void);
> void (*init_machine)(void);
> diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
> index 9723d17..61e2000 100644
> --- a/arch/arm/kernel/irq.c
> +++ b/arch/arm/kernel/irq.c
> @@ -115,6 +115,9 @@ EXPORT_SYMBOL_GPL(set_irq_flags);
>
> void __init init_IRQ(void)
> {
> + if (machine_desc->init_platform)
> + machine_desc->init_platform();
> +
> if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq)
> irqchip_init();
> else
To me, this new hook is strictly equivalent to init_irq. What do we gain
exactly? I didn't think init_irq was going away...
I know init_irq is not pretty, and we tend to overload it with other
stuff, but I don't really see the point of adding a new callback that
has the exact same properties.
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2013-06-21 10:24 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-21 0:35 [PATCH v6 0/8] Initial Device Tree support for S3C64xx Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 1/8] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 3/8] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present Tomasz Figa
[not found] ` <1371774924-9224-1-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-21 0:35 ` [PATCH v6 2/8] ARM: s3c64xx: Bypass legacy initialization when booting with DT Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 4/8] ARM: Add .init_platform() callback to machine descriptor Tomasz Figa
2013-06-21 10:24 ` Marc Zyngier [this message]
2013-06-21 11:14 ` Tomasz Figa
2013-06-21 14:12 ` Arnd Bergmann
[not found] ` <201306211612.15508.arnd-r2nGTMty4D4@public.gmane.org>
2013-06-22 10:14 ` Tomasz Figa
2013-06-22 13:46 ` Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 5/8] ARM: s3c64xx: Add board file for boot using Device Tree Tomasz Figa
2013-06-22 13:44 ` [PATCH v7 " Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 6/8] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 7/8] ARM: dts: Add dts file for S3C6410-based Mini6410 board Tomasz Figa
2013-06-21 0:35 ` [PATCH v6 8/8] ARM: dts: Add dts file for S3C6410-based SMDK6410 board Tomasz Figa
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=51C429F4.60709@arm.com \
--to=marc.zyngier@arm.com \
--cc=Will.Deacon@arm.com \
--cc=arnd@arndb.de \
--cc=benoit.cousson@linaro.org \
--cc=broonie@kernel.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@linaro.org \
--cc=jason@lakedaemon.net \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nico@fluxnic.net \
--cc=olof@lixom.net \
--cc=rob.herring@calxeda.com \
--cc=swarren@wwwdotorg.org \
--cc=tglx@linutronix.de \
--cc=tomasz.figa@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).