Message ID | 20091007043052.16890.15975.stgit@angua (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
Hi Grant, Just first obvious thing: On Tue, 06 Oct 2009 22:30:59 -0600 Grant Likely <grant.likely@secretlab.ca> wrote: > > diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h > index 64e8b3a..5f461f0 100644 > --- a/arch/microblaze/include/asm/prom.h > +++ b/arch/microblaze/include/asm/prom.h > @@ -17,20 +17,10 @@ > #ifndef _ASM_MICROBLAZE_PROM_H > #define _ASM_MICROBLAZE_PROM_H > #ifdef __KERNEL__ > - > -/* Definitions used by the flattened device tree */ > -#define OF_DT_HEADER 0xd00dfeed /* marker */ This is used in arch/microblaze/kernel/head.S, but you move its definition inside "#ifndef __ASSEMBLY__" below. You should probably replace the include of asm/prom.h in arch/microblaze/kernel/head.S with linux/of_fdt.h (assuming that the comment in there is correct). > -#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ > -#define OF_DT_END_NODE 0x2 /* End node */ > -#define OF_DT_PROP 0x3 /* Property: name off, size, content */ > -#define OF_DT_NOP 0x4 /* nop */ > -#define OF_DT_END 0x9 > - > -#define OF_DT_VERSION 0x10 > - > #ifndef __ASSEMBLY__ > > #include <linux/types.h> > +#include <linux/of_fdt.h> > #include <linux/proc_fs.h> > #include <linux/platform_device.h> > #include <asm/irq.h>
On Tue, 2009-10-06 at 22:30 -0600, Grant Likely wrote: > --- /dev/null > +++ b/include/linux/of_fdt.h > @@ -0,0 +1,30 @@ > +/* > + * Definitions for working with the Flattened Device Tree data format > + * > + * Copyright (C) 1996-2005 Paul Mackerras. > + * > + * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp. > + * Updates for SPARC by David S. Miller > + * Merged to common code by Grant Likely I think you should prune the above. Make it (c) myself since I wrote the FDT code initially. You can add back (c) of other people as you add more stuff here I suppose. No big deal tho. Ben. > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License > + * as published by the Free Software Foundation; either version > + * 2 of the License, or (at your option) any later version. > + */ > + > +#ifndef _LINUX_OF_FDT_H > +#define _LINUX_OF_FDT_H > + > +/* Definitions used by the flattened device tree */ > +#define OF_DT_HEADER 0xd00dfeed /* marker */ > +#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ > +#define OF_DT_END_NODE 0x2 /* End node */ > +#define OF_DT_PROP 0x3 /* Property: name off, size, > + * content */ > +#define OF_DT_NOP 0x4 /* nop */ > +#define OF_DT_END 0x9 > + > +#define OF_DT_VERSION 0x10 > + > +#endif /* _LINUX_OF_FDT_H */
On Tue, Oct 6, 2009 at 11:14 PM, Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote: > On Tue, 2009-10-06 at 22:30 -0600, Grant Likely wrote: > >> --- /dev/null >> +++ b/include/linux/of_fdt.h >> @@ -0,0 +1,30 @@ >> +/* >> + * Definitions for working with the Flattened Device Tree data format >> + * >> + * Copyright (C) 1996-2005 Paul Mackerras. >> + * >> + * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp. >> + * Updates for SPARC by David S. Miller >> + * Merged to common code by Grant Likely > > I think you should prune the above. Make it (c) myself since I wrote the > FDT code initially. You can add back (c) of other people as you add more > stuff here I suppose. > > No big deal tho. No problem. What is the exact copyright text that you'd like to see here? I'm not going to guess on other people's copyright notice. :-) g.
On Tue, Oct 06, 2009 at 10:30:59PM -0600, Grant Likely wrote: > Add a common header file for working with the flattened device tree > data structure and merge the shared data tags used by Microblaze and > PowerPC > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca> > --- > > arch/microblaze/include/asm/prom.h | 12 +----------- > arch/powerpc/include/asm/prom.h | 12 +----------- > include/linux/of_fdt.h | 30 ++++++++++++++++++++++++++++++ > 3 files changed, 32 insertions(+), 22 deletions(-) > create mode 100644 include/linux/of_fdt.h > > diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h > index 64e8b3a..5f461f0 100644 > --- a/arch/microblaze/include/asm/prom.h > +++ b/arch/microblaze/include/asm/prom.h > @@ -17,20 +17,10 @@ > #ifndef _ASM_MICROBLAZE_PROM_H > #define _ASM_MICROBLAZE_PROM_H > #ifdef __KERNEL__ > - > -/* Definitions used by the flattened device tree */ > -#define OF_DT_HEADER 0xd00dfeed /* marker */ > -#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ > -#define OF_DT_END_NODE 0x2 /* End node */ > -#define OF_DT_PROP 0x3 /* Property: name off, size, content */ > -#define OF_DT_NOP 0x4 /* nop */ > -#define OF_DT_END 0x9 > - > -#define OF_DT_VERSION 0x10 So, if you're merging all these, I guess the question is do we also want to merge them with scripts/dtc/libfdt/fdt.h, and by extension with the upstream libfdt header file which defines the same things.
On Fri, Oct 9, 2009 at 12:35 AM, David Gibson <david@gibson.dropbear.id.au> wrote: > On Tue, Oct 06, 2009 at 10:30:59PM -0600, Grant Likely wrote: >> Add a common header file for working with the flattened device tree >> data structure and merge the shared data tags used by Microblaze and >> PowerPC >> >> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> >> --- >> >> arch/microblaze/include/asm/prom.h | 12 +----------- >> arch/powerpc/include/asm/prom.h | 12 +----------- >> include/linux/of_fdt.h | 30 ++++++++++++++++++++++++++++++ >> 3 files changed, 32 insertions(+), 22 deletions(-) >> create mode 100644 include/linux/of_fdt.h >> >> diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h >> index 64e8b3a..5f461f0 100644 >> --- a/arch/microblaze/include/asm/prom.h >> +++ b/arch/microblaze/include/asm/prom.h >> @@ -17,20 +17,10 @@ >> #ifndef _ASM_MICROBLAZE_PROM_H >> #define _ASM_MICROBLAZE_PROM_H >> #ifdef __KERNEL__ >> - >> -/* Definitions used by the flattened device tree */ >> -#define OF_DT_HEADER 0xd00dfeed /* marker */ >> -#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ >> -#define OF_DT_END_NODE 0x2 /* End node */ >> -#define OF_DT_PROP 0x3 /* Property: name off, size, content */ >> -#define OF_DT_NOP 0x4 /* nop */ >> -#define OF_DT_END 0x9 >> - >> -#define OF_DT_VERSION 0x10 > > > So, if you're merging all these, I guess the question is do we also > want to merge them with scripts/dtc/libfdt/fdt.h, and by extension > with the upstream libfdt header file which defines the same things. I see your question and raise you another. Where should the merge file live for it to be included both by dtc and kernel code? Or should it just be cloned in the kernel tree? g.
On Fri, Oct 09, 2009 at 01:07:57AM -0600, Grant Likely wrote: > On Fri, Oct 9, 2009 at 12:35 AM, David Gibson > <david@gibson.dropbear.id.au> wrote: > > On Tue, Oct 06, 2009 at 10:30:59PM -0600, Grant Likely wrote: > >> Add a common header file for working with the flattened device tree > >> data structure and merge the shared data tags used by Microblaze and > >> PowerPC > >> > >> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> > >> --- > >> > >> arch/microblaze/include/asm/prom.h | 12 +----------- > >> arch/powerpc/include/asm/prom.h | 12 +----------- > >> include/linux/of_fdt.h | 30 ++++++++++++++++++++++++++++++ > >> 3 files changed, 32 insertions(+), 22 deletions(-) > >> create mode 100644 include/linux/of_fdt.h > >> > >> diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h > >> index 64e8b3a..5f461f0 100644 > >> --- a/arch/microblaze/include/asm/prom.h > >> +++ b/arch/microblaze/include/asm/prom.h > >> @@ -17,20 +17,10 @@ > >> #ifndef _ASM_MICROBLAZE_PROM_H > >> #define _ASM_MICROBLAZE_PROM_H > >> #ifdef __KERNEL__ > >> - > >> -/* Definitions used by the flattened device tree */ > >> -#define OF_DT_HEADER 0xd00dfeed /* marker */ > >> -#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ > >> -#define OF_DT_END_NODE 0x2 /* End node */ > >> -#define OF_DT_PROP 0x3 /* Property: name off, size, content */ > >> -#define OF_DT_NOP 0x4 /* nop */ > >> -#define OF_DT_END 0x9 > >> - > >> -#define OF_DT_VERSION 0x10 > > > > > > So, if you're merging all these, I guess the question is do we also > > want to merge them with scripts/dtc/libfdt/fdt.h, and by extension > > with the upstream libfdt header file which defines the same things. > > I see your question and raise you another. Where should the merge > file live for it to be included both by dtc and kernel code? Or should > it just be cloned in the kernel tree? Yeah, a good question. As I see it there are two options. Number one is just make sure everything relevant that the kernel needs is in the libfdt version, then just have the kernel code reference it from its location in scripts/dtc. Other option is we clone the file in the kernel tree. Requires keeping in sync, in theory at least, but since that file has been pretty static (since it's only supposed to contain passive structures/constants related to the physical flat tree structure - no code or prototypes).
diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h index 64e8b3a..5f461f0 100644 --- a/arch/microblaze/include/asm/prom.h +++ b/arch/microblaze/include/asm/prom.h @@ -17,20 +17,10 @@ #ifndef _ASM_MICROBLAZE_PROM_H #define _ASM_MICROBLAZE_PROM_H #ifdef __KERNEL__ - -/* Definitions used by the flattened device tree */ -#define OF_DT_HEADER 0xd00dfeed /* marker */ -#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ -#define OF_DT_END_NODE 0x2 /* End node */ -#define OF_DT_PROP 0x3 /* Property: name off, size, content */ -#define OF_DT_NOP 0x4 /* nop */ -#define OF_DT_END 0x9 - -#define OF_DT_VERSION 0x10 - #ifndef __ASSEMBLY__ #include <linux/types.h> +#include <linux/of_fdt.h> #include <linux/proc_fs.h> #include <linux/platform_device.h> #include <asm/irq.h> diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h index c918db5..7181f8a 100644 --- a/arch/powerpc/include/asm/prom.h +++ b/arch/powerpc/include/asm/prom.h @@ -17,6 +17,7 @@ * 2 of the License, or (at your option) any later version. */ #include <linux/types.h> +#include <linux/of_fdt.h> #include <linux/proc_fs.h> #include <linux/platform_device.h> #include <asm/irq.h> @@ -29,17 +30,6 @@ #define of_prop_cmp(s1, s2) strcmp((s1), (s2)) #define of_node_cmp(s1, s2) strcasecmp((s1), (s2)) -/* Definitions used by the flattened device tree */ -#define OF_DT_HEADER 0xd00dfeed /* marker */ -#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ -#define OF_DT_END_NODE 0x2 /* End node */ -#define OF_DT_PROP 0x3 /* Property: name off, size, - * content */ -#define OF_DT_NOP 0x4 /* nop */ -#define OF_DT_END 0x9 - -#define OF_DT_VERSION 0x10 - /* * This is what gets passed to the kernel by prom_init or kexec * diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h new file mode 100644 index 0000000..f81d3f8 --- /dev/null +++ b/include/linux/of_fdt.h @@ -0,0 +1,30 @@ +/* + * Definitions for working with the Flattened Device Tree data format + * + * Copyright (C) 1996-2005 Paul Mackerras. + * + * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp. + * Updates for SPARC by David S. Miller + * Merged to common code by Grant Likely + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#ifndef _LINUX_OF_FDT_H +#define _LINUX_OF_FDT_H + +/* Definitions used by the flattened device tree */ +#define OF_DT_HEADER 0xd00dfeed /* marker */ +#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ +#define OF_DT_END_NODE 0x2 /* End node */ +#define OF_DT_PROP 0x3 /* Property: name off, size, + * content */ +#define OF_DT_NOP 0x4 /* nop */ +#define OF_DT_END 0x9 + +#define OF_DT_VERSION 0x10 + +#endif /* _LINUX_OF_FDT_H */
Add a common header file for working with the flattened device tree data structure and merge the shared data tags used by Microblaze and PowerPC Signed-off-by: Grant Likely <grant.likely@secretlab.ca> --- arch/microblaze/include/asm/prom.h | 12 +----------- arch/powerpc/include/asm/prom.h | 12 +----------- include/linux/of_fdt.h | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 22 deletions(-) create mode 100644 include/linux/of_fdt.h