Commit | Line | Data |
---|---|---|
c6dbaef2 BH |
1 | /* |
2 | * Arch specific extensions to struct device | |
3 | * | |
4 | * This file is released under the GPLv2 | |
5 | */ | |
12d04eef BH |
6 | #ifndef _ASM_POWERPC_DEVICE_H |
7 | #define _ASM_POWERPC_DEVICE_H | |
c6dbaef2 | 8 | |
45223c54 | 9 | struct dma_map_ops; |
12d04eef BH |
10 | struct device_node; |
11 | ||
12 | struct dev_archdata { | |
13 | /* Optional pointer to an OF device node */ | |
14 | struct device_node *of_node; | |
15 | ||
16 | /* DMA operations on that device */ | |
45223c54 | 17 | struct dma_map_ops *dma_ops; |
738ef42e BB |
18 | |
19 | /* | |
20 | * When an iommu is in use, dma_data is used as a ptr to the base of the | |
21 | * iommu_table. Otherwise, it is a simple numerical offset. | |
22 | */ | |
23 | union { | |
24 | dma_addr_t dma_offset; | |
25 | void *iommu_table_base; | |
26 | } dma_data; | |
27 | ||
762afb73 FT |
28 | #ifdef CONFIG_SWIOTLB |
29 | dma_addr_t max_direct_dma_addr; | |
30 | #endif | |
12d04eef BH |
31 | }; |
32 | ||
3f3b1632 AV |
33 | static inline void dev_archdata_set_node(struct dev_archdata *ad, |
34 | struct device_node *np) | |
35 | { | |
36 | ad->of_node = np; | |
37 | } | |
38 | ||
39 | static inline struct device_node * | |
40 | dev_archdata_get_node(const struct dev_archdata *ad) | |
41 | { | |
42 | return ad->of_node; | |
43 | } | |
44 | ||
d7aacadd MD |
45 | struct pdev_archdata { |
46 | }; | |
47 | ||
12d04eef | 48 | #endif /* _ASM_POWERPC_DEVICE_H */ |