]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/kernel/bios32.c
Merge remote-tracking branch 'omap_dss2/for-next'
[karo-tx-linux.git] / arch / arm / kernel / bios32.c
index 874e1823f8036fd9915c63e8b95561e96c0152b7..6551d28c27e687068bc69af093a9a97805362d46 100644 (file)
 #include <asm/mach/pci.h>
 
 static int debug_pci;
+static resource_size_t (*align_resource)(struct pci_dev *dev,
+                 const struct resource *res,
+                 resource_size_t start,
+                 resource_size_t size,
+                 resource_size_t align) = NULL;
 
 /*
  * We can't use pci_get_device() here since we are
@@ -456,7 +461,7 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
                sys->busnr   = busnr;
                sys->swizzle = hw->swizzle;
                sys->map_irq = hw->map_irq;
-               sys->align_resource = hw->align_resource;
+               align_resource = hw->align_resource;
                INIT_LIST_HEAD(&sys->resources);
 
                if (hw->private_data)
@@ -572,7 +577,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
                                resource_size_t size, resource_size_t align)
 {
        struct pci_dev *dev = data;
-       struct pci_sys_data *sys = dev->sysdata;
        resource_size_t start = res->start;
 
        if (res->flags & IORESOURCE_IO && start & 0x300)
@@ -580,8 +584,8 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
 
        start = (start + align - 1) & ~(align - 1);
 
-       if (sys->align_resource)
-               return sys->align_resource(dev, res, start, size, align);
+       if (align_resource)
+               return align_resource(dev, res, start, size, align);
 
        return start;
 }