Index: kernel/generic/include/ddi/device.h
===================================================================
--- kernel/generic/include/ddi/device.h	(revision 7dcf22a389ae4373e29fc2686bf9bae2ac3a8d39)
+++ kernel/generic/include/ddi/device.h	(revision 7dcf22a389ae4373e29fc2686bf9bae2ac3a8d39)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2006 Jakub Jermar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup genericddi
+ * @{
+ */
+/** @file
+ */
+
+#ifndef KERN_DEVICE_H_
+#define KERN_DEVICE_H_
+
+#include <typedefs.h>
+
+extern devno_t device_assign_devno(void);
+
+#endif
+
+/** @}
+ */
Index: kernel/generic/include/ddi/irq.h
===================================================================
--- kernel/generic/include/ddi/irq.h	(revision 7dcf22a389ae4373e29fc2686bf9bae2ac3a8d39)
+++ kernel/generic/include/ddi/irq.h	(revision 7dcf22a389ae4373e29fc2686bf9bae2ac3a8d39)
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2006 Jakub Jermar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup genericddi
+ * @{
+ */
+/** @file
+ */
+
+#ifndef KERN_IRQ_H_
+#define KERN_IRQ_H_
+
+#include <arch/types.h>
+#include <adt/list.h>
+
+typedef enum {
+	IRQ_DECLINE,		/**< Decline to service. */
+	IRQ_ACCEPT		/**< Accept to service. */
+} irq_ownership_t;
+
+typedef enum {
+	IRQ_TRIGGER_LEVEL = 1,
+	IRQ_TRIGGER_EDGE
+} irq_trigger_t;
+
+typedef struct irq irq_t;
+
+typedef void (* irq_handler_t)(irq_t *irq, void *arg, ...);
+
+/** Structure representing one device IRQ.
+ *
+ * If one device has multiple interrupts, there will
+ * be multiple irq_t instantions with the same
+ * devno.
+ */
+struct irq {
+	/** Hash table link. */
+	link_t link;
+
+	/** Unique device number. -1 if not yet assigned. */
+	devno_t devno;
+
+	/** Actual IRQ number. -1 if not yet assigned. */
+	inr_t inr;
+	/** Task ID of the task to be notified about the IRQ or 0. */
+	task_id_t notif;
+	/** Trigger level of the IRQ.*/
+	irq_trigger_t trigger;
+	/** Claim ownership of the IRQ. */
+	irq_ownership_t (* claim)(void);
+	/** Handler for this IRQ and device. */
+	irq_handler_t handler;
+	/** Argument for the handler. */
+	void *arg;
+};
+
+extern void irq_init(count_t inrs, count_t chains);
+extern void irq_initialize(irq_t *irq);
+extern void irq_register(irq_t *irq);
+extern irq_t *irq_dispatch(inr_t inr);
+
+#endif
+
+/** @}
+ */
Index: kernel/generic/include/irq.h
===================================================================
--- kernel/generic/include/irq.h	(revision 0d107f313852cf9ca1abc289a98baf2c22f6c95c)
+++ 	(revision )
@@ -1,93 +1,0 @@
-/*
- * Copyright (C) 2006 Jakub Jermar
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup genericinterrupt
- * @{
- */
-/** @file
- */
-
-#ifndef KERN_IRQ_H_
-#define KERN_IRQ_H_
-
-#include <arch/types.h>
-#include <adt/list.h>
-
-typedef int32_t inr_t;
-typedef int32_t devno_t;
-
-typedef enum {
-	IRQ_DECLINE,		/**< Decline to service. */
-	IRQ_ACCEPT		/**< Accept to service. */
-} irq_ownership_t;
-
-typedef enum {
-	IRQ_TRIGGER_LEVEL = 1,
-	IRQ_TRIGGER_EDGE
-} irq_trigger_t;
-
-typedef struct irq irq_t;
-
-typedef void (* irq_handler_t)(irq_t *irq, void *arg, ...);
-
-/** Structure representing one device IRQ.
- *
- * If one device has multiple interrupts, there will
- * be multiple irq_t instantions with the same
- * devno.
- */
-struct irq {
-	/** Hash table link. */
-	link_t link;
-
-	/** Unique device number. -1 if not yet assigned. */
-	devno_t devno;
-
-	/** Actual IRQ number. -1 if not yet assigned. */
-	inr_t inr;
-	/** Task ID of the task to be notified about the IRQ or 0. */
-	task_id_t notif;
-	/** Trigger level of the IRQ.*/
-	irq_trigger_t trigger;
-	/** Claim ownership of the IRQ. */
-	irq_ownership_t (* claim)(void);
-	/** Handler for this IRQ and device. */
-	irq_handler_t handler;
-	/** Argument for the handler. */
-	void *arg;
-};
-
-extern void irq_init(count_t inrs, count_t chains);
-extern void irq_initialize(irq_t *irq);
-extern void irq_register(irq_t *irq);
-extern irq_t *irq_dispatch(inr_t inr);
-
-#endif
-
-/** @}
- */
Index: kernel/generic/include/typedefs.h
===================================================================
--- kernel/generic/include/typedefs.h	(revision 0d107f313852cf9ca1abc289a98baf2c22f6c95c)
+++ kernel/generic/include/typedefs.h	(revision 7dcf22a389ae4373e29fc2686bf9bae2ac3a8d39)
@@ -96,4 +96,7 @@
 typedef struct btree btree_t;
 
+typedef signed int inr_t;
+typedef signed int devno_t;
+
 #endif
 
