struct device_node;
 
-extern unsigned int ppc_pci_flags;
 enum {
        /* Force re-assigning all resources (ignore firmware
         * setup completely)
        /* ... except for domain 0 */
        PPC_PCI_COMPAT_DOMAIN_0         = 0x00000020,
 };
+#ifdef CONFIG_PCI
+extern unsigned int ppc_pci_flags;
+
+static inline void ppc_pci_set_flags(int flags)
+{
+       ppc_pci_flags = flags;
+}
+
+static inline void ppc_pci_add_flags(int flags)
+{
+       ppc_pci_flags |= flags;
+}
+
+static inline int ppc_pci_has_flag(int flag)
+{
+       return (ppc_pci_flags & flag);
+}
+#else
+static inline void ppc_pci_set_flags(int flags) { }
+static inline void ppc_pci_add_flags(int flags) { }
+static inline int ppc_pci_has_flag(int flag)
+{
+       return 0;
+}
+#endif
 
 
 /*
 
  * Set this to 1 if you want the kernel to re-assign all PCI
  * bus numbers (don't do that on ppc64 yet !)
  */
-#define pcibios_assign_all_busses()            (ppc_pci_flags & \
-                                        PPC_PCI_REASSIGN_ALL_BUS)
+#define pcibios_assign_all_busses() \
+       (ppc_pci_has_flag(PPC_PCI_REASSIGN_ALL_BUS))
 #define pcibios_scan_all_fns(a, b)     0
 
 static inline void pcibios_set_master(struct pci_dev *dev)
 
        /* Find & init the BCSR CPLD */
        ep405_init_bcsr();
 
-       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
+       ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
 }
 
 static int __init ep405_probe(void)
 
        if (!of_flat_dt_is_compatible(root, "amcc,kilauea"))
                return 0;
 
-       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
+       ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
 
        return 1;
 }
 
 
        for (i = 0; i < ARRAY_SIZE(board); i++) {
                if (of_flat_dt_is_compatible(root, board[i])) {
-                       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
+                       ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
                        return 1;
                }
        }
 
        if (!of_flat_dt_is_compatible(root, "ibm,ebony"))
                return 0;
 
-       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
+       ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
 
        return 1;
 }
 
 
        for (i = 0; i < ARRAY_SIZE(board); i++) {
                if (of_flat_dt_is_compatible(root, board[i])) {
-                       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
+                       ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
                        return 1;
                }
        }
 
        if (!of_flat_dt_is_compatible(root, "acube,sam440ep"))
                return 0;
 
-       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
+       ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
 
        return 1;
 }
 
 
        pr_debug("Adding MPC52xx PCI host bridge %s\n", node->full_name);
 
-       ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+       ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
 
        if (of_address_to_resource(node, 0, &rsrc) != 0) {
                printk(KERN_ERR "Can't get %s resources\n", node->full_name);
 
        if (of_address_to_resource(np, 0, &r) || r.end - r.start < 0x10b)
                goto err;
 
-       ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+       ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
 
        hose = pcibios_alloc_controller(np);
        if (!hose)
 
                printk ("RTAS supporting Pegasos OF not found, please upgrade"
                        " your firmware\n");
        }
-       ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+       ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
        /* keep the reference to the root node */
 }
 
 
 static int __init setup_uninorth(struct pci_controller *hose,
                                 struct resource *addr)
 {
-       ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+       ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
        has_uninorth = 1;
        hose->ops = ¯isc_pci_ops;
        hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000);
        struct device_node *np, *root;
        struct device_node *ht = NULL;
 
-       ppc_pci_flags = PPC_PCI_CAN_SKIP_ISA_ALIGN;
+       ppc_pci_set_flags(PPC_PCI_CAN_SKIP_ISA_ALIGN);
 
        root = of_find_node_by_path("/");
        if (root == NULL) {
         * some offset between bus number and domains for now when we
         * assign all busses should help for now
         */
-       if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_BUS)
+       if (ppc_pci_has_flag(PPC_PCI_REASSIGN_ALL_BUS))
                pcibios_assign_bus_offset = 0x10;
 #endif
 }
 
                printk(KERN_WARNING "Can't get bus-range for %s, assume"
                        " bus 0\n", dev->full_name);
 
-       ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+       ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
        hose = pcibios_alloc_controller(dev);
        if (!hose)
                return -ENOMEM;
                       " bus 0\n", dev->full_name);
        }
 
-       ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+       ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
        hose = pcibios_alloc_controller(dev);
        if (!hose)
                return -ENOMEM;
 
 {
        setup_indirect_pci(hose, 0xfec00000, 0xfee00000, 0);
        if (machine_is_compatible("PowerMac1,1"))
-               ppc_pci_flags |= PPC_PCI_REASSIGN_ALL_BUS;
+               ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
        if (machine_is_compatible("AAPL,PowerBook1998"))
                grackle_set_loop_snoop(hose, 1);
 #if 0  /* Disabled for now, HW problems ??? */