summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2006-01-07 10:48:20 +0000
committerAlin Năstac <mrness@gentoo.org>2006-01-07 10:48:20 +0000
commit3750b3db417889b61400090c4ce062d52ef7ca80 (patch)
tree67f4e924e5f3cd656b4af2fe4cce387f667f1127 /net-dialup
parentsh love (diff)
downloadgentoo-2-3750b3db417889b61400090c4ce062d52ef7ca80.tar.gz
gentoo-2-3750b3db417889b61400090c4ce062d52ef7ca80.tar.bz2
gentoo-2-3750b3db417889b61400090c4ce062d52ef7ca80.zip
Fix kernel panic on 2.6.15 by including upstream patches (#118111)
(Portage version: 2.0.53)
Diffstat (limited to 'net-dialup')
-rw-r--r--net-dialup/hsfmodem/ChangeLog11
-rw-r--r--net-dialup/hsfmodem/Manifest13
-rw-r--r--net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r13
-rw-r--r--net-dialup/hsfmodem/files/hsfmodem-7.18.00.07-upstream-20060107.patch48
-rw-r--r--net-dialup/hsfmodem/hsfmodem-7.18.00.07-r1.ebuild65
5 files changed, 128 insertions, 12 deletions
diff --git a/net-dialup/hsfmodem/ChangeLog b/net-dialup/hsfmodem/ChangeLog
index c042fd8b6260..d3cd01a62a26 100644
--- a/net-dialup/hsfmodem/ChangeLog
+++ b/net-dialup/hsfmodem/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/hsfmodem
-# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/ChangeLog,v 1.18 2005/12/27 08:34:15 mrness Exp $
+# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/ChangeLog,v 1.19 2006/01/07 10:48:20 mrness Exp $
+
+*hsfmodem-7.18.00.07-r1 (07 Jan 2006)
+
+ 07 Jan 2006; Alin Nastac <mrness@gentoo.org>
+ +files/hsfmodem-7.18.00.07-upstream-20060107.patch,
+ +hsfmodem-7.18.00.07-r1.ebuild:
+ Fix kernel panic on 2.6.15 by including upstream patches (#118111).
27 Dec 2005; Alin Nastac <mrness@gentoo.org>
-files/hsf-7.18.00.05-errno.patch, -files/hsf-7.18.00.05-kernconfig.patch,
diff --git a/net-dialup/hsfmodem/Manifest b/net-dialup/hsfmodem/Manifest
index 1ae9c9927c7b..b475aa219392 100644
--- a/net-dialup/hsfmodem/Manifest
+++ b/net-dialup/hsfmodem/Manifest
@@ -1,14 +1,7 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
MD5 7e33b0465ecdd74f7c6f8fa83f759f34 ChangeLog 5019
MD5 e348edabfe6f659ea8360e7892d89af6 files/digest-hsfmodem-7.18.00.07 230
+MD5 83ef8c3c538249abc93745ecf124151b files/digest-hsfmodem-7.18.00.07-r1 230
+MD5 55b57b492577870de5cb58229f0426d7 files/hsfmodem-7.18.00.07-upstream-20060107.patch 2809
+MD5 b1d81ef63db89c4d6af024177e2225ee hsfmodem-7.18.00.07-r1.ebuild 1578
MD5 39f793360c07f15ea11b06e09425892b hsfmodem-7.18.00.07.ebuild 1496
MD5 ec2f84816306825d125d0c01bd86758d metadata.xml 163
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDsPyWNSP4Vda7IdsRAnhiAJ4ibVN59GPxCT3epIJBpc2bPM4ZDwCffLrv
-nTYIKGR411n7KptxYPdceaQ=
-=iU0Y
------END PGP SIGNATURE-----
diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1
new file mode 100644
index 000000000000..accbc98d0ac4
--- /dev/null
+++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.07-r1
@@ -0,0 +1,3 @@
+MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
+MD5 4e2b60a7643ce8cf37300ac54b435cd5 hsfmodem-7.18.00.07full.tar.gz 1130164
+MD5 cd8df0adb60d7fa3fbb516b8cbc7668b hsfmodem-7.18.00.07x86_64full.tar.gz 1242228
diff --git a/net-dialup/hsfmodem/files/hsfmodem-7.18.00.07-upstream-20060107.patch b/net-dialup/hsfmodem/files/hsfmodem-7.18.00.07-upstream-20060107.patch
new file mode 100644
index 000000000000..a04e18cd5daf
--- /dev/null
+++ b/net-dialup/hsfmodem/files/hsfmodem-7.18.00.07-upstream-20060107.patch
@@ -0,0 +1,48 @@
+diff -Nru hsfmodem-7.18.00.07full.orig/modules/GPL/oscompat.h hsfmodem-7.18.00.07full/modules/GPL/oscompat.h
+--- hsfmodem-7.18.00.07full.orig/modules/GPL/oscompat.h 2005-09-18 00:42:03.000000000 +0300
++++ hsfmodem-7.18.00.07full/modules/GPL/oscompat.h 2006-01-07 12:39:35.915023750 +0200
+@@ -550,7 +550,11 @@
+ #define CLASS_DEVICE_DESTROY(class, dev) class_simple_device_remove(dev)
+ #define CLASS_CREATE(owner, name) class_simple_create(owner, name)
+ #else
++#ifdef FOUND_CLASS_DEVICE_PARENT
++#define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_device_create(class, NULL, dev, device, fmt, rest)
++#else
+ #define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_device_create(class, dev, device, fmt, rest)
++#endif
+ #define CLASS_DESTROY(class) class_destroy(class)
+ #define CLASS_DEVICE_DESTROY(class, dev) class_device_destroy(class, dev)
+ #define CLASS_CREATE(owner, name) class_create(owner, name)
+diff -Nru hsfmodem-7.18.00.07full.orig/modules/Makefile hsfmodem-7.18.00.07full/modules/Makefile
+--- hsfmodem-7.18.00.07full.orig/modules/Makefile 2005-10-21 19:09:52.000000000 +0300
++++ hsfmodem-7.18.00.07full/modules/Makefile 2006-01-07 12:40:52.239793750 +0200
+@@ -80,8 +80,10 @@
+ FOUND_CLASS_SIMPLE := $(shell grep -q 'class_simple_device_add' ${REAL_KERNELSRC}/include/linux/device.h 2>/dev/null && echo -DFOUND_CLASS_SIMPLE)
+ FOUND_UART_REGISTER_PORT := $(shell grep -q 'uart_register_port' ${REAL_KERNELSRC}/include/linux/serial_core.h 2>/dev/null && echo -DFOUND_UART_REGISTER_PORT)
+ FOUND_TTY_START_STOP := $(shell grep -q 'stop_tx.*tty_stop' ${REAL_KERNELSRC}/include/linux/serial_core.h 2>/dev/null && echo -DFOUND_TTY_START_STOP)
++FOUND_CLASS_DEVICE_PARENT := $(shell grep -q 'struct[ \t]*class_device[ \t]*\*[ \t]*parent' ${REAL_KERNELSRC}/include/linux/device.h 2>/dev/null && echo -DFOUND_CLASS_DEVICE_PARENT)
++FOUND_REFRIGERATOR := $(shell grep -q 'refrigerator' ${REAL_KERNELSRC}/include/linux/suspend.h 2>/dev/null && echo -DFOUND_REFRIGERATOR)
+
+-CFLAGS+= $(FOUND_CLASS_SIMPLE) $(FOUND_UART_REGISTER_PORT) $(FOUND_TTY_START_STOP)
++CFLAGS+= $(FOUND_CLASS_SIMPLE) $(FOUND_UART_REGISTER_PORT) $(FOUND_TTY_START_STOP) $(FOUND_CLASS_DEVICE_PARENT) $(FOUND_REFRIGERATOR)
+
+ else
+ KO= o
+diff -Nru hsfmodem-7.18.00.07full.orig/modules/osservices.c hsfmodem-7.18.00.07full/modules/osservices.c
+--- hsfmodem-7.18.00.07full.orig/modules/osservices.c 2005-09-11 08:29:12.000000000 +0300
++++ hsfmodem-7.18.00.07full/modules/osservices.c 2006-01-07 12:39:42.607442000 +0200
+@@ -519,8 +519,13 @@
+
+ if(signal_pending(current)) {
+ handle_sigs();
+- } else
++ } else {
++#ifdef FOUND_REFRIGERATOR
++ if (current->flags & PF_FREEZE)
++ refrigerator(PF_FREEZE);
++#endif
+ schedule();
++ }
+ }
+ current->state = TASK_RUNNING;
+ remove_wait_queue(&osthrd->wq, &wait);
diff --git a/net-dialup/hsfmodem/hsfmodem-7.18.00.07-r1.ebuild b/net-dialup/hsfmodem/hsfmodem-7.18.00.07-r1.ebuild
new file mode 100644
index 000000000000..fdf119cf7a20
--- /dev/null
+++ b/net-dialup/hsfmodem/hsfmodem-7.18.00.07-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/hsfmodem-7.18.00.07-r1.ebuild,v 1.1 2006/01/07 10:48:20 mrness Exp $
+
+inherit eutils
+
+#The document is the same as in hcfpcimodem, even if it has a different URL
+MY_DOC="100498D_RM_HxF_Released.pdf"
+
+DESCRIPTION="Linuxant's modem driver for Conexant HSF chipset"
+HOMEPAGE="http://www.linuxant.com/drivers/hsf/index.php"
+SRC_URI="x86? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}full/${P}full.tar.gz )
+ amd64? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}x86_64full/${P}x86_64full.tar.gz )
+ doc? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}full/${MY_DOC} )"
+
+LICENSE="Conexant"
+KEYWORDS="-* ~x86 ~amd64"
+IUSE="doc"
+SLOT="0"
+
+DEPEND="virtual/libc
+ dev-lang/perl
+ app-arch/cpio"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if useq x86; then
+ MY_ARCH_S=${S}/${P}full
+ elif useq amd64; then
+ MY_ARCH_S=${S}/${P}x86_64full
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ epatch ${FILESDIR}/${P}-upstream-20060107.patch
+}
+
+src_compile() {
+ cd ${MY_ARCH_S}
+ emake all || die "make failed"
+}
+
+src_install () {
+ cd ${MY_ARCH_S}
+ make PREFIX=${D}/usr/ ROOT=${D} install || die "make install failed"
+
+ use doc && dodoc "${DISTDIR}/${MY_DOC}"
+}
+
+pkg_preinst() {
+ local NVMDIR="${ROOT}/etc/${PN}/nvm"
+ if [ -d "${NVMDIR}" ]; then
+ einfo "Cleaning ${NVMDIR}..."
+ rm -rf "${NVMDIR}"
+ eend
+ fi
+}
+
+pkg_postinst() {
+ einfo "To complete the installation and configuration of your HSF modem,"
+ einfo "please run hsfconfig."
+}