1 #ifndef _IPXE_IOMAP_VIRT_H 2 #define _IPXE_IOMAP_VIRT_H 3 4 /** @file 5 * 6 * iPXE I/O mapping API using phys_to_virt() 7 * 8 */ 9 10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); 11 12 #ifdef IOMAP_VIRT 13 #define IOMAP_PREFIX_virt 14 #else 15 #define IOMAP_PREFIX_virt __virt_ 16 #endif 17 18 static inline __always_inline void * IOMAP_INLINE(virt,ioremap)19IOMAP_INLINE ( virt, ioremap ) ( unsigned long bus_addr, size_t len __unused ) { 20 return ( bus_addr ? phys_to_virt ( bus_addr ) : NULL ); 21 } 22 23 static inline __always_inline void IOMAP_INLINE(virt,iounmap)24IOMAP_INLINE ( virt, iounmap ) ( volatile const void *io_addr __unused ) { 25 /* Nothing to do */ 26 } 27 28 static inline __always_inline unsigned long IOMAP_INLINE(virt,io_to_bus)29IOMAP_INLINE ( virt, io_to_bus ) ( volatile const void *io_addr ) { 30 return virt_to_phys ( io_addr ); 31 } 32 33 #endif /* _IPXE_IOMAP_VIRT_H */ 34