Index: uspace/lib/c/arch/abs32le/include/ddi.h
===================================================================
--- uspace/lib/c/arch/abs32le/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/abs32le/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -51,15 +51,15 @@
 }
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	return *port;
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	return *port;
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	return *port;
Index: uspace/lib/c/arch/arm32/include/ddi.h
===================================================================
--- uspace/lib/c/arch/arm32/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/arm32/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -52,15 +52,15 @@
 }
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	return *port;
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	return *port;
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	return *port;
Index: uspace/lib/c/arch/ia32/include/ddi.h
===================================================================
--- uspace/lib/c/arch/ia32/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/ia32/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -39,5 +39,5 @@
 #define IO_SPACE_BOUNDARY  ((void *) (64 * 1024))
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	if (port < (ioport8_t *) IO_SPACE_BOUNDARY) {
@@ -55,5 +55,5 @@
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	if (port < (ioport16_t *) IO_SPACE_BOUNDARY) {
@@ -71,5 +71,5 @@
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	if (port < (ioport32_t *) IO_SPACE_BOUNDARY) {
Index: uspace/lib/c/arch/ia64/include/ddi.h
===================================================================
--- uspace/lib/c/arch/ia64/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/ia64/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -95,5 +95,5 @@
 }
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	uint8_t v;
@@ -115,5 +115,5 @@
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	uint16_t v;
@@ -135,5 +135,5 @@
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	uint32_t v;
Index: uspace/lib/c/arch/mips32/include/ddi.h
===================================================================
--- uspace/lib/c/arch/mips32/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/mips32/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -52,15 +52,15 @@
 }
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	return *port;
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	return *port;
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	return *port;
Index: uspace/lib/c/arch/mips64/include/ddi.h
===================================================================
--- uspace/lib/c/arch/mips64/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/mips64/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -52,15 +52,15 @@
 }
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	return *port;
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	return *port;
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	return *port;
Index: uspace/lib/c/arch/ppc32/include/ddi.h
===================================================================
--- uspace/lib/c/arch/ppc32/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/arch/ppc32/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -52,15 +52,15 @@
 }
 
-static inline uint8_t arch_pio_read_8(ioport8_t *port)
+static inline uint8_t arch_pio_read_8(const ioport8_t *port)
 {
 	return *port;
 }
 
-static inline uint16_t arch_pio_read_16(ioport16_t *port)
+static inline uint16_t arch_pio_read_16(const ioport16_t *port)
 {
 	return *port;
 }
 
-static inline uint32_t arch_pio_read_32(ioport32_t *port)
+static inline uint32_t arch_pio_read_32(const ioport32_t *port)
 {
 	return *port;
Index: uspace/lib/c/generic/ddi.c
===================================================================
--- uspace/lib/c/generic/ddi.c	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/generic/ddi.c	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -192,5 +192,5 @@
 }
 
-uint8_t pio_read_8(ioport8_t *reg)
+uint8_t pio_read_8(const ioport8_t *reg)
 {
 	const uint8_t val = arch_pio_read_8(reg);
@@ -199,5 +199,5 @@
 }
 
-uint16_t pio_read_16(ioport16_t *reg)
+uint16_t pio_read_16(const ioport16_t *reg)
 {
 	const uint16_t val = arch_pio_read_16(reg);
@@ -206,5 +206,5 @@
 }
 
-uint32_t pio_read_32(ioport32_t *reg)
+uint32_t pio_read_32(const ioport32_t *reg)
 {
 	const uint32_t val = arch_pio_read_32(reg);
Index: uspace/lib/c/generic/pio_trace.c
===================================================================
--- uspace/lib/c/generic/pio_trace.c	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/generic/pio_trace.c	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -91,5 +91,5 @@
 
 
-void pio_trace_log(volatile void *r, uint32_t val, bool write)
+void pio_trace_log(const volatile void *r, uint32_t val, bool write)
 {
 	pio_regions_t *regions = get_regions();
Index: uspace/lib/c/include/ddi.h
===================================================================
--- uspace/lib/c/include/ddi.h	(revision a5a73c0e7bf5dab45dcb463e8b588364f1325e6b)
+++ uspace/lib/c/include/ddi.h	(revision bf6f6ca1708b1b5db9e07d5f0c22a2b04401830c)
@@ -54,9 +54,9 @@
 extern int pio_enable(void *, size_t, void **);
 
-typedef void (*trace_fnc)(volatile void *place, uint32_t val,
+typedef void (*trace_fnc)(const volatile void *place, uint32_t val,
     volatile void* base, size_t size, void *data, bool write);
 
 extern int pio_trace_enable(void *, size_t, trace_fnc, void *);
-extern void pio_trace_log(volatile void *, uint32_t val, bool write);
+extern void pio_trace_log(const volatile void *, uint32_t val, bool write);
 extern void pio_trace_disable(void *);
 
@@ -65,7 +65,7 @@
 extern void pio_write_32(ioport32_t *, uint32_t);
 
-extern uint8_t pio_read_8(ioport8_t *);
-extern uint16_t pio_read_16(ioport16_t *);
-extern uint32_t pio_read_32(ioport32_t *);
+extern uint8_t pio_read_8(const ioport8_t *);
+extern uint16_t pio_read_16(const ioport16_t *);
+extern uint32_t pio_read_32(const ioport32_t *);
 
 static inline uint8_t pio_change_8(
