From: Rob Herring <robherring2@gmail.com>
To: Jayachandran C <jchandra@broadcom.com>,
linux-mips@linux-mips.org, ralf@linux-mips.org
Subject: Re: [PATCH] MIPS: Netlogic: replace early_init_devtree() call
Date: Mon, 04 Nov 2013 10:04:44 -0600 [thread overview]
Message-ID: <5277C59C.8050009@gmail.com> (raw)
In-Reply-To: <1383567714-5164-1-git-send-email-jchandra@broadcom.com>
On 11/04/2013 06:21 AM, Jayachandran C wrote:
> The early_init_devtree() API was removed in linux-next for 3.13 with
> commit "mips: use early_init_dt_scan". This causes Netlogic XLP compile
> to fail:
>
> arch/mips/netlogic/xlp/setup.c:101: undefined reference to `early_init_devtree'
>
> Add xlp_early_init_devtree() which uses the __dt_setup_arch() to
> handle early device tree related initialization to fix this.
>
> Signed-off-by: Jayachandran C <jchandra@broadcom.com>
> ---
> arch/mips/include/asm/netlogic/xlp-hal/xlp.h | 1 +
> arch/mips/netlogic/xlp/dt.c | 18 ++++++++++++++----
> arch/mips/netlogic/xlp/setup.c | 2 +-
> 3 files changed, 16 insertions(+), 5 deletions(-)
If there are no objections, I'll apply this to my tree. I don't really
like this being platform specific, but I can't make sense of all the per
platform stuff in MIPS land to come up with a better solution. It
shouldn't really be a platform decision when to do DT scanning and
initialization. Just looking at the command line handling makes me run away.
Rob
> diff --git a/arch/mips/include/asm/netlogic/xlp-hal/xlp.h b/arch/mips/include/asm/netlogic/xlp-hal/xlp.h
> index 17daffb2..470f209 100644
> --- a/arch/mips/include/asm/netlogic/xlp-hal/xlp.h
> +++ b/arch/mips/include/asm/netlogic/xlp-hal/xlp.h
> @@ -69,6 +69,7 @@ void nlm_hal_init(void);
> int xlp_get_dram_map(int n, uint64_t *dram_map);
>
> /* Device tree related */
> +void xlp_early_init_devtree(void);
> void *xlp_dt_init(void *fdtp);
>
> static inline int cpu_is_xlpii(void)
> diff --git a/arch/mips/netlogic/xlp/dt.c b/arch/mips/netlogic/xlp/dt.c
> index 88df445..8316d54 100644
> --- a/arch/mips/netlogic/xlp/dt.c
> +++ b/arch/mips/netlogic/xlp/dt.c
> @@ -39,8 +39,11 @@
> #include <linux/of_platform.h>
> #include <linux/of_device.h>
>
> +#include <asm/prom.h>
> +
> extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[],
> __dtb_xlp_fvp_begin[], __dtb_start[];
> +static void *xlp_fdt_blob;
>
> void __init *xlp_dt_init(void *fdtp)
> {
> @@ -67,19 +70,26 @@ void __init *xlp_dt_init(void *fdtp)
> break;
> }
> }
> - initial_boot_params = fdtp;
> + xlp_fdt_blob = fdtp;
> return fdtp;
> }
>
> +void __init xlp_early_init_devtree(void)
> +{
> + __dt_setup_arch(xlp_fdt_blob);
> + strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
> +}
> +
> void __init device_tree_init(void)
> {
> unsigned long base, size;
> + struct boot_param_header *fdtp = xlp_fdt_blob;
>
> - if (!initial_boot_params)
> + if (!fdtp)
> return;
>
> - base = virt_to_phys((void *)initial_boot_params);
> - size = be32_to_cpu(initial_boot_params->totalsize);
> + base = virt_to_phys(fdtp);
> + size = be32_to_cpu(fdtp->totalsize);
>
> /* Before we do anything, lets reserve the dt blob */
> reserve_bootmem(base, size, BOOTMEM_DEFAULT);
> diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c
> index 76a7131..6d981bb 100644
> --- a/arch/mips/netlogic/xlp/setup.c
> +++ b/arch/mips/netlogic/xlp/setup.c
> @@ -98,7 +98,7 @@ void __init plat_mem_setup(void)
> pm_power_off = nlm_linux_exit;
>
> /* memory and bootargs from DT */
> - early_init_devtree(initial_boot_params);
> + xlp_early_init_devtree();
>
> if (boot_mem_map.nr_map == 0) {
> pr_info("Using DRAM BARs for memory map.\n");
>
prev parent reply other threads:[~2013-11-04 16:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-31 15:48 Fwd: Re: Build breakage in latest -next Ralf Baechle
2013-11-04 12:21 ` [PATCH] MIPS: Netlogic: replace early_init_devtree() call Jayachandran C
2013-11-04 16:04 ` Rob Herring [this message]
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=5277C59C.8050009@gmail.com \
--to=robherring2@gmail.com \
--cc=jchandra@broadcom.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.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.