hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/include/linux/of_address.h
....@@ -6,24 +6,34 @@
66 #include <linux/of.h>
77 #include <linux/io.h>
88
9
+struct of_bus;
10
+
911 struct of_pci_range_parser {
1012 struct device_node *node;
13
+ struct of_bus *bus;
1114 const __be32 *range;
1215 const __be32 *end;
13
- int np;
16
+ int na;
17
+ int ns;
1418 int pna;
19
+ bool dma;
1520 };
21
+#define of_range_parser of_pci_range_parser
1622
1723 struct of_pci_range {
18
- u32 pci_space;
19
- u64 pci_addr;
24
+ union {
25
+ u64 pci_addr;
26
+ u64 bus_addr;
27
+ };
2028 u64 cpu_addr;
2129 u64 size;
2230 u32 flags;
2331 };
32
+#define of_range of_pci_range
2433
2534 #define for_each_of_pci_range(parser, range) \
2635 for (; of_pci_range_parser_one(parser, range);)
36
+#define for_each_of_range for_each_of_pci_range
2737
2838 /* Translate a DMA address from device space to CPU space */
2939 extern u64 of_translate_dma_address(struct device_node *dev,
....@@ -33,10 +43,6 @@
3343 extern u64 of_translate_address(struct device_node *np, const __be32 *addr);
3444 extern int of_address_to_resource(struct device_node *dev, int index,
3545 struct resource *r);
36
-extern struct device_node *of_find_matching_node_by_address(
37
- struct device_node *from,
38
- const struct of_device_id *matches,
39
- u64 base_address);
4046 extern void __iomem *of_iomap(struct device_node *device, int index);
4147 void __iomem *of_io_request_and_map(struct device_node *device,
4248 int index, const char *name);
....@@ -55,8 +61,6 @@
5561 extern struct of_pci_range *of_pci_range_parser_one(
5662 struct of_pci_range_parser *parser,
5763 struct of_pci_range *range);
58
-extern int of_dma_get_range(struct device_node *np, u64 *dma_addr,
59
- u64 *paddr, u64 *size);
6064 extern bool of_dma_is_coherent(struct device_node *np);
6165 #else /* CONFIG_OF_ADDRESS */
6266 static inline void __iomem *of_io_request_and_map(struct device_node *device,
....@@ -69,14 +73,6 @@
6973 const __be32 *addr)
7074 {
7175 return OF_BAD_ADDR;
72
-}
73
-
74
-static inline struct device_node *of_find_matching_node_by_address(
75
- struct device_node *from,
76
- const struct of_device_id *matches,
77
- u64 base_address)
78
-{
79
- return NULL;
8076 }
8177
8278 static inline const __be32 *of_get_address(struct device_node *dev, int index,
....@@ -104,12 +100,6 @@
104100 return NULL;
105101 }
106102
107
-static inline int of_dma_get_range(struct device_node *np, u64 *dma_addr,
108
- u64 *paddr, u64 *size)
109
-{
110
- return -ENODEV;
111
-}
112
-
113103 static inline bool of_dma_is_coherent(struct device_node *np)
114104 {
115105 return false;
....@@ -132,6 +122,7 @@
132122 return NULL;
133123 }
134124 #endif
125
+#define of_range_parser_init of_pci_range_parser_init
135126
136127 #if defined(CONFIG_OF_ADDRESS) && defined(CONFIG_PCI)
137128 extern const __be32 *of_get_pci_address(struct device_node *dev, int bar_no,
....@@ -162,4 +153,3 @@
162153 #endif /* CONFIG_OF_ADDRESS && CONFIG_PCI */
163154
164155 #endif /* __OF_ADDRESS_H */
165
-