fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / mtd / maps / pci.c
index 3dee11e..d2ab1ba 100644 (file)
@@ -7,8 +7,8 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  *
- *  $Id: pci.c,v 1.9 2004/11/28 09:40:40 dwmw2 Exp $
- * 
+ *  $Id: pci.c,v 1.14 2005/11/17 08:20:27 dwmw2 Exp $
+ *
  * Generic PCI memory map driver.  We support the following boards:
  *  - Intel IQ80310 ATU.
  *  - Intel EBSA285 (blank rom programming mode). Tested working 27/09/2001
@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/init.h>
+#include <linux/slab.h>
 
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/map.h>
@@ -37,7 +38,7 @@ struct map_pci_info {
        void (*exit)(struct pci_dev *dev, struct map_pci_info *map);
        unsigned long (*translate)(struct map_pci_info *map, unsigned long ofs);
        struct pci_dev *dev;
-};     
+};
 
 static map_word mtd_pci_read8(struct map_info *_map, unsigned long ofs)
 {
@@ -101,7 +102,7 @@ static void mtd_pci_copyto(struct map_info *_map, unsigned long to, const void *
        memcpy_toio(map->base + map->translate(map, to), from, len);
 }
 
-static struct map_info mtd_pci_map = {
+static const struct map_info mtd_pci_map = {
        .phys =         NO_XIP,
        .copy_from =    mtd_pci_copyfrom,
        .copy_to =      mtd_pci_copyto,
@@ -205,9 +206,9 @@ intel_dc21285_init(struct pci_dev *dev, struct map_pci_info *map)
                 * or simply enabling it?
                 */
                if (!(pci_resource_flags(dev, PCI_ROM_RESOURCE) &
-                    PCI_ROM_ADDRESS_ENABLE)) {
+                                   IORESOURCE_ROM_ENABLE)) {
                        u32 val;
-                       pci_resource_flags(dev, PCI_ROM_RESOURCE) |= PCI_ROM_ADDRESS_ENABLE;
+                       pci_resource_flags(dev, PCI_ROM_RESOURCE) |= IORESOURCE_ROM_ENABLE;
                        pci_read_config_dword(dev, PCI_ROM_ADDRESS, &val);
                        val |= PCI_ROM_ADDRESS_ENABLE;
                        pci_write_config_dword(dev, PCI_ROM_ADDRESS, val);
@@ -241,7 +242,7 @@ intel_dc21285_exit(struct pci_dev *dev, struct map_pci_info *map)
        /*
         * We need to undo the PCI BAR2/PCI ROM BAR address alteration.
         */
-       pci_resource_flags(dev, PCI_ROM_RESOURCE) &= ~PCI_ROM_ADDRESS_ENABLE;
+       pci_resource_flags(dev, PCI_ROM_RESOURCE) &= ~IORESOURCE_ROM_ENABLE;
        pci_read_config_dword(dev, PCI_ROM_ADDRESS, &val);
        val &= ~PCI_ROM_ADDRESS_ENABLE;
        pci_write_config_dword(dev, PCI_ROM_ADDRESS, val);
@@ -333,9 +334,6 @@ mtd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
        return 0;
 
 release:
-       if (mtd)
-               map_destroy(mtd);
-
        if (map) {
                map->exit(dev, map);
                kfree(map);
@@ -370,7 +368,7 @@ static struct pci_driver mtd_pci_driver = {
 
 static int __init mtd_pci_maps_init(void)
 {
-       return pci_module_init(&mtd_pci_driver);
+       return pci_register_driver(&mtd_pci_driver);
 }
 
 static void __exit mtd_pci_maps_exit(void)