17f4dd379Sjsg /* Public domain. */ 27f4dd379Sjsg 37f4dd379Sjsg #ifndef _LINUX_IO_MAPPING_H 47f4dd379Sjsg #define _LINUX_IO_MAPPING_H 57f4dd379Sjsg 6347f24fdSjsg #include <linux/types.h> 7347f24fdSjsg 8347f24fdSjsg struct io_mapping { 9347f24fdSjsg resource_size_t base; 10347f24fdSjsg unsigned long size; 11347f24fdSjsg void *iomem; 12347f24fdSjsg }; 13347f24fdSjsg 14347f24fdSjsg static inline void * io_mapping_map_wc(struct io_mapping * map,unsigned long off,unsigned long size)15347f24fdSjsgio_mapping_map_wc(struct io_mapping *map, unsigned long off, unsigned long size) 16347f24fdSjsg { 17347f24fdSjsg return ((uint8_t *)map->iomem + off); 18347f24fdSjsg } 19347f24fdSjsg 20347f24fdSjsg static inline void io_mapping_unmap(void * va)21347f24fdSjsgio_mapping_unmap(void *va) 22347f24fdSjsg { 23347f24fdSjsg } 24347f24fdSjsg 25347f24fdSjsg static inline void * io_mapping_map_local_wc(struct io_mapping * map,unsigned long off)26347f24fdSjsgio_mapping_map_local_wc(struct io_mapping *map, unsigned long off) 27347f24fdSjsg { 28347f24fdSjsg return ((uint8_t *)map->iomem + off); 29347f24fdSjsg } 30347f24fdSjsg 31347f24fdSjsg static inline void io_mapping_unmap_local(void * va)32347f24fdSjsgio_mapping_unmap_local(void *va) 33347f24fdSjsg { 34347f24fdSjsg } 35347f24fdSjsg 36*c06a237eSjsg static inline void * io_mapping_map_atomic_wc(struct io_mapping * map,unsigned long off)37*c06a237eSjsgio_mapping_map_atomic_wc(struct io_mapping *map, unsigned long off) 38*c06a237eSjsg { 39*c06a237eSjsg return ((uint8_t *)map->iomem + off); 40*c06a237eSjsg } 41*c06a237eSjsg 42*c06a237eSjsg static inline void io_mapping_unmap_atomic(void * va)43*c06a237eSjsgio_mapping_unmap_atomic(void *va) 44*c06a237eSjsg { 45*c06a237eSjsg } 46*c06a237eSjsg 477f4dd379Sjsg #endif 48