2012-10-10 16:31:53

by Sasha Levin

[permalink] [raw]
Subject: [PATCH] of/mdio: fix build errors when CONFIG_OF isn't set

Commit f9dc9ac5 ("of/mdio: Add dummy functions in of_mdio.h.") has added
empty stubs into of_mdio.h which were not static, this causes build errors
when these symbols were defined across several objects.

Fix it by marking those stubs as 'static inline'.

Signed-off-by: Sasha Levin <[email protected]>
---
include/linux/of_mdio.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/linux/of_mdio.h b/include/linux/of_mdio.h
index 6ef49b8..7f17b9c 100644
--- a/include/linux/of_mdio.h
+++ b/include/linux/of_mdio.h
@@ -26,17 +26,17 @@ extern struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
extern struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np);

#else /* CONFIG_OF */
-int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
+static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
{
return -ENOSYS;
}

-struct phy_device *of_phy_find_device(struct device_node *phy_np)
+static inline struct phy_device *of_phy_find_device(struct device_node *phy_np)
{
return NULL;
}

-struct phy_device *of_phy_connect(struct net_device *dev,
+static inline struct phy_device *of_phy_connect(struct net_device *dev,
struct device_node *phy_np,
void (*hndlr)(struct net_device *),
u32 flags, phy_interface_t iface)
@@ -44,14 +44,14 @@ struct phy_device *of_phy_connect(struct net_device *dev,
return NULL;
}

-struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
+static inline struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
void (*hndlr)(struct net_device *),
phy_interface_t iface)
{
return NULL;
}

-struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
+static inline struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
{
return NULL;
}
--
1.7.12


2012-11-14 16:11:42

by Grant Likely

[permalink] [raw]
Subject: Re: [PATCH] of/mdio: fix build errors when CONFIG_OF isn't set

On Wed, 10 Oct 2012 12:31:23 -0400, Sasha Levin <[email protected]> wrote:
> Commit f9dc9ac5 ("of/mdio: Add dummy functions in of_mdio.h.") has added
> empty stubs into of_mdio.h which were not static, this causes build errors
> when these symbols were defined across several objects.
>
> Fix it by marking those stubs as 'static inline'.
>
> Signed-off-by: Sasha Levin <[email protected]>

Acked-by: Grant Likely <[email protected]>

Rob, can you please pick up into your merge branch for device tree?

Thanks,
g.

> ---
> include/linux/of_mdio.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/of_mdio.h b/include/linux/of_mdio.h
> index 6ef49b8..7f17b9c 100644
> --- a/include/linux/of_mdio.h
> +++ b/include/linux/of_mdio.h
> @@ -26,17 +26,17 @@ extern struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
> extern struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np);
>
> #else /* CONFIG_OF */
> -int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
> +static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
> {
> return -ENOSYS;
> }
>
> -struct phy_device *of_phy_find_device(struct device_node *phy_np)
> +static inline struct phy_device *of_phy_find_device(struct device_node *phy_np)
> {
> return NULL;
> }
>
> -struct phy_device *of_phy_connect(struct net_device *dev,
> +static inline struct phy_device *of_phy_connect(struct net_device *dev,
> struct device_node *phy_np,
> void (*hndlr)(struct net_device *),
> u32 flags, phy_interface_t iface)
> @@ -44,14 +44,14 @@ struct phy_device *of_phy_connect(struct net_device *dev,
> return NULL;
> }
>
> -struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
> +static inline struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
> void (*hndlr)(struct net_device *),
> phy_interface_t iface)
> {
> return NULL;
> }
>
> -struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
> +static inline struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
> {
> return NULL;
> }
> --
> 1.7.12
>

--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.

2012-11-14 17:10:59

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] of/mdio: fix build errors when CONFIG_OF isn't set

