49 lines
		
	
	
		
			947 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			947 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Arch specific extensions to struct device
 | 
						|
 *
 | 
						|
 * This file is released under the GPLv2
 | 
						|
 */
 | 
						|
#ifndef _ASM_POWERPC_DEVICE_H
 | 
						|
#define _ASM_POWERPC_DEVICE_H
 | 
						|
 | 
						|
struct dma_map_ops;
 | 
						|
struct device_node;
 | 
						|
 | 
						|
struct dev_archdata {
 | 
						|
	/* Optional pointer to an OF device node */
 | 
						|
	struct device_node	*of_node;
 | 
						|
 | 
						|
	/* DMA operations on that device */
 | 
						|
	struct dma_map_ops	*dma_ops;
 | 
						|
 | 
						|
	/*
 | 
						|
	 * When an iommu is in use, dma_data is used as a ptr to the base of the
 | 
						|
	 * iommu_table.  Otherwise, it is a simple numerical offset.
 | 
						|
	 */
 | 
						|
	union {
 | 
						|
		dma_addr_t	dma_offset;
 | 
						|
		void		*iommu_table_base;
 | 
						|
	} dma_data;
 | 
						|
 | 
						|
#ifdef CONFIG_SWIOTLB
 | 
						|
	dma_addr_t		max_direct_dma_addr;
 | 
						|
#endif
 | 
						|
};
 | 
						|
 | 
						|
static inline void dev_archdata_set_node(struct dev_archdata *ad,
 | 
						|
					 struct device_node *np)
 | 
						|
{
 | 
						|
	ad->of_node = np;
 | 
						|
}
 | 
						|
 | 
						|
static inline struct device_node *
 | 
						|
dev_archdata_get_node(const struct dev_archdata *ad)
 | 
						|
{
 | 
						|
	return ad->of_node;
 | 
						|
}
 | 
						|
 | 
						|
struct pdev_archdata {
 | 
						|
};
 | 
						|
 | 
						|
#endif /* _ASM_POWERPC_DEVICE_H */
 |