extern unsigned long isa_io_base;
-extern struct pci_controller* pci_alloc_pci_controller(enum phb_types controller_type);
-extern struct pci_controller* pci_find_hose_for_OF_device(struct device_node* node);
+extern void pci_setup_pci_controller(struct pci_controller *hose);
+extern void pci_setup_phb_io(struct pci_controller *hose, int primary);
+
+extern void pci_setup_phb_io_dynamic(struct pci_controller *hose);
+
extern struct list_head hose_list;
extern int global_phb_number;
-/*******************************************************************
- * Platform functions that are brand specific implementation.
- *******************************************************************/
extern unsigned long find_and_init_phbs(void);
extern struct pci_dev *ppc64_isabridge_dev; /* may be NULL if no ISA bus */
-/*******************************************************************
- * PCI device_node operations
- *******************************************************************/
+/* PCI device_node operations */
struct device_node;
typedef void *(*traverse_func)(struct device_node *me, void *data);
void *traverse_pci_devices(struct device_node *start, traverse_func pre,
void *data);
void pci_devs_phb_init(void);
-void pci_fix_bus_sysdata(void);
+void pci_devs_phb_init_dynamic(struct pci_controller *phb);
struct device_node *fetch_dev_dn(struct pci_dev *dev);
-#define PCI_GET_PHB_PTR(dev) (((struct device_node *)(dev)->sysdata)->phb)
-
/* PCI address cache management routines */
void pci_addr_cache_insert_device(struct pci_dev *dev);
void pci_addr_cache_remove_device(struct pci_dev *dev);
void init_pci_config_tokens (void);
unsigned long get_phb_buid (struct device_node *);
+extern unsigned long pci_probe_only;
+extern unsigned long pci_assign_all_buses;
+extern int pci_read_irq_line(struct pci_dev *pci_dev);
#endif /* __PPC_KERNEL_PCI_H__ */