]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/sysdev/mpic_msi.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / arch / powerpc / sysdev / mpic_msi.c
index b076793033c2530d9e8f2513dbe4767c79c8cf5c..de3e5e8bc3241e297ed321b240fb95edaa4350e2 100644 (file)
@@ -9,7 +9,6 @@
  */
 
 #include <linux/irq.h>
-#include <linux/bootmem.h>
 #include <linux/bitmap.h>
 #include <linux/msi.h>
 #include <asm/mpic.h>
@@ -17,6 +16,7 @@
 #include <asm/hw_irq.h>
 #include <asm/ppc-pci.h>
 
+#include <sysdev/mpic.h>
 
 static void __mpic_msi_reserve_hwirq(struct mpic *mpic, irq_hw_number_t hwirq)
 {
@@ -117,16 +117,17 @@ static int mpic_msi_reserve_dt_hwirqs(struct mpic *mpic)
        int i, len;
        const u32 *p;
 
-       p = of_get_property(mpic->of_node, "msi-available-ranges", &len);
+       p = of_get_property(mpic->irqhost->of_node,
+                           "msi-available-ranges", &len);
        if (!p) {
                pr_debug("mpic: no msi-available-ranges property found on %s\n",
-                         mpic->of_node->full_name);
+                         mpic->irqhost->of_node->full_name);
                return -ENODEV;
        }
 
        if (len % 8 != 0) {
                printk(KERN_WARNING "mpic: Malformed msi-available-ranges "
-                      "property on %s\n", mpic->of_node->full_name);
+                      "property on %s\n", mpic->irqhost->of_node->full_name);
                return -EINVAL;
        }
 
@@ -151,10 +152,7 @@ int mpic_msi_init_allocator(struct mpic *mpic)
        size = BITS_TO_LONGS(mpic->irq_count) * sizeof(long);
        pr_debug("mpic: allocator bitmap size is 0x%x bytes\n", size);
 
-       if (mem_init_done)
-               mpic->hwirq_bitmap = kmalloc(size, GFP_KERNEL);
-       else
-               mpic->hwirq_bitmap = alloc_bootmem(size);
+       mpic->hwirq_bitmap = alloc_maybe_bootmem(size, GFP_KERNEL);
 
        if (!mpic->hwirq_bitmap) {
                pr_debug("mpic: ENOMEM allocating allocator bitmap!\n");