macb: Fix section mismatch and shrink runtime footprint
macb devices are only found integrated on SoCs, so they can't be hotplugged. Thus, the probe() and exit() functions can be __init and __exit, respectively. By using platform_driver_probe() instead of platform_driver_register(), there won't be any references to the discarded probe() function after the driver has loaded. This also fixes a section mismatch due to macb_probe(), defined as __devinit, calling macb_get_hwaddr, defined as __init. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
e87ceea13e
commit
06c3fd6ad5
@@ -1084,7 +1084,7 @@ static int macb_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
|||||||
return phy_mii_ioctl(phydev, if_mii(rq), cmd);
|
return phy_mii_ioctl(phydev, if_mii(rq), cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit macb_probe(struct platform_device *pdev)
|
static int __init macb_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct eth_platform_data *pdata;
|
struct eth_platform_data *pdata;
|
||||||
struct resource *regs;
|
struct resource *regs;
|
||||||
@@ -1248,7 +1248,7 @@ err_out:
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devexit macb_remove(struct platform_device *pdev)
|
static int __exit macb_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
struct macb *bp;
|
struct macb *bp;
|
||||||
@@ -1276,8 +1276,7 @@ static int __devexit macb_remove(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver macb_driver = {
|
static struct platform_driver macb_driver = {
|
||||||
.probe = macb_probe,
|
.remove = __exit_p(macb_remove),
|
||||||
.remove = __devexit_p(macb_remove),
|
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "macb",
|
.name = "macb",
|
||||||
},
|
},
|
||||||
@@ -1285,7 +1284,7 @@ static struct platform_driver macb_driver = {
|
|||||||
|
|
||||||
static int __init macb_init(void)
|
static int __init macb_init(void)
|
||||||
{
|
{
|
||||||
return platform_driver_register(&macb_driver);
|
return platform_driver_probe(&macb_driver, macb_probe);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit macb_exit(void)
|
static void __exit macb_exit(void)
|
||||||
|
Reference in New Issue
Block a user