aboutsummaryrefslogtreecommitdiffstats
path: root/misc/zaptel
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2004-10-26 22:06:06 +0800
committersobomax <sobomax@FreeBSD.org>2004-10-26 22:06:06 +0800
commit384b20bc2191e3d500ad15826c1a645346111651 (patch)
tree4d19cc7e2c054fcea713fd3a10263e20883808f4 /misc/zaptel
parent27930d78cadf63aeb3eba7d1481d1976a7aa3f49 (diff)
downloadfreebsd-ports-gnome-384b20bc2191e3d500ad15826c1a645346111651.tar.gz
freebsd-ports-gnome-384b20bc2191e3d500ad15826c1a645346111651.tar.zst
freebsd-ports-gnome-384b20bc2191e3d500ad15826c1a645346111651.zip
Improve compatibility with 4.x, particularly:
o Don't use devinfo(8) in startup script, since it doesn't exist on 4.x. Use pciinfo(8) instead. o In zaptel driver don't require a specific major on the 5.x system that support auto major numbering; o Assign specific majors to wcfxs and wcfxo drivers on systems that don't support auto major numbering; o Ensure that nodes are created properly on non-devfs systems.
Diffstat (limited to 'misc/zaptel')
-rw-r--r--misc/zaptel/Makefile1
-rw-r--r--misc/zaptel/files/patch-wcfxo::wcfxo.c22
-rw-r--r--misc/zaptel/files/patch-wcfxs::wcfxs.c20
-rw-r--r--misc/zaptel/files/patch-zaptel::zaptel.c26
-rw-r--r--misc/zaptel/files/zaptel.sh49
5 files changed, 115 insertions, 3 deletions
diff --git a/misc/zaptel/Makefile b/misc/zaptel/Makefile
index ca0857e276c8..fcda076a1a7f 100644
--- a/misc/zaptel/Makefile
+++ b/misc/zaptel/Makefile
@@ -7,6 +7,7 @@
PORTNAME= zaptel
PORTVERSION= 0.8
+PORTREVISION= 1
CATEGORIES= misc
MASTER_SITES= http://www.portaone.com/~sobomax/
DISTNAME= ${PORTNAME}-freebsd-${PORTVERSION}
diff --git a/misc/zaptel/files/patch-wcfxo::wcfxo.c b/misc/zaptel/files/patch-wcfxo::wcfxo.c
new file mode 100644
index 000000000000..1a2810a58b6d
--- /dev/null
+++ b/misc/zaptel/files/patch-wcfxo::wcfxo.c
@@ -0,0 +1,22 @@
+
+$FreeBSD$
+
+--- wcfxo/wcfxo.c
++++ wcfxo/wcfxo.c
+@@ -267,8 +267,14 @@
+
+ /* Character device entry points */
+ static struct cdevsw wcfxo_cdevsw = {
+-#if __FreeBSD_version >= 502103
+- .d_version = D_VERSION,
++#if __FreeBSD_version < 502103
++#ifdef MAJOR_AUTO
++ .d_maj = MAJOR_AUTO,
++#else
++ .d_maj = 197,
++#endif
++#else
++ .d_version = D_VERSION,
+ #endif
+ .d_name = "wcfxo",
+ .d_open = wcfxo_sys_open,
diff --git a/misc/zaptel/files/patch-wcfxs::wcfxs.c b/misc/zaptel/files/patch-wcfxs::wcfxs.c
new file mode 100644
index 000000000000..bab8faf9d09e
--- /dev/null
+++ b/misc/zaptel/files/patch-wcfxs::wcfxs.c
@@ -0,0 +1,20 @@
+
+$FreeBSD$
+
+--- wcfxs/wcfxs.c
++++ wcfxs/wcfxs.c
+@@ -308,7 +308,13 @@
+
+ /* Character device entry points */
+ static struct cdevsw wcfxs_cdevsw = {
+-#if __FreeBSD_version >= 502103
++#if __FreeBSD_version < 502103
++#ifdef MAJOR_AUTO
++ .d_maj = MAJOR_AUTO,
++#else
++ .d_maj = 198,
++#endif
++#else
+ .d_version = D_VERSION,
+ #endif
+ .d_name = "wcfxs",
diff --git a/misc/zaptel/files/patch-zaptel::zaptel.c b/misc/zaptel/files/patch-zaptel::zaptel.c
new file mode 100644
index 000000000000..a5fc0b4cf7d9
--- /dev/null
+++ b/misc/zaptel/files/patch-zaptel::zaptel.c
@@ -0,0 +1,26 @@
+
+$FreeBSD$
+
+--- zaptel/zaptel.c
++++ zaptel/zaptel.c
+@@ -156,12 +156,17 @@
+ #endif
+
+ static struct cdevsw zt_devsw = {
+-#if __FreeBSD_version >= 502103
++#if __FreeBSD_version < 502103
++#ifdef MAJOR_AUTO
++ .d_maj = MAJOR_AUTO,
++#else
++ .d_maj = ZT_MAJOR,
++#endif
++#else
+ .d_version = D_VERSION,
+ #endif
+ .d_open = ztopen,
+- .d_name = "zaptel",
+- .d_maj = ZT_MAJOR
++ .d_name = "zaptel"
+ };
+
+
diff --git a/misc/zaptel/files/zaptel.sh b/misc/zaptel/files/zaptel.sh
index de95d990364b..29da7fc86ad4 100644
--- a/misc/zaptel/files/zaptel.sh
+++ b/misc/zaptel/files/zaptel.sh
@@ -8,16 +8,59 @@ case "$1" in
/sbin/kldload ${LIBDIR}/zaptel.ko || exit 1
/sbin/kldload ${LIBDIR}/wcfxo.ko || exit 1
/sbin/kldload ${LIBDIR}/wcfxs.ko || exit 1
- if /usr/sbin/devinfo | /usr/bin/grep -q wcfxo
+ if [ ! -d /dev/zap ]
then
+ mkdir -p /dev/zap || exit 1
+ fi
+ if [ ! -c /dev/zap/channel ]
+ then
+ /sbin/mknod /dev/zap/channel c 196 254 || exit 1
+ fi
+ if [ ! -c /dev/zap/ctl ]
+ then
+ /sbin/mknod /dev/zap/ctl c 196 0 || exit 1
+ fi
+ if [ ! -c /dev/zap/pseudo ]
+ then
+ /sbin/mknod /dev/zap/pseudo c 196 255 || exit 1
+ fi
+ if [ ! -c /dev/zap/timer ]
+ then
+ /sbin/mknod /dev/zap/timer c 196 253 || exit 1
+ fi
+ z=" zaptel"
+ if /usr/sbin/pciconf -l | /usr/bin/grep -q ^wcfxo
+ then
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ if /usr/sbin/pciconf -l | /usr/bin/grep -q ^wcfxo${i}
+ then
+ if [ ! -c /dev/wcfxo${i} ]
+ then
+ /sbin/mknod /dev/wcfxo${i} c 197 ${i} || exit 1
+ fi
+ fi
+ done
${PREFIX}/bin/ztcfg 2> /dev/null
else
- if /usr/sbin/devinfo | /usr/bin/grep -q wcfxs
+ if /usr/sbin/pciconf -l | /usr/bin/grep -q ^wcfxs
then
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ if /usr/sbin/pciconf -l | /usr/bin/grep -q ^wcfxs${i}
+ then
+ if [ ! -c /dev/wcfxs${i} ]
+ then
+ /sbin/mknod /dev/wcfxo${i} c 198 ${i} || exit 1
+ fi
+ fi
+ done
${PREFIX}/bin/ztcfg 2> /dev/null
+ else
+ z=""
fi
fi
- echo -n " zaptel"
+ echo -n ${z}
;;
stop)