The operators took void *, which made it extremely
hard to debug incorrect usage, which I had a lot of
in the ahci driver. They are now type safe, e.g.
a a write to a byte requires a uint8_t*, not a void *.

Change-Id: I089a8f3c5d71fcbc3250535e47e998ee3c15f08e
Signed-off-by: Ronald G. Minnich <[email protected]>
---
 kern/include/mmio.h | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/kern/include/mmio.h b/kern/include/mmio.h
index 70bb3f9..a6628f4 100644
--- a/kern/include/mmio.h
+++ b/kern/include/mmio.h
@@ -28,42 +28,42 @@
  * On the simple architectures, we just read/write the memory location
  * directly.
  */
-static inline uint8_t __raw_read8(const volatile void __iomem *addr)
+static inline uint8_t __raw_read8(const volatile uint8_t __iomem *addr)
 {
        return *(const volatile uint8_t __force *)addr;
 }
 
-static inline uint16_t __raw_read16(const volatile void __iomem *addr)
+static inline uint16_t __raw_read16(const volatile uint16_t __iomem *addr)
 {
        return *(const volatile uint16_t __force *)addr;
 }
 
-static inline uint32_t __raw_read32(const volatile void __iomem *addr)
+static inline uint32_t __raw_read32(const volatile uint32_t __iomem *addr)
 {
        return *(const volatile uint32_t __force *)addr;
 }
 
-static inline uint64_t __raw_read64(const volatile void __iomem *addr)
+static inline uint64_t __raw_read64(const volatile uint64_t __iomem *addr)
 {
        return *(const volatile uint64_t __force *)addr;
 }
 
-static inline void __raw_write8(uint8_t value, volatile void __iomem *addr)
+static inline void __raw_write8(uint8_t value, volatile uint8_t __iomem *addr)
 {
        *(volatile uint8_t __force *)addr = value;
 }
 
-static inline void __raw_write16(uint16_t value, volatile void __iomem *addr)
+static inline void __raw_write16(uint16_t value, volatile uint16_t __iomem 
*addr)
 {
        *(volatile uint16_t __force *)addr = value;
 }
 
-static inline void __raw_write32(uint32_t value, volatile void __iomem *addr)
+static inline void __raw_write32(uint32_t value, volatile uint32_t __iomem 
*addr)
 {
        *(volatile uint32_t __force *)addr = value;
 }
 
-static inline void __raw_write64(uint64_t value, volatile void __iomem *addr)
+static inline void __raw_write64(uint64_t value, volatile uint64_t __iomem 
*addr)
 {
        *(volatile uint64_t __force *)addr = value;
 }
@@ -72,42 +72,42 @@ static inline void __raw_write64(uint64_t value, volatile 
void __iomem *addr)
  * {read,write}{8,16,32,64}() access little endian memory and return result in
  * native endianness.
  */
-static inline uint8_t read8(const volatile void __iomem *addr)
+static inline uint8_t read8(const volatile uint8_t __iomem *addr)
 {
        return __raw_read8(addr);
 }
 
-static inline uint16_t read16(const volatile void __iomem *addr)
+static inline uint16_t read16(const volatile uint16_t __iomem *addr)
 {
        return le16_to_cpu(__raw_read16(addr));
 }
 
-static inline uint32_t read32(const volatile void __iomem *addr)
+static inline uint32_t read32(const volatile uint32_t __iomem *addr)
 {
        return le32_to_cpu(__raw_read32(addr));
 }
 
-static inline uint64_t read64(const volatile void __iomem *addr)
+static inline uint64_t read64(const volatile uint64_t __iomem *addr)
 {
        return le64_to_cpu(__raw_read64(addr));
 }
 
-static inline void write8(uint8_t value, volatile void __iomem *addr)
+static inline void write8(uint8_t value, volatile uint8_t __iomem *addr)
 {
        __raw_write8(value, addr);
 }
 
-static inline void write16(uint16_t value, volatile void __iomem *addr)
+static inline void write16(uint16_t value, volatile uint16_t __iomem *addr)
 {
        __raw_write16(cpu_to_le16(value), addr);
 }
 
-static inline void write32(uint32_t value, volatile void __iomem *addr)
+static inline void write32(uint32_t value, volatile uint32_t __iomem *addr)
 {
        __raw_write32(cpu_to_le32(value), addr);
 }
 
-static inline void write64(uint64_t value, volatile void __iomem *addr)
+static inline void write64(uint64_t value, volatile uint64_t __iomem *addr)
 {
        __raw_write64(cpu_to_le64(value), addr);
 }
-- 
2.8.0.rc3.226.g39d4020

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to