Message ID | 20091117194733.bd2308a8.sfr@canb.auug.org.au |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Stephen Rothwell <sfr@canb.auug.org.au> Date: Tue, 17 Nov 2009 19:47:33 +1100 > This fixes the following warning: > > WARNING: drivers/net/phy/built-in.o(.devexit.text+0x70): Section mismatch in reference from the function .mdio_gpio_bus_destroy() to the function .devinit.text:.mdio_gpio_bus_deinit() > The function __devexit .mdio_gpio_bus_destroy() references > a function __devinit .mdio_gpio_bus_deinit(). > This is often seen when error handling in the exit function > uses functionality in the init path. > The fix is often to remove the __devinit annotation of > .mdio_gpio_bus_deinit() so it may be used outside an init section. > > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Applied to net-2.6, thanks Stephen. I wish there was a better way to handle this kind of situation as it's a quite common pattern (exit cleanup function used by device init functions) because currently we end up not being able to put such things into either init or exit sections. -- 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
diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c index 8659d34..3589713 100644 --- a/drivers/net/phy/mdio-gpio.c +++ b/drivers/net/phy/mdio-gpio.c @@ -139,7 +139,7 @@ out: return NULL; } -static void __devinit mdio_gpio_bus_deinit(struct device *dev) +static void mdio_gpio_bus_deinit(struct device *dev) { struct mii_bus *bus = dev_get_drvdata(dev); struct mdio_gpio_info *bitbang = bus->priv;
This fixes the following warning: WARNING: drivers/net/phy/built-in.o(.devexit.text+0x70): Section mismatch in reference from the function .mdio_gpio_bus_destroy() to the function .devinit.text:.mdio_gpio_bus_deinit() The function __devexit .mdio_gpio_bus_destroy() references a function __devinit .mdio_gpio_bus_deinit(). This is often seen when error handling in the exit function uses functionality in the init path. The fix is often to remove the __devinit annotation of .mdio_gpio_bus_deinit() so it may be used outside an init section. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> --- drivers/net/phy/mdio-gpio.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)