section errors in smc911x/smc91x

a) ->probe() can be __devinit; no need to put it into .text
 b) calling __init stuff from it, OTOH, is wrong
 c) ->remove() is __devexit fodder

Acked-by: rmk+kernel@arm.linux.org.uk
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Al Viro 2008-11-22 17:36:14 +00:00 committed by Linus Torvalds
parent 5bac287ea5
commit f57628d76b
2 changed files with 10 additions and 10 deletions

View file

@ -1735,7 +1735,7 @@ static const struct ethtool_ops smc911x_ethtool_ops = {
* This routine has a simple purpose -- make the SMC chip generate an * This routine has a simple purpose -- make the SMC chip generate an
* interrupt, so an auto-detect routine can detect it, and find the IRQ, * interrupt, so an auto-detect routine can detect it, and find the IRQ,
*/ */
static int __init smc911x_findirq(struct net_device *dev) static int __devinit smc911x_findirq(struct net_device *dev)
{ {
struct smc911x_local *lp = netdev_priv(dev); struct smc911x_local *lp = netdev_priv(dev);
int timeout = 20; int timeout = 20;
@ -1799,7 +1799,7 @@ static int __init smc911x_findirq(struct net_device *dev)
* o actually GRAB the irq. * o actually GRAB the irq.
* o GRAB the region * o GRAB the region
*/ */
static int __init smc911x_probe(struct net_device *dev) static int __devinit smc911x_probe(struct net_device *dev)
{ {
struct smc911x_local *lp = netdev_priv(dev); struct smc911x_local *lp = netdev_priv(dev);
int i, retval; int i, retval;
@ -2048,7 +2048,7 @@ err_out:
* 0 --> there is a device * 0 --> there is a device
* anything else, error * anything else, error
*/ */
static int smc911x_drv_probe(struct platform_device *pdev) static int __devinit smc911x_drv_probe(struct platform_device *pdev)
{ {
#ifdef SMC_DYNAMIC_BUS_CONFIG #ifdef SMC_DYNAMIC_BUS_CONFIG
struct smc911x_platdata *pd = pdev->dev.platform_data; struct smc911x_platdata *pd = pdev->dev.platform_data;
@ -2124,7 +2124,7 @@ out:
return ret; return ret;
} }
static int smc911x_drv_remove(struct platform_device *pdev) static int __devexit smc911x_drv_remove(struct platform_device *pdev)
{ {
struct net_device *ndev = platform_get_drvdata(pdev); struct net_device *ndev = platform_get_drvdata(pdev);
struct smc911x_local *lp = netdev_priv(ndev); struct smc911x_local *lp = netdev_priv(ndev);
@ -2195,7 +2195,7 @@ static int smc911x_drv_resume(struct platform_device *dev)
static struct platform_driver smc911x_driver = { static struct platform_driver smc911x_driver = {
.probe = smc911x_drv_probe, .probe = smc911x_drv_probe,
.remove = smc911x_drv_remove, .remove = __devexit_p(smc911x_drv_remove),
.suspend = smc911x_drv_suspend, .suspend = smc911x_drv_suspend,
.resume = smc911x_drv_resume, .resume = smc911x_drv_resume,
.driver = { .driver = {

View file

@ -1696,7 +1696,7 @@ static const struct ethtool_ops smc_ethtool_ops = {
* I just deleted auto_irq.c, since it was never built... * I just deleted auto_irq.c, since it was never built...
* --jgarzik * --jgarzik
*/ */
static int __init smc_findirq(struct smc_local *lp) static int __devinit smc_findirq(struct smc_local *lp)
{ {
void __iomem *ioaddr = lp->base; void __iomem *ioaddr = lp->base;
int timeout = 20; int timeout = 20;
@ -1770,7 +1770,7 @@ static int __init smc_findirq(struct smc_local *lp)
* o actually GRAB the irq. * o actually GRAB the irq.
* o GRAB the region * o GRAB the region
*/ */
static int __init smc_probe(struct net_device *dev, void __iomem *ioaddr, static int __devinit smc_probe(struct net_device *dev, void __iomem *ioaddr,
unsigned long irq_flags) unsigned long irq_flags)
{ {
struct smc_local *lp = netdev_priv(dev); struct smc_local *lp = netdev_priv(dev);
@ -2126,7 +2126,7 @@ static void smc_release_datacs(struct platform_device *pdev, struct net_device *
* 0 --> there is a device * 0 --> there is a device
* anything else, error * anything else, error
*/ */
static int smc_drv_probe(struct platform_device *pdev) static int __devinit smc_drv_probe(struct platform_device *pdev)
{ {
struct smc91x_platdata *pd = pdev->dev.platform_data; struct smc91x_platdata *pd = pdev->dev.platform_data;
struct smc_local *lp; struct smc_local *lp;
@ -2240,7 +2240,7 @@ static int smc_drv_probe(struct platform_device *pdev)
return ret; return ret;
} }
static int smc_drv_remove(struct platform_device *pdev) static int __devexit smc_drv_remove(struct platform_device *pdev)
{ {
struct net_device *ndev = platform_get_drvdata(pdev); struct net_device *ndev = platform_get_drvdata(pdev);
struct smc_local *lp = netdev_priv(ndev); struct smc_local *lp = netdev_priv(ndev);
@ -2305,7 +2305,7 @@ static int smc_drv_resume(struct platform_device *dev)
static struct platform_driver smc_driver = { static struct platform_driver smc_driver = {
.probe = smc_drv_probe, .probe = smc_drv_probe,
.remove = smc_drv_remove, .remove = __devexit_p(smc_drv_remove),
.suspend = smc_drv_suspend, .suspend = smc_drv_suspend,
.resume = smc_drv_resume, .resume = smc_drv_resume,
.driver = { .driver = {