Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision 31e15be68a47a029289a467b6b9f837763fe97c1)
+++ kernel/generic/include/ipc/ipc.h	(revision 2df21755623b239a0d57f0639a0bfcf636cd3d5b)
@@ -74,5 +74,5 @@
 	/** User-defined label */
 	sysarg_t label;
-	kobject_t *kobject;
+	kobject_t kobject;
 } phone_t;
 
@@ -108,5 +108,5 @@
 
 typedef struct call {
-	kobject_t *kobject;
+	kobject_t kobject;
 
 	/**
@@ -169,8 +169,25 @@
 
 extern slab_cache_t *phone_cache;
+extern slab_cache_t *irq_cache;
 
 extern answerbox_t *ipc_box_0;
 
 extern kobject_ops_t call_kobject_ops;
+
+static inline phone_t *phone_from_kobject(kobject_t *kobject)
+{
+	if (kobject)
+		return ((void *) kobject) - offsetof(phone_t, kobject);
+	else
+		return NULL;
+}
+
+static inline call_t *call_from_kobject(kobject_t *kobject)
+{
+	if (kobject)
+		return ((void *) kobject) - offsetof(call_t, kobject);
+	else
+		return NULL;
+}
 
 extern void ipc_init(void);
