2013-03-01 07:09:29

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

On Tue, Feb 19, 2013 at 02:58:25AM +0300, Sergei Shtylyov wrote:
> Fix the following compilation warnings (in Simon Horman's renesas.git repo):
>
> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
> include/linux/of_platform.h:107:13: warning: ‘struct of_device_id’ declared
> inside parameter list [enabled by default]
> include/linux/of_platform.h:107:13: warning: its scope is only this definition
> or declaration, which is probably not what you want [enabled by default]
> include/linux/of_platform.h:107:13: warning: ‘struct device_node’ declared
> inside parameter list [enabled by default]
>
> <linux/of_platform.h> only #include's headers with definitions of the above
> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if not. One
> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE and use
> incomplete declarations for the rest of the structures where the #ifdef move
> doesn't help...
>
> Reported-by: Vladimir Barinov <[email protected]>
> Signed-off-by: Sergei Shtylyov <[email protected]>

Reviewed-by: Simon Horman <[email protected]>

Grant, could you consider taking this patch?

> ---
> Actually, it compiles eve without 'struct device_node' declared, I haven't
> found the reason of this, so left it there...
>
> include/linux/of_platform.h | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> Index: linux/include/linux/of_platform.h
> ===================================================================
> --- linux.orig/include/linux/of_platform.h
> +++ linux/include/linux/of_platform.h
> @@ -11,9 +11,10 @@
> *
> */
>
> -#ifdef CONFIG_OF_DEVICE
> #include <linux/device.h>
> #include <linux/mod_devicetable.h>
> +
> +#ifdef CONFIG_OF_DEVICE
> #include <linux/pm.h>
> #include <linux/of_device.h>
> #include <linux/platform_device.h>
> @@ -100,7 +101,7 @@ extern int of_platform_populate(struct d
>
> #if !defined(CONFIG_OF_ADDRESS)
> struct of_dev_auxdata;
> -struct device;
> +struct device_node;
> static inline int of_platform_populate(struct device_node *root,
> const struct of_device_id *matches,
> const struct of_dev_auxdata *lookup,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


2013-03-01 13:46:28

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

On 03/01/2013 01:09 AM, Simon Horman wrote:
> On Tue, Feb 19, 2013 at 02:58:25AM +0300, Sergei Shtylyov wrote:
>> Fix the following compilation warnings (in Simon Horman's renesas.git repo):
>>
>> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
>> include/linux/of_platform.h:107:13: warning: ‘struct of_device_id’ declared
>> inside parameter list [enabled by default]
>> include/linux/of_platform.h:107:13: warning: its scope is only this definition
>> or declaration, which is probably not what you want [enabled by default]
>> include/linux/of_platform.h:107:13: warning: ‘struct device_node’ declared
>> inside parameter list [enabled by default]
>>
>> <linux/of_platform.h> only #include's headers with definitions of the above
>> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if not. One
>> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE and use
>> incomplete declarations for the rest of the structures where the #ifdef move
>> doesn't help...
>>
>> Reported-by: Vladimir Barinov <[email protected]>
>> Signed-off-by: Sergei Shtylyov <[email protected]>
>
> Reviewed-by: Simon Horman <[email protected]>
>
> Grant, could you consider taking this patch?

Yes, I can, but I don't seem to have the original patch. Can you send it
again.

>> ---
>> Actually, it compiles eve without 'struct device_node' declared, I haven't
>> found the reason of this, so left it there...

device.h has a forward declaration of it.

Rob

2013-03-01 13:48:28

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

On 03/01/2013 07:46 AM, Rob Herring wrote:
> On 03/01/2013 01:09 AM, Simon Horman wrote:
>> On Tue, Feb 19, 2013 at 02:58:25AM +0300, Sergei Shtylyov wrote:
>>> Fix the following compilation warnings (in Simon Horman's renesas.git repo):
>>>
>>> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
>>> include/linux/of_platform.h:107:13: warning: ‘struct of_device_id’ declared
>>> inside parameter list [enabled by default]
>>> include/linux/of_platform.h:107:13: warning: its scope is only this definition
>>> or declaration, which is probably not what you want [enabled by default]
>>> include/linux/of_platform.h:107:13: warning: ‘struct device_node’ declared
>>> inside parameter list [enabled by default]
>>>
>>> <linux/of_platform.h> only #include's headers with definitions of the above
>>> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if not. One
>>> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE and use
>>> incomplete declarations for the rest of the structures where the #ifdef move
>>> doesn't help...
>>>
>>> Reported-by: Vladimir Barinov <[email protected]>
>>> Signed-off-by: Sergei Shtylyov <[email protected]>
>>
>> Reviewed-by: Simon Horman <[email protected]>
>>
>> Grant, could you consider taking this patch?
>
> Yes, I can, but I don't seem to have the original patch. Can you send it
> again.

Nevermind. Found it. I'll apply it.

Rob

2013-03-01 13:56:06

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

Hello.

On 01-03-2013 17:48, Rob Herring wrote:

>>>> Fix the following compilation warnings (in Simon Horman's renesas.git repo):

>>>> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
>>>> include/linux/of_platform.h:107:13: warning: ‘struct of_device_id’ declared
>>>> inside parameter list [enabled by default]
>>>> include/linux/of_platform.h:107:13: warning: its scope is only this definition
>>>> or declaration, which is probably not what you want [enabled by default]
>>>> include/linux/of_platform.h:107:13: warning: ‘struct device_node’ declared
>>>> inside parameter list [enabled by default]

>>>> <linux/of_platform.h> only #include's headers with definitions of the above
>>>> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if not. One
>>>> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE and use
>>>> incomplete declarations for the rest of the structures where the #ifdef move
>>>> doesn't help...

>>>> Reported-by: Vladimir Barinov <[email protected]>
>>>> Signed-off-by: Sergei Shtylyov <[email protected]>

>>> Reviewed-by: Simon Horman <[email protected]>

>>> Grant, could you consider taking this patch?

>> Yes, I can, but I don't seem to have the original patch. Can you send it
>> again.

> Nevermind. Found it. I'll apply it.

Will you drop 'struct device_node' declaration then or should I resend? In
fact, I think I should better resend it with the changelog somewhat edited.

> Rob

WBR, Sergei

2013-03-01 14:02:51

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

On 03/01/2013 07:55 AM, Sergei Shtylyov wrote:
> Hello.
>
> On 01-03-2013 17:48, Rob Herring wrote:
>
>>>>> Fix the following compilation warnings (in Simon Horman's
>>>>> renesas.git repo):
>
>>>>> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
>>>>> include/linux/of_platform.h:107:13: warning: ‘struct of_device_id’
>>>>> declared
>>>>> inside parameter list [enabled by default]
>>>>> include/linux/of_platform.h:107:13: warning: its scope is only this
>>>>> definition
>>>>> or declaration, which is probably not what you want [enabled by
>>>>> default]
>>>>> include/linux/of_platform.h:107:13: warning: ‘struct device_node’
>>>>> declared
>>>>> inside parameter list [enabled by default]
>
>>>>> <linux/of_platform.h> only #include's headers with definitions of
>>>>> the above
>>>>> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if
>>>>> not. One
>>>>> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE
>>>>> and use
>>>>> incomplete declarations for the rest of the structures where the
>>>>> #ifdef move
>>>>> doesn't help...
>
>>>>> Reported-by: Vladimir Barinov <[email protected]>
>>>>> Signed-off-by: Sergei Shtylyov <[email protected]>
>
>>>> Reviewed-by: Simon Horman <[email protected]>
>
>>>> Grant, could you consider taking this patch?
>
>>> Yes, I can, but I don't seem to have the original patch. Can you send it
>>> again.
>
>> Nevermind. Found it. I'll apply it.
>
> Will you drop 'struct device_node' declaration then or should I
> resend? In fact, I think I should better resend it with the changelog
> somewhat edited.

No, I plan to leave it as is and not rely on device.h by chance
declaring device_node.

Rob

>
>> Rob
>
> WBR, Sergei
>

2013-05-16 20:58:24

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

Hello.

On 03/01/2013 05:02 PM, Rob Herring wrote:

>>>>>> Fix the following compilation warnings (in Simon Horman's
>>>>>> renesas.git repo):
>>>>>> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
>>>>>> include/linux/of_platform.h:107:13: warning: ‘struct of_device_id’
>>>>>> declared
>>>>>> inside parameter list [enabled by default]
>>>>>> include/linux/of_platform.h:107:13: warning: its scope is only this
>>>>>> definition
>>>>>> or declaration, which is probably not what you want [enabled by
>>>>>> default]
>>>>>> include/linux/of_platform.h:107:13: warning: ‘struct device_node’
>>>>>> declared
>>>>>> inside parameter list [enabled by default]
>>>>>> <linux/of_platform.h> only #include's headers with definitions of
>>>>>> the above
>>>>>> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if
>>>>>> not. One
>>>>>> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE
>>>>>> and use
>>>>>> incomplete declarations for the rest of the structures where the
>>>>>> #ifdef move
>>>>>> doesn't help...
>>>>>> Reported-by: Vladimir Barinov <[email protected]>
>>>>>> Signed-off-by: Sergei Shtylyov <[email protected]>
>>>>> Reviewed-by: Simon Horman <[email protected]>
>>>>> Grant, could you consider taking this patch?
>>>> Yes, I can, but I don't seem to have the original patch. Can you send it
>>>> again.
>>> Nevermind. Found it. I'll apply it.
>> Will you drop 'struct device_node' declaration then or should I
>> resend? In fact, I think I should better resend it with the changelog
>> somewhat edited.
> No, I plan to leave it as is and not rely on device.h by chance
> declaring device_node.

I hoped to see this fix in 3.10-rc1. Is there any hope to see it in
3.10-rc's?
The code it fixes the warnings in is already in Linus tree.

>
>>> Rob

WBR, Sergei

2013-05-16 22:44:17

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

On Thu, May 16, 2013 at 3:58 PM, Sergei Shtylyov
<[email protected]> wrote:
> Hello.
>
>
> On 03/01/2013 05:02 PM, Rob Herring wrote:
>
>>>>>>> Fix the following compilation warnings (in Simon Horman's
>>>>>>> renesas.git repo):
>>>>>>> In file included from arch/arm/mach-shmobile/setup-r8a7779.c:24:0:
>>>>>>> include/linux/of_platform.h:107:13: warning: ?struct of_device_id?
>>>>>>> declared
>>>>>>> inside parameter list [enabled by default]
>>>>>>> include/linux/of_platform.h:107:13: warning: its scope is only this
>>>>>>> definition
>>>>>>> or declaration, which is probably not what you want [enabled by
>>>>>>> default]
>>>>>>> include/linux/of_platform.h:107:13: warning: ?struct device_node?
>>>>>>> declared
>>>>>>> inside parameter list [enabled by default]
>>>>>>> <linux/of_platform.h> only #include's headers with definitions of
>>>>>>> the above
>>>>>>> mentioned structures if CONFIG_OF_DEVICE=y but uses them even if
>>>>>>> not. One
>>>>>>> solution is to move some #include's out of #ifdef CONFIG_OF_DEVICE
>>>>>>> and use
>>>>>>> incomplete declarations for the rest of the structures where the
>>>>>>> #ifdef move
>>>>>>> doesn't help...
>>>>>>> Reported-by: Vladimir Barinov <[email protected]>
>>>>>>> Signed-off-by: Sergei Shtylyov <[email protected]>
>>>>>>
>>>>>> Reviewed-by: Simon Horman <[email protected]>
>>>>>> Grant, could you consider taking this patch?
>>>>>
>>>>> Yes, I can, but I don't seem to have the original patch. Can you send
>>>>> it
>>>>> again.
>>>>
>>>> Nevermind. Found it. I'll apply it.
>>>
>>> Will you drop 'struct device_node' declaration then or should I
>>> resend? In fact, I think I should better resend it with the changelog
>>> somewhat edited.
>>
>> No, I plan to leave it as is and not rely on device.h by chance
>> declaring device_node.
>
>
> I hoped to see this fix in 3.10-rc1. Is there any hope to see it in
> 3.10-rc's?
> The code it fixes the warnings in is already in Linus tree.

So I had this queued up, but Grant did not send DT update to Linus for
3.10. The main thing we had was the preprocessor support and that went
thru arm-soc tree. I plan to send this and other fixes to Linus for
3.10.

Rob

2013-05-17 16:50:06

by Grant Likely

[permalink] [raw]
Subject: Re: [PATCH] <linux/of_platform.h>: fix compilation warnings with DT disabled

On Thu, May 16, 2013 at 11:44 PM, Rob Herring <[email protected]> wrote:
>> I hoped to see this fix in 3.10-rc1. Is there any hope to see it in
>> 3.10-rc's?
>> The code it fixes the warnings in is already in Linus tree.
>
> So I had this queued up, but Grant did not send DT update to Linus for
> 3.10. The main thing we had was the preprocessor support and that went
> thru arm-soc tree. I plan to send this and other fixes to Linus for
> 3.10.

I got gun shy from the gpio stuff and fixated on better testing of my
tree. Everything in my tree is bug fixes so I'll be sending the pull
request today

g.