diff options
Diffstat (limited to 'net-misc/zaptel/files/zaptel-1.2.0-devfs26.diff')
-rw-r--r-- | net-misc/zaptel/files/zaptel-1.2.0-devfs26.diff | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/net-misc/zaptel/files/zaptel-1.2.0-devfs26.diff b/net-misc/zaptel/files/zaptel-1.2.0-devfs26.diff deleted file mode 100644 index d9cfef2..0000000 --- a/net-misc/zaptel/files/zaptel-1.2.0-devfs26.diff +++ /dev/null @@ -1,220 +0,0 @@ ---- zaptel-1.2.0-beta2/zaptel.c.orig 2005-10-04 20:34:36.000000000 +0000 -+++ zaptel-1.2.0-beta2/zaptel.c 2005-11-07 21:08:39.000000000 +0000 -@@ -148,12 +148,14 @@ - - /* Here are a couple important little additions for devfs */ - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - static devfs_handle_t zaptel_devfs_dir; - static devfs_handle_t channel; - static devfs_handle_t pseudo; - static devfs_handle_t ctl; - static devfs_handle_t timer; - #endif -+#endif - - /* udev necessary data structures. Yeah! */ - #ifdef CONFIG_ZAP_UDEV -@@ -1123,6 +1125,7 @@ - } - - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - static devfs_handle_t register_devfs_channel(struct zt_chan *chan, devfs_handle_t dir) - { - char path[100]; -@@ -1165,6 +1168,36 @@ - - return chan_dev; - } -+#else -+static dev_t register_devfs_channel(struct zt_chan *chan, dev_t dir) -+{ -+#ifdef HAS_DEVFS_MK_SYMLINK -+ char link[100]; -+ char path[100]; -+#endif -+ dev_t chan_dev; -+ umode_t mode = S_IFCHR|S_IRUGO|S_IWUGO; -+ -+ /* create /dev/zap/span%d/%d channel device node */ -+ if ((chan_dev = devfs_mk_cdev(MKDEV(ZT_MAJOR, chan->channo), mode, "zap/span%d/%d", dir, chan->chanpos)) < 0) { -+ printk("zaptel: Something really bad happened. Unable to register devfs entry\n"); -+ return 0; -+ } -+ -+#ifdef HAS_DEVFS_MK_SYMLINK -+ /* link /dev/zap/span%d/%d -> /dev/zap/%d ?!? */ -+ sprintf(path, "zap/span%d/%d", dir, chan->chanpos); -+ sprintf(link, "zap/%d", chan->channo); -+ devfs_mk_symlink(link, path); -+#else -+ /* register /dev/zap/%d channel node directly */ -+ if(devfs_mk_cdev(MKDEV(ZT_MAJOR, chan->channo), mode, "zap/%d", chan->channo) < 0) { -+ printk("zaptel: Unable to register compat devfs entry\n"); -+ } -+#endif -+ return chan_dev; -+} -+#endif - #endif /* CONFIG_DEVFS_FS */ - - static int zt_chan_reg(struct zt_chan *chan) -@@ -4429,6 +4462,7 @@ - #endif - - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - { - char span_name[50]; - sprintf(span_name, "span%d", span->spanno); -@@ -4438,6 +4472,15 @@ - chan->fhandle = register_devfs_channel(chan, chan->span->dhandle); /* Register our stuff with devfs */ - } - } -+#else -+ { -+ devfs_mk_dir("zap/span%d", span->spanno); -+ for (x = 0; x < span->channels; x++) { -+ struct zt_chan *chan = &span->chans[x]; -+ register_devfs_channel(chan, span->spanno); /* Register our stuff with devfs */ -+ } -+ } -+#endif - #endif /* CONFIG_DEVFS_FS */ - - #ifdef CONFIG_ZAP_UDEV -@@ -4485,11 +4528,22 @@ - remove_proc_entry(tempfile, NULL); - #endif /* CONFIG_PROC_FS */ - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - for (x = 0; x < span->channels; x++) { - devfs_unregister(span->chans[x].fhandle); - devfs_unregister(span->chans[x].fhandle_symlink); - } - devfs_unregister(span->dhandle); -+#else -+ for (x = 0; x < span->channels; x++) { -+ /* remove symlink/compat device first */ -+ devfs_remove("zap/%d", span->chans[x].channo); -+ /* remove channel device */ -+ devfs_remove("zap/span%d/%d", span->spanno, span->chans[x].chanpos); -+ } -+ /* remove span dir */ -+ devfs_remove("zap/span%d", span->spanno); -+#endif - #endif /* CONFIG_DEVFS_FS */ - - #ifdef CONFIG_ZAP_UDEV -@@ -6510,6 +6564,7 @@ - #endif /* CONFIG_ZAP_UDEV */ - - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - { - umode_t mode = S_IFCHR|S_IRUGO|S_IWUGO; - devfs_register_chrdev(ZT_MAJOR, "zaptel", &zt_fops); -@@ -6521,6 +6576,22 @@ - ctl = devfs_register(zaptel_devfs_dir, "ctl", DEVFS_FL_DEFAULT, ZT_MAJOR, 0, mode, &zt_fops, NULL); - } - #else -+ { -+ umode_t mode = S_IFCHR|S_IRUGO|S_IWUGO; -+ if ((res = register_chrdev(ZT_MAJOR, "zaptel", &zt_fops)) < 0) { -+ printk(KERN_ERR "Unable to register for device on %d, error: %d\n", ZT_MAJOR, res); -+ return res; -+ } -+ -+ devfs_mk_dir("zap"); -+ -+ devfs_mk_cdev(MKDEV(ZT_MAJOR, 253), mode, "zap/timer"); -+ devfs_mk_cdev(MKDEV(ZT_MAJOR, 254), mode, "zap/channel"); -+ devfs_mk_cdev(MKDEV(ZT_MAJOR, 255), mode, "zap/pseudo"); -+ devfs_mk_cdev(MKDEV(ZT_MAJOR, 0), mode, "zap/ctl"); -+ } -+#endif -+#else - if ((res = register_chrdev(ZT_MAJOR, "zaptel", &zt_fops))) { - printk(KERN_ERR "Unable to register tor device on %d\n", ZT_MAJOR); - return res; -@@ -6551,6 +6622,7 @@ - if (tone_zones[x]) - kfree(tone_zones[x]); - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - devfs_unregister(timer); - devfs_unregister(channel); - devfs_unregister(pseudo); -@@ -6566,6 +6638,16 @@ - class_destroy(zap_class); - #endif /* CONFIG_ZAP_UDEV */ - unregister_chrdev(ZT_MAJOR, "zaptel"); -+ -+ devfs_remove("zap/timer"); -+ devfs_remove("zap/ctl"); -+ devfs_remove("zap/pseudo"); -+ devfs_remove("zap/channel"); -+ -+ devfs_remove("zap"); -+#endif -+#else -+ unregister_chrdev(ZT_MAJOR, "zaptel"); - #endif - #ifdef CONFIG_ZAPTEL_WATCHDOG - watchdog_cleanup(); ---- zaptel-1.2.0-beta2/zaptel.h.orig 2005-10-27 16:05:07.000000000 +0000 -+++ zaptel-1.2.0-beta2/zaptel.h 2005-11-07 21:08:39.000000000 +0000 -@@ -52,18 +52,17 @@ - #define zap_pci_module pci_register_driver - #else - #define zap_pci_module pci_module_init -+/* devfs_mk_symlink has been removed in 2.6.10 */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) -+#define HAS_DEVFS_MK_SYMLINK -+#endif - #endif - - #include "ecdis.h" - #include "fasthdlc.h" - #endif - #ifdef CONFIG_DEVFS_FS --#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) - #include <linux/devfs_fs_kernel.h> --#else --#undef CONFIG_DEVFS_FS --//#warning "Zaptel doesn't support DEVFS in post 2.4 kernels. Disabling DEVFS in zaptel" --#endif - #endif /* CONFIG_DEVFS_FS */ - #include <linux/ioctl.h> - -@@ -71,6 +70,8 @@ - #define ELAST 500 - #endif - -+ -+ - /* Per-span configuration values */ - #define ZT_CONFIG_TXLEVEL 7 /* bits 0-2 are tx level */ - -@@ -1172,8 +1173,10 @@ - #endif - - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - devfs_handle_t fhandle; /* File handle in devfs for the channel */ - devfs_handle_t fhandle_symlink; -+#endif - #endif /* CONFIG_DEVFS_FS */ - }; - -@@ -1309,7 +1312,9 @@ - int lastalarms; /* Previous alarms */ - - #ifdef CONFIG_DEVFS_FS -+#ifndef LINUX26 - devfs_handle_t dhandle; /* Directory name */ -+#endif - #endif - /* If the watchdog detects no received data, it will call the - watchdog routine */ |