irq_handler_t has changed type in 2.6.19 due to commit 7d12e780e003f93433d49ce78cfedf4b4c52adc5 by David Howells, for details see git diff at http://tinyurl.com/2xpdy7 As the third argument was never used by the drivers, I simply wrapped every occurrence of it in a condition for kernel version prior to 2.6.19. 2007-01-13 Martin von Gagern diff -ur usr.orig/src/kernel-modules/fritzcapi/fritz.classic/src/driver.c usr/src/kernel-modules/fritzcapi/fritz.classic/src/driver.c --- usr.orig/src/kernel-modules/fritzcapi/fritz.classic/src/driver.c 2007-01-22 23:36:39.000000000 +0100 +++ usr/src/kernel-modules/fritzcapi/fritz.classic/src/driver.c 2007-01-23 00:04:30.000000000 +0100 @@ -107,7 +107,11 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ static void scheduler (unsigned long data); -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs); +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ); static DECLARE_TASKLET_DISABLED (scheduler_tasklet, scheduler, 0); @@ -805,11 +809,17 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs) { +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ) { int res = IRQ_NONE; UNUSED_ARG (irq); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) UNUSED_ARG (regs); +#endif if (args != NULL) { assert (capi_lib->cm_handle_events != NULL); if (atomic_read (&scheduler_id) == smp_processor_id ()) { diff -ur usr.orig/src/kernel-modules/fritzcapi/fritz.pci/src/driver.c usr/src/kernel-modules/fritzcapi/fritz.pci/src/driver.c --- usr.orig/src/kernel-modules/fritzcapi/fritz.pci/src/driver.c 2007-01-22 23:36:39.000000000 +0100 +++ usr/src/kernel-modules/fritzcapi/fritz.pci/src/driver.c 2007-01-23 00:07:18.000000000 +0100 @@ -107,7 +107,11 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ static void scheduler (unsigned long data); -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs); +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ); static DECLARE_TASKLET_DISABLED (scheduler_tasklet, scheduler, 0); @@ -836,11 +840,17 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs) { +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ) { int res = IRQ_NONE; UNUSED_ARG (irq); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) UNUSED_ARG (regs); +#endif if (args != NULL) { assert (capi_lib->cm_handle_events != NULL); if (atomic_read (&scheduler_id) == smp_processor_id ()) { diff -ur usr.orig/src/kernel-modules/fritzcapi/fritz.pcmcia/src/driver.c usr/src/kernel-modules/fritzcapi/fritz.pcmcia/src/driver.c --- usr.orig/src/kernel-modules/fritzcapi/fritz.pcmcia/src/driver.c 2007-01-22 23:36:39.000000000 +0100 +++ usr/src/kernel-modules/fritzcapi/fritz.pcmcia/src/driver.c 2007-01-23 00:07:18.000000000 +0100 @@ -107,7 +107,11 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ static void scheduler (unsigned long data); -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs); +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ); static DECLARE_TASKLET_DISABLED (scheduler_tasklet, scheduler, 0); @@ -836,11 +840,17 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs) { +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ) { int res = IRQ_NONE; UNUSED_ARG (irq); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) UNUSED_ARG (regs); +#endif if (args != NULL) { assert (capi_lib->cm_handle_events != NULL); if (atomic_read (&scheduler_id) == smp_processor_id ()) { diff -ur usr.orig/src/kernel-modules/fritzcapi/fritz.pnp/src/driver.c usr/src/kernel-modules/fritzcapi/fritz.pnp/src/driver.c --- usr.orig/src/kernel-modules/fritzcapi/fritz.pnp/src/driver.c 2007-01-22 23:36:39.000000000 +0100 +++ usr/src/kernel-modules/fritzcapi/fritz.pnp/src/driver.c 2007-01-23 00:04:52.000000000 +0100 @@ -107,7 +107,11 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ static void scheduler (unsigned long data); -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs); +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ); static DECLARE_TASKLET_DISABLED (scheduler_tasklet, scheduler, 0); @@ -805,11 +809,17 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ -static irqreturn_t irq_handler (int irq, void * args, struct pt_regs * regs) { +static irqreturn_t irq_handler (int irq, void * args +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) + , struct pt_regs * regs +#endif + ) { int res = IRQ_NONE; UNUSED_ARG (irq); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) UNUSED_ARG (regs); +#endif if (args != NULL) { assert (capi_lib->cm_handle_events != NULL); if (atomic_read (&scheduler_id) == smp_processor_id ()) {