From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH 4/6] ARM: shmobile: r8a7740: Prepare for reference DT setup
Date: Thu, 04 Apr 2013 14:07:37 +0000 [thread overview]
Message-ID: <2950740.FQOgZeg6Ce@avalon> (raw)
In-Reply-To: <1365083144-16085-4-git-send-email-hechtb+renesas@gmail.com>
Hi Bastian,
Thanks for the patch.
On Thursday 04 April 2013 15:45:42 Bastian Hecht wrote:
> We need two steps to prepare for the new Armadillo reference DT board code:
> - Split the device list into r8a7740_early_devices used by the old platform
> data setup (board-armadillo.c) and r8a7740_devices_dt used by both setup
> variants.
> - Introduce new r8a7740_init_delay() to be more flexible about calling
> shmobile_setup_delay().
>
> This is similar to commit 3b00f9342623a5ebc
> "ARM: shmobile: sh73a0: Do not use early devices with DT reference"
>
> Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com>
> ---
> arch/arm/mach-shmobile/include/mach/r8a7740.h | 2 ++
> arch/arm/mach-shmobile/setup-r8a7740.c | 41 +++++++++++-----------
> 2 files changed, 23 insertions(+), 20 deletions(-)
>
> diff --git a/arch/arm/mach-shmobile/include/mach/r8a7740.h
> b/arch/arm/mach-shmobile/include/mach/r8a7740.h index abdc4d4..61df082
> 100644
> --- a/arch/arm/mach-shmobile/include/mach/r8a7740.h
> +++ b/arch/arm/mach-shmobile/include/mach/r8a7740.h
> @@ -533,10 +533,12 @@ enum {
> };
>
> extern void r8a7740_meram_workaround(void);
> +extern void r8a7740_init_delay(void);
> extern void r8a7740_init_irq(void);
> extern void r8a7740_map_io(void);
> extern void r8a7740_add_early_devices(void);
> extern void r8a7740_add_standard_devices(void);
> +extern void r8a7740_add_standard_devices_dt(void);
> extern void r8a7740_clock_init(u8 md_ck);
> extern void r8a7740_pinmux_init(void);
> extern void r8a7740_pm_init(void);
> diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c
> b/arch/arm/mach-shmobile/setup-r8a7740.c index 228d7ab..ce0d2e6 100644
> --- a/arch/arm/mach-shmobile/setup-r8a7740.c
> +++ b/arch/arm/mach-shmobile/setup-r8a7740.c
> @@ -531,11 +531,7 @@ static struct platform_device ipmmu_device = {
> .num_resources = ARRAY_SIZE(ipmmu_resources),
> };
>
> -static struct platform_device *r8a7740_early_devices[] __initdata = {
> - &irqpin0_device,
> - &irqpin1_device,
> - &irqpin2_device,
> - &irqpin3_device,
> +static struct platform_device *r8a7740_devices_dt[] __initdata = {
> &scif0_device,
> &scif1_device,
> &scif2_device,
> @@ -546,6 +542,13 @@ static struct platform_device *r8a7740_early_devices[]
> __initdata = { &scif7_device,
> &scifb_device,
> &cmt10_device,
> +};
> +
> +static struct platform_device *r8a7740_early_devices[] __initdata = {
> + &irqpin0_device,
> + &irqpin1_device,
> + &irqpin2_device,
> + &irqpin3_device,
> &tmu00_device,
> &tmu01_device,
> &tmu02_device,
> @@ -965,6 +968,8 @@ void __init r8a7740_add_standard_devices(void)
> /* add devices */
> platform_add_devices(r8a7740_early_devices,
> ARRAY_SIZE(r8a7740_early_devices));
> + platform_add_devices(r8a7740_devices_dt,
> + ARRAY_SIZE(r8a7740_devices_dt));
> platform_add_devices(r8a7740_late_devices,
> ARRAY_SIZE(r8a7740_late_devices));
>
> @@ -991,31 +996,27 @@ void __init r8a7740_add_early_devices(void)
> shmobile_setup_console();
> }
>
> -#ifdef CONFIG_USE_OF
> -
> -void __init r8a7740_add_early_devices_dt(void)
> +void __init r8a7740_init_delay(void)
> {
> shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */
> +};
>
> - early_platform_add_devices(r8a7740_early_devices,
> - ARRAY_SIZE(r8a7740_early_devices));
> -
> - /* setup early console here as well */
> - shmobile_setup_console();
> +void __init r8a7740_generic_init_early(void)
static void ?
> +{
> + r8a7740_clock_init(0);
> + r8a7740_init_delay();
> }
>
> +#ifdef CONFIG_USE_OF
> +
> static const struct of_dev_auxdata r8a7740_auxdata_lookup[] __initconst = {
> { }
> };
>
> void __init r8a7740_add_standard_devices_dt(void)
> {
> - /* clocks are setup late during boot in the case of DT */
> - r8a7740_clock_init(0);
> -
> - platform_add_devices(r8a7740_early_devices,
> - ARRAY_SIZE(r8a7740_early_devices));
> -
> + platform_add_devices(r8a7740_devices_dt,
> + ARRAY_SIZE(r8a7740_devices_dt));
> of_platform_populate(NULL, of_default_bus_match_table,
> r8a7740_auxdata_lookup, NULL);
> }
> @@ -1027,7 +1028,7 @@ static const char *r8a7740_boards_compat_dt[]
> __initdata = {
>
> DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)")
> .map_io = r8a7740_map_io,
> - .init_early = r8a7740_add_early_devices_dt,
> + .init_early = r8a7740_generic_init_early,
> .init_irq = r8a7740_init_irq,
> .init_machine = r8a7740_add_standard_devices_dt,
> .init_time = shmobile_timer_init,
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2013-04-04 14:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 13:45 [PATCH 4/6] ARM: shmobile: r8a7740: Prepare for reference DT setup Bastian Hecht
2013-04-04 14:07 ` Laurent Pinchart [this message]
2013-04-04 16:04 ` Bastian Hecht
2013-04-05 0:07 ` Laurent Pinchart
2013-04-05 1:16 ` Kuninori Morimoto
2013-04-08 10:45 ` Bastian Hecht
2013-04-09 0:03 ` Kuninori Morimoto
2013-04-17 9:18 ` Bastian Hecht
2013-04-18 0:34 ` Kuninori Morimoto
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=2950740.FQOgZeg6Ce@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-sh@vger.kernel.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 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.