summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-03-24 01:03:58 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-03-24 01:03:58 +0000
commit248493a05d58a4c880f46e21abbeb5db47cb3962 (patch)
tree11ca8fe7a33debcc0cc2f1c872c7c9571a123b41
parentde623ffe1e7b345907b18a96185166576f680dec (diff)
Implement module removal.
-rw-r--r--drivers/net/ioc3-eth.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index 0b418d2e9..fed7b8ced 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -75,7 +75,7 @@
/*
* Private ioctls that de facto are well known and used for examply
- * by mii-tool. These are deprecated.
+ * by mii-tool. These are deprecated and will go away in 2.5.0.
*/
#define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */
#define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */
@@ -986,7 +986,13 @@ out_free:
static void __devexit ioc3_remove_one (struct pci_dev *pdev)
{
- /* Later ... */
+ struct net_device *dev = pci_get_drvdata(pdev);
+ struct ioc3_private *ip = dev->priv;
+ struct ioc3 *ioc3 = ip->regs;
+
+ iounmap(ioc3);
+ /* pci_release_regions(pdev); Will be used in 2.4.3 */
+ kfree(dev);
}
static struct pci_device_id ioc3_pci_tbl[] __devinitdata = {
@@ -999,7 +1005,7 @@ static struct pci_driver ioc3_driver = {
name: "ioc3-eth",
id_table: ioc3_pci_tbl,
probe: ioc3_probe,
- /* remove: ioc3_remove_one, */
+ remove: ioc3_remove_one,
};
static int __init ioc3_init_module(void)