Patchwork of/mdio: Staticise !CONFIG_OF stubs

login
register
mail settings
Submitter Mark Brown
Date Oct. 10, 2012, 4:33 a.m.
Message ID <1349843618-11209-1-git-send-email-broonie@opensource.wolfsonmicro.com>
Download mbox | patch
Permalink /patch/190546/
State Accepted
Delegated to: David Miller
Headers show

Comments

Mark Brown - Oct. 10, 2012, 4:33 a.m.
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 <fengguang.wu@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 include/linux/of_mdio.h |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
Thomas Petazzoni - Oct. 10, 2012, 8:02 a.m.
On Wed, 10 Oct 2012 13:33:38 +0900, Mark Brown wrote:
> 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 <fengguang.wu@intel.com>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Srinivas KANDAGATLA - Oct. 10, 2012, 9:56 a.m.
On 10/10/12 05:33, Mark Brown wrote:
> 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 <fengguang.wu@intel.com>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> ---
>  include/linux/of_mdio.h |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Oct. 11, 2012, 2:34 a.m.
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
Date: Wed, 10 Oct 2012 13:33:38 +0900

> 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 <fengguang.wu@intel.com>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Brown - Oct. 11, 2012, 7:16 a.m.
On Wed, Oct 10, 2012 at 10:38:50PM -0400, David Miller wrote:

> Did you actually try to compile this?

Yup, and the kernel did actually build.

> In file included from drivers/net/phy/mdio_bus.c:29:0:
> include/linux/of_mdio.h:29:12: warning: ‘of_mdiobus_register’ defined but not used [-Wunused-function]

> I'll fix this up, but test your changes please.

I'm afraid I missed all those in among the other warnings in net/, sorry
(I needed to do a full rebuild as it was a config change to fix up the
underlying error and I always build with sparse enabled which generates
a bunch of warnings in net/).
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/of_mdio.h b/include/linux/of_mdio.h
index 6ef49b8..00f336f 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 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 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 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 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 struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
 {
 	return NULL;
 }