From: Benjamin Herrenschmidt <benh@kernel.crashing.org> To: Grant Likely <grant.likely@secretlab.ca> Cc: sfr@canb.auug.org.au, monstr@monstr.eu, microblaze-uclinux@itee.uq.edu.au, devicetree-discuss@lists.ozlabs.org, sparclinux@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net Subject: Re: [PATCH 01/11] of/flattree: Merge early_init_dt_check_for_initrd() Date: Thu, 26 Nov 2009 14:51:18 +1100 [thread overview] Message-ID: <1259207478.16367.218.camel@pasglop> (raw) In-Reply-To: <20091124081747.6216.88376.stgit@angua> On Tue, 2009-11-24 at 01:17 -0700, Grant Likely wrote: > Merge common code between PowerPC and Microblaze > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca> > Reviewed-by: Wolfram Sang <w.sang@pengutronix.de> > Tested-by: Michal Simek <monstr@monstr.eu> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Remind me how you want to merge that ? via my tree ? Cheers, Ben. > --- > > arch/microblaze/kernel/prom.c | 32 -------------------------------- > arch/powerpc/kernel/prom.c | 30 ------------------------------ > drivers/of/fdt.c | 37 +++++++++++++++++++++++++++++++++++++ > include/linux/of_fdt.h | 1 + > 4 files changed, 38 insertions(+), 62 deletions(-) > > diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c > index a38e373..7959495 100644 > --- a/arch/microblaze/kernel/prom.c > +++ b/arch/microblaze/kernel/prom.c > @@ -113,38 +113,6 @@ static int __init early_init_dt_scan_cpus(unsigned long node, > return 0; > } > > -#ifdef CONFIG_BLK_DEV_INITRD > -static void __init early_init_dt_check_for_initrd(unsigned long node) > -{ > - unsigned long l; > - u32 *prop; > - > - pr_debug("Looking for initrd properties... "); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-start", &l); > - if (prop) { > - initrd_start = (unsigned long) > - __va((u32)of_read_ulong(prop, l/4)); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-end", &l); > - if (prop) { > - initrd_end = (unsigned long) > - __va((u32)of_read_ulong(prop, 1/4)); > - initrd_below_start_ok = 1; > - } else { > - initrd_start = 0; > - } > - } > - > - pr_debug("initrd_start=0x%lx initrd_end=0x%lx\n", > - initrd_start, initrd_end); > -} > -#else > -static inline void early_init_dt_check_for_initrd(unsigned long node) > -{ > -} > -#endif /* CONFIG_BLK_DEV_INITRD */ > - > static int __init early_init_dt_scan_chosen(unsigned long node, > const char *uname, int depth, void *data) > { > diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c > index 7f88566..1ecd6c6 100644 > --- a/arch/powerpc/kernel/prom.c > +++ b/arch/powerpc/kernel/prom.c > @@ -373,36 +373,6 @@ static int __init early_init_dt_scan_cpus(unsigned long node, > return 0; > } > > -#ifdef CONFIG_BLK_DEV_INITRD > -static void __init early_init_dt_check_for_initrd(unsigned long node) > -{ > - unsigned long l; > - u32 *prop; > - > - DBG("Looking for initrd properties... "); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-start", &l); > - if (prop) { > - initrd_start = (unsigned long)__va(of_read_ulong(prop, l/4)); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-end", &l); > - if (prop) { > - initrd_end = (unsigned long) > - __va(of_read_ulong(prop, l/4)); > - initrd_below_start_ok = 1; > - } else { > - initrd_start = 0; > - } > - } > - > - DBG("initrd_start=0x%lx initrd_end=0x%lx\n", initrd_start, initrd_end); > -} > -#else > -static inline void early_init_dt_check_for_initrd(unsigned long node) > -{ > -} > -#endif /* CONFIG_BLK_DEV_INITRD */ > - > static int __init early_init_dt_scan_chosen(unsigned long node, > const char *uname, int depth, void *data) > { > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index 43d236c..6ad98e8 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -11,6 +11,7 @@ > > #include <linux/kernel.h> > #include <linux/lmb.h> > +#include <linux/initrd.h> > #include <linux/of.h> > #include <linux/of_fdt.h> > > @@ -369,6 +370,42 @@ unsigned long __init unflatten_dt_node(unsigned long mem, > return mem; > } > > +#ifdef CONFIG_BLK_DEV_INITRD > +/** > + * early_init_dt_check_for_initrd - Decode initrd location from flat tree > + * @node: reference to node containing initrd location ('chosen') > + */ > +void __init early_init_dt_check_for_initrd(unsigned long node) > +{ > + unsigned long len; > + u32 *prop; > + > + pr_debug("Looking for initrd properties... "); > + > + prop = of_get_flat_dt_prop(node, "linux,initrd-start", &len); > + if (prop) { > + initrd_start = (unsigned long) > + __va(of_read_ulong(prop, len/4)); > + > + prop = of_get_flat_dt_prop(node, "linux,initrd-end", &len); > + if (prop) { > + initrd_end = (unsigned long) > + __va(of_read_ulong(prop, len/4)); > + initrd_below_start_ok = 1; > + } else { > + initrd_start = 0; > + } > + } > + > + pr_debug("initrd_start=0x%lx initrd_end=0x%lx\n", > + initrd_start, initrd_end); > +} > +#else > +inline void early_init_dt_check_for_initrd(unsigned long node) > +{ > +} > +#endif /* CONFIG_BLK_DEV_INITRD */ > + > /** > * 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 81231e0..ec2db82 100644 > --- a/include/linux/of_fdt.h > +++ b/include/linux/of_fdt.h > @@ -69,6 +69,7 @@ extern void *of_get_flat_dt_prop(unsigned long node, const char *name, > unsigned long *size); > extern int of_flat_dt_is_compatible(unsigned long node, const char *name); > extern unsigned long of_get_flat_dt_root(void); > +extern void early_init_dt_check_for_initrd(unsigned long node); > > /* Other Prototypes */ > extern void finish_device_tree(void);
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> To: Grant Likely <grant.likely@secretlab.ca> Cc: sfr@canb.auug.org.au, monstr@monstr.eu, microblaze-uclinux@itee.uq.edu.au, devicetree-discuss@lists.ozlabs.org, sparclinux@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net Subject: Re: [PATCH 01/11] of/flattree: Merge Date: Thu, 26 Nov 2009 03:51:18 +0000 [thread overview] Message-ID: <1259207478.16367.218.camel@pasglop> (raw) In-Reply-To: <20091124081747.6216.88376.stgit@angua> On Tue, 2009-11-24 at 01:17 -0700, Grant Likely wrote: > Merge common code between PowerPC and Microblaze > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca> > Reviewed-by: Wolfram Sang <w.sang@pengutronix.de> > Tested-by: Michal Simek <monstr@monstr.eu> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Remind me how you want to merge that ? via my tree ? Cheers, Ben. > --- > > arch/microblaze/kernel/prom.c | 32 -------------------------------- > arch/powerpc/kernel/prom.c | 30 ------------------------------ > drivers/of/fdt.c | 37 +++++++++++++++++++++++++++++++++++++ > include/linux/of_fdt.h | 1 + > 4 files changed, 38 insertions(+), 62 deletions(-) > > diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c > index a38e373..7959495 100644 > --- a/arch/microblaze/kernel/prom.c > +++ b/arch/microblaze/kernel/prom.c > @@ -113,38 +113,6 @@ static int __init early_init_dt_scan_cpus(unsigned long node, > return 0; > } > > -#ifdef CONFIG_BLK_DEV_INITRD > -static void __init early_init_dt_check_for_initrd(unsigned long node) > -{ > - unsigned long l; > - u32 *prop; > - > - pr_debug("Looking for initrd properties... "); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-start", &l); > - if (prop) { > - initrd_start = (unsigned long) > - __va((u32)of_read_ulong(prop, l/4)); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-end", &l); > - if (prop) { > - initrd_end = (unsigned long) > - __va((u32)of_read_ulong(prop, 1/4)); > - initrd_below_start_ok = 1; > - } else { > - initrd_start = 0; > - } > - } > - > - pr_debug("initrd_start=0x%lx initrd_end=0x%lx\n", > - initrd_start, initrd_end); > -} > -#else > -static inline void early_init_dt_check_for_initrd(unsigned long node) > -{ > -} > -#endif /* CONFIG_BLK_DEV_INITRD */ > - > static int __init early_init_dt_scan_chosen(unsigned long node, > const char *uname, int depth, void *data) > { > diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c > index 7f88566..1ecd6c6 100644 > --- a/arch/powerpc/kernel/prom.c > +++ b/arch/powerpc/kernel/prom.c > @@ -373,36 +373,6 @@ static int __init early_init_dt_scan_cpus(unsigned long node, > return 0; > } > > -#ifdef CONFIG_BLK_DEV_INITRD > -static void __init early_init_dt_check_for_initrd(unsigned long node) > -{ > - unsigned long l; > - u32 *prop; > - > - DBG("Looking for initrd properties... "); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-start", &l); > - if (prop) { > - initrd_start = (unsigned long)__va(of_read_ulong(prop, l/4)); > - > - prop = of_get_flat_dt_prop(node, "linux,initrd-end", &l); > - if (prop) { > - initrd_end = (unsigned long) > - __va(of_read_ulong(prop, l/4)); > - initrd_below_start_ok = 1; > - } else { > - initrd_start = 0; > - } > - } > - > - DBG("initrd_start=0x%lx initrd_end=0x%lx\n", initrd_start, initrd_end); > -} > -#else > -static inline void early_init_dt_check_for_initrd(unsigned long node) > -{ > -} > -#endif /* CONFIG_BLK_DEV_INITRD */ > - > static int __init early_init_dt_scan_chosen(unsigned long node, > const char *uname, int depth, void *data) > { > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index 43d236c..6ad98e8 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -11,6 +11,7 @@ > > #include <linux/kernel.h> > #include <linux/lmb.h> > +#include <linux/initrd.h> > #include <linux/of.h> > #include <linux/of_fdt.h> > > @@ -369,6 +370,42 @@ unsigned long __init unflatten_dt_node(unsigned long mem, > return mem; > } > > +#ifdef CONFIG_BLK_DEV_INITRD > +/** > + * early_init_dt_check_for_initrd - Decode initrd location from flat tree > + * @node: reference to node containing initrd location ('chosen') > + */ > +void __init early_init_dt_check_for_initrd(unsigned long node) > +{ > + unsigned long len; > + u32 *prop; > + > + pr_debug("Looking for initrd properties... "); > + > + prop = of_get_flat_dt_prop(node, "linux,initrd-start", &len); > + if (prop) { > + initrd_start = (unsigned long) > + __va(of_read_ulong(prop, len/4)); > + > + prop = of_get_flat_dt_prop(node, "linux,initrd-end", &len); > + if (prop) { > + initrd_end = (unsigned long) > + __va(of_read_ulong(prop, len/4)); > + initrd_below_start_ok = 1; > + } else { > + initrd_start = 0; > + } > + } > + > + pr_debug("initrd_start=0x%lx initrd_end=0x%lx\n", > + initrd_start, initrd_end); > +} > +#else > +inline void early_init_dt_check_for_initrd(unsigned long node) > +{ > +} > +#endif /* CONFIG_BLK_DEV_INITRD */ > + > /** > * 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 81231e0..ec2db82 100644 > --- a/include/linux/of_fdt.h > +++ b/include/linux/of_fdt.h > @@ -69,6 +69,7 @@ extern void *of_get_flat_dt_prop(unsigned long node, const char *name, > unsigned long *size); > extern int of_flat_dt_is_compatible(unsigned long node, const char *name); > extern unsigned long of_get_flat_dt_root(void); > +extern void early_init_dt_check_for_initrd(unsigned long node); > > /* Other Prototypes */ > extern void finish_device_tree(void);
next prev parent reply other threads:[~2009-11-26 3:51 UTC|newest] Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-11-24 8:17 [PATCH 00/11] Yet another series of OF merge patches Grant Likely 2009-11-24 8:17 ` Grant Likely 2009-11-24 8:17 ` Grant Likely 2009-11-24 8:17 ` [PATCH 01/11] of/flattree: Merge early_init_dt_check_for_initrd() Grant Likely 2009-11-24 8:17 ` Grant Likely 2009-11-24 8:17 ` Grant Likely 2009-11-26 3:51 ` Benjamin Herrenschmidt [this message] 2009-11-26 3:51 ` [PATCH 01/11] of/flattree: Merge Benjamin Herrenschmidt 2009-11-26 4:02 ` [PATCH 01/11] of/flattree: Merge early_init_dt_check_for_initrd() Grant Likely 2009-11-26 4:02 ` Grant Likely 2009-11-26 4:02 ` Grant Likely 2009-11-24 8:18 ` [PATCH 02/11] of/flattree: Merge earlyinit_dt_scan_root() Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-26 3:54 ` Benjamin Herrenschmidt 2009-11-26 3:54 ` Benjamin Herrenschmidt 2009-11-26 3:54 ` Benjamin Herrenschmidt 2009-11-26 4:03 ` Grant Likely 2009-11-26 4:03 ` Grant Likely 2009-11-26 4:03 ` Grant Likely 2009-11-24 8:18 ` [PATCH 03/11] of/flattree: merge dt_mem_next_cell Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-26 3:55 ` Benjamin Herrenschmidt 2009-11-26 3:55 ` Benjamin Herrenschmidt 2009-11-26 3:55 ` Benjamin Herrenschmidt 2009-11-24 8:18 ` [PATCH 04/11] of/flattree: eliminate cell_t typedef Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-26 3:59 ` Benjamin Herrenschmidt 2009-11-26 3:59 ` Benjamin Herrenschmidt 2009-11-26 3:59 ` Benjamin Herrenschmidt 2009-11-26 4:05 ` Grant Likely 2009-11-26 4:05 ` Grant Likely 2009-11-26 4:05 ` Grant Likely 2009-11-26 5:27 ` Benjamin Herrenschmidt 2009-11-26 5:27 ` Benjamin Herrenschmidt 2009-11-26 21:36 ` Segher Boessenkool 2009-11-26 21:36 ` Segher Boessenkool 2009-11-26 21:36 ` Segher Boessenkool 2009-11-26 21:40 ` Benjamin Herrenschmidt 2009-11-26 21:40 ` Benjamin Herrenschmidt 2009-11-26 21:40 ` Benjamin Herrenschmidt 2009-11-26 23:32 ` David Miller 2009-11-26 23:32 ` David Miller 2009-11-26 23:32 ` David Miller 2009-12-11 6:43 ` Grant Likely 2009-12-11 6:43 ` Grant Likely 2009-12-11 6:43 ` Grant Likely [not found] ` <fa686aa40911252005o2db85dfk3d9acc61c12ca5e5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2009-11-26 6:28 ` M. Warner Losh 2009-11-26 6:28 ` M. Warner Losh 2009-11-26 6:28 ` M. Warner Losh [not found] ` <20091125.232818.-1350498258.imp-uzTCJ5RojNnQT0dZR+AlfA@public.gmane.org> 2009-11-26 7:06 ` Benjamin Herrenschmidt 2009-11-26 7:06 ` Benjamin Herrenschmidt 2009-11-26 7:06 ` Benjamin Herrenschmidt 2009-11-26 7:52 ` Mitch Bradley 2009-11-26 7:52 ` Mitch Bradley 2009-11-26 7:52 ` Mitch Bradley 2009-11-24 8:18 ` [PATCH 05/11] of/flattree: merge early_init_dt_scan_chosen() Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-24 8:18 ` Grant Likely 2009-11-24 8:19 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and early_init_move_devtree() Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-24 8:19 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and Grant Likely 2009-11-26 4:04 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and early_init_move_devtree() Benjamin Herrenschmidt 2009-11-26 4:04 ` Benjamin Herrenschmidt 2009-11-26 4:04 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and Benjamin Herrenschmidt 2009-12-11 6:19 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and early_init_move_devtree() Grant Likely 2009-12-11 6:19 ` Grant Likely 2009-12-11 6:19 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and Grant Likely 2009-12-07 7:08 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and early_init_move_devtree() Jeremy Kerr 2009-12-07 7:08 ` Jeremy Kerr 2009-12-07 7:08 ` Jeremy Kerr 2009-12-11 6:20 ` Grant Likely 2009-12-11 6:20 ` Grant Likely 2009-12-11 6:20 ` [PATCH 06/11] of/flattree: merge early_init_devtree() and Grant Likely 2009-11-24 8:19 ` [PATCH 07/11] of: merge machine_is_compatible() Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-26 4:05 ` Benjamin Herrenschmidt 2009-11-26 4:05 ` Benjamin Herrenschmidt 2009-11-26 4:05 ` Benjamin Herrenschmidt 2009-12-11 6:54 ` Grant Likely 2009-12-11 6:54 ` Grant Likely 2009-12-11 6:54 ` Grant Likely 2009-11-24 8:19 ` [PATCH 08/11] of: Merge of_node_get() and of_node_put() Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-26 4:06 ` Benjamin Herrenschmidt 2009-11-26 4:06 ` Benjamin Herrenschmidt 2009-11-26 4:06 ` Benjamin Herrenschmidt 2009-11-24 8:19 ` [PATCH 09/11] of: merge of_attach_node() & of_detach_node() Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-26 4:07 ` Benjamin Herrenschmidt 2009-11-26 4:07 ` Benjamin Herrenschmidt 2009-11-26 4:07 ` Benjamin Herrenschmidt 2009-12-10 22:21 ` Grant Likely 2009-12-10 22:21 ` Grant Likely 2009-12-10 22:21 ` Grant Likely 2009-11-24 8:19 ` [PATCH 10/11] microblaze: gut implementation of early_init_dt_scan_cpus() Grant Likely 2009-11-24 8:19 ` Grant Likely 2009-11-24 8:19 ` [PATCH 10/11] microblaze: gut implementation of Grant Likely 2009-11-24 8:20 ` [PATCH 11/11] of: unify phandle name in struct device_node Grant Likely 2009-11-24 8:20 ` Grant Likely 2009-11-24 8:20 ` Grant Likely 2009-11-24 17:37 ` David Miller 2009-11-24 17:37 ` David Miller 2009-11-24 17:37 ` David Miller 2009-11-24 20:33 ` Grant Likely 2009-11-24 20:33 ` Grant Likely 2009-11-24 20:33 ` Grant Likely 2009-11-24 21:10 ` David Miller 2009-11-24 21:10 ` David Miller [not found] ` <20091124.093732.203692950.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 2009-11-24 21:06 ` Benjamin Herrenschmidt 2009-11-24 21:06 ` Benjamin Herrenschmidt 2009-11-24 21:06 ` Benjamin Herrenschmidt 2009-11-24 21:39 ` Grant Likely 2009-11-24 21:39 ` Grant Likely 2009-11-24 21:39 ` Grant Likely 2009-11-26 12:28 ` [PATCH 00/11] Yet another series of OF merge patches Wolfram Sang 2009-11-26 12:28 ` Wolfram Sang 2009-11-26 12:28 ` Wolfram Sang
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=1259207478.16367.218.camel@pasglop \ --to=benh@kernel.crashing.org \ --cc=davem@davemloft.net \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=grant.likely@secretlab.ca \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=microblaze-uclinux@itee.uq.edu.au \ --cc=monstr@monstr.eu \ --cc=sfr@canb.auug.org.au \ --cc=sparclinux@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: linkBe 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.