diff --git a/kernel/busses/i2c-ali1535.c b/kernel/busses/i2c-ali1535.c index 936ca7f7..c97245bc 100644 --- a/kernel/busses/i2c-ali1535.c +++ b/kernel/busses/i2c-ali1535.c @@ -560,6 +560,7 @@ static int __devinit ali1535_probe(struct pci_dev *dev, const struct pci_device_ static void __devexit ali1535_remove(struct pci_dev *dev) { i2c_del_adapter(&ali1535_adapter); + release_region(ali1535_smba, ALI1535_SMB_IOSIZE); } @@ -580,7 +581,6 @@ static int __init i2c_ali1535_init(void) static void __exit i2c_ali1535_exit(void) { pci_unregister_driver(&ali1535_driver); - release_region(ali1535_smba, ALI1535_SMB_IOSIZE); } #ifdef RLX diff --git a/kernel/busses/i2c-hydra.c b/kernel/busses/i2c-hydra.c index a674583d..922a1812 100644 --- a/kernel/busses/i2c-hydra.c +++ b/kernel/busses/i2c-hydra.c @@ -143,6 +143,7 @@ static void __devexit hydra_remove(struct pci_dev *dev) { pdregw(0); /* clear SCLK_OE and SDAT_OE */ i2c_bit_del_bus(&bit_hydra_ops); + iounmap((void *) hydra_base); } @@ -162,7 +163,6 @@ static int __init i2c_hydra_init(void) static void __exit i2c_hydra_exit(void) { pci_unregister_driver(&hydra_driver); - iounmap((void *) hydra_base); } diff --git a/kernel/busses/i2c-i801.c b/kernel/busses/i2c-i801.c index ebe0f620..ed70aeb0 100644 --- a/kernel/busses/i2c-i801.c +++ b/kernel/busses/i2c-i801.c @@ -610,6 +610,7 @@ static int __devinit i801_probe(struct pci_dev *dev, const struct pci_device_id static void __devexit i801_remove(struct pci_dev *dev) { i2c_del_adapter(&i801_adapter); + release_region(i801_smba, (isich4 ? 16 : 8)); } static struct pci_driver i801_driver = { @@ -628,7 +629,6 @@ static int __init i2c_i801_init(void) static void __exit i2c_i801_exit(void) { pci_unregister_driver(&i801_driver); - release_region(i801_smba, (isich4 ? 16 : 8)); } MODULE_AUTHOR ("Frodo Looijaard , " diff --git a/kernel/busses/i2c-sis5595.c b/kernel/busses/i2c-sis5595.c index d12b82cb..d5555c09 100644 --- a/kernel/busses/i2c-sis5595.c +++ b/kernel/busses/i2c-sis5595.c @@ -448,6 +448,7 @@ static int __devinit sis5595_probe(struct pci_dev *dev, const struct pci_device_ static void __devexit sis5595_remove(struct pci_dev *dev) { i2c_del_adapter(&sis5595_adapter); + release_region(sis5595_base + SMB_INDEX, 2); } @@ -468,7 +469,6 @@ static int __init i2c_sis5595_init(void) static void __exit i2c_sis5595_exit(void) { pci_unregister_driver(&sis5595_driver); - release_region(sis5595_base + SMB_INDEX, 2); }