--- zzzz-none-000/linux-3.10.107/include/linux/of_address.h 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/include/linux/of_address.h 2021-11-10 11:53:56.000000000 +0000 @@ -4,6 +4,36 @@ #include #include +struct of_pci_range_parser { + struct device_node *node; + const __be32 *range; + const __be32 *end; + int np; + int pna; +}; + +struct of_pci_range { + u32 pci_space; + u64 pci_addr; + u64 cpu_addr; + u64 size; + u32 flags; +}; + +#define for_each_of_pci_range(parser, range) \ + for (; of_pci_range_parser_one(parser, range);) + +static inline void of_pci_range_to_resource(struct of_pci_range *range, + struct device_node *np, + struct resource *res) +{ + res->flags = range->flags; + res->start = range->cpu_addr; + res->end = range->cpu_addr + range->size - 1; + res->parent = res->child = res->sibling = NULL; + res->name = np->full_name; +} + #ifdef CONFIG_OF_ADDRESS extern u64 of_translate_address(struct device_node *np, const __be32 *addr); extern bool of_can_translate_address(struct device_node *dev); @@ -23,33 +53,58 @@ u64 *size, unsigned int *flags); #ifndef pci_address_to_pio -static inline unsigned long pci_address_to_pio(phys_addr_t addr) { return -1; } +static inline unsigned long pci_address_to_pio(phys_addr_t addr __maybe_unused) +{ + return -1; +} #define pci_address_to_pio pci_address_to_pio #endif +extern int of_pci_range_parser_init(struct of_pci_range_parser *parser, + struct device_node *node); +extern struct of_pci_range *of_pci_range_parser_one( + struct of_pci_range_parser *parser, + struct of_pci_range *range); #else /* CONFIG_OF_ADDRESS */ #ifndef of_address_to_resource -static inline int of_address_to_resource(struct device_node *dev, int index, - struct resource *r) +static inline int of_address_to_resource(struct device_node *dev __maybe_unused, + int index __maybe_unused, + struct resource *r __maybe_unused) { return -EINVAL; } #endif static inline struct device_node *of_find_matching_node_by_address( - struct device_node *from, - const struct of_device_id *matches, - u64 base_address) + struct device_node *from __maybe_unused, + const struct of_device_id *matches __maybe_unused, + u64 base_address __maybe_unused) { return NULL; } #ifndef of_iomap -static inline void __iomem *of_iomap(struct device_node *device, int index) +static inline void __iomem *of_iomap(struct device_node *device __maybe_unused, + int index __maybe_unused) { return NULL; } #endif -static inline const __be32 *of_get_address(struct device_node *dev, int index, - u64 *size, unsigned int *flags) +static inline const __be32 *of_get_address(struct device_node *dev __maybe_unused, + int index __maybe_unused, + u64 *size __maybe_unused, + unsigned int *flags __maybe_unused) +{ + return NULL; +} + +static inline int of_pci_range_parser_init(struct of_pci_range_parser *parser, + struct device_node *node) +{ + return -1; +} + +static inline struct of_pci_range *of_pci_range_parser_one( + struct of_pci_range_parser *parser, + struct of_pci_range *range) { return NULL; } @@ -62,14 +117,17 @@ extern int of_pci_address_to_resource(struct device_node *dev, int bar, struct resource *r); #else /* CONFIG_OF_ADDRESS && CONFIG_PCI */ -static inline int of_pci_address_to_resource(struct device_node *dev, int bar, - struct resource *r) +static inline int of_pci_address_to_resource(struct device_node *dev __maybe_unused, + int bar __maybe_unused, + struct resource *r __maybe_unused) { return -ENOSYS; } -static inline const __be32 *of_get_pci_address(struct device_node *dev, - int bar_no, u64 *size, unsigned int *flags) +static inline const __be32 *of_get_pci_address(struct device_node *dev __maybe_unused, + int bar_no __maybe_unused, + u64 *size __maybe_unused, + unsigned int *flags __maybe_unused) { return NULL; }