at v3.0 1.4 kB view raw
1#ifndef __OF_ADDRESS_H 2#define __OF_ADDRESS_H 3#include <linux/ioport.h> 4#include <linux/of.h> 5 6extern u64 of_translate_address(struct device_node *np, const __be32 *addr); 7extern int of_address_to_resource(struct device_node *dev, int index, 8 struct resource *r); 9extern 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 */ 15extern const u32 *of_get_address(struct device_node *dev, int index, 16 u64 *size, unsigned int *flags); 17 18#ifndef pci_address_to_pio 19static 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 24extern const __be32 *of_get_pci_address(struct device_node *dev, int bar_no, 25 u64 *size, unsigned int *flags); 26extern int of_pci_address_to_resource(struct device_node *dev, int bar, 27 struct resource *r); 28#else /* CONFIG_PCI */ 29static inline int of_pci_address_to_resource(struct device_node *dev, int bar, 30 struct resource *r) 31{ 32 return -ENOSYS; 33} 34 35static inline const __be32 *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