Index: kernel/generic/include/ipc/irq.h
===================================================================
--- kernel/generic/include/ipc/irq.h	(revision 1c85bae15aa87bd11bf412120eaf4e1906a9ea73)
+++ kernel/generic/include/ipc/irq.h	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
@@ -53,5 +53,5 @@
 extern void ipc_irq_top_half_handler(irq_t *);
 
-extern int ipc_irq_unsubscribe(answerbox_t *, inr_t, devno_t);
+extern int ipc_irq_unsubscribe(answerbox_t *, int);
 extern void ipc_irq_cleanup(answerbox_t *);
 
Index: kernel/generic/include/ipc/sysipc.h
===================================================================
--- kernel/generic/include/ipc/sysipc.h	(revision 1c85bae15aa87bd11bf412120eaf4e1906a9ea73)
+++ kernel/generic/include/ipc/sysipc.h	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
@@ -57,5 +57,5 @@
 
 extern sysarg_t sys_ipc_irq_subscribe(inr_t, devno_t, sysarg_t, irq_code_t *);
-extern sysarg_t sys_ipc_irq_unsubscribe(inr_t, devno_t);
+extern sysarg_t sys_ipc_irq_unsubscribe(sysarg_t);
 
 #ifdef __32_BITS__
Index: kernel/generic/include/kobject/kobject.h
===================================================================
--- kernel/generic/include/kobject/kobject.h	(revision 1c85bae15aa87bd11bf412120eaf4e1906a9ea73)
+++ kernel/generic/include/kobject/kobject.h	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
@@ -38,13 +38,13 @@
 #include <typedefs.h>
 #include <ipc/ipc.h>
+#include <ddi/irq.h>
 
 #define MAX_KERNEL_OBJECTS  64
-
-#define KOBJECT_INVALID_CAP -1
 
 typedef enum {
 	KOBJECT_TYPE_INVALID,
 	KOBJECT_TYPE_ALLOCATED,
-	KOBJECT_TYPE_PHONE
+	KOBJECT_TYPE_PHONE,
+	KOBJECT_TYPE_IRQ
 } kobject_type_t;
 
@@ -55,4 +55,5 @@
 	union {
 		phone_t phone;
+		irq_t irq;
 	};
 } kobject_t;
@@ -60,5 +61,5 @@
 struct task;
 
-extern void kobject_init(kobject_t *);
+extern void kobject_initialize(kobject_t *);
 extern kobject_t *kobject_get(struct task *, int, kobject_type_t);
 extern kobject_t *kobject_get_current(int, kobject_type_t);
Index: kernel/generic/include/proc/task.h
===================================================================
--- kernel/generic/include/proc/task.h	(revision 1c85bae15aa87bd11bf412120eaf4e1906a9ea73)
+++ kernel/generic/include/proc/task.h	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
@@ -37,5 +37,4 @@
 
 #include <cpu.h>
-#include <kobject/kobject.h>
 #include <ipc/ipc.h>
 #include <ipc/event.h>
@@ -66,4 +65,5 @@
 
 struct thread;
+struct kobject;
 
 /** Task structure. */
@@ -98,5 +98,5 @@
 
 	/** Kernel objects */
-	kobject_t kobject[MAX_KERNEL_OBJECTS];
+	struct kobject *kobject;
 	
 	/* IPC stuff */