On 11/14/2012 10:11 AM, Grant Likely wrote:
> On Wed, 10 Oct 2012 12:31:23 -0400, Sasha Levin <[email protected]> wrote:
>> Commit f9dc9ac5 ("of/mdio: Add dummy functions in of_mdio.h.") has added
>> empty stubs into of_mdio.h which were not static, this causes build errors
>> when these symbols were defined across several objects.
>>
>> Fix it by marking those stubs as 'static inline'.
>>
>> Signed-off-by: Sasha Levin <[email protected]>
>
> Acked-by: Grant Likely <[email protected]>
>
> Rob, can you please pick up into your merge branch for device tree?
>

This is already fixed:

commit 2a5cf8016c745191605f312a7cd7bd22e9be94a5
Author: Mark Brown <[email protected]>
Date: Tue Oct 9 18:33:38 2012 +0000

of/mdio: Staticise !CONFIG_OF stubs

The !CONFIG_OF stubs aren't static so if multiple files include the
header with this configuration then the linker will see multiple
definitions of the stubs.

Reported-by: Fengguang Wu <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Acked-by: Thomas Petazzoni <[email protected]>
Acked-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

commit f9dc9ac51610a35629c8211b6b8c9b0c65cf0e1d
Author: Srinivas Kandagatla <[email protected]>
Date: Fri Aug 24 01:58:59 2012 +0000

of/mdio: Add dummy functions in of_mdio.h.

This patch adds dummy functions in of_mdio.h, so that driver need not
ifdef there code with CONFIG_OF.

Signed-off-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: David S. Miller <[email protected]>

Rob

> Thanks,
> g.
>
>> ---
>> include/linux/of_mdio.h | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/linux/of_mdio.h b/include/linux/of_mdio.h
>> index 6ef49b8..7f17b9c 100644
>> --- a/include/linux/of_mdio.h
>> +++ b/include/linux/of_mdio.h
>> @@ -26,17 +26,17 @@ extern struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
>> extern struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np);
>>
>> #else /* CONFIG_OF */
>> -int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
>> +static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
>> {
>> return -ENOSYS;
>> }
>>
>> -struct phy_device *of_phy_find_device(struct device_node *phy_np)
>> +static inline struct phy_device *of_phy_find_device(struct device_node *phy_np)
>> {
>> return NULL;
>> }
>>
>> -struct phy_device *of_phy_connect(struct net_device *dev,
>> +static inline struct phy_device *of_phy_connect(struct net_device *dev,
>> struct device_node *phy_np,
>> void (*hndlr)(struct net_device *),
>> u32 flags, phy_interface_t iface)
>> @@ -44,14 +44,14 @@ struct phy_device *of_phy_connect(struct net_device *dev,
>> return NULL;
>> }
>>
>> -struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
>> +static inline struct phy_device *of_phy_connect_fixed_link(struct net_device *dev,
>> void (*hndlr)(struct net_device *),
>> phy_interface_t iface)
>> {
>> return NULL;
>> }
>>
>> -struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
>> +static inline struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
>> {
>> return NULL;
>> }
>> --
>> 1.7.12
>>
>

2012-11-14 17:22:25

by Grant Likely

[permalink] [raw]
Subject: Re: [PATCH] of/mdio: fix build errors when CONFIG_OF isn't set

On Wed, Nov 14, 2012 at 5:10 PM, Rob Herring <[email protected]> wrote:
> On 11/14/2012 10:11 AM, Grant Likely wrote:
>> On Wed, 10 Oct 2012 12:31:23 -0400, Sasha Levin <[email protected]> wrote:
>>> Commit f9dc9ac5 ("of/mdio: Add dummy functions in of_mdio.h.") has added
>>> empty stubs into of_mdio.h which were not static, this causes build errors
>>> when these symbols were defined across several objects.
>>>
>>> Fix it by marking those stubs as 'static inline'.
>>>
>>> Signed-off-by: Sasha Levin <[email protected]>
>>
>> Acked-by: Grant Likely <[email protected]>
>>
>> Rob, can you please pick up into your merge branch for device tree?
>>
>
> This is already fixed:

Even better! :-)

g.