x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer
On x86, change the type of the address parameter in
read8()/read16/read32()/write8()/write16()/write32() to be a
pointer, instead of unsigned long.
Change-Id: Ic26dd8a72d82828b69be3c04944710681b7bd330
Signed-off-by: Kevin Paul Herbert <kph@meraki.net>
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/7784
Tested-by: build bot (Jenkins)
diff --git a/src/include/device/resource.h b/src/include/device/resource.h
index 2d64c80..c01540a 100644
--- a/src/include/device/resource.h
+++ b/src/include/device/resource.h
@@ -74,4 +74,10 @@
#define RESOURCE_TYPE_MAX 20
extern const char *resource_type(struct resource *resource);
+static inline void *res2mmio(struct resource *res, unsigned long offset,
+ unsigned long mask)
+{
+ return (void *)(uintptr_t)((res->base + offset) & ~mask);
+}
+
#endif /* DEVICE_RESOURCE_H */