Patchwork [microblaze-uclinux] Re: [RFC PATCH 05/12] of: add common header for flattened device tree representation

login
register
mail settings
Submitter Michal Simek
Date Oct. 7, 2009, 12:14 p.m.
Message ID <4ACC861A.7020506@monstr.eu>
Download mbox | patch
Permalink /patch/35264/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Michal Simek - Oct. 7, 2009, 12:14 p.m.
Stephen Rothwell wrote:
> 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).

yes, Stephen is right here. I created one patch (in attachment) which fixed it. I tested your
patches on Microblaze (noMMU and MMU) and I have no problem with compilation and simple boot-up
works for both versions too.

With that my patch: Acked-by: Michal Simek <monstr@monstr.eu>

Thanks,
Michal

P.S.: I have my provider - it block my emails - that's why the patch is in attachment.

> 
>> -#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>
>
Grant Likely - Oct. 7, 2009, 1:38 p.m.
On Wed, Oct 7, 2009 at 6:14 AM, Michal Simek <monstr@monstr.eu> wrote:
>
>
> Stephen Rothwell wrote:
>> 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).
>
> yes, Stephen is right here. I created one patch (in attachment) which fixed it. I tested your
> patches on Microblaze (noMMU and MMU) and I have no problem with compilation and simple boot-up
> works for both versions too.
>
> With that my patch: Acked-by: Michal Simek <monstr@monstr.eu>

Thanks.  I'll merge your change with my patch so that bisect isn't broken.

g.
Michal Simek - Oct. 7, 2009, 2:07 p.m.
Grant Likely wrote:
> On Wed, Oct 7, 2009 at 6:14 AM, Michal Simek <monstr@monstr.eu> wrote:
>>
>> Stephen Rothwell wrote:
>>> 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).
>> yes, Stephen is right here. I created one patch (in attachment) which fixed it. I tested your
>> patches on Microblaze (noMMU and MMU) and I have no problem with compilation and simple boot-up
>> works for both versions too.
>>
>> With that my patch: Acked-by: Michal Simek <monstr@monstr.eu>
> 
> Thanks.  I'll merge your change with my patch so that bisect isn't broken.

if is possible to do it, please do it.

Thanks,
Michal

> 
> g.
>

Patch

>From 73b16cccc544fe8410ec8e8e893aa3357093e985 Mon Sep 17 00:00:00 2001
From: Michal Simek <monstr@monstr.eu>
Date: Wed, 7 Oct 2009 14:04:01 +0200
Subject: [PATCH] of: microblaze: of_fdt.h is used in asm code.

Microblaze uses OF_DT_HEADER macro to identify DTB.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Michal Simek <monstr@monstr.eu>
---
 arch/microblaze/kernel/head.S |    2 +-
 include/linux/of_fdt.h        |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S
index 697ce30..3091619 100644
--- a/arch/microblaze/kernel/head.S
+++ b/arch/microblaze/kernel/head.S
@@ -31,7 +31,7 @@ 
 #include <linux/linkage.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
-#include <asm/prom.h>		/* for OF_DT_HEADER */
+#include <linux/of_fdt.h>		/* for OF_DT_HEADER */
 
 #ifdef CONFIG_MMU
 #include <asm/setup.h> /* COMMAND_LINE_SIZE */
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index b41bd18..44fecfa 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
@@ -30,6 +30,7 @@ 
 
 #define OF_DT_VERSION		0x10
 
+#ifndef __ASSEMBLY__
 /*
  * This is what gets passed to the kernel by prom_init or kexec
  *
@@ -84,4 +85,6 @@  extern int prom_remove_property(struct device_node *np, struct property *prop);
 extern int prom_update_property(struct device_node *np,
 				struct property *newprop,
 				struct property *oldprop);
+#endif /* __ASSEMBLY__ */
+
 #endif /* _LINUX_OF_FDT_H */
-- 
1.5.5.1