| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * c 2001 PPC 64 Team, IBM Corp | 
 | 3 |  * | 
 | 4 |  *      This program is free software; you can redistribute it and/or | 
 | 5 |  *      modify it under the terms of the GNU General Public License | 
 | 6 |  *      as published by the Free Software Foundation; either version | 
 | 7 |  *      2 of the License, or (at your option) any later version. | 
 | 8 |  */ | 
 | 9 | #ifndef __PPC_KERNEL_PCI_H__ | 
 | 10 | #define __PPC_KERNEL_PCI_H__ | 
 | 11 |  | 
 | 12 | #include <linux/pci.h> | 
 | 13 | #include <asm/pci-bridge.h> | 
 | 14 |  | 
 | 15 | extern unsigned long isa_io_base; | 
 | 16 |  | 
 | 17 | extern void pci_setup_pci_controller(struct pci_controller *hose); | 
 | 18 | extern void pci_setup_phb_io(struct pci_controller *hose, int primary); | 
 | 19 | extern void pci_setup_phb_io_dynamic(struct pci_controller *hose, int primary); | 
 | 20 |  | 
 | 21 |  | 
 | 22 | extern struct list_head hose_list; | 
 | 23 | extern int global_phb_number; | 
 | 24 |  | 
 | 25 | extern unsigned long find_and_init_phbs(void); | 
 | 26 |  | 
 | 27 | extern struct pci_dev *ppc64_isabridge_dev;	/* may be NULL if no ISA bus */ | 
 | 28 |  | 
 | 29 | /* PCI device_node operations */ | 
 | 30 | struct device_node; | 
 | 31 | typedef void *(*traverse_func)(struct device_node *me, void *data); | 
 | 32 | void *traverse_pci_devices(struct device_node *start, traverse_func pre, | 
 | 33 | 		void *data); | 
 | 34 |  | 
 | 35 | void pci_devs_phb_init(void); | 
 | 36 | void pci_devs_phb_init_dynamic(struct pci_controller *phb); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 |  | 
 | 38 | /* PCI address cache management routines */ | 
 | 39 | void pci_addr_cache_insert_device(struct pci_dev *dev); | 
 | 40 | void pci_addr_cache_remove_device(struct pci_dev *dev); | 
 | 41 |  | 
| John Rose | dad32bb | 2005-06-23 17:09:54 +1000 | [diff] [blame] | 42 | /* From rtas_pci.h */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 43 | void init_pci_config_tokens (void); | 
 | 44 | unsigned long get_phb_buid (struct device_node *); | 
 | 45 |  | 
| John Rose | dad32bb | 2005-06-23 17:09:54 +1000 | [diff] [blame] | 46 | /* From pSeries_pci.h */ | 
 | 47 | extern void pSeries_final_fixup(void); | 
 | 48 | extern void pSeries_irq_bus_setup(struct pci_bus *bus); | 
 | 49 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | extern unsigned long pci_probe_only; | 
 | 51 | extern unsigned long pci_assign_all_buses; | 
 | 52 | extern int pci_read_irq_line(struct pci_dev *pci_dev); | 
 | 53 |  | 
 | 54 | #endif /* __PPC_KERNEL_PCI_H__ */ |