Index: uspace/lib/c/generic/async.c
===================================================================
--- uspace/lib/c/generic/async.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/lib/c/generic/async.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -1022,5 +1022,4 @@
  *
  * @param inr     IRQ number.
- * @param devno   Device number of the device generating inr.
  * @param handler Notification handler.
  * @param data    Notification handler client data.
@@ -1031,6 +1030,6 @@
  *
  */
-int async_irq_subscribe(int inr, int devno,
-    async_notification_handler_t handler, void *data, const irq_code_t *ucode)
+int async_irq_subscribe(int inr, async_notification_handler_t handler,
+    void *data, const irq_code_t *ucode)
 {
 	notification_t *notification =
@@ -1052,5 +1051,5 @@
 	futex_up(&async_futex);
 	
-	return ipc_irq_subscribe(inr, devno, imethod, ucode);
+	return ipc_irq_subscribe(inr, imethod, ucode);
 }
 
Index: uspace/lib/c/generic/ddi.c
===================================================================
--- uspace/lib/c/generic/ddi.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/lib/c/generic/ddi.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -50,14 +50,4 @@
 #include "private/libc.h"
 
-
-/** Return unique device number.
- *
- * @return New unique device number.
- *
- */
-int device_assign_devno(void)
-{
-	return __SYSCALL0(SYS_DEVICE_ASSIGN_DEVNO);
-}
 
 /** Map a piece of physical memory to task.
Index: uspace/lib/c/generic/irq.c
===================================================================
--- uspace/lib/c/generic/irq.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/lib/c/generic/irq.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -55,5 +55,4 @@
  *
  * @param inr    IRQ number.
- * @param devno  Device number of the device generating inr.
  * @param method Use this method for notifying me.
  * @param ucode  Top-half pseudocode handler.
@@ -63,12 +62,10 @@
  *
  */
-int ipc_irq_subscribe(int inr, int devno, sysarg_t method,
-    const irq_code_t *ucode)
+int ipc_irq_subscribe(int inr, sysarg_t method, const irq_code_t *ucode)
 {
 	if (ucode == NULL)
 		ucode = &default_ucode;
 	
-	return __SYSCALL4(SYS_IPC_IRQ_SUBSCRIBE, inr, devno, method,
-	    (sysarg_t) ucode);
+	return __SYSCALL3(SYS_IPC_IRQ_SUBSCRIBE, inr, method, (sysarg_t) ucode);
 }
 
Index: uspace/lib/c/include/async.h
===================================================================
--- uspace/lib/c/include/async.h	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/lib/c/include/async.h	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -166,5 +166,5 @@
     sysarg_t, async_port_handler_t, void *, port_id_t *);
 
-extern int async_irq_subscribe(int, int, async_notification_handler_t, void *,
+extern int async_irq_subscribe(int, async_notification_handler_t, void *,
     const irq_code_t *);
 extern int async_irq_unsubscribe(int);
Index: uspace/lib/c/include/ipc/irq.h
===================================================================
--- uspace/lib/c/include/ipc/irq.h	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/lib/c/include/ipc/irq.h	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -39,5 +39,5 @@
 #include <abi/ddi/irq.h>
 
-extern int ipc_irq_subscribe(int, int, sysarg_t, const irq_code_t *);
+extern int ipc_irq_subscribe(int, sysarg_t, const irq_code_t *);
 extern int ipc_irq_unsubscribe(int);
 
Index: uspace/lib/drv/generic/interrupt.c
===================================================================
--- uspace/lib/drv/generic/interrupt.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/lib/drv/generic/interrupt.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -46,6 +46,6 @@
     interrupt_handler_t *handler, const irq_code_t *irq_code)
 {
-	return async_irq_subscribe(irq, dev->handle,
-	    (async_notification_handler_t) handler, dev, irq_code);
+	return async_irq_subscribe(irq, (async_notification_handler_t) handler,
+	    dev, irq_code);
 }
 
Index: uspace/srv/hid/input/port/msim.c
===================================================================
--- uspace/srv/hid/input/port/msim.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/srv/hid/input/port/msim.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -97,6 +97,5 @@
 	msim_ranges[0].base = paddr;
 	msim_cmds[0].addr = (void *) paddr;
-	async_irq_subscribe(inr, device_assign_devno(), msim_irq_handler, NULL,
-	    &msim_kbd);
+	async_irq_subscribe(inr, msim_irq_handler, NULL, &msim_kbd);
 	
 	return 0;
Index: uspace/srv/hid/s3c24xx_ts/s3c24xx_ts.c
===================================================================
--- uspace/srv/hid/s3c24xx_ts/s3c24xx_ts.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/srv/hid/s3c24xx_ts/s3c24xx_ts.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -137,6 +137,5 @@
 	    (void *) ts->paddr, inr);
 
-	async_irq_subscribe(inr, device_assign_devno(), s3c24xx_ts_irq_handler,
-	    NULL, &ts_irq_code);
+	async_irq_subscribe(inr, s3c24xx_ts_irq_handler, NULL, &ts_irq_code);
 
 	s3c24xx_ts_wait_for_int_mode(ts, updn_down);
Index: uspace/srv/hw/bus/cuda_adb/cuda_adb.c
===================================================================
--- uspace/srv/hw/bus/cuda_adb/cuda_adb.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/srv/hw/bus/cuda_adb/cuda_adb.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -282,6 +282,5 @@
 	cuda_irq_code.ranges[0].base = (uintptr_t) instance->cuda_physical;
 	cuda_irq_code.cmds[0].addr = (void *) &((cuda_t *) instance->cuda_physical)->ifr;
-	async_irq_subscribe(10, device_assign_devno(), cuda_irq_handler, NULL,
-	    &cuda_irq_code);
+	async_irq_subscribe(10, cuda_irq_handler, NULL, &cuda_irq_code);
 
 	/* Enable SR interrupt. */
Index: uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c
===================================================================
--- uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c	(revision e9d15d9f0efb393d698245b131a15268dc1cd68f)
+++ uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c	(revision e7c4115de0a5bf1dd17b4e273352cc4607d67e03)
@@ -193,6 +193,5 @@
 	    (void *) uart->paddr, inr);
 
-	async_irq_subscribe(inr, device_assign_devno(), s3c24xx_uart_irq_handler,
-	    NULL, &uart_irq_code);
+	async_irq_subscribe(inr, s3c24xx_uart_irq_handler, NULL, &uart_irq_code);
 
 	/* Enable FIFO, Tx trigger level: empty, Rx trigger level: 1 byte. */
