From: Rob Herring <robherring2@gmail.com>
To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Cc: Grant Likely <grant.likely@linaro.org>,
Rob Herring <rob.herring@calxeda.com>
Subject: [PATCH v2 09/29] of: Introduce common early_init_dt_scan
Date: Mon, 7 Oct 2013 11:29:17 -0500 [thread overview]
Message-ID: <1381163377-21044-10-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1381163377-21044-1-git-send-email-robherring2@gmail.com>
From: Rob Herring <rob.herring@calxeda.com>
Most architectures scan the all the same items early in the FDT and none
are really architecture specific. Create a common early_init_dt_scan to
unify the early scan of root, memory, and chosen nodes in the flattened
DT.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
---
drivers/of/fdt.c | 26 ++++++++++++++++++++++++++
include/linux/of_fdt.h | 2 ++
2 files changed, 28 insertions(+)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 5177616..bfbfda5 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -785,6 +785,32 @@ void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align)
}
#endif
+bool __init early_init_dt_scan(void *params)
+{
+ if (!params)
+ return false;
+
+ /* Setup flat device-tree pointer */
+ initial_boot_params = params;
+
+ /* check device tree validity */
+ if (be32_to_cpu(initial_boot_params->magic) != OF_DT_HEADER) {
+ initial_boot_params = NULL;
+ return false;
+ }
+
+ /* Retrieve various information from the /chosen node */
+ of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);
+
+ /* Initialize {size,address}-cells info */
+ of_scan_flat_dt(early_init_dt_scan_root, NULL);
+
+ /* Setup memory, calling early_init_dt_add_memory_arch */
+ of_scan_flat_dt(early_init_dt_scan_memory, NULL);
+
+ return true;
+}
+
/**
* unflatten_device_tree - create tree of device_nodes from flat blob
*
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index 58c28a8..73e1651 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
@@ -116,6 +116,8 @@ extern void early_init_dt_setup_initrd_arch(u64 start, u64 end);
extern int early_init_dt_scan_root(unsigned long node, const char *uname,
int depth, void *data);
+extern bool early_init_dt_scan(void *params);
+
/* Other Prototypes */
extern void unflatten_device_tree(void);
extern void unflatten_and_copy_device_tree(void);
--
1.8.1.2
next prev parent reply other threads:[~2013-10-07 16:29 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-07 16:29 [PATCH v2 00/29] Early flattened DT init consolidation Rob Herring
[not found] ` <1381163377-21044-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-07 16:29 ` [PATCH v2 01/29] c6x: use boot_command_line instead of private c6x_command_line Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 20:12 ` Mark Salter
2013-10-07 16:29 ` [PATCH v2 03/29] of: create unflatten_and_copy_device_tree Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 04/29] arc: use unflatten_and_copy_device_tree Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 10/29] arc: use early_init_dt_scan Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 25/29] arc: use common of_flat_dt_match_machine Rob Herring
2013-10-07 16:29 ` Rob Herring
[not found] ` <1381163377-21044-26-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-08 5:42 ` Vineet Gupta
2013-10-08 5:42 ` Vineet Gupta
[not found] ` <52539B4C.9040400-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
2013-10-09 17:04 ` Rob Herring
2013-10-09 17:04 ` Rob Herring
2013-10-10 5:04 ` Vineet Gupta
2013-10-10 5:04 ` Vineet Gupta
2013-10-07 16:29 ` [PATCH v2 02/29] openrisc: use boot_command_line instead of private cmd_line Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 05/29] openrisc: use unflatten_and_copy_device_tree Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 06/29] x86: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 07/29] xtensa: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 08/29] metag: " Rob Herring
2013-11-08 11:39 ` Qais Yousef
2013-11-08 13:12 ` James Hogan
2013-11-08 13:12 ` James Hogan
[not found] ` <527CE32F.6090305-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2013-11-08 17:26 ` Rob Herring
2013-11-08 17:26 ` Rob Herring
[not found] ` <CAL_JsqKprnCn7JQj7QFbMbLW3Ei-paBH6RYti+CgEFCb4JUaAQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-08 17:34 ` James Hogan
2013-11-08 17:34 ` James Hogan
2013-10-07 16:29 ` Rob Herring [this message]
2013-10-07 16:29 ` [PATCH v2 11/29] arm: use early_init_dt_scan Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 12/29] arm64: " Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 13/29] c6x: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 14/29] metag: " Rob Herring
[not found] ` <1381163377-21044-15-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-11-08 13:06 ` James Hogan
2013-11-08 13:06 ` James Hogan
2013-10-07 16:29 ` [PATCH v2 15/29] microblaze: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 16/29] mips: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 17/29] openrisc: " Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 18/29] xtensa: " Rob Herring
2013-10-07 16:29 ` [PATCH v2 19/29] of: create default early_init_dt_add_memory_arch Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:32 ` Catalin Marinas
2013-10-07 16:32 ` Catalin Marinas
2013-10-07 16:32 ` Catalin Marinas
2013-10-07 16:29 ` [PATCH v2 20/29] arm: set initrd_start/initrd_end for fdt scan Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 21/29] arm64: " Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 22/29] of: remove early_init_dt_setup_initrd_arch Rob Herring
[not found] ` <1381163377-21044-23-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-11-08 13:07 ` James Hogan
2013-11-08 13:07 ` James Hogan
2013-10-07 16:29 ` [PATCH v2 23/29] openrisc: remove unnecessary prom.c includes Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 24/29] of: introduce common FDT machine related functions Rob Herring
2013-10-07 16:29 ` [PATCH v2 26/29] arm: use common of_flat_dt_match_machine Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 27/29] arm64: use common of_flat_dt_get_machine_name Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` Rob Herring
2013-10-07 16:29 ` [PATCH v2 28/29] metag: use common of_flat_dt_match_machine Rob Herring
2013-10-07 16:29 ` [PATCH v2 29/29] mips: use common of_flat_dt_get_machine_name Rob Herring
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=1381163377-21044-10-git-send-email-robherring2@gmail.com \
--to=robherring2@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rob.herring@calxeda.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 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.