1 #ifndef __OF_ADDRESS_H 2 #define __OF_ADDRESS_H 3 #include <linux/ioport.h> 4 #include <linux/of.h> 5 6 extern u64 of_translate_address(struct device_node *np, const u32 *addr); 7 extern int of_address_to_resource(struct device_node *dev, int index, 8 struct resource *r); 9 extern void __iomem *of_iomap(struct device_node *device, int index); 10 11 /* Extract an address from a device, returns the region size and 12 * the address space flags too. The PCI version uses a BAR number 13 * instead of an absolute index 14 */ 15 extern const u32 *of_get_address(struct device_node *dev, int index, 16 u64 *size, unsigned int *flags); 17 18 #ifndef pci_address_to_pio 19 static inline unsigned long pci_address_to_pio(phys_addr_t addr) { return -1; } 20 #define pci_address_to_pio pci_address_to_pio 21 #endif 22 23 #ifdef CONFIG_PCI 24 extern const u32 *of_get_pci_address(struct device_node *dev, int bar_no, 25 u64 *size, unsigned int *flags); 26 extern int of_pci_address_to_resource(struct device_node *dev, int bar, 27 struct resource *r); 28 #else /* CONFIG_PCI */ 29 static inline int of_pci_address_to_resource(struct device_node *dev, int bar, 30 struct resource *r) 31 { 32 return -ENOSYS; 33 } 34 35 static inline const u32 *of_get_pci_address(struct device_node *dev, 36 int bar_no, u64 *size, unsigned int *flags) 37 { 38 return NULL; 39 } 40 #endif /* CONFIG_PCI */ 41 42 43 #endif /* __OF_ADDRESS_H */ 44 45