Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
[pandora-kernel.git] / arch / sparc64 / kernel / pci_sun4v.c
index 8c4875b..1aa8e04 100644 (file)
@@ -612,7 +612,7 @@ const struct dma_ops sun4v_dma_ops = {
        .sync_sg_for_cpu                = dma_4v_sync_sg_for_cpu,
 };
 
-static void pci_sun4v_scan_bus(struct pci_pbm_info *pbm)
+static void __init pci_sun4v_scan_bus(struct pci_pbm_info *pbm)
 {
        struct property *prop;
        struct device_node *dp;
@@ -960,7 +960,8 @@ static void pci_sun4v_msi_init(struct pci_pbm_info *pbm)
 }
 #endif /* !(CONFIG_PCI_MSI) */
 
-static void __init pci_sun4v_pbm_init(struct pci_controller_info *p, struct device_node *dp, u32 devhandle)
+static void __init pci_sun4v_pbm_init(struct pci_controller_info *p,
+                                     struct device_node *dp, u32 devhandle)
 {
        struct pci_pbm_info *pbm;
 
@@ -1022,6 +1023,10 @@ void __init sun4v_pci_init(struct device_node *dp, char *model_name)
        }
 
        prop = of_find_property(dp, "reg", NULL);
+       if (!prop) {
+               prom_printf("SUN4V_PCI: Could not find config registers\n");
+               prom_halt();
+       }
        regs = prop->value;
 
        devhandle = (regs->phys_addr >> 32UL) & 0x0fffffff;