From 6432f19733148cb69e2471b3564c8c27f9528ad5 Mon Sep 17 00:00:00 2001 From: Stefan Schweizer Date: Sun, 4 Feb 2007 22:25:24 +0000 Subject: Add patch for 2.6.20 compatibility thanks to Martin von Gagern in bug 163366 (Portage version: 2.1.2-r7) --- net-dialup/fritzcapi/ChangeLog | 9 +- .../files/2.6.43-linux-2.6.19-irq_handler.patch | 148 +++++++++++++++++++++ net-dialup/fritzcapi/files/digest-fritzcapi-2.6.43 | 2 + net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild | 11 +- 4 files changed, 164 insertions(+), 6 deletions(-) create mode 100644 net-dialup/fritzcapi/files/2.6.43-linux-2.6.19-irq_handler.patch (limited to 'net-dialup/fritzcapi') diff --git a/net-dialup/fritzcapi/ChangeLog b/net-dialup/fritzcapi/ChangeLog index 4ee5e4a66d85..b26998452b66 100644 --- a/net-dialup/fritzcapi/ChangeLog +++ b/net-dialup/fritzcapi/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-dialup/fritzcapi -# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/ChangeLog,v 1.25 2006/12/13 19:51:39 genstef Exp $ +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/ChangeLog,v 1.26 2007/02/04 22:25:24 genstef Exp $ + + 04 Feb 2007; + +files/2.6.43-linux-2.6.19-irq_handler.patch, fritzcapi-2.6.43.ebuild: + Add patch for 2.6.20 compatibility thanks to Martin von Gagern + in bug 163366 13 Dec 2006; Stefan Schweizer +files/fcusb2-2.6.19.patch, fritzcapi-2.6.43.ebuild: diff --git a/net-dialup/fritzcapi/files/2.6.43-linux-2.6.19-irq_handler.patch b/net-dialup/fritzcapi/files/2.6.43-linux-2.6.19-irq_handler.patch new file mode 100644 index 000000000000..0e203196909a --- /dev/null +++ b/net-dialup/fritzcapi/files/2.6.43-linux-2.6.19-irq_handler.patch @@ -0,0 +1,148 @@ +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 ()) { diff --git a/net-dialup/fritzcapi/files/digest-fritzcapi-2.6.43 b/net-dialup/fritzcapi/files/digest-fritzcapi-2.6.43 index 990e37766fea..4ac5efd0967b 100644 --- a/net-dialup/fritzcapi/files/digest-fritzcapi-2.6.43 +++ b/net-dialup/fritzcapi/files/digest-fritzcapi-2.6.43 @@ -2,3 +2,5 @@ MD5 5f9f4f61426f3cf5aa10aad42fad6444 km_fritzcapi-2.6-43.i586.rpm 2991322 RMD160 a300b383d474ddf9283c1bd9fae310be196c0199 km_fritzcapi-2.6-43.i586.rpm 2991322 SHA256 e90827d8c2b53dc475c97be8c8a018777830519592bc9e25ef1a49389d12e475 km_fritzcapi-2.6-43.i586.rpm 2991322 MD5 d59f758e9f6da998cd77775fc3547882 km_fritzcapi-2.6-43.x86_64.rpm 1006645 +RMD160 7338380933345b211ba92654565c78cf4ad793ca km_fritzcapi-2.6-43.x86_64.rpm 1006645 +SHA256 506ff28f5fd1d70969378d52d5d48f9937b585556a4a5475bbfd92865b74a860 km_fritzcapi-2.6-43.x86_64.rpm 1006645 diff --git a/net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild b/net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild index 441b5c21e578..a8dee47f6f41 100644 --- a/net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild +++ b/net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2006 Gentoo Foundation +# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild,v 1.6 2006/12/13 19:51:39 genstef Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fritzcapi/fritzcapi-2.6.43.ebuild,v 1.7 2007/02/04 22:25:24 genstef Exp $ inherit linux-mod rpm eutils @@ -117,13 +117,16 @@ src_unpack() { if [ -e fritz.usb2 ]; then cd fritz.usb2; epatch ${FILESDIR}/fcusb2-2.6.19.patch; cd .. fi - find -name \*.[hc] -print0 | xargs -0 sed -i 's:#include :#include :' + epatch ${FILESDIR}/2.6.43-linux-2.6.19-irq_handler.patch + find -name \*.[hc] -print0 | xargs -0 sed -i ' + s:#include :#include :; + s/driver_init/fc_driver_init/g; s/driver_exit/fc_driver_exit/;' } src_install() { linux-mod_src_install - dodir /lib/firmware /etc + keepdir /lib/firmware [ "${FRITZCAPI_BUILD_TARGETS/xusb_CZ/}" != "${FRITZCAPI_BUILD_TARGETS}" ] && \ dodoc "${S}/fritz.xusb_CZ/README.fxusb_CZ" -- cgit v1.2.3-65-gdbad