diff options
Diffstat (limited to 'drivers/net/hippi/rrunner.c')
| -rw-r--r-- | drivers/net/hippi/rrunner.c | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/drivers/net/hippi/rrunner.c b/drivers/net/hippi/rrunner.c index d4719632ffc..e580583f196 100644 --- a/drivers/net/hippi/rrunner.c +++ b/drivers/net/hippi/rrunner.c @@ -37,7 +37,6 @@ #include <linux/netdevice.h> #include <linux/hippidevice.h> #include <linux/skbuff.h> -#include <linux/init.h> #include <linux/delay.h> #include <linux/mm.h> #include <linux/slab.h> @@ -61,7 +60,7 @@ MODULE_AUTHOR("Jes Sorensen <jes@wildopensource.com>"); MODULE_DESCRIPTION("Essential RoadRunner HIPPI driver"); MODULE_LICENSE("GPL"); -static char version[] __devinitdata = "rrunner.c: v0.50 11/11/2002 Jes Sorensen (jes@wildopensource.com)\n"; +static char version[] = "rrunner.c: v0.50 11/11/2002 Jes Sorensen (jes@wildopensource.com)\n"; static const struct net_device_ops rr_netdev_ops = { @@ -88,8 +87,7 @@ static const struct net_device_ops rr_netdev_ops = { * stack will need to know about I/O vectors or something similar. */ -static int __devinit rr_init_one(struct pci_dev *pdev, - const struct pci_device_id *ent) +static int rr_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) { struct net_device *dev; static int version_disp; @@ -203,6 +201,9 @@ static int __devinit rr_init_one(struct pci_dev *pdev, return 0; out: + if (rrpriv->evt_ring) + pci_free_consistent(pdev, EVT_RING_SIZE, rrpriv->evt_ring, + rrpriv->evt_ring_dma); if (rrpriv->rx_ring) pci_free_consistent(pdev, RX_TOTAL_SIZE, rrpriv->rx_ring, rrpriv->rx_ring_dma); @@ -211,17 +212,15 @@ static int __devinit rr_init_one(struct pci_dev *pdev, rrpriv->tx_ring_dma); if (rrpriv->regs) pci_iounmap(pdev, rrpriv->regs); - if (pdev) { + if (pdev) pci_release_regions(pdev); - pci_set_drvdata(pdev, NULL); - } out2: free_netdev(dev); out3: return ret; } -static void __devexit rr_remove_one (struct pci_dev *pdev) +static void rr_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); struct rr_private *rr = netdev_priv(dev); @@ -242,7 +241,6 @@ static void __devexit rr_remove_one (struct pci_dev *pdev) pci_iounmap(pdev, rr->regs); pci_release_regions(pdev); pci_disable_device(pdev); - pci_set_drvdata(pdev, NULL); free_netdev(dev); } @@ -503,7 +501,7 @@ static unsigned int write_eeprom(struct rr_private *rrpriv, } -static int __devinit rr_init(struct net_device *dev) +static int rr_init(struct net_device *dev) { struct rr_private *rrpriv; struct rr_regs __iomem *regs; @@ -1681,18 +1679,7 @@ static struct pci_driver rr_driver = { .name = "rrunner", .id_table = rr_pci_tbl, .probe = rr_init_one, - .remove = __devexit_p(rr_remove_one), + .remove = rr_remove_one, }; -static int __init rr_init_module(void) -{ - return pci_register_driver(&rr_driver); -} - -static void __exit rr_cleanup_module(void) -{ - pci_unregister_driver(&rr_driver); -} - -module_init(rr_init_module); -module_exit(rr_cleanup_module); +module_pci_driver(rr_driver); |
