Index: kernel/generic/src/adt/hash_table.c
===================================================================
--- kernel/generic/src/adt/hash_table.c	(revision ab87db55cb5f202637cfdb407053e0d954a16e7d)
+++ kernel/generic/src/adt/hash_table.c	(revision 9259d203a46c750aab526dff7ff95b01e17364f4)
@@ -51,6 +51,6 @@
 #include <adt/hash_table.h>
 #include <adt/list.h>
+#include <assert.h>
 #include <stdlib.h>
-#include <assert.h>
 #include <str.h>
 
@@ -245,5 +245,5 @@
  *
  */
-ht_link_t *hash_table_find(const hash_table_t *h, void *key)
+ht_link_t *hash_table_find(const hash_table_t *h, const void *key)
 {
 	assert(h && h->bucket);
@@ -306,5 +306,5 @@
  * @return Returns the number of removed items.
  */
-size_t hash_table_remove(hash_table_t *h, void *key)
+size_t hash_table_remove(hash_table_t *h, const void *key)
 {
 	assert(h && h->bucket);
Index: kernel/generic/src/cap/cap.c
===================================================================
--- kernel/generic/src/cap/cap.c	(revision ab87db55cb5f202637cfdb407053e0d954a16e7d)
+++ kernel/generic/src/cap/cap.c	(revision 9259d203a46c750aab526dff7ff95b01e17364f4)
@@ -101,13 +101,13 @@
 }
 
-static size_t caps_key_hash(void *key)
-{
-	cap_handle_t *handle = (cap_handle_t *) key;
+static size_t caps_key_hash(const void *key)
+{
+	const cap_handle_t *handle = key;
 	return hash_mix(cap_handle_raw(*handle));
 }
 
-static bool caps_key_equal(void *key, const ht_link_t *item)
-{
-	cap_handle_t *handle = (cap_handle_t *) key;
+static bool caps_key_equal(const void *key, const ht_link_t *item)
+{
+	const cap_handle_t *handle = key;
 	cap_t *cap = hash_table_get_inst(item, cap_t, caps_link);
 	return *handle == cap->handle;
Index: kernel/generic/src/ddi/irq.c
===================================================================
--- kernel/generic/src/ddi/irq.c	(revision ab87db55cb5f202637cfdb407053e0d954a16e7d)
+++ kernel/generic/src/ddi/irq.c	(revision 9259d203a46c750aab526dff7ff95b01e17364f4)
@@ -73,7 +73,7 @@
 
 static size_t irq_ht_hash(const ht_link_t *);
-static size_t irq_ht_key_hash(void *);
+static size_t irq_ht_key_hash(const void *);
 static bool irq_ht_equal(const ht_link_t *, const ht_link_t *);
-static bool irq_ht_key_equal(void *, const ht_link_t *);
+static bool irq_ht_key_equal(const void *, const ht_link_t *);
 
 static hash_table_ops_t irq_ht_ops = {
@@ -208,7 +208,7 @@
 
 /** Return the hash of the key. */
-size_t irq_ht_key_hash(void *key)
-{
-	inr_t *inr = (inr_t *) key;
+size_t irq_ht_key_hash(const void *key)
+{
+	const inr_t *inr = key;
 	return hash_mix(*inr);
 }
@@ -223,7 +223,7 @@
 
 /** Return true if the key is equal to the item's lookup key. */
-bool irq_ht_key_equal(void *key, const ht_link_t *item)
-{
-	inr_t *inr = (inr_t *) key;
+bool irq_ht_key_equal(const void *key, const ht_link_t *item)
+{
+	const inr_t *inr = key;
 	irq_t *irq = hash_table_get_inst(item, irq_t, link);
 	return irq->inr == *inr;
Index: kernel/generic/src/lib/ra.c
===================================================================
--- kernel/generic/src/lib/ra.c	(revision ab87db55cb5f202637cfdb407053e0d954a16e7d)
+++ kernel/generic/src/lib/ra.c	(revision 9259d203a46c750aab526dff7ff95b01e17364f4)
@@ -67,14 +67,14 @@
 
 /** Return the hash of the key */
-static size_t used_key_hash(void *key)
-{
-	uintptr_t *base = (uintptr_t *) key;
+static size_t used_key_hash(const void *key)
+{
+	const uintptr_t *base = key;
 	return hash_mix(*base);
 }
 
 /** Return true if the key is equal to the item's lookup key */
-static bool used_key_equal(void *key, const ht_link_t *item)
-{
-	uintptr_t *base = (uintptr_t *) key;
+static bool used_key_equal(const void *key, const ht_link_t *item)
+{
+	const uintptr_t *base = key;
 	ra_segment_t *seg = hash_table_get_inst(item, ra_segment_t, uh_link);
 	return seg->base == *base;
