diff options
author | sobomax <sobomax@FreeBSD.org> | 2004-10-26 22:06:06 +0800 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2004-10-26 22:06:06 +0800 |
commit | 384b20bc2191e3d500ad15826c1a645346111651 (patch) | |
tree | 4d19cc7e2c054fcea713fd3a10263e20883808f4 /misc/zaptel | |
parent | 27930d78cadf63aeb3eba7d1481d1976a7aa3f49 (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | misc/zaptel/files/patch-wcfxo::wcfxo.c | 22 | ||||
-rw-r--r-- | misc/zaptel/files/patch-wcfxs::wcfxs.c | 20 | ||||
-rw-r--r-- | misc/zaptel/files/patch-zaptel::zaptel.c | 26 | ||||
-rw-r--r-- | misc/zaptel/files/zaptel.sh | 49 |
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) |