summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-08-08 19:25:53 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-08-08 19:25:53 +0000
commit57445428488a2862840c4d7c96d7746c11031aaf (patch)
tree60b88b3a21896a33ee4dccc727d88b745a9ff731
parent2e837819b1563679b55363d469239fdf4f17fbbb (diff)
Merge with Linu 2.4.0-test6-pre6.
-rw-r--r--Makefile2
-rw-r--r--arch/arm/mm/small_page.c2
-rw-r--r--arch/i386/kernel/microcode.c119
-rw-r--r--arch/ia64/mm/init.c2
-rw-r--r--arch/m68k/atari/stram.c2
-rw-r--r--arch/sparc/kernel/irq.c2
-rw-r--r--arch/sparc/kernel/rtrap.S2
-rw-r--r--arch/sparc/kernel/sparc_ksyms.c2
-rw-r--r--arch/sparc64/kernel/irq.c2
-rw-r--r--arch/sparc64/kernel/signal32.c6
-rw-r--r--arch/sparc64/kernel/smp.c4
-rw-r--r--arch/sparc64/kernel/sparc64_ksyms.c6
-rw-r--r--arch/sparc64/mm/init.c4
-rw-r--r--arch/sparc64/mm/ultra.S26
-rw-r--r--drivers/Makefile2
-rw-r--r--drivers/acorn/block/Makefile1
-rw-r--r--drivers/acorn/net/Makefile1
-rw-r--r--drivers/acorn/scsi/Makefile1
-rw-r--r--drivers/atm/Makefile1
-rw-r--r--drivers/block/Makefile2
-rw-r--r--drivers/block/loop.c2
-rw-r--r--drivers/block/paride/Makefile1
-rw-r--r--drivers/block/raid1.c4
-rw-r--r--drivers/block/raid5.c4
-rw-r--r--drivers/cdrom/Makefile1
-rw-r--r--drivers/char/bttv-cards.c13
-rw-r--r--drivers/char/bttv-driver.c16
-rw-r--r--drivers/char/bttv.h2
-rw-r--r--drivers/char/cpia.c7
-rw-r--r--drivers/char/joystick/Makefile1
-rw-r--r--drivers/char/msp3400.c3
-rw-r--r--drivers/char/pcmcia/Makefile1
-rw-r--r--drivers/char/tda9875.c72
-rw-r--r--drivers/fc4/Makefile1
-rw-r--r--drivers/i2c/Makefile1
-rw-r--r--drivers/ide/Makefile1
-rw-r--r--drivers/ide/ide-geometry.c18
-rw-r--r--drivers/ieee1394/Makefile2
-rw-r--r--drivers/ieee1394/video1394.c9
-rw-r--r--drivers/isdn/hisax/amd7930.c21
-rw-r--r--drivers/isdn/hisax/arcofi.c39
-rw-r--r--drivers/isdn/hisax/arcofi.h23
-rw-r--r--drivers/isdn/hisax/asuscom.c35
-rw-r--r--drivers/isdn/hisax/avm_a1.c64
-rw-r--r--drivers/isdn/hisax/avm_a1p.c28
-rw-r--r--drivers/isdn/hisax/avm_pci.c55
-rw-r--r--drivers/isdn/hisax/bkm_a4t.c33
-rw-r--r--drivers/isdn/hisax/bkm_a8.c33
-rw-r--r--drivers/isdn/hisax/bkm_ax.h8
-rw-r--r--drivers/isdn/hisax/callc.c156
-rw-r--r--drivers/isdn/hisax/cert.c15
-rw-r--r--drivers/isdn/hisax/config.c158
-rw-r--r--drivers/isdn/hisax/diva.c70
-rw-r--r--drivers/isdn/hisax/elsa.c78
-rw-r--r--drivers/isdn/hisax/elsa_ser.c7
-rw-r--r--drivers/isdn/hisax/fsm.c42
-rw-r--r--drivers/isdn/hisax/gazel.c29
-rw-r--r--drivers/isdn/hisax/hfc_2bds0.c40
-rw-r--r--drivers/isdn/hisax/hfc_2bds0.h14
-rw-r--r--drivers/isdn/hisax/hfc_2bs0.c48
-rw-r--r--drivers/isdn/hisax/hfc_2bs0.h13
-rw-r--r--drivers/isdn/hisax/hfc_pci.c99
-rw-r--r--drivers/isdn/hisax/hfc_pci.h26
-rw-r--r--drivers/isdn/hisax/hfc_sx.c22
-rw-r--r--drivers/isdn/hisax/hfc_sx.h12
-rw-r--r--drivers/isdn/hisax/hfcscard.c27
-rw-r--r--drivers/isdn/hisax/hisax.h144
-rw-r--r--drivers/isdn/hisax/hscx.c60
-rw-r--r--drivers/isdn/hisax/hscx.h19
-rw-r--r--drivers/isdn/hisax/hscx_irq.c47
-rw-r--r--drivers/isdn/hisax/ipac.h20
-rw-r--r--drivers/isdn/hisax/isac.c83
-rw-r--r--drivers/isdn/hisax/isac.h23
-rw-r--r--drivers/isdn/hisax/isar.c41
-rw-r--r--drivers/isdn/hisax/isar.h28
-rw-r--r--drivers/isdn/hisax/isdnl1.c133
-rw-r--r--drivers/isdn/hisax/isdnl1.h32
-rw-r--r--drivers/isdn/hisax/isdnl2.c81
-rw-r--r--drivers/isdn/hisax/isdnl2.h8
-rw-r--r--drivers/isdn/hisax/isdnl3.c62
-rw-r--r--drivers/isdn/hisax/isdnl3.h36
-rw-r--r--drivers/isdn/hisax/isurf.c36
-rw-r--r--drivers/isdn/hisax/ix1_micro.c45
-rw-r--r--drivers/isdn/hisax/jade.c10
-rw-r--r--drivers/isdn/hisax/jade.h8
-rw-r--r--drivers/isdn/hisax/jade_irq.c10
-rw-r--r--drivers/isdn/hisax/l3_1tr6.c51
-rw-r--r--drivers/isdn/hisax/l3_1tr6.h12
-rw-r--r--drivers/isdn/hisax/l3dss1.c94
-rw-r--r--drivers/isdn/hisax/l3dss1.h31
-rw-r--r--drivers/isdn/hisax/lmgr.c26
-rw-r--r--drivers/isdn/hisax/mic.c34
-rw-r--r--drivers/isdn/hisax/netjet.c64
-rw-r--r--drivers/isdn/hisax/niccy.c35
-rw-r--r--drivers/isdn/hisax/q931.c33
-rw-r--r--drivers/isdn/hisax/rawhdlc.c5
-rw-r--r--drivers/isdn/hisax/rawhdlc.h6
-rw-r--r--drivers/isdn/hisax/s0box.c7
-rw-r--r--drivers/isdn/hisax/saphir.c23
-rw-r--r--drivers/isdn/hisax/sedlbauer.c70
-rw-r--r--drivers/isdn/hisax/sportster.c45
-rw-r--r--drivers/isdn/hisax/tei.c68
-rw-r--r--drivers/isdn/hisax/teleint.c47
-rw-r--r--drivers/isdn/hisax/teles0.c52
-rw-r--r--drivers/isdn/hisax/teles3.c82
-rw-r--r--drivers/isdn/hisax/telespci.c41
-rw-r--r--drivers/isdn/hisax/w6692.c21
-rw-r--r--drivers/isdn/hisax/w6692.h14
-rw-r--r--drivers/isdn/isdn_audio.c83
-rw-r--r--drivers/isdn/isdn_audio.h35
-rw-r--r--drivers/isdn/isdn_cards.c37
-rw-r--r--drivers/isdn/isdn_cards.h12
-rw-r--r--drivers/isdn/isdn_common.c413
-rw-r--r--drivers/isdn/isdn_common.h86
-rw-r--r--drivers/isdn/isdn_concap.c45
-rw-r--r--drivers/isdn/isdn_concap.h20
-rw-r--r--drivers/isdn/isdn_net.c479
-rw-r--r--drivers/isdn/isdn_net.h64
-rw-r--r--drivers/isdn/isdn_ppp.c269
-rw-r--r--drivers/isdn/isdn_ppp.h57
-rw-r--r--drivers/isdn/isdn_tty.c332
-rw-r--r--drivers/isdn/isdn_tty.h85
-rw-r--r--drivers/isdn/isdn_ttyfax.c29
-rw-r--r--drivers/isdn/isdn_ttyfax.h8
-rw-r--r--drivers/isdn/isdn_v110.c20
-rw-r--r--drivers/isdn/isdn_v110.h14
-rw-r--r--drivers/isdn/isdn_x25iface.c48
-rw-r--r--drivers/isdn/isdn_x25iface.h20
-rw-r--r--drivers/mtd/Makefile1
-rw-r--r--drivers/net/82596.c4
-rw-r--r--drivers/net/Makefile1
-rw-r--r--drivers/net/at1700.c3
-rw-r--r--drivers/net/fc/Makefile1
-rw-r--r--drivers/net/fc/iph5526.c4
-rw-r--r--drivers/net/hamradio/Makefile1
-rw-r--r--drivers/net/irda/Makefile1
-rw-r--r--drivers/net/pcmcia/Makefile1
-rw-r--r--drivers/net/sk98lin/Makefile1
-rw-r--r--drivers/net/skfp/Makefile1
-rw-r--r--drivers/net/wan/lmc/Makefile1
-rw-r--r--drivers/parport/parport_pc.c2
-rw-r--r--drivers/pcmcia/Makefile2
-rw-r--r--drivers/pcmcia/cs.c4
-rw-r--r--drivers/scsi/Makefile3
-rw-r--r--drivers/scsi/pcmcia/Makefile2
-rw-r--r--drivers/scsi/sg.c8
-rw-r--r--drivers/sgi/Makefile1
-rw-r--r--drivers/sound/Makefile5
-rw-r--r--drivers/usb/Makefile1
-rw-r--r--drivers/usb/ibmcam.c6
-rw-r--r--drivers/usb/ov511.c7
-rw-r--r--drivers/usb/serial/Makefile1
-rw-r--r--drivers/usb/storage/Makefile1
-rw-r--r--drivers/usb/usb-ohci.c13
-rw-r--r--drivers/video/Makefile2
-rw-r--r--drivers/video/cyber2000fb.c5
-rw-r--r--drivers/video/cyberfb.c5
-rw-r--r--drivers/video/dn_cfb4.c8
-rw-r--r--drivers/video/dn_cfb8.c8
-rw-r--r--drivers/video/dnfb.c8
-rw-r--r--drivers/video/fbmem.c18
-rw-r--r--drivers/video/hitfb.c7
-rw-r--r--drivers/video/hpfb.c5
-rw-r--r--drivers/video/matrox/Makefile2
-rw-r--r--drivers/video/sa1100fb.c6
-rw-r--r--drivers/video/sgivwfb.c4
-rw-r--r--fs/Makefile3
-rw-r--r--fs/buffer.c16
-rw-r--r--fs/cramfs/inode.c5
-rw-r--r--fs/exec.c1
-rw-r--r--fs/ext2/balloc.c13
-rw-r--r--fs/jffs/inode-v23.c9
-rw-r--r--fs/ncpfs/mmap.c1
-rw-r--r--fs/nfs/read.c2
-rw-r--r--fs/nls/Makefile2
-rw-r--r--fs/ramfs/inode.c4
-rw-r--r--fs/romfs/inode.c11
-rw-r--r--fs/smbfs/file.c7
-rw-r--r--fs/udf/file.c3
-rw-r--r--fs/udf/inode.c1
-rw-r--r--fs/umsdos/emd.c8
-rw-r--r--fs/umsdos/inode.c2
-rw-r--r--include/asm-alpha/pgalloc.h1
-rw-r--r--include/asm-alpha/softirq.h1
-rw-r--r--include/asm-arm/proc-armo/cache.h3
-rw-r--r--include/asm-arm/proc-armv/cache.h7
-rw-r--r--include/asm-i386/highmem.h4
-rw-r--r--include/asm-i386/pgtable.h1
-rw-r--r--include/asm-ia64/pgtable.h5
-rw-r--r--include/asm-m68k/pgalloc.h4
-rw-r--r--include/asm-m68k/pgtable.h4
-rw-r--r--include/asm-mips/pgtable.h2
-rw-r--r--include/asm-mips64/pgtable.h3
-rw-r--r--include/asm-ppc/pgtable.h6
-rw-r--r--include/asm-s390/pgtable.h4
-rw-r--r--include/asm-sh/pgtable.h3
-rw-r--r--include/asm-sparc/highmem.h1
-rw-r--r--include/asm-sparc/irq.h2
-rw-r--r--include/asm-sparc/pgtable.h4
-rw-r--r--include/asm-sparc/softirq.h1
-rw-r--r--include/asm-sparc64/pgalloc.h2
-rw-r--r--include/asm-sparc64/pgtable.h2
-rw-r--r--include/asm-sparc64/softirq.h1
-rw-r--r--include/linux/highmem.h2
-rw-r--r--include/linux/irq_cpustat.h2
-rw-r--r--include/linux/isdn.h362
-rw-r--r--include/linux/isdnif.h120
-rw-r--r--include/linux/mm.h2
-rw-r--r--include/linux/slab.h9
-rw-r--r--init/main.c1
-rw-r--r--kernel/kmod.c3
-rw-r--r--kernel/softirq.c1
-rw-r--r--kernel/timer.c4
-rw-r--r--mm/filemap.c3
-rw-r--r--mm/highmem.c14
-rw-r--r--mm/page_alloc.c10
-rw-r--r--mm/slab.c136
-rw-r--r--net/Makefile2
-rw-r--r--net/econet/Makefile1
-rw-r--r--net/ipv4/Makefile1
-rw-r--r--net/ipv4/netfilter/Makefile1
-rw-r--r--net/ipv4/netfilter/ip_tables.c2
-rw-r--r--net/ipv6/Makefile1
-rw-r--r--net/ipv6/netfilter/Makefile1
-rw-r--r--net/irda/Makefile2
-rw-r--r--net/irda/compressors/Makefile1
-rw-r--r--net/irda/irlan/Makefile1
-rw-r--r--net/khttpd/Makefile1
-rw-r--r--net/netlink/Makefile1
-rw-r--r--net/packet/Makefile1
230 files changed, 778 insertions, 5696 deletions
diff --git a/Makefile b/Makefile
index ca262e7a2..1047249b9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 0
-EXTRAVERSION = -test6-pre5
+EXTRAVERSION = -test6-pre6
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
diff --git a/arch/arm/mm/small_page.c b/arch/arm/mm/small_page.c
index ee7f571a7..40c91ba32 100644
--- a/arch/arm/mm/small_page.c
+++ b/arch/arm/mm/small_page.c
@@ -116,7 +116,7 @@ again:
remove_page_from_queue(page);
restore_flags(flags);
- return page_address(page) + (offset << order->shift);
+ return (unsigned long) page_address(page) + (offset << order->shift);
need_new_page:
page = alloc_page(priority);
diff --git a/arch/i386/kernel/microcode.c b/arch/i386/kernel/microcode.c
index c02385e79..64db873a9 100644
--- a/arch/i386/kernel/microcode.c
+++ b/arch/i386/kernel/microcode.c
@@ -1,13 +1,14 @@
/*
- * CPU Microcode Update interface for Linux
+ * Intel CPU Microcode Update driver for Linux
*
* Copyright (C) 2000 Tigran Aivazian
*
* This driver allows to upgrade microcode on Intel processors
- * belonging to P6 family - PentiumPro, Pentium II, Pentium III etc.
+ * belonging to P6 family - PentiumPro, Pentium II,
+ * Pentium III, Xeon etc.
*
* Reference: Section 8.10 of Volume III, Intel Pentium III Manual,
- * Order Number 243192 or download from:
+ * Order Number 243192 or free download from:
*
* http://developer.intel.com/design/pentiumii/manuals/243192.htm
*
@@ -18,28 +19,31 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
- * 1.0 16 February 2000, Tigran Aivazian <tigran@sco.com>
+ * 1.0 16 Feb 2000, Tigran Aivazian <tigran@sco.com>
* Initial release.
- * 1.01 18 February 2000, Tigran Aivazian <tigran@sco.com>
+ * 1.01 18 Feb 2000, Tigran Aivazian <tigran@sco.com>
* Added read() support + cleanups.
- * 1.02 21 February 2000, Tigran Aivazian <tigran@sco.com>
+ * 1.02 21 Feb 2000, Tigran Aivazian <tigran@sco.com>
* Added 'device trimming' support. open(O_WRONLY) zeroes
* and frees the saved copy of applied microcode.
- * 1.03 29 February 2000, Tigran Aivazian <tigran@sco.com>
+ * 1.03 29 Feb 2000, Tigran Aivazian <tigran@sco.com>
* Made to use devfs (/dev/cpu/microcode) + cleanups.
- * 1.04 06 June 2000, Simon Trimmer <simon@veritas.com>
+ * 1.04 06 Jun 2000, Simon Trimmer <simon@veritas.com>
* Added misc device support (now uses both devfs and misc).
* Added MICROCODE_IOCFREE ioctl to clear memory.
- * 1.05 09 June 2000, Simon Trimmer <simon@veritas.com>
+ * 1.05 09 Jun 2000, Simon Trimmer <simon@veritas.com>
* Messages for error cases (non intel & no suitable microcode).
+ * 1.06 03 Aug 2000, Tigran Aivazian <tigran@veritas.com>
+ * Removed ->release(). Removed exclusive open and status bitmap.
+ * Added microcode_rwsem to serialize read()/write()/ioctl().
+ * Removed global kernel lock usage.
*/
#include <linux/init.h>
-#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/module.h>
+#include <linux/malloc.h>
#include <linux/vmalloc.h>
-#include <linux/smp_lock.h>
#include <linux/miscdevice.h>
#include <linux/devfs_fs_kernel.h>
@@ -47,7 +51,7 @@
#include <asm/uaccess.h>
#include <asm/processor.h>
-#define MICROCODE_VERSION "1.05"
+#define MICROCODE_VERSION "1.06"
MODULE_DESCRIPTION("Intel CPU (P6) microcode update driver");
MODULE_AUTHOR("Tigran Aivazian <tigran@veritas.com>");
@@ -55,28 +59,20 @@ EXPORT_NO_SYMBOLS;
/* VFS interface */
static int microcode_open(struct inode *, struct file *);
-static int microcode_release(struct inode *, struct file *);
static ssize_t microcode_read(struct file *, char *, size_t, loff_t *);
static ssize_t microcode_write(struct file *, const char *, size_t, loff_t *);
static int microcode_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
-
-/* internal helpers to do the work */
static int do_microcode_update(void);
static void do_update_one(void *);
-/*
- * Bits in microcode_status. (31 bits of room for future expansion)
- */
-#define MICROCODE_IS_OPEN 0 /* set if device is in use */
+/* read()/write()/ioctl() are serialized on this */
+DECLARE_RWSEM(microcode_rwsem);
-static unsigned long microcode_status;
-
-/* the actual array of microcode blocks, each 2048 bytes */
-static struct microcode *microcode;
-static unsigned int microcode_num;
-static char *mc_applied; /* holds an array of applied microcode blocks */
-static unsigned int mc_fsize;
+static struct microcode *microcode; /* array of 2048byte microcode blocks */
+static unsigned int microcode_num; /* number of chunks in microcode */
+static char *mc_applied; /* array of applied microcode blocks */
+static unsigned int mc_fsize; /* file size of /dev/cpu/microcode */
static struct file_operations microcode_fops = {
owner: THIS_MODULE,
@@ -84,7 +80,6 @@ static struct file_operations microcode_fops = {
write: microcode_write,
ioctl: microcode_ioctl,
open: microcode_open,
- release: microcode_release,
};
static struct miscdevice microcode_dev = {
@@ -112,8 +107,7 @@ static int __init microcode_init(void)
printk(KERN_ERR "microcode: failed to devfs_register()\n");
return -EINVAL;
}
- printk(KERN_INFO "P6 Microcode Update Driver v%s registered\n",
- MICROCODE_VERSION);
+ printk(KERN_INFO "P6 Microcode Update Driver v%s\n", MICROCODE_VERSION);
return 0;
}
@@ -130,29 +124,12 @@ static void __exit microcode_exit(void)
module_init(microcode_init);
module_exit(microcode_exit);
-/*
- * We enforce only one user at a time here with open/close.
- */
-static int microcode_open(struct inode *inode, struct file *file)
+static int microcode_open(struct inode *unused1, struct file *unused2)
{
- if (!capable(CAP_SYS_RAWIO))
- return -EPERM;
-
- /* one at a time, please */
- if (test_and_set_bit(MICROCODE_IS_OPEN, &microcode_status))
- return -EBUSY;
-
- return 0;
+ return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
}
-/* our specific f_op->release() method needs no locking */
-static int microcode_release(struct inode *inode, struct file *file)
-{
- clear_bit(MICROCODE_IS_OPEN, &microcode_status);
- return 0;
-}
-
-/* a pointer to 'struct update_req' is passed to the IPI handler = do_update_one()
+/*
* update_req[cpu].err is set to 1 if update failed on 'cpu', 0 otherwise
* if err==0, microcode[update_req[cpu].slot] points to applied block of microcode
*/
@@ -166,9 +143,11 @@ static int do_microcode_update(void)
int i, error = 0, err;
struct microcode *m;
- if (smp_call_function(do_update_one, (void *)update_req, 1, 1) != 0)
- panic("do_microcode_update(): timed out waiting for other CPUs\n");
- do_update_one((void *)update_req);
+ if (smp_call_function(do_update_one, NULL, 1, 1) != 0) {
+ printk(KERN_ERR "microcode: IPI timeout, giving up\n");
+ return -EIO;
+ }
+ do_update_one(NULL);
for (i=0; i<smp_num_cpus; i++) {
err = update_req[i].err;
@@ -181,18 +160,18 @@ static int do_microcode_update(void)
return error;
}
-static void do_update_one(void *arg)
+static void do_update_one(void *unused)
{
int cpu_num = smp_processor_id();
struct cpuinfo_x86 *c = cpu_data + cpu_num;
- struct update_req *req = (struct update_req *)arg + cpu_num;
+ struct update_req *req = update_req + cpu_num;
unsigned int pf = 0, val[2], rev, sig;
int i,found=0;
- req->err = 1; /* be pessimistic */
+ req->err = 1; /* assume the worst */
if (c->x86_vendor != X86_VENDOR_INTEL || c->x86 < 6){
- printk(KERN_ERR "microcode: CPU%d not an Intel P6\n", cpu_num );
+ printk(KERN_ERR "microcode: CPU%d not an Intel P6\n", cpu_num);
return;
}
@@ -242,18 +221,23 @@ static void do_update_one(void *arg)
}
if(!found)
- printk(KERN_ERR "microcode: found no data for CPU%d (sig=%x, pflags=%d)\n", cpu_num, sig, pf);
+ printk(KERN_ERR "microcode: CPU%d no microcode found! (sig=%x, pflags=%d)\n",
+ cpu_num, sig, pf);
}
static ssize_t microcode_read(struct file *file, char *buf, size_t len, loff_t *ppos)
{
if (*ppos >= mc_fsize)
return 0;
+ down_read(&microcode_rwsem);
if (*ppos + len > mc_fsize)
len = mc_fsize - *ppos;
- if (copy_to_user(buf, mc_applied + *ppos, len))
+ if (copy_to_user(buf, mc_applied + *ppos, len)) {
+ up_read(&microcode_rwsem);
return -EFAULT;
+ }
*ppos += len;
+ up_read(&microcode_rwsem);
return len;
}
@@ -266,27 +250,29 @@ static ssize_t microcode_write(struct file *file, const char *buf, size_t len, l
sizeof(struct microcode));
return -EINVAL;
}
+ down_write(&microcode_rwsem);
if (!mc_applied) {
mc_applied = kmalloc(smp_num_cpus*sizeof(struct microcode),
GFP_KERNEL);
if (!mc_applied) {
printk(KERN_ERR "microcode: out of memory for saved microcode\n");
+ up_write(&microcode_rwsem);
return -ENOMEM;
}
- memset(mc_applied, 0, mc_fsize);
}
- lock_kernel();
microcode_num = len/sizeof(struct microcode);
microcode = vmalloc(len);
if (!microcode) {
ret = -ENOMEM;
goto out_unlock;
}
+
if (copy_from_user(microcode, buf, len)) {
ret = -EFAULT;
goto out_fsize;
}
+
if(do_microcode_update()) {
ret = -EIO;
goto out_fsize;
@@ -298,7 +284,7 @@ out_fsize:
devfs_set_file_size(devfs_handle, mc_fsize);
vfree(microcode);
out_unlock:
- unlock_kernel();
+ up_write(&microcode_rwsem);
return ret;
}
@@ -307,23 +293,22 @@ static int microcode_ioctl(struct inode *inode, struct file *file,
{
switch(cmd) {
case MICROCODE_IOCFREE:
+ down_write(&microcode_rwsem);
if (mc_applied) {
devfs_set_file_size(devfs_handle, 0);
- memset(mc_applied, 0, mc_fsize);
kfree(mc_applied);
mc_applied = NULL;
- printk(KERN_WARNING
- "microcode: freed %d bytes\n", mc_fsize);
+ printk(KERN_INFO "microcode: freed %d bytes\n", mc_fsize);
mc_fsize = 0;
+ up_write(&microcode_rwsem);
return 0;
}
+ up_write(&microcode_rwsem);
return -ENODATA;
default:
- printk(KERN_ERR "microcode: unknown ioctl cmd=%d\n",
- cmd);
+ printk(KERN_ERR "microcode: unknown ioctl cmd=%d\n", cmd);
return -EINVAL;
}
- /* NOT REACHED */
return -EINVAL;
}
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index aed999573..d911c91bf 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -249,7 +249,7 @@ put_gate_page (struct page *page, unsigned long address)
pte_t *pte;
if (!PageReserved(page))
- printk("put_gate_page: gate page at 0x%lx not in reserved memory\n",
+ printk("put_gate_page: gate page at 0x%p not in reserved memory\n",
page_address(page));
pgd = pgd_offset_k(address); /* note: this is NOT pgd_offset()! */
diff --git a/arch/m68k/atari/stram.c b/arch/m68k/atari/stram.c
index 7406a8d02..2b804b767 100644
--- a/arch/m68k/atari/stram.c
+++ b/arch/m68k/atari/stram.c
@@ -934,7 +934,7 @@ static int unswap_by_read(unsigned short *map, unsigned long max,
get a clean page and read the swap into it. */
page_map = read_swap_cache(entry);
if (page_map) {
- page = page_address(page_map);
+ page = (unsigned long) page_address(page_map);
read_lock(&tasklist_lock);
for_each_task(p)
unswap_process(p->mm, entry, page
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c
index a6fd32fa4..f2aa6cae4 100644
--- a/arch/sparc/kernel/irq.c
+++ b/arch/sparc/kernel/irq.c
@@ -1,4 +1,4 @@
-/* $Id: irq.c,v 1.105 2000/07/26 01:04:02 davem Exp $
+/* $Id: irq.c,v 1.106 2000/08/05 10:48:40 davem Exp $
* arch/sparc/kernel/irq.c: Interrupt request handling routines. On the
* Sparc the IRQ's are basically 'cast in stone'
* and you are supposed to probe the prom's device
diff --git a/arch/sparc/kernel/rtrap.S b/arch/sparc/kernel/rtrap.S
index c44040bde..b4b0b5f7b 100644
--- a/arch/sparc/kernel/rtrap.S
+++ b/arch/sparc/kernel/rtrap.S
@@ -1,4 +1,4 @@
-/* $Id: rtrap.S,v 1.54 2000/02/09 11:15:03 davem Exp $
+/* $Id: rtrap.S,v 1.55 2000/08/05 10:48:40 davem Exp $
* rtrap.S: Return from Sparc trap low-level code.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
index 37c276c7f..e05b20f4e 100644
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ b/arch/sparc/kernel/sparc_ksyms.c
@@ -1,4 +1,4 @@
-/* $Id: sparc_ksyms.c,v 1.101 2000/07/12 00:25:32 anton Exp $
+/* $Id: sparc_ksyms.c,v 1.102 2000/08/05 10:48:40 davem Exp $
* arch/sparc/kernel/ksyms.c: Sparc specific ksyms support.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index c7f4905b8..7f2e21a51 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -1,4 +1,4 @@
-/* $Id: irq.c,v 1.90 2000/08/01 00:28:33 davem Exp $
+/* $Id: irq.c,v 1.91 2000/08/05 10:48:40 davem Exp $
* irq.c: UltraSparc IRQ handling/init/registry.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
index aabde84c2..efad55a1c 100644
--- a/arch/sparc64/kernel/signal32.c
+++ b/arch/sparc64/kernel/signal32.c
@@ -1,4 +1,4 @@
-/* $Id: signal32.c,v 1.65 2000/07/07 04:25:17 davem Exp $
+/* $Id: signal32.c,v 1.66 2000/07/27 01:05:15 davem Exp $
* arch/sparc64/kernel/signal32.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
@@ -750,7 +750,7 @@ static inline void new_setup_frame32(struct k_sigaction *ka, struct pt_regs *reg
goto sigsegv;
if(pte_present(*ptep)) {
- unsigned long page = page_address(pte_page(*ptep));
+ unsigned long page = (unsigned long) page_address(pte_page(*ptep));
__asm__ __volatile__("
membar #StoreStore
@@ -1175,7 +1175,7 @@ static inline void setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs
goto sigsegv;
if(pte_present(*ptep)) {
- unsigned long page = page_address(pte_page(*ptep));
+ unsigned long page = (unsigned long) page_address(pte_page(*ptep));
__asm__ __volatile__("
membar #StoreStore
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 96f8624ca..dbcb1f09e 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -817,14 +817,14 @@ static inline unsigned long find_flush_base(unsigned long size)
size = PAGE_ALIGN(size);
found = size;
- base = page_address(p);
+ base = (unsigned long) page_address(p);
while(found != 0) {
/* Failure. */
if(p >= (mem_map + max_mapnr))
return 0UL;
if(PageReserved(p)) {
found = size;
- base = page_address(p);
+ base = (unsigned long) page_address(p);
} else {
found -= PAGE_SIZE;
}
diff --git a/arch/sparc64/kernel/sparc64_ksyms.c b/arch/sparc64/kernel/sparc64_ksyms.c
index 4a79b76bf..5bb4c8839 100644
--- a/arch/sparc64/kernel/sparc64_ksyms.c
+++ b/arch/sparc64/kernel/sparc64_ksyms.c
@@ -1,4 +1,4 @@
-/* $Id: sparc64_ksyms.c,v 1.89 2000/07/28 12:15:02 davem Exp $
+/* $Id: sparc64_ksyms.c,v 1.91 2000/08/05 13:30:33 davem Exp $
* arch/sparc64/kernel/sparc64_ksyms.c: Sparc64 specific ksyms support.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -83,7 +83,7 @@ extern long sparc32_open(const char * filename, int flags, int mode);
extern int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, unsigned int, unsigned long, struct file *));
extern int unregister_ioctl32_conversion(unsigned int cmd);
extern int io_remap_page_range(unsigned long from, unsigned long offset, unsigned long size, pgprot_t prot, int space);
-extern void flush_dcache_page(void *addr);
+extern void __flush_dcache_page(void *addr);
extern int __ashrdi3(int, int);
@@ -180,7 +180,7 @@ EXPORT_SYMBOL(disable_irq);
EXPORT_SYMBOL_PRIVATE(flushw_user);
-EXPORT_SYMBOL(flush_dcache_page);
+EXPORT_SYMBOL(__flush_dcache_page);
EXPORT_SYMBOL(mstk48t02_regs);
EXPORT_SYMBOL(request_fast_irq);
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index 88ac93103..d3c9e5036 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -1,4 +1,4 @@
-/* $Id: init.c,v 1.152 2000/05/09 17:40:14 davem Exp $
+/* $Id: init.c,v 1.153 2000/07/27 01:05:15 davem Exp $
* arch/sparc64/mm/init.c
*
* Copyright (C) 1996-1999 David S. Miller (davem@caip.rutgers.edu)
@@ -746,7 +746,7 @@ pte_t *get_pte_slow(pmd_t *pmd, unsigned long offset, unsigned long color)
pte_t *pte;
set_page_count((page + 1), 1);
- paddr = page_address(page);
+ paddr = (unsigned long) page_address(page);
memset((char *)paddr, 0, (PAGE_SIZE << 1));
if (!color) {
diff --git a/arch/sparc64/mm/ultra.S b/arch/sparc64/mm/ultra.S
index 85e62ad25..7940218d2 100644
--- a/arch/sparc64/mm/ultra.S
+++ b/arch/sparc64/mm/ultra.S
@@ -1,4 +1,4 @@
-/* $Id: ultra.S,v 1.44 2000/07/10 20:57:35 davem Exp $
+/* $Id: ultra.S,v 1.46 2000/08/05 13:30:33 davem Exp $
* ultra.S: Don't expand these all over the place...
*
* Copyright (C) 1997, 2000 David S. Miller (davem@redhat.com)
@@ -206,6 +206,30 @@ iflush2:sub %o1, 0x20, %g3
flush %g6
ba,a,pt %xcc, 3b
+ .align 64
+ .globl __flush_dcache_page
+__flush_dcache_page:
+ sub %o0, %g4, %o0
+ clr %o1
+ srlx %o0, 11, %o0
+ sethi %hi(1 << 14), %o2
+1: ldxa [%o1] ASI_DCACHE_TAG, %o3
+ andn %o3, 0x3, %o3
+ cmp %o0, %o3
+ bne,pt %xcc, 2f
+ nop
+ stxa %g0, [%o1] ASI_DCACHE_TAG
+ membar #Sync
+2: add %o1, (1 << 5), %o1
+ cmp %o1, %o2
+ bne,pt %xcc, 1b
+ nop
+ /* The I-cache does not snoop local stores so we
+ * better flush that too.
+ */
+ ba,pt %xcc, __flush_icache_page
+ sllx %o0, 11, %o0
+
.align 32
__prefill_dtlb:
rdpr %pstate, %g7
diff --git a/drivers/Makefile b/drivers/Makefile
index a91c3355e..23a0579cd 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -171,6 +171,8 @@ endif
# When MOD_LIST_NAME is set, make will try to add $(MOD_SUB_DIRS).o to
# modules/MOD_LIST_NAME. We don't have hamradio.o and Linus
# sort of insisted on making hamradio/ a subdirectory of drivers/net/.
+# #FIXME# MOD_LIST_NAME doesn't exist any more -- does this comment
+# #FIXME# still mean anything?
ifeq ($(CONFIG_HAMRADIO),y)
SUB_DIRS += net/hamradio
diff --git a/drivers/acorn/block/Makefile b/drivers/acorn/block/Makefile
index b52bc245f..50171ce47 100644
--- a/drivers/acorn/block/Makefile
+++ b/drivers/acorn/block/Makefile
@@ -10,7 +10,6 @@
#
L_TARGET := acorn-block.a
-MOD_LIST_NAME := ACORN_BLOCK_MODULES
obj-y :=
obj-m :=
diff --git a/drivers/acorn/net/Makefile b/drivers/acorn/net/Makefile
index 095a43cef..8435cabd5 100644
--- a/drivers/acorn/net/Makefile
+++ b/drivers/acorn/net/Makefile
@@ -4,7 +4,6 @@
#
O_TARGET := acorn-net.o
-MOD_LIST_NAME := ACORN_NET_MODULES
obj-y :=
obj-m :=
diff --git a/drivers/acorn/scsi/Makefile b/drivers/acorn/scsi/Makefile
index 35bc69a18..bde60136f 100644
--- a/drivers/acorn/scsi/Makefile
+++ b/drivers/acorn/scsi/Makefile
@@ -3,7 +3,6 @@
#
L_TARGET := acorn-scsi.a
-MOD_LIST_NAME := ACORN_SCSI_MODULES
obj-y :=
obj-m :=
diff --git a/drivers/atm/Makefile b/drivers/atm/Makefile
index b41bc415a..8550b8a84 100644
--- a/drivers/atm/Makefile
+++ b/drivers/atm/Makefile
@@ -6,7 +6,6 @@
O_TARGET := atm.o
O_OBJS := atmdev_init.o
M_OBJS :=
-MOD_LIST_NAME := ATM_MODULES
include ../../.config
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index af03cdf7b..237d7ac64 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -13,8 +13,6 @@ MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS) paride
O_TARGET := block.o
-MOD_LIST_NAME := BLOCK_MODULES
-
export-objs := ll_rw_blk.o blkpg.o loop.o DAC960.o md.o xor.o
list-multi := lvm-mod.o
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index ed52ee2b8..47651b852 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -192,7 +192,7 @@ static int lo_send(struct loop_device *lo, char *data, int len, loff_t pos,
goto fail;
if (aops->prepare_write(file, page, offset, offset+size))
goto unlock;
- kaddr = (char*)page_address(page);
+ kaddr = page_address(page);
if ((lo->transfer)(lo, WRITE, kaddr+offset, data, size, IV))
goto write_fail;
if (aops->commit_write(file, page, offset, offset+size))
diff --git a/drivers/block/paride/Makefile b/drivers/block/paride/Makefile
index 32e856704..9f5293530 100644
--- a/drivers/block/paride/Makefile
+++ b/drivers/block/paride/Makefile
@@ -12,7 +12,6 @@ SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
-MOD_LIST_NAME := PARIDE_MODULES
L_TARGET := paride.a
MX_OBJS :=
LX_OBJS :=
diff --git a/drivers/block/raid1.c b/drivers/block/raid1.c
index 12eb8658f..7027d2dd6 100644
--- a/drivers/block/raid1.c
+++ b/drivers/block/raid1.c
@@ -274,7 +274,7 @@ static int raid1_grow_buffers (raid1_conf_t *conf, int cnt)
}
memset(r1_bh, 0, sizeof(*r1_bh));
r1_bh->bh_req.b_page = page;
- r1_bh->bh_req.b_data = (char *) page_address(page);
+ r1_bh->bh_req.b_data = page_address(page);
r1_bh->next_r1 = conf->freebuf;
conf->freebuf = r1_bh;
i++;
@@ -1428,7 +1428,7 @@ static int raid1_sync_request (mddev_t *mddev, unsigned long block_nr)
BUG();
if (!bh->b_data)
BUG();
- if (bh->b_data != (char *) page_address(bh->b_page))
+ if (bh->b_data != page_address(bh->b_page))
BUG();
bh->b_end_io = end_sync_read;
bh->b_private = r1_bh;
diff --git a/drivers/block/raid5.c b/drivers/block/raid5.c
index 22a66fe2a..a6c7b39e9 100644
--- a/drivers/block/raid5.c
+++ b/drivers/block/raid5.c
@@ -257,7 +257,7 @@ static int grow_raid5_buffers(struct stripe_head *sh, int num, int b_size, int p
memset(bh, 0, sizeof (struct buffer_head));
init_waitqueue_head(&bh->b_wait);
page = alloc_page(priority);
- bh->b_data = (char *) page_address(page);
+ bh->b_data = page_address(page);
if (!bh->b_data) {
kfree(bh);
return 1;
@@ -1671,7 +1671,7 @@ static int __check_consistency (mddev_t *mddev, int row)
tmp = kmalloc(sizeof(*tmp), GFP_KERNEL);
tmp->b_size = 4096;
tmp->b_page = alloc_page(GFP_KERNEL);
- tmp->b_data = (char *)page_address(tmp->b_page);
+ tmp->b_data = page_address(tmp->b_page);
if (!tmp->b_data)
goto out;
md_clear_page(tmp->b_data);
diff --git a/drivers/cdrom/Makefile b/drivers/cdrom/Makefile
index 025b25a7a..225c230e8 100644
--- a/drivers/cdrom/Makefile
+++ b/drivers/cdrom/Makefile
@@ -53,7 +53,6 @@ obj-m := $(filter-out $(obj-y), $(obj-m))
# Translate to Rules.make lists.
L_TARGET := cdrom.a
-MOD_LIST_NAME := CDROM_MODULES
L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y)))
LX_OBJS := $(sort $(filter $(export-objs), $(obj-y)))
diff --git a/drivers/char/bttv-cards.c b/drivers/char/bttv-cards.c
index e4e26c92c..b2c26e35b 100644
--- a/drivers/char/bttv-cards.c
+++ b/drivers/char/bttv-cards.c
@@ -73,11 +73,9 @@ static struct CARD {
{ 0x1123153b, BTTV_TERRATVRADIO, "Terratec TV/Radio+" },
{ 0x1200bd11, BTTV_PINNACLERAVE, "Pinnacle PCTV Rave" },
{ 0x13eb0070, BTTV_HAUPPAUGE878, "Hauppauge WinTV" },
-#if 0 /* probably wrong */
- { 0x14610002, BTTV_AVERMEDIA98, "Avermedia TVCapture 98" },
-#endif
{ 0x18501851, BTTV_CHRONOS_VS2, "Chronos Video Shuttle II" },
{ 0x18521852, BTTV_TYPHOON_TVIEW, "Typhoon TView TV/FM Tuner" },
+ { 0x217d6606, BTTV_WINFAST2000, "Leadtek WinFast TV 2000" },
{ 0x263610b4, BTTV_STB2, "STB TV PCI FM, P/N 6000704" },
{ 0x3000144f, BTTV_MAGICTVIEW063, "TView 99 (CPH063)" },
{ 0x300014ff, BTTV_MAGICTVIEW061, "TView 99 (CPH061)" },
@@ -85,7 +83,10 @@ static struct CARD {
{ 0x300214ff, BTTV_PHOEBE_TVMAS, "Phoebe TV Master" },
{ 0x400a15b0, BTTV_ZOLTRIX_GENIE, "Zoltrix Genie TV" },
{ 0x402010fc, 0 /* no tvcards entry yet */, "I-O Data Co. GV-BCV3/PCI" },
+#if 0 /* probably wrong */
+ { 0x14610002, BTTV_AVERMEDIA98, "Avermedia TVCapture 98" },
{ 0x6606217d, BTTV_WINFAST2000, "Leadtek WinFast TV 2000" },
+#endif
{ 0, -1, NULL }
};
@@ -116,7 +117,7 @@ struct tvcard bttv_tvcards[] =
1,1,1,1,0,0,0,1, PLL_NONE, -1 },
{ "AVerMedia TVPhone",
3, 1, 0, 3,15, { 2, 3, 1, 1}, {12, 4,11,11, 0},0,
- 1,1,1,1,0,0,0,1, PLL_NONE, -1 },
+ 1,1,1,1,0,0,0,1, PLL_28, -1 },
{ "MATRIX-Vision MV-Delta",
5, 1, -1, 3, 0, { 2, 3, 1, 0, 0},{0 }, 0,
1,1,1,1,0,0,0,1, PLL_NONE, -1 },
@@ -218,7 +219,7 @@ struct tvcard bttv_tvcards[] =
1,1,1,1,0,0,0,1, PLL_NONE, -1 },
{ "Leadtek WinFast 2000",
3, 1, 0, 2, 0xfff000, { 2, 3, 1, 1,0},
- { 0x621000,0x620100,0x621100,0x620000,0xE210000,0x620000},0,
+ { 0x621000,0x6ddf07,0x621100,0x620000,0xE210000,0x620000},0,
1,1,1,1,1,0,0,1, PLL_28, -1 },
{ "Chronos Video Shuttle II",
3, 3, 0, 2, 0x1800, { 2, 3, 1, 1}, { 0, 0, 0x1000, 0x1000, 0x0800},0,
@@ -266,7 +267,7 @@ struct tvcard bttv_tvcards[] =
0,0,0,0,0,0,0,0, PLL_28, 5 },
{ "Terratec TV/Radio+", /* Radio ?? */
3, 1, 0, 2, 0x1f0000, { 2, 3, 1, 1},
- { 0xe2ffff, 0, 0, 0, 0xe0ffff, 0xe2ffff },0,
+ { 0xe2ffff, 0xebffff, 0, 0, 0xe0ffff, 0xe2ffff },0,
0,0,0,0,0,0,0,0, PLL_35, 1 },
/* 0x30 */
diff --git a/drivers/char/bttv-driver.c b/drivers/char/bttv-driver.c
index e635755a2..74d4188a2 100644
--- a/drivers/char/bttv-driver.c
+++ b/drivers/char/bttv-driver.c
@@ -132,8 +132,10 @@ static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr)
if (!pmd_none(*pmd)) {
ptep = pte_offset(pmd, adr);
pte = *ptep;
- if(pte_present(pte))
- ret = (page_address(pte_page(pte))|(adr&(PAGE_SIZE-1)));
+ if(pte_present(pte)) {
+ ret = (unsigned long) page_address(pte_page(pte));
+ ret |= (adr & (PAGE_SIZE - 1));
+ }
}
}
MDEBUG(printk("uv2kva(%lx-->%lx)", adr, ret));
@@ -1157,7 +1159,7 @@ static int make_vrisctab_kiobuf(struct bttv *btv, unsigned int *ro,
offset = iobuf->offset;
page = 0;
- pageaddr = virt_to_bus((void*)page_address(iobuf->maplist[page]));
+ pageaddr = virt_to_bus(page_address(iobuf->maplist[page]));
for (line=0; line < (height<<(1^inter)); line++)
{
if (inter)
@@ -1178,13 +1180,13 @@ static int make_vrisctab_kiobuf(struct bttv *btv, unsigned int *ro,
todo -= bl;
offset = 0;
page++;
- pageaddr = virt_to_bus((void*)page_address(iobuf->maplist[page]));
+ pageaddr = virt_to_bus(page_address(iobuf->maplist[page]));
while (todo>PAGE_SIZE)
{
*((*rp)++)=cpu_to_le32(BT848_RISC_WRITE|PAGE_SIZE);
*((*rp)++)=cpu_to_le32(pageaddr);
page++;
- pageaddr = virt_to_bus((void*)page_address(iobuf->maplist[page]));
+ pageaddr = virt_to_bus(page_address(iobuf->maplist[page]));
}
*((*rp)++)=cpu_to_le32(BT848_RISC_WRITE|BT848_RISC_EOL|todo);
*((*rp)++)=cpu_to_le32(pageaddr);
@@ -2112,7 +2114,7 @@ static int bttv_ioctl(struct video_device *dev, unsigned int cmd, void *arg)
iobuf->locked);
printk("bttv%d: hack: pages (bus addr):",btv->nr);
for (i = 0; i < iobuf->nr_pages; i++) {
- printk(" %lx", virt_to_bus((void*)page_address(iobuf->maplist[i])));
+ printk(" %lx", virt_to_bus(page_address(iobuf->maplist[i])));
}
printk("\n");
@@ -3032,7 +3034,7 @@ static void __devinit bttv_remove(struct pci_dev *pci_dev)
struct bttv *btv = PCI_GET_DRIVER_DATA(pci_dev);
/* unregister i2c_bus */
- if (btv->i2c_ok)
+ if (0 == btv->i2c_ok)
i2c_bit_del_bus(&btv->i2c_adap);
/* turn off all capturing, DMA and IRQs */
diff --git a/drivers/char/bttv.h b/drivers/char/bttv.h
index c3d3abcbe..6b35d23e5 100644
--- a/drivers/char/bttv.h
+++ b/drivers/char/bttv.h
@@ -21,7 +21,7 @@
#ifndef _BTTV_H_
#define _BTTV_H_
-#define BTTV_VERSION_CODE KERNEL_VERSION(0,7,37)
+#define BTTV_VERSION_CODE KERNEL_VERSION(0,7,38)
#ifndef PCI_GET_DRIVER_DATA
# define PCI_GET_DRIVER_DATA(pdev) ((pdev)->driver_data)
diff --git a/drivers/char/cpia.c b/drivers/char/cpia.c
index e65b8ec25..c9ec988d1 100644
--- a/drivers/char/cpia.c
+++ b/drivers/char/cpia.c
@@ -199,9 +199,10 @@ static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr)
if (!pmd_none(*pmd)) {
ptep = pte_offset(pmd, adr);
pte = *ptep;
- if (pte_present(pte))
- ret = page_address(pte_page(pte)) |
- (adr & (PAGE_SIZE-1));
+ if (pte_present(pte)) {
+ ret = (unsigned long) page_address(pte_page(pte));
+ ret |= (adr & (PAGE_SIZE-1));
+ }
}
}
return ret;
diff --git a/drivers/char/joystick/Makefile b/drivers/char/joystick/Makefile
index 2ad452618..ae6a42cb8 100644
--- a/drivers/char/joystick/Makefile
+++ b/drivers/char/joystick/Makefile
@@ -14,7 +14,6 @@ ALL_SUB_DIRS := $(SUB_DIRS)
O_TARGET := js.o
M_OBJS :=
O_OBJS :=
-#MOD_LIST_NAME := INPUT_MODULES
# Objects that export symbols.
diff --git a/drivers/char/msp3400.c b/drivers/char/msp3400.c
index b8390c520..2d2b1e89c 100644
--- a/drivers/char/msp3400.c
+++ b/drivers/char/msp3400.c
@@ -1168,7 +1168,8 @@ static int msp_attach(struct i2c_adapter *adap, int addr,
if (simple == -1) {
/* default mode */
- msp->simple = (((rev2>>8)&0xff) == 0) ? 0 : 1;
+ /* msp->simple = (((rev2>>8)&0xff) == 0) ? 0 : 1; */
+ msp->simple = ((rev1&0xff)+'@' > 'C');
} else {
/* use insmod option */
msp->simple = simple;
diff --git a/drivers/char/pcmcia/Makefile b/drivers/char/pcmcia/Makefile
index 198500763..a83e1f913 100644
--- a/drivers/char/pcmcia/Makefile
+++ b/drivers/char/pcmcia/Makefile
@@ -9,7 +9,6 @@ MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
O_TARGET := pcmcia_char.o
-MOD_LIST_NAME := PCMCIA_CHAR_MODULES
obj-y :=
obj-m :=
diff --git a/drivers/char/tda9875.c b/drivers/char/tda9875.c
index da3ceebfe..9f6ecd332 100644
--- a/drivers/char/tda9875.c
+++ b/drivers/char/tda9875.c
@@ -5,7 +5,7 @@
* This driver will not complain if used with any
* other i2c device with the same address.
*
- * Copyright (c) 2000 Guillamue Delvit based on Gerd Knorr source and
+ * Copyright (c) 2000 Guillaume Delvit based on Gerd Knorr source and
* Eric Sandeen
* This code is placed under the terms of the GNU General Public License
* Based on tda9855.c by Steve VanDeBogart (vandebo@uclink.berkeley.edu)
@@ -121,7 +121,7 @@ static struct i2c_client client_template;
/* Begin code */
-static int tda9875_write(struct i2c_client *client, int subaddr, int val)
+static int tda9875_write(struct i2c_client *client, int subaddr, unsigned char val)
{
unsigned char buffer[2];
dprintk("In tda9875_write\n");
@@ -153,12 +153,19 @@ static int tda9875_read(struct i2c_client *client)
static void tda9875_set(struct i2c_client *client)
{
struct tda9875 *tda = client->data;
-
+ unsigned char a;
+
dprintk(KERN_DEBUG "tda9875_set(%04x,%04x,%04x,%04x)\n",tda->lvol,tda->rvol,tda->bass,tda->treble);
- tda9875_write(client, TDA9875_MVL, tda->lvol / 600 - 84);
- tda9875_write(client, TDA9875_MVR, tda->rvol / 600 -84);
- tda9875_write(client, TDA9875_MBA, tda->bass / 2340 -12);
- tda9875_write(client, TDA9875_MTR, tda->treble / 2621 -12);
+
+
+ a = tda->lvol & 0xff;
+ tda9875_write(client, TDA9875_MVL, a);
+ a =tda->rvol & 0xff;
+ tda9875_write(client, TDA9875_MVR, a);
+ a =tda->bass & 0xff;
+ tda9875_write(client, TDA9875_MBA, a);
+ a =tda->treble & 0xff;
+ tda9875_write(client, TDA9875_MTR, a);
}
static void do_tda9875_init(struct i2c_client *client)
@@ -198,10 +205,10 @@ static void do_tda9875_init(struct i2c_client *client)
tda9875_write(client, TDA9875_MUT, 0xcc ); /* General mute */
- t->mode=AUDIO_MUTE;
- t->lvol=t->rvol =51000; /* 0dB */
- t->bass=30420; /* 0dB */
- t->treble=34073; /* 0dB */
+ t->mode=AUDIO_UNMUTE;
+ t->lvol=t->rvol =0; /* 0dB */
+ t->bass=0; /* 0dB */
+ t->treble=0; /* 0dB */
tda9875_set(client);
}
@@ -280,15 +287,15 @@ static int tda9875_command(struct i2c_client *client,
VIDEO_AUDIO_TREBLE;
/* min is -84 max is 24 */
- left = (t->lvol+85)*600;
- right = (t->rvol+85)*600;
+ left = (t->lvol+84)*606;
+ right = (t->rvol+84)*606;
va->volume=MAX(left,right);
va->balance=(32768*MIN(left,right))/
(va->volume ? va->volume : 1);
va->balance=(left<right)?
(65535-va->balance) : va->balance;
- va->bass = (t->bass+13)*2340; /* min -12 max +15 */
- va->treble = (t->treble+13)*2621;/* min -12 max +12 */
+ va->bass = (t->bass+12)*2427; /* min -12 max +15 */
+ va->treble = (t->treble+12)*2730;/* min -12 max +12 */
va->mode |= VIDEO_SOUND_MONO;
@@ -306,11 +313,36 @@ static int tda9875_command(struct i2c_client *client,
va->volume) / 32768;
right = (MIN(va->balance,32768) *
va->volume) / 32768;
- t->lvol = left/600-84;
- t->rvol = right/600-84;
- t->bass = va->bass/2340-12;
- t->treble = va->treble/2621-12;
- tda9875_set(client);
+ t->lvol = ((left/606)-84) & 0xff;
+ if (t->lvol > 24)
+ t->lvol = 24;
+ if (t->lvol < -84)
+ t->lvol = -84 & 0xff;
+
+ t->rvol = ((right/606)-84) & 0xff;
+ if (t->rvol > 24)
+ t->rvol = 24;
+ if (t->rvol < -84)
+ t->rvol = -84 & 0xff;
+
+ t->bass = ((va->bass/2400)-12) & 0xff;
+ if (t->bass > 15)
+ t->bass = 15;
+ if (t->bass < -12)
+ t->bass = -12 & 0xff;
+
+ t->treble = ((va->treble/2700)-12) & 0xff;
+ if (t->treble > 12)
+ t->treble = 12;
+ if (t->treble < -12)
+ t->treble = -12 & 0xff;
+
+
+
+//printk("tda9875 bal:%04x vol:%04x bass:%04x treble:%04x\n",va->balance,va->volume,va->bass,va->treble);
+
+
+ tda9875_set(client);
break;
diff --git a/drivers/fc4/Makefile b/drivers/fc4/Makefile
index 7b88ecc14..bd636f769 100644
--- a/drivers/fc4/Makefile
+++ b/drivers/fc4/Makefile
@@ -5,7 +5,6 @@
L_TARGET := fc4.a
M_OBJS :=
-MOD_LIST_NAME := FC4_MODULES
ifeq ($(CONFIG_FC4),y)
FC4 = fc.o
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index 0d4c186a9..ab140ee2a 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -2,7 +2,6 @@
# Makefile for the kernel i2c bus driver.
#
-MOD_LIST_NAME := I2C_MODULES
O_TARGET := i2c.o
export-objs := i2c-core.o i2c-algo-bit.o i2c-algo-pcf.o
diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile
index 2ffc5855e..cc8d4e870 100644
--- a/drivers/ide/Makefile
+++ b/drivers/ide/Makefile
@@ -21,7 +21,6 @@ ALL_SUB_DIRS := $(SUB_DIRS)
O_TARGET := idedriver.o
O_OBJS := ide-geometry.o
M_OBJS :=
-MOD_LIST_NAME := IDE_MODULES
OX_OBJS :=
MX_OBJS :=
diff --git a/drivers/ide/ide-geometry.c b/drivers/ide/ide-geometry.c
index 639d4c6f1..6cf3f511f 100644
--- a/drivers/ide/ide-geometry.c
+++ b/drivers/ide/ide-geometry.c
@@ -2,15 +2,9 @@
* linux/drivers/ide/ide-geometry.c
*/
#include <linux/config.h>
-
-#if defined(CONFIG_IDE) && !defined(CONFIG_BLK_DEV_HD_ONLY)
#include <linux/ide.h>
-
#include <asm/io.h>
-extern ide_drive_t * get_info_ptr(kdev_t);
-extern unsigned long current_capacity (ide_drive_t *);
-
/*
* We query CMOS about hard disks : it could be that we have a SCSI/ESDI/etc
* controller that is BIOS compatible with ST-506, and thus showing up in our
@@ -42,7 +36,7 @@ extern unsigned long current_capacity (ide_drive_t *);
* The code below is bad. One of the problems is that drives 1 and 2
* may be SCSI disks (even when IDE disks are present), so that
* the geometry we read here from BIOS is attributed to the wrong disks.
- * Consequently, also the "drive->present = 1" below is a mistake.
+ * Consequently, also the former "drive->present = 1" below was a mistake.
*
* Eventually the entire routine below should be removed.
*/
@@ -74,7 +68,8 @@ void probe_cmos_for_drives (ide_hwif_t *hwif)
drive->sect = drive->bios_sect = sect;
drive->ctl = *(BIOS+8);
} else {
- printk("hd%d: C/H/S=%d/%d/%d from BIOS ignored\n", unit, cyl, head, sect);
+ printk("hd%d: C/H/S=%d/%d/%d from BIOS ignored\n",
+ unit, cyl, head, sect);
}
}
@@ -84,6 +79,11 @@ void probe_cmos_for_drives (ide_hwif_t *hwif)
}
+#ifdef CONFIG_BLK_DEV_IDE
+
+extern ide_drive_t * get_info_ptr(kdev_t);
+extern unsigned long current_capacity (ide_drive_t *);
+
/*
* If heads is nonzero: find a translation with this many heads and S=63.
* Otherwise: find out how OnTrack Disk Manager would translate the disk.
@@ -211,4 +211,4 @@ int ide_xlate_1024 (kdev_t i_rdev, int xparm, int ptheads, const char *msg)
drive->bios_cyl, drive->bios_head, drive->bios_sect);
return ret;
}
-#endif /* (CONFIG_IDE) && !(CONFIG_BLK_DEV_HD_ONLY) */
+#endif /* CONFIG_BLK_DEV_IDE */
diff --git a/drivers/ieee1394/Makefile b/drivers/ieee1394/Makefile
index cc6b40ee4..ac8edfd75 100644
--- a/drivers/ieee1394/Makefile
+++ b/drivers/ieee1394/Makefile
@@ -12,8 +12,6 @@ SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
-MOD_LIST_NAME := IEEE1394_MODULES
-
L_TARGET := ieee1394.a
L_OBJS :=
LX_OBJS :=
diff --git a/drivers/ieee1394/video1394.c b/drivers/ieee1394/video1394.c
index 9afbb58ec..b42ce0b46 100644
--- a/drivers/ieee1394/video1394.c
+++ b/drivers/ieee1394/video1394.c
@@ -144,7 +144,7 @@ static struct video_template video_tmpl = { irq_handler };
*/
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
-#define page_address(x) (x)
+#define page_address(x) ((void *) (x))
#endif
/* Given PGD from the address space's page table, return the kernel
@@ -161,9 +161,10 @@ static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr)
if (!pmd_none(*pmd)) {
ptep = pte_offset(pmd, adr);
pte = *ptep;
- if(pte_present(pte))
- ret = (page_address(pte_page(pte))|
- (adr&(PAGE_SIZE-1)));
+ if(pte_present(pte)) {
+ ret = (unsigned long) page_address(pte_page(pte));
+ ret |= (adr & (PAGE_SIZE - 1));
+ }
}
}
MDEBUG(printk("uv2kva(%lx-->%lx)", adr, ret));
diff --git a/drivers/isdn/hisax/amd7930.c b/drivers/isdn/hisax/amd7930.c
index 2770aa65e..d4fb0452a 100644
--- a/drivers/isdn/hisax/amd7930.c
+++ b/drivers/isdn/hisax/amd7930.c
@@ -1,25 +1,9 @@
-/* $Id: amd7930.c,v 1.3 1999/07/12 21:04:52 keil Exp $
+/* $Id: amd7930.c,v 1.4 2000/06/26 08:59:12 keil Exp $
*
* HiSax ISDN driver - chip specific routines for AMD 7930
*
* Author Brent Baccala (baccala@FreeSoft.org)
*
- *
- *
- * $Log: amd7930.c,v $
- * Revision 1.3 1999/07/12 21:04:52 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.2 1998/02/12 23:07:10 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.1 1998/02/03 23:20:51 keil
- * New files for SPARC isdn support
- *
- * Revision 1.1 1998/01/08 04:17:12 baccala
- * ISDN comes to the Sparc. Key points:
- *
* - Existing ISDN HiSax driver provides all the smarts
* - it compiles, runs, talks to an isolated phone switch, connects
* to a Cisco, pings go through
@@ -30,6 +14,7 @@
*
* The code is unreliable enough to be consider alpha
*
+ * This file is (c) under GNU PUBLIC LICENSE
*
* Advanced Micro Devices' Am79C30A is an ISDN/audio chip used in the
* SparcStation 1+. The chip provides microphone and speaker interfaces
@@ -109,7 +94,7 @@
#include "rawhdlc.h"
#include <linux/interrupt.h>
-static const char *amd7930_revision = "$Revision: 1.3 $";
+static const char *amd7930_revision = "$Revision: 1.4 $";
#define RCV_BUFSIZE 1024 /* Size of raw receive buffer in bytes */
#define RCV_BUFBLKS 4 /* Number of blocks to divide buffer into
diff --git a/drivers/isdn/hisax/arcofi.c b/drivers/isdn/hisax/arcofi.c
index 5b3f3aadb..7708afdb6 100644
--- a/drivers/isdn/hisax/arcofi.c
+++ b/drivers/isdn/hisax/arcofi.c
@@ -1,43 +1,10 @@
-/* $Id: arcofi.c,v 1.10 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: arcofi.c,v 1.11 2000/06/26 08:59:12 keil Exp $
+ *
* arcofi.c Ansteuerung ARCOFI 2165
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- *
- * $Log: arcofi.c,v $
- * Revision 1.10 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.9 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.8 1999/08/25 16:50:51 keil
- * Fix bugs which cause 2.3.14 hangs (waitqueue init)
- *
- * Revision 1.7 1999/07/01 08:11:17 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.6 1998/09/30 22:21:56 keil
- * cosmetics
- *
- * Revision 1.5 1998/09/27 12:52:57 keil
- * cosmetics
- *
- * Revision 1.4 1998/08/20 13:50:24 keil
- * More support for hybrid modem (not working yet)
- *
- * Revision 1.3 1998/05/25 12:57:38 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.2 1998/04/15 16:47:16 keil
- * new interface
- *
- * Revision 1.1 1997/10/29 18:51:20 keil
- * New files
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/arcofi.h b/drivers/isdn/hisax/arcofi.h
index 7d1c445e5..d80157146 100644
--- a/drivers/isdn/hisax/arcofi.h
+++ b/drivers/isdn/hisax/arcofi.h
@@ -1,27 +1,10 @@
-/* $Id: arcofi.h,v 1.5 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: arcofi.h,v 1.6 2000/06/26 08:59:12 keil Exp $
+ *
* arcofi.h Ansteuerung ARCOFI 2165
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- *
- * $Log: arcofi.h,v $
- * Revision 1.5 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.4 1999/07/01 08:11:18 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.3 1998/05/25 12:57:39 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.2 1998/04/15 16:47:17 keil
- * new interface
- *
- * Revision 1.1 1997/10/29 18:51:20 keil
- * New files
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/asuscom.c b/drivers/isdn/hisax/asuscom.c
index 98c9736b6..b86f5db6a 100644
--- a/drivers/isdn/hisax/asuscom.c
+++ b/drivers/isdn/hisax/asuscom.c
@@ -1,39 +1,12 @@
-/* $Id: asuscom.c,v 1.9 1999/12/19 13:09:41 keil Exp $
-
+/* $Id: asuscom.c,v 1.10 2000/06/26 08:59:12 keil Exp $
+ *
* asuscom.c low level stuff for ASUSCOM NETWORK INC. ISDNLink cards
*
* Author Karsten Keil (keil@isdn4linux.de)
*
* Thanks to ASUSCOM NETWORK INC. Taiwan and Dynalink NL for informations
*
- *
- * $Log: asuscom.c,v $
- * Revision 1.9 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.8 1999/09/04 06:20:05 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.7 1999/07/12 21:04:53 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.6 1999/07/01 08:11:18 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.5 1998/11/15 23:54:19 keil
- * changes from 2.0
- *
- * Revision 1.4 1998/06/18 23:18:20 keil
- * Support for new IPAC card
- *
- * Revision 1.3 1998/04/15 16:46:53 keil
- * new init code
- *
- * Revision 1.2 1998/02/02 13:27:06 keil
- * New
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -46,7 +19,7 @@
extern const char *CardType[];
-const char *Asuscom_revision = "$Revision: 1.9 $";
+const char *Asuscom_revision = "$Revision: 1.10 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/avm_a1.c b/drivers/isdn/hisax/avm_a1.c
index 55df36f0f..cc3ce4490 100644
--- a/drivers/isdn/hisax/avm_a1.c
+++ b/drivers/isdn/hisax/avm_a1.c
@@ -1,66 +1,10 @@
-/* $Id: avm_a1.c,v 2.11 1999/07/12 21:04:54 keil Exp $
-
+/* $Id: avm_a1.c,v 2.12 2000/06/26 08:59:12 keil Exp $
+ *
* avm_a1.c low level stuff for AVM A1 (Fritz) isdn cards
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: avm_a1.c,v $
- * Revision 2.11 1999/07/12 21:04:54 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.10 1998/11/15 23:54:21 keil
- * changes from 2.0
- *
- * Revision 2.9 1998/08/13 23:36:12 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.8 1998/04/15 16:44:27 keil
- * new init code
- *
- * Revision 2.7 1998/02/02 13:29:37 keil
- * fast io
- *
- * Revision 2.6 1998/01/13 23:09:46 keil
- * really disable timer
- *
- * Revision 2.5 1998/01/02 06:50:29 calle
- * Perodic timer of A1 now disabled, no need for linux driver.
- *
- * Revision 2.4 1997/11/08 21:35:42 keil
- * new l1 init
- *
- * Revision 2.3 1997/11/06 17:13:32 keil
- * New 2.1 init code
- *
- * Revision 2.2 1997/10/29 18:55:48 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 2.1 1997/07/27 21:47:13 keil
- * new interface structures
- *
- * Revision 2.0 1997/06/26 11:02:48 keil
- * New Layer and card interface
- *
- * Revision 1.6 1997/04/13 19:54:07 keil
- * Change in IRQ check delay for SMP
- *
- * Revision 1.5 1997/04/06 22:54:10 keil
- * Using SKB's
- *
- * Revision 1.4 1997/01/27 15:50:21 keil
- * SMP proof,cosmetics
- *
- * Revision 1.3 1997/01/21 22:14:20 keil
- * cleanups
- *
- * Revision 1.2 1996/10/27 22:07:31 keil
- * cosmetic changes
- *
- * Revision 1.1 1996/10/13 20:04:49 keil
- * Initial revision
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
@@ -70,7 +14,7 @@
#include "isdnl1.h"
extern const char *CardType[];
-static const char *avm_revision = "$Revision: 2.11 $";
+static const char *avm_revision = "$Revision: 2.12 $";
#define AVM_A1_STAT_ISAC 0x01
#define AVM_A1_STAT_HSCX 0x02
diff --git a/drivers/isdn/hisax/avm_a1p.c b/drivers/isdn/hisax/avm_a1p.c
index 76382c372..a9a132b98 100644
--- a/drivers/isdn/hisax/avm_a1p.c
+++ b/drivers/isdn/hisax/avm_a1p.c
@@ -1,4 +1,4 @@
-/* $Id: avm_a1p.c,v 2.5 1999/09/01 08:26:34 calle Exp $
+/* $Id: avm_a1p.c,v 2.6 2000/06/26 08:59:12 keil Exp $
*
* avm_a1p.c low level stuff for the following AVM cards:
* A1 PCMCIA
@@ -7,29 +7,7 @@
*
* Author Carsten Paeth (calle@calle.in-berlin.de)
*
- * $Log: avm_a1p.c,v $
- * Revision 2.5 1999/09/01 08:26:34 calle
- * Patch from Daniel Beichl <dani@ecomag.net> to make A1 PCMCIA work again.
- *
- * Revision 2.4 1999/07/12 21:04:55 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.3 1998/11/15 23:54:22 keil
- * changes from 2.0
- *
- * Revision 2.2 1998/08/13 23:36:13 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.1 1998/07/15 15:01:23 calle
- * Support for AVM passive PCMCIA cards:
- * A1 PCMCIA, FRITZ!Card PCMCIA and FRITZ!Card PCMCIA 2.0
- *
- * Revision 1.1.2.1 1998/07/15 14:43:26 calle
- * Support for AVM passive PCMCIA cards:
- * A1 PCMCIA, FRITZ!Card PCMCIA and FRITZ!Card PCMCIA 2.0
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*/
#define __NO_VERSION__
#include "hisax.h"
@@ -74,7 +52,7 @@
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-static const char *avm_revision = "$Revision: 2.5 $";
+static const char *avm_revision = "$Revision: 2.6 $";
static inline u_char
ReadISAC(struct IsdnCardState *cs, u_char offset)
diff --git a/drivers/isdn/hisax/avm_pci.c b/drivers/isdn/hisax/avm_pci.c
index 5af207b5e..dabb179b5 100644
--- a/drivers/isdn/hisax/avm_pci.c
+++ b/drivers/isdn/hisax/avm_pci.c
@@ -1,60 +1,11 @@
-/* $Id: avm_pci.c,v 1.15 2000/02/26 00:35:12 keil Exp $
-
+/* $Id: avm_pci.c,v 1.17 2000/06/26 08:59:12 keil Exp $
+ *
* avm_pci.c low level stuff for AVM Fritz!PCI and ISA PnP isdn cards
* Thanks to AVM, Berlin for informations
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: avm_pci.c,v $
- * Revision 1.15 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.14 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.13 1999/12/03 12:10:14 keil
- * Bugfix: Wrong channel use on hangup of channel 2
- *
- * Revision 1.12 1999/09/04 06:20:05 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.11 1999/08/11 21:01:18 keil
- * new PCI codefix
- *
- * Revision 1.10 1999/08/10 16:01:44 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.9 1999/07/12 21:04:57 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.8 1999/07/01 08:11:19 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.7 1999/02/22 18:26:30 keil
- * Argh ! ISAC address was only set with PCI
- *
- * Revision 1.6 1998/11/27 19:59:28 keil
- * set subtype for Fritz!PCI
- *
- * Revision 1.5 1998/11/27 12:56:45 keil
- * forgot to update setup function name
- *
- * Revision 1.4 1998/11/15 23:53:19 keil
- * Fritz!PnP; changes from 2.0
- *
- * Revision 1.3 1998/09/27 23:53:39 keil
- * Fix error handling
- *
- * Revision 1.2 1998/09/27 12:54:55 keil
- * bcs assign was lost in setstack, very bad results
- *
- * Revision 1.1 1998/08/20 13:47:30 keil
- * first version
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
diff --git a/drivers/isdn/hisax/bkm_a4t.c b/drivers/isdn/hisax/bkm_a4t.c
index 6221cc197..17e3a19a7 100644
--- a/drivers/isdn/hisax/bkm_a4t.c
+++ b/drivers/isdn/hisax/bkm_a4t.c
@@ -1,4 +1,4 @@
-/* $Id: bkm_a4t.c,v 1.9 1999/12/19 13:09:41 keil Exp $
+/* $Id: bkm_a4t.c,v 1.11 2000/06/26 08:59:12 keil Exp $
* bkm_a4t.c low level stuff for T-Berkom A4T
* derived from the original file sedlbauer.c
* derived from the original file niccy.c
@@ -6,36 +6,7 @@
*
* Author Roland Klabunde (R.Klabunde@Berkom.de)
*
- * $Log: bkm_a4t.c,v $
- * Revision 1.9 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.8 1999/09/04 06:20:05 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.7 1999/08/22 20:26:55 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.6 1999/08/11 21:01:22 keil
- * new PCI codefix
- *
- * Revision 1.5 1999/08/10 16:01:46 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.4 1999/07/14 11:43:14 keil
- * correct PCI_SUBSYSTEM_VENDOR_ID
- *
- * Revision 1.3 1999/07/12 21:04:58 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.2 1999/07/01 08:07:53 keil
- * Initial version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c
index 8ec2e9a08..61e0bde3c 100644
--- a/drivers/isdn/hisax/bkm_a8.c
+++ b/drivers/isdn/hisax/bkm_a8.c
@@ -1,4 +1,4 @@
-/* $Id: bkm_a8.c,v 1.9 1999/12/19 13:09:41 keil Exp $
+/* $Id: bkm_a8.c,v 1.12 2000/06/26 08:59:12 keil Exp $
* bkm_a8.c low level stuff for Scitel Quadro (4*S0, passive)
* derived from the original file sedlbauer.c
* derived from the original file niccy.c
@@ -6,36 +6,7 @@
*
* Author Roland Klabunde (R.Klabunde@Berkom.de)
*
- * $Log: bkm_a8.c,v $
- * Revision 1.9 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.8 1999/09/04 06:20:05 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.7 1999/08/22 20:26:58 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.6 1999/08/11 21:01:24 keil
- * new PCI codefix
- *
- * Revision 1.5 1999/08/10 16:01:48 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.4 1999/07/14 11:43:15 keil
- * correct PCI_SUBSYSTEM_VENDOR_ID
- *
- * Revision 1.3 1999/07/12 21:04:59 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.2 1999/07/01 08:07:54 keil
- * Initial version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
diff --git a/drivers/isdn/hisax/bkm_ax.h b/drivers/isdn/hisax/bkm_ax.h
index e2d5fa70e..418c4bd47 100644
--- a/drivers/isdn/hisax/bkm_ax.h
+++ b/drivers/isdn/hisax/bkm_ax.h
@@ -1,13 +1,9 @@
-/* $Id: bkm_ax.h,v 1.2 1999/07/01 08:07:55 keil Exp $
+/* $Id: bkm_ax.h,v 1.4 2000/06/26 08:59:12 keil Exp $
* bkm_ax.h low level decls for T-Berkom cards A4T and Scitel Quadro (4*S0, passive)
*
* Author Roland Klabunde (R.Klabunde@Berkom.de)
*
- * $Log: bkm_ax.h,v $
- * Revision 1.2 1999/07/01 08:07:55 keil
- * Initial version
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/callc.c b/drivers/isdn/hisax/callc.c
index 7c5163f82..f4f61d850 100644
--- a/drivers/isdn/hisax/callc.c
+++ b/drivers/isdn/hisax/callc.c
@@ -1,5 +1,5 @@
-/* $Id: callc.c,v 2.41 2000/03/17 07:07:42 kai Exp $
-
+/* $Id: callc.c,v 2.47 2000/06/26 08:59:12 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
* based on the teles driver from Jan den Ouden
*
@@ -10,156 +10,6 @@
* Thanks to Jan den Ouden
* Fritz Elfert
*
- * $Log: callc.c,v $
- * Revision 2.41 2000/03/17 07:07:42 kai
- * fixed oops when dialing out without l3 protocol selected
- *
- * Revision 2.40 1999/12/19 12:59:56 keil
- * fix leased line handling
- * and cosmetics
- *
- * Revision 2.39 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 2.38 1999/10/11 22:16:27 keil
- * Suspend/Resume is possible without explicit ID too
- *
- * Revision 2.37 1999/09/20 19:49:47 keil
- * Fix wrong init of PStack
- *
- * Revision 2.36 1999/09/20 12:13:13 keil
- * Fix hang if no protocol was selected
- *
- * Revision 2.35 1999/09/04 06:20:05 keil
- * Changes from kernel set_current_state()
- *
- * Revision 2.34 1999/08/25 20:02:34 werner
- * Changed return values for stat_icall(w) from 3->4 and 4->5 because of conflicts
- * with existing software definitions. (PtP incomplete called party number)
- *
- * Revision 2.33 1999/08/25 17:00:09 keil
- * Make ISAR V32bis modem running
- * Make LL->HL interface open for additional commands
- *
- * Revision 2.32 1999/08/22 20:27:01 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 2.31 1999/08/05 20:43:10 keil
- * ISAR analog modem support
- *
- * Revision 2.30 1999/07/25 16:24:04 keil
- * Fixed TEI now working again
- *
- * Revision 2.29 1999/07/13 21:05:41 werner
- * Modified set_channel_limit to use new callback ISDN_STAT_DISCH.
- *
- * Revision 2.28 1999/07/09 08:30:02 keil
- * cosmetics
- *
- * Revision 2.27 1999/07/05 23:51:38 werner
- * Allow limiting of available HiSax B-chans per card. Controlled by hisaxctrl
- * hisaxctrl id 10 <nr. of chans 0-2>
- *
- * Revision 2.26 1999/07/01 08:11:21 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.25 1999/01/02 11:17:20 keil
- * Changes for 2.2
- *
- * Revision 2.24 1998/11/15 23:54:24 keil
- * changes from 2.0
- *
- * Revision 2.23 1998/09/30 22:21:57 keil
- * cosmetics
- *
- * Revision 2.22 1998/08/20 13:50:29 keil
- * More support for hybrid modem (not working yet)
- *
- * Revision 2.21 1998/08/13 23:36:15 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.20 1998/06/26 15:13:05 fritz
- * Added handling of STAT_ICALL with incomplete CPN.
- * Added AT&L for ttyI emulator.
- * Added more locking stuff in tty_write.
- *
- * Revision 2.19 1998/05/25 14:08:06 keil
- * HiSax 3.0
- * fixed X.75 and leased line to work again
- * Point2Point and fixed TEI are runtime options now:
- * hisaxctrl <id> 7 1 set PTP
- * hisaxctrl <id> 8 <TEIVALUE *2 >
- * set fixed TEI to TEIVALUE (0-63)
- *
- * Revision 2.18 1998/05/25 12:57:40 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.17 1998/04/15 16:46:06 keil
- * RESUME support
- *
- * Revision 2.16 1998/04/10 10:35:17 paul
- * fixed (silly?) warnings from egcs on Alpha.
- *
- * Revision 2.15 1998/03/19 13:18:37 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 2.14 1998/03/07 22:56:54 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 2.13 1998/02/12 23:07:16 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.12 1998/02/09 10:55:54 keil
- * New leased line mode
- *
- * Revision 2.11 1998/02/02 13:35:19 keil
- * config B-channel delay
- *
- * Revision 2.10 1997/11/06 17:09:15 keil
- * New 2.1 init code
- *
- * Revision 2.9 1997/10/29 19:01:58 keil
- * new LL interface
- *
- * Revision 2.8 1997/10/10 20:56:44 fritz
- * New HL interface.
- *
- * Revision 2.7 1997/10/01 09:21:28 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 2.6 1997/09/11 17:26:58 keil
- * Open B-channel if here are incomming packets
- *
- * Revision 2.5 1997/08/07 17:46:05 keil
- * Fix Incomming Call without broadcast
- *
- * Revision 2.4 1997/08/03 14:37:58 keil
- * Activate Layer2 in PtP mode
- *
- * Revision 2.3 1997/07/31 19:23:40 keil
- * LAYER2_WATCHING for PtP
- *
- * Revision 2.2 1997/07/31 11:48:18 keil
- * experimental REJECT after ALERTING
- *
- * Revision 2.1 1997/07/30 17:12:59 keil
- * more changes for 'One TEI per card'
- *
- * Revision 2.0 1997/07/27 21:12:21 keil
- * CRef based L3; new channel handling; many other stuff
- *
- * Revision 1.31 1997/06/26 11:09:23 keil
- * New managment and minor changes
- *
- * old logs removed /KKe
- *
*/
#define __NO_VERSION__
@@ -170,7 +20,7 @@
#define MOD_USE_COUNT ( GET_USE_COUNT (&__this_module))
#endif /* MODULE */
-const char *lli_revision = "$Revision: 2.41 $";
+const char *lli_revision = "$Revision: 2.47 $";
extern struct IsdnCard cards[];
extern int nrcards;
diff --git a/drivers/isdn/hisax/cert.c b/drivers/isdn/hisax/cert.c
index 03f416d5b..bf0c6465d 100644
--- a/drivers/isdn/hisax/cert.c
+++ b/drivers/isdn/hisax/cert.c
@@ -1,22 +1,11 @@
-/* $Id: cert.c,v 2.2 1999/08/07 17:35:05 keil Exp $
-
+/* $Id: cert.c,v 2.3 2000/06/26 08:59:12 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
*
* This file is (c) under GNU PUBLIC LICENSE
* For changes and modifications please read
* ../../../Documentation/isdn/HiSax.cert
*
- * $Log: cert.c,v $
- * Revision 2.2 1999/08/07 17:35:05 keil
- * approval for Eicon Technology Diva 2.01 PCI
- *
- * Revision 2.1 1998/11/15 23:51:15 keil
- * certification stuff
- *
- * Revision 1.2.2.1 1998/11/03 21:46:37 keil
- * first version
- *
- *
*/
#include <linux/kernel.h>
diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c
index 377819551..cda0fe872 100644
--- a/drivers/isdn/hisax/config.c
+++ b/drivers/isdn/hisax/config.c
@@ -1,161 +1,9 @@
-/* $Id: config.c,v 2.44 2000/02/26 00:35:12 keil Exp $
-
+/* $Id: config.c,v 2.50 2000/07/04 10:24:32 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
* based on the teles driver from Jan den Ouden
*
- *
- * $Log: config.c,v $
- * Revision 2.44 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 2.43 2000/01/20 19:49:36 keil
- * Support teles 13.3c vendor version 2.1
- *
- * Revision 2.42 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 2.41 1999/11/18 00:00:43 werner
- *
- * Added support for HFC-S+ and HFC-SP cards
- *
- * Revision 2.40 1999/10/30 13:09:45 keil
- * Version 3.3c
- *
- * Revision 2.39 1999/10/16 14:44:45 keil
- * Fix module parm if only NICCY was selected
- *
- * Revision 2.38 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 2.37 1999/09/20 12:11:08 keil
- * Fix hang if no protocol was selected
- *
- * Revision 2.36 1999/09/07 05:43:58 werner
- *
- * Added io as parameter 0 for HFC-PCI cards, if manual selection needed.
- *
- * Revision 2.35 1999/09/04 06:35:09 keil
- * Winbond W6692 support
- *
- * Revision 2.34 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 2.33 1999/08/30 11:57:52 keil
- * Fix broken avm pcmcia
- *
- * Revision 2.32 1999/08/28 22:11:10 keil
- * __setup function should be static
- *
- * Revision 2.31 1999/08/25 16:47:43 keil
- * Support new __setup; allow to add FEATURES after register_isdn
- *
- * Revision 2.30 1999/08/05 20:43:14 keil
- * ISAR analog modem support
- *
- * Revision 2.29 1999/07/21 14:46:00 keil
- * changes from EICON certification
- *
- * Revision 2.28 1999/07/14 12:38:36 werner
- * Added changes for echo channel handling
- *
- * Revision 2.27 1999/07/12 21:05:00 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.26 1999/07/08 21:27:17 keil
- * version 3.2
- *
- * Revision 2.25 1999/07/05 23:51:44 werner
- * Allow limiting of available HiSax B-chans per card. Controlled by hisaxctrl
- * hisaxctrl id 10 <nr. of chans 0-2>
- *
- * Revision 2.24 1999/07/01 08:11:26 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.23 1999/02/17 10:53:02 cpetig
- * Added Hisax_closecard to exported symbols.
- * As indicated by Oliver Schoett <os@sdm.de>.
- *
- * If anyone is annoyed by exporting symbols deep inside the code, please
- * contact me.
- *
- * Revision 2.22 1999/02/04 21:41:53 keil
- * Fix printk msg
- *
- * Revision 2.21 1999/02/04 10:48:52 keil
- * Fix readstat bug
- *
- * Revision 2.20 1998/11/15 23:54:28 keil
- * changes from 2.0
- *
- * Revision 2.19 1998/08/13 23:36:18 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.18 1998/07/30 21:01:37 niemann
- * Fixed Sedlbauer Speed Fax PCMCIA missing isdnl3new
- *
- * Revision 2.17 1998/07/15 15:01:26 calle
- * Support for AVM passive PCMCIA cards:
- * A1 PCMCIA, FRITZ!Card PCMCIA and FRITZ!Card PCMCIA 2.0
- *
- * Revision 2.16 1998/05/25 14:10:03 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.15 1998/05/25 12:57:43 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.14 1998/04/15 16:38:25 keil
- * Add S0Box and Teles PCI support
- *
- * Revision 2.13 1998/03/09 23:19:23 keil
- * Changes for PCMCIA
- *
- * Revision 2.12 1998/02/11 17:28:02 keil
- * Niccy PnP/PCI support
- *
- * Revision 2.11 1998/02/09 21:26:13 keil
- * fix export module for 2.1
- *
- * Revision 2.10 1998/02/09 18:46:05 keil
- * Support for Sedlbauer PCMCIA (Marcus Niemann)
- *
- * Revision 2.9 1998/02/03 23:31:28 keil
- * add AMD7930 support
- *
- * Revision 2.8 1998/02/02 13:32:59 keil
- * New card support
- *
- * Revision 2.7 1998/01/31 21:41:44 keil
- * changes for newer 2.1 kernels
- *
- * Revision 2.6 1997/11/08 21:35:43 keil
- * new l1 init
- *
- * Revision 2.5 1997/11/06 17:15:08 keil
- * New 2.1 init; PCMCIA wrapper changes
- *
- * Revision 2.4 1997/10/29 19:07:52 keil
- * changes for 2.1
- *
- * Revision 2.3 1997/10/01 09:21:33 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 2.2 1997/09/11 17:24:46 keil
- * Add new cards
- *
- * Revision 2.1 1997/07/27 21:41:35 keil
- * version change
- *
- * Revision 2.0 1997/06/26 11:06:28 keil
- * New card and L1 interface.
- * Eicon.Diehl Diva and Dynalink IS64PH support
- *
- * old changes removed /KKe
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#include <linux/types.h>
diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c
index 43a4dc0c1..002ee0d60 100644
--- a/drivers/isdn/hisax/diva.c
+++ b/drivers/isdn/hisax/diva.c
@@ -1,5 +1,5 @@
-/* $Id: diva.c,v 1.19 2000/02/26 00:35:12 keil Exp $
-
+/* $Id: diva.c,v 1.21 2000/06/26 08:59:12 keil Exp $
+ *
* diva.c low level stuff for Eicon.Diehl Diva Family ISDN cards
*
* Author Karsten Keil (keil@isdn4linux.de)
@@ -10,70 +10,6 @@
*
* Thanks to Eicon Technology for documents and informations
*
- *
- * $Log: diva.c,v $
- * Revision 1.19 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.18 1999/12/19 13:09:41 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.17 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.16 1999/08/11 21:01:25 keil
- * new PCI codefix
- *
- * Revision 1.15 1999/08/10 16:01:49 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.14 1999/08/07 17:35:08 keil
- * approval for Eicon Technology Diva 2.01 PCI
- *
- * Revision 1.13 1999/07/21 14:46:07 keil
- * changes from EICON certification
- *
- * Revision 1.12 1999/07/12 21:05:04 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.11 1999/07/01 08:11:29 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.10 1998/11/15 23:54:31 keil
- * changes from 2.0
- *
- * Revision 1.9 1998/06/27 22:52:03 keil
- * support for Diva 2.01
- *
- * Revision 1.8 1998/05/25 12:57:46 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.7 1998/04/15 16:42:36 keil
- * new init code
- * new PCI init (2.1.94)
- *
- * Revision 1.6 1998/03/07 22:56:57 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 1.5 1998/02/02 13:29:38 keil
- * fast io
- *
- * Revision 1.4 1997/11/08 21:35:44 keil
- * new l1 init
- *
- * Revision 1.3 1997/11/06 17:13:33 keil
- * New 2.1 init code
- *
- * Revision 1.2 1997/10/29 18:55:55 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 1.1 1997/09/18 17:11:20 keil
- * first version
- *
- *
*/
#define __NO_VERSION__
@@ -87,7 +23,7 @@
extern const char *CardType[];
-const char *Diva_revision = "$Revision: 1.19 $";
+const char *Diva_revision = "$Revision: 1.21 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c
index 3c78e04a7..70cff176b 100644
--- a/drivers/isdn/hisax/elsa.c
+++ b/drivers/isdn/hisax/elsa.c
@@ -1,5 +1,5 @@
-/* $Id: elsa.c,v 2.20 1999/12/19 13:09:42 keil Exp $
-
+/* $Id: elsa.c,v 2.23 2000/06/26 08:59:12 keil Exp $
+ *
* elsa.c low level stuff for Elsa isdn cards
*
* Author Karsten Keil (keil@isdn4linux.de)
@@ -13,80 +13,6 @@
* Klaus Lichtenwalder (Klaus.Lichtenwalder@WebForum.DE)
* for ELSA PCMCIA support
*
- * $Log: elsa.c,v $
- * Revision 2.20 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 2.19 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 2.18 1999/08/25 16:50:54 keil
- * Fix bugs which cause 2.3.14 hangs (waitqueue init)
- *
- * Revision 2.17 1999/08/11 20:57:40 keil
- * bugfix IPAC version 1.1
- * new PCI codefix
- *
- * Revision 2.16 1999/08/10 16:01:51 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 2.15 1999/08/09 19:25:21 keil
- * Support (alpha version) for the '98 model of ELSA Microlink ISDN/MC
- * by Christer Weinigel, Cendio Systems AB <wingel@cendio.se>
- * Add support for IPAC 1.2
- *
- * Revision 2.14 1999/07/12 21:05:07 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.13 1999/07/01 08:11:31 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.12 1998/11/15 23:54:35 keil
- * changes from 2.0
- *
- * Revision 2.11 1998/08/20 13:50:34 keil
- * More support for hybrid modem (not working yet)
- *
- * Revision 2.10 1998/08/13 23:36:22 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.9 1998/05/25 12:57:48 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.8 1998/04/15 16:41:42 keil
- * QS3000 PCI support
- * new init code
- * new PCI init (2.1.94)
- *
- * Revision 2.7 1998/03/07 22:56:58 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 2.6 1998/02/02 13:29:40 keil
- * fast io
- *
- * Revision 2.5 1998/01/31 21:41:45 keil
- * changes for newer 2.1 kernels
- *
- * Revision 2.4 1997/11/08 21:35:46 keil
- * new l1 init
- *
- * Revision 2.3 1997/11/06 17:15:09 keil
- * New 2.1 init; PCMCIA wrapper changes
- *
- * Revision 2.2 1997/10/29 18:57:09 keil
- * changes for 2.1.60, arcofi support
- *
- * Revision 2.1 1997/07/27 21:47:08 keil
- * new interface structures
- *
- * Revision 2.0 1997/06/26 11:02:40 keil
- * New Layer and card interface
- *
- * old changes removed KKe
- *
*/
#define __NO_VERSION__
diff --git a/drivers/isdn/hisax/elsa_ser.c b/drivers/isdn/hisax/elsa_ser.c
index 8bff1db1c..7f439e1a2 100644
--- a/drivers/isdn/hisax/elsa_ser.c
+++ b/drivers/isdn/hisax/elsa_ser.c
@@ -1,3 +1,10 @@
+/* $Id: elsa_ser.c,v 2.9 2000/06/26 08:59:12 keil Exp $
+ *
+ * stuff for the serial modem on ELSA cards
+ *
+ * This file is (c) under GNU PUBLIC LICENSE
+ *
+ */
#include <linux/config.h>
#include <linux/serial.h>
#include <linux/serial_reg.h>
diff --git a/drivers/isdn/hisax/fsm.c b/drivers/isdn/hisax/fsm.c
index d0d356cf5..a483b5824 100644
--- a/drivers/isdn/hisax/fsm.c
+++ b/drivers/isdn/hisax/fsm.c
@@ -1,48 +1,12 @@
-/* $Id: fsm.c,v 1.11 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: fsm.c,v 1.13 2000/06/26 08:59:12 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
* based on the teles driver from Jan den Ouden
*
* Thanks to Jan den Ouden
* Fritz Elfert
*
- * $Log: fsm.c,v $
- * Revision 1.11 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.10 1998/11/15 23:54:39 keil
- * changes from 2.0
- *
- * Revision 1.9 1998/03/26 07:10:02 paul
- * The jumpmatrix table in struct Fsm was an array of "int". This is not
- * large enough for pointers to functions on Linux/Alpha (instant crash
- * on "insmod hisax). Now there is a typedef for the pointer to function.
- * This also prevents warnings about "incompatible pointer types".
- *
- * Revision 1.8 1998/03/07 22:56:59 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 1.7 1997/11/06 17:09:13 keil
- * New 2.1 init code
- *
- * Revision 1.6 1997/07/27 21:42:25 keil
- * proof Fsm routines
- *
- * Revision 1.5 1997/06/26 11:10:05 keil
- * Restart timer function added
- *
- * Revision 1.4 1997/04/06 22:56:42 keil
- * Some cosmetic changes
- *
- * Revision 1.3 1997/02/16 01:04:08 fritz
- * Bugfix: Changed timer handling caused hang with 2.1.X
- *
- * Revision 1.2 1997/01/09 20:57:27 keil
- * cleanup & FSM_TIMER_DEBUG
- *
- * Revision 1.1 1996/10/13 20:04:52 keil
- * Initial revision
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
diff --git a/drivers/isdn/hisax/gazel.c b/drivers/isdn/hisax/gazel.c
index 4121de133..4693318dc 100644
--- a/drivers/isdn/hisax/gazel.c
+++ b/drivers/isdn/hisax/gazel.c
@@ -1,32 +1,11 @@
-/* $Id: gazel.c,v 2.6 1999/08/22 20:27:03 calle Exp $
-
+/* $Id: gazel.c,v 2.8 2000/06/26 08:59:12 keil Exp $
+ *
* gazel.c low level stuff for Gazel isdn cards
*
* Author BeWan Systems
* based on source code from Karsten Keil
*
- * $Log: gazel.c,v $
- * Revision 2.6 1999/08/22 20:27:03 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 2.5 1999/08/11 21:01:26 keil
- * new PCI codefix
- *
- * Revision 2.4 1999/08/10 16:01:54 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 2.3 1999/07/12 21:05:09 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.1 1999/07/08 21:26:17 keil
- * new card
- *
- * Revision 1.0 1999/28/06
- * Initial revision
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#include <linux/config.h>
@@ -39,7 +18,7 @@
#include <linux/pci.h>
extern const char *CardType[];
-const char *gazel_revision = "$Revision: 2.6 $";
+const char *gazel_revision = "$Revision: 2.8 $";
#define R647 1
#define R685 2
diff --git a/drivers/isdn/hisax/hfc_2bds0.c b/drivers/isdn/hisax/hfc_2bds0.c
index bc4665863..9e03c111e 100644
--- a/drivers/isdn/hisax/hfc_2bds0.c
+++ b/drivers/isdn/hisax/hfc_2bds0.c
@@ -1,46 +1,10 @@
-/* $Id: hfc_2bds0.c,v 1.12 2000/02/26 00:35:12 keil Exp $
+/* $Id: hfc_2bds0.c,v 1.13 2000/06/26 08:59:12 keil Exp $
*
* specific routines for CCD's HFC 2BDS0
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hfc_2bds0.c,v $
- * Revision 1.12 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.11 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.10 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 1.9 1999/07/01 08:11:35 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.8 1998/11/15 23:54:40 keil
- * changes from 2.0
- *
- * Revision 1.7 1998/09/30 22:24:45 keil
- * Fix missing line in setstack*
- *
- * Revision 1.6 1998/08/13 23:36:26 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 1.5 1998/06/27 22:52:58 keil
- * make 16.3c working with 3.0
- *
- * Revision 1.4 1998/05/25 12:57:52 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.3 1998/02/12 23:07:22 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.2 1998/02/02 13:26:13 keil
- * New
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
diff --git a/drivers/isdn/hisax/hfc_2bds0.h b/drivers/isdn/hisax/hfc_2bds0.h
index 32f703662..66cf0b11a 100644
--- a/drivers/isdn/hisax/hfc_2bds0.h
+++ b/drivers/isdn/hisax/hfc_2bds0.h
@@ -1,18 +1,10 @@
-/* $Id: hfc_2bds0.h,v 1.3 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: hfc_2bds0.h,v 1.4 2000/06/26 08:59:12 keil Exp $
+ *
* specific defines for CCD's HFC 2BDS0
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hfc_2bds0.h,v $
- * Revision 1.3 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.2 1998/02/02 13:26:15 keil
- * New
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/hfc_2bs0.c b/drivers/isdn/hisax/hfc_2bs0.c
index 8a1d29762..f28585a84 100644
--- a/drivers/isdn/hisax/hfc_2bs0.c
+++ b/drivers/isdn/hisax/hfc_2bs0.c
@@ -1,52 +1,10 @@
-/* $Id: hfc_2bs0.c,v 1.13 2000/02/26 00:35:12 keil Exp $
-
+/* $Id: hfc_2bs0.c,v 1.14 2000/06/26 08:59:13 keil Exp $
+ *
* specific routines for CCD's HFC 2BS0
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hfc_2bs0.c,v $
- * Revision 1.13 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.12 1999/12/19 14:17:12 keil
- * fix compiler warning
- *
- * Revision 1.11 1999/11/21 12:41:18 werner
- *
- * Implemented full audio support
- *
- * Revision 1.10 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 1.9 1999/07/01 08:11:36 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.8 1998/11/15 23:54:43 keil
- * changes from 2.0
- *
- * Revision 1.7 1998/09/30 22:24:46 keil
- * Fix missing line in setstack*
- *
- * Revision 1.6 1998/08/13 23:36:28 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 1.5 1998/05/25 12:57:54 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.4 1998/02/12 23:07:29 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.3 1997/11/06 17:13:35 keil
- * New 2.1 init code
- *
- * Revision 1.2 1997/10/29 19:04:47 keil
- * changes for 2.1
- *
- * Revision 1.1 1997/09/11 17:31:33 keil
- * Common part for HFC 2BS0 based cards
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/hfc_2bs0.h b/drivers/isdn/hisax/hfc_2bs0.h
index 981ae7cb3..dd978e781 100644
--- a/drivers/isdn/hisax/hfc_2bs0.h
+++ b/drivers/isdn/hisax/hfc_2bs0.h
@@ -1,17 +1,10 @@
-/* $Id: hfc_2bs0.h,v 1.2 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: hfc_2bs0.h,v 1.3 2000/06/26 08:59:13 keil Exp $
+ *
* specific defines for CCD's HFC 2BS0
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hfc_2bs0.h,v $
- * Revision 1.2 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.1 1997/09/11 17:31:34 keil
- * Common part for HFC 2BS0 based cards
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c
index 300bfb1f7..ac673c227 100644
--- a/drivers/isdn/hisax/hfc_pci.c
+++ b/drivers/isdn/hisax/hfc_pci.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_pci.c,v 1.27 2000/02/26 00:35:12 keil Exp $
+/* $Id: hfc_pci.c,v 1.30 2000/06/26 08:59:13 keil Exp $
* hfc_pci.c low level driver for CCD´s hfc-pci based cards
*
@@ -22,101 +22,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: hfc_pci.c,v $
- * Revision 1.27 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.26 2000/02/09 20:22:55 werner
- *
- * Updated PCI-ID table
- *
- * Revision 1.25 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.24 1999/11/17 23:59:55 werner
- *
- * removed unneeded data
- *
- * Revision 1.23 1999/11/07 17:01:55 keil
- * fix for 2.3 pci structs
- *
- * Revision 1.22 1999/10/10 20:14:27 werner
- *
- * Correct B2-chan usage in conjuntion with echo mode. First implementation of NT-leased line mode.
- *
- * Revision 1.21 1999/10/02 17:47:49 werner
- *
- * Changed init order, added correction for page alignment with shared mem
- *
- * Revision 1.20 1999/09/07 06:18:55 werner
- *
- * Added io parameter for HFC-PCI based cards. Needed only with multiple cards
- * when initialisation/selection order needs to be set.
- *
- * Revision 1.19 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.18 1999/08/29 17:05:44 werner
- * corrected tx_lo line setup. Datasheet is not correct.
- *
- * Revision 1.17 1999/08/28 21:04:27 werner
- * Implemented full audio support (transparent mode)
- *
- * Revision 1.16 1999/08/25 17:01:27 keil
- * Use new LL->HL auxcmd call
- *
- * Revision 1.15 1999/08/22 20:27:05 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.14 1999/08/12 18:59:45 werner
- * Added further manufacturer and device ids to PCI list
- *
- * Revision 1.13 1999/08/11 21:01:28 keil
- * new PCI codefix
- *
- * Revision 1.12 1999/08/10 16:01:58 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.11 1999/08/09 19:13:32 werner
- * moved constant pci ids to pci id table
- *
- * Revision 1.10 1999/08/08 10:17:34 werner
- * added new PCI vendor and card ids for Manufacturer 0x1043
- *
- * Revision 1.9 1999/08/07 21:09:10 werner
- * Fixed another memcpy problem in fifo handling.
- * Thanks for debugging aid by Olaf Kordwittenborg.
- *
- * Revision 1.8 1999/07/23 14:25:15 werner
- * Some smaller bug fixes and prepared support for GCI/IOM bus
- *
- * Revision 1.7 1999/07/14 21:24:20 werner
- * fixed memcpy problem when using E-channel feature
- *
- * Revision 1.6 1999/07/13 21:08:08 werner
- * added echo channel logging feature.
- *
- * Revision 1.5 1999/07/12 21:05:10 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.4 1999/07/04 21:51:39 werner
- * Changes to solve problems with irq sharing and smp machines
- * Thanks to Karsten Keil and Alex Holden for giving aid with
- * testing and debugging
- *
- * Revision 1.3 1999/07/01 09:43:19 keil
- * removed additional schedules in timeouts
- *
- * Revision 1.2 1999/07/01 08:07:51 keil
- * Initial version
- *
- *
- *
*/
#include <linux/config.h>
@@ -129,7 +34,7 @@
extern const char *CardType[];
-static const char *hfcpci_revision = "$Revision: 1.27 $";
+static const char *hfcpci_revision = "$Revision: 1.30 $";
/* table entry in the PCI devices list */
typedef struct {
diff --git a/drivers/isdn/hisax/hfc_pci.h b/drivers/isdn/hisax/hfc_pci.h
index e8597d730..9f6bd78ee 100644
--- a/drivers/isdn/hisax/hfc_pci.h
+++ b/drivers/isdn/hisax/hfc_pci.h
@@ -1,5 +1,5 @@
-/* $Id: hfc_pci.h,v 1.7 1999/10/10 20:13:06 werner Exp $
-
+/* $Id: hfc_pci.h,v 1.8 2000/06/26 08:59:13 keil Exp $
+ *
* specific defines for CCD's HFC 2BDS0 PCI chips
*
* Author Werner Cornelius (werner@isdn4linux.de)
@@ -20,28 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: hfc_pci.h,v $
- * Revision 1.7 1999/10/10 20:13:06 werner
- *
- * Corrected timer constant
- *
- * Revision 1.6 1999/08/28 21:04:29 werner
- * Implemented full audio support (transparent mode)
- *
- * Revision 1.5 1999/08/09 19:13:34 werner
- * moved constant pci ids to pci id table
- *
- * Revision 1.4 1999/08/08 10:17:33 werner
- * added new PCI vendor and card ids for Manufacturer 0x1043
- *
- * Revision 1.3 1999/07/14 12:39:34 werner
- * Added changes for echo handling.
- *
- * Revision 1.2 1999/07/01 08:07:52 keil
- * Initial version
- *
- *
- *
*/
/*********************************************/
diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c
index 71bc7db99..36c26cb36 100644
--- a/drivers/isdn/hisax/hfc_sx.c
+++ b/drivers/isdn/hisax/hfc_sx.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_sx.c,v 1.4 2000/02/26 00:35:12 keil Exp $
+/* $Id: hfc_sx.c,v 1.6 2000/06/26 08:59:13 keil Exp $
* hfc_sx.c low level driver for CCD´s hfc-s+/sp based cards
*
@@ -21,24 +21,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: hfc_sx.c,v $
- * Revision 1.4 2000/02/26 00:35:12 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.3 2000/01/20 19:49:36 keil
- * Support teles 13.3c vendor version 2.1
- *
- * Revision 1.2 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.1 1999/11/18 00:09:18 werner
- *
- * Initial release of files for HFC-S+ and HFC-SP cards with 32K-RAM.
- * Audio and Echo are supported.
- *
- *
- *
*/
#define __NO_VERSION__
@@ -49,7 +31,7 @@
extern const char *CardType[];
-static const char *hfcsx_revision = "$Revision: 1.4 $";
+static const char *hfcsx_revision = "$Revision: 1.6 $";
/***************************************/
/* IRQ-table for CCDs demo board */
diff --git a/drivers/isdn/hisax/hfc_sx.h b/drivers/isdn/hisax/hfc_sx.h
index ebb8d3e7d..41c8056bc 100644
--- a/drivers/isdn/hisax/hfc_sx.h
+++ b/drivers/isdn/hisax/hfc_sx.h
@@ -1,5 +1,5 @@
-/* $Id: hfc_sx.h,v 1.1 1999/11/18 00:09:18 werner Exp $
-
+/* $Id: hfc_sx.h,v 1.2 2000/06/26 08:59:13 keil Exp $
+ *
* specific defines for CCD's HFC 2BDS0 S+,SP chips
*
* Author Werner Cornelius (werner@isdn4linux.de)
@@ -20,14 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: hfc_sx.h,v $
- * Revision 1.1 1999/11/18 00:09:18 werner
- *
- * Initial release of files for HFC-S+ and HFC-SP cards with 32K-RAM.
- * Audio and Echo are supported.
- *
- *
- *
*/
/*********************************************/
diff --git a/drivers/isdn/hisax/hfcscard.c b/drivers/isdn/hisax/hfcscard.c
index 7015f4bb5..18993bf0d 100644
--- a/drivers/isdn/hisax/hfcscard.c
+++ b/drivers/isdn/hisax/hfcscard.c
@@ -1,29 +1,10 @@
-/* $Id: hfcscard.c,v 1.6 1999/12/19 13:09:42 keil Exp $
-
+/* $Id: hfcscard.c,v 1.7 2000/06/26 08:59:13 keil Exp $
+ *
* hfcscard.c low level stuff for hfcs based cards (Teles3c, ACER P10)
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hfcscard.c,v $
- * Revision 1.6 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.5 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.4 1999/08/09 18:59:59 keil
- * Fix S0 init - Thanks to Stefan Gybas
- *
- * Revision 1.3 1999/07/12 21:05:12 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.2 1999/07/01 08:16:03 keil
- * teles3c ---> hfcscard
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -34,7 +15,7 @@
extern const char *CardType[];
-static const char *hfcs_revision = "$Revision: 1.6 $";
+static const char *hfcs_revision = "$Revision: 1.7 $";
static void
hfcs_interrupt(int intno, void *dev_id, struct pt_regs *regs)
diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h
index 8495fed83..11d38baf2 100644
--- a/drivers/isdn/hisax/hisax.h
+++ b/drivers/isdn/hisax/hisax.h
@@ -1,146 +1,8 @@
-/* $Id: hisax.h,v 2.42 2000/04/09 19:02:44 keil Exp $
-
- * Basic declarations, defines and prototypes
- *
- * $Log: hisax.h,v $
- * Revision 2.42 2000/04/09 19:02:44 keil
- * retry pump modulation settings if it fails
- *
- * Revision 2.41 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 2.40 2000/01/20 19:51:46 keil
- * Fix AddTimer message
- * Change CONFIG defines
- *
- * Revision 2.39 1999/11/18 00:00:43 werner
- *
- * Added support for HFC-S+ and HFC-SP cards
- *
- * Revision 2.38 1999/11/14 23:37:03 keil
- * new ISA memory mapped IO
- *
- * Revision 2.37 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 2.36 1999/10/10 20:16:15 werner
- *
- * Added variable to hfcpci union.
- *
- * Revision 2.35 1999/09/04 06:35:09 keil
- * Winbond W6692 support
- *
- * Revision 2.34 1999/08/25 17:00:04 keil
- * Make ISAR V32bis modem running
- * Make LL->HL interface open for additional commands
- *
- * Revision 2.33 1999/08/05 20:43:16 keil
- * ISAR analog modem support
- *
- * Revision 2.31 1999/07/21 14:46:11 keil
- * changes from EICON certification
- *
- * Revision 2.30 1999/07/14 12:38:38 werner
- * Added changes for echo channel handling
- *
- * Revision 2.29 1999/07/12 21:05:14 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.28 1999/07/05 23:51:46 werner
- * Allow limiting of available HiSax B-chans per card. Controlled by hisaxctrl
- * hisaxctrl id 10 <nr. of chans 0-2>
- *
- * Revision 2.27 1999/07/01 08:11:38 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.26 1998/11/15 23:54:45 keil
- * changes from 2.0
- *
- * Revision 2.25 1998/09/30 22:28:42 keil
- * More work for ISAR support
- *
- * Revision 2.24 1998/08/20 13:50:39 keil
- * More support for hybrid modem (not working yet)
- *
- * Revision 2.23 1998/08/13 23:36:31 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
+/* $Id: hisax.h,v 2.48 2000/07/04 10:24:32 keil Exp $
*
- * Revision 2.22 1998/07/15 15:01:28 calle
- * Support for AVM passive PCMCIA cards:
- * A1 PCMCIA, FRITZ!Card PCMCIA and FRITZ!Card PCMCIA 2.0
- *
- * Revision 2.21 1998/05/25 14:10:05 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.20 1998/05/25 12:57:57 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.19 1998/04/15 16:39:15 keil
- * Add S0Box and Teles PCI support
- *
- * Revision 2.18 1998/03/26 07:10:04 paul
- * The jumpmatrix table in struct Fsm was an array of "int". This is not
- * large enough for pointers to functions on Linux/Alpha (instant crash
- * on "insmod hisax). Now there is a typedef for the pointer to function.
- * This also prevents warnings about "incompatible pointer types".
- *
- * Revision 2.17 1998/03/19 13:18:43 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 2.16 1998/03/09 23:19:25 keil
- * Changes for PCMCIA
- *
- * Revision 2.14 1998/02/11 17:28:04 keil
- * Niccy PnP/PCI support
- *
- * Revision 2.13 1998/02/09 18:46:02 keil
- * Support for Sedlbauer PCMCIA (Marcus Niemann)
- *
- * Revision 2.12 1998/02/03 23:31:30 keil
- * add AMD7930 support
- *
- * Revision 2.11 1998/02/02 13:33:00 keil
- * New card support
- *
- * Revision 2.10 1997/11/08 21:37:52 keil
- * new l1 init;new Compaq card
- *
- * Revision 2.9 1997/11/06 17:09:09 keil
- * New 2.1 init code
- *
- * Revision 2.8 1997/10/29 19:04:13 keil
- * new L1; changes for 2.1
- *
- * Revision 2.7 1997/10/10 20:56:47 fritz
- * New HL interface.
- *
- * Revision 2.6 1997/09/11 17:25:51 keil
- * Add new cards
- *
- * Revision 2.5 1997/08/03 14:36:31 keil
- * Implement RESTART procedure
- *
- * Revision 2.4 1997/07/31 19:25:20 keil
- * PTP_DATA_LINK support
- *
- * Revision 2.3 1997/07/31 11:50:17 keil
- * ONE TEI and FIXED TEI handling
- *
- * Revision 2.2 1997/07/30 17:13:02 keil
- * more changes for 'One TEI per card'
- *
- * Revision 2.1 1997/07/27 21:45:13 keil
- * new main structures
- *
- * Revision 2.0 1997/06/26 11:06:27 keil
- * New card and L1 interface.
- * Eicon.Diehl Diva and Dynalink IS64PH support
+ * Basic declarations, defines and prototypes
*
- * old changes removed KKe
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#include <linux/config.h>
diff --git a/drivers/isdn/hisax/hscx.c b/drivers/isdn/hisax/hscx.c
index 092b23243..6cae36eef 100644
--- a/drivers/isdn/hisax/hscx.c
+++ b/drivers/isdn/hisax/hscx.c
@@ -1,64 +1,10 @@
-/* $Id: hscx.c,v 1.18 2000/02/26 00:35:13 keil Exp $
-
+/* $Id: hscx.c,v 1.19 2000/06/26 08:59:13 keil Exp $
+ *
* hscx.c HSCX specific routines
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hscx.c,v $
- * Revision 1.18 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.17 1999/07/01 08:11:41 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.16 1998/11/15 23:54:48 keil
- * changes from 2.0
- *
- * Revision 1.15 1998/08/20 13:50:42 keil
- * More support for hybrid modem (not working yet)
- *
- * Revision 1.14 1998/08/13 23:36:33 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 1.13 1998/06/26 22:03:28 keil
- * send flags between hdlc frames
- *
- * Revision 1.12 1998/06/09 18:26:01 keil
- * PH_DEACTIVATE B-channel every time signaled to higher layer
- *
- * Revision 1.11 1998/05/25 14:10:07 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 1.10 1998/05/25 12:57:59 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.9 1998/04/15 16:45:33 keil
- * new init code
- *
- * Revision 1.8 1998/03/19 13:16:24 keil
- * fix the correct release of the hscx
- *
- * Revision 1.7 1998/02/12 23:07:36 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.6 1998/02/02 13:41:12 keil
- * new init
- *
- * Revision 1.5 1997/11/06 17:09:34 keil
- * New 2.1 init code
- *
- * Revision 1.4 1997/10/29 19:01:06 keil
- * changes for 2.1
- *
- * Revision 1.3 1997/07/27 21:38:34 keil
- * new B-channel interface
- *
- * Revision 1.2 1997/06/26 11:16:17 keil
- * first version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/hscx.h b/drivers/isdn/hisax/hscx.h
index 00b566a44..32fc2708d 100644
--- a/drivers/isdn/hisax/hscx.h
+++ b/drivers/isdn/hisax/hscx.h
@@ -1,23 +1,10 @@
-/* $Id: hscx.h,v 1.5 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: hscx.h,v 1.6 2000/06/26 08:59:13 keil Exp $
+ *
* hscx.h HSCX specific defines
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: hscx.h,v $
- * Revision 1.5 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.4 1998/04/15 16:45:34 keil
- * new init code
- *
- * Revision 1.3 1997/07/27 21:38:35 keil
- * new B-channel interface
- *
- * Revision 1.2 1997/06/26 11:16:18 keil
- * first version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/hscx_irq.c b/drivers/isdn/hisax/hscx_irq.c
index 821f5bc8b..581cf9213 100644
--- a/drivers/isdn/hisax/hscx_irq.c
+++ b/drivers/isdn/hisax/hscx_irq.c
@@ -1,53 +1,12 @@
-/* $Id: hscx_irq.c,v 1.14 2000/02/26 00:35:13 keil Exp $
-
+/* $Id: hscx_irq.c,v 1.15 2000/06/26 08:59:13 keil Exp $
+ *
* hscx_irq.c low level b-channel stuff for Siemens HSCX
*
* Author Karsten Keil (keil@isdn4linux.de)
*
* This is an include file for fast inline IRQ stuff
*
- * $Log: hscx_irq.c,v $
- * Revision 1.14 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.13 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 1.12 1999/07/01 08:11:42 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.11 1998/11/15 23:54:49 keil
- * changes from 2.0
- *
- * Revision 1.10 1998/08/13 23:36:35 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 1.9 1998/06/24 14:44:51 keil
- * Fix recovery of TX IRQ loss
- *
- * Revision 1.8 1998/04/10 10:35:22 paul
- * fixed (silly?) warnings from egcs on Alpha.
- *
- * Revision 1.7 1998/02/12 23:07:37 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.6 1997/10/29 19:01:07 keil
- * changes for 2.1
- *
- * Revision 1.5 1997/10/01 09:21:35 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.4 1997/08/15 17:48:02 keil
- * cosmetic
- *
- * Revision 1.3 1997/07/27 21:38:36 keil
- * new B-channel interface
- *
- * Revision 1.2 1997/06/26 11:16:19 keil
- * first version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/ipac.h b/drivers/isdn/hisax/ipac.h
index 34a85dd6b..eff327f9e 100644
--- a/drivers/isdn/hisax/ipac.h
+++ b/drivers/isdn/hisax/ipac.h
@@ -1,24 +1,10 @@
-/* $Id: ipac.h,v 1.4 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: ipac.h,v 1.5 2000/06/26 08:59:13 keil Exp $
+ *
* ipac.h IPAC specific defines
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: ipac.h,v $
- * Revision 1.4 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.3 1998/04/15 16:48:09 keil
- * IPAC_ATX added
- *
- * Revision 1.2 1997/10/29 18:51:21 keil
- * New files
- *
- * Revision 1.1.2.1 1997/10/17 22:10:48 keil
- * new files on 2.0
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c
index 07c76cf2f..363408ab0 100644
--- a/drivers/isdn/hisax/isac.c
+++ b/drivers/isdn/hisax/isac.c
@@ -1,5 +1,5 @@
-/* $Id: isac.c,v 1.25 2000/02/26 00:35:13 keil Exp $
-
+/* $Id: isac.c,v 1.26 2000/06/26 08:59:13 keil Exp $
+ *
* isac.c ISAC specific routines
*
* Author Karsten Keil (keil@isdn4linux.de)
@@ -7,85 +7,6 @@
* This file is (c) under GNU PUBLIC LICENSE
* For changes and modifications please read
* ../../../Documentation/isdn/HiSax.cert
- *
- * $Log: isac.c,v $
- * Revision 1.25 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.24 1999/10/14 20:25:28 keil
- * add a statistic for error monitoring
- *
- * Revision 1.23 1999/08/25 16:50:52 keil
- * Fix bugs which cause 2.3.14 hangs (waitqueue init)
- *
- * Revision 1.22 1999/08/09 19:04:40 keil
- * Fix race condition - Thanks to Christer Weinigel
- *
- * Revision 1.21 1999/07/12 21:05:17 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.20 1999/07/09 08:23:06 keil
- * Fix ISAC lost TX IRQ handling
- *
- * Revision 1.19 1999/07/01 08:11:43 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.18 1998/11/15 23:54:51 keil
- * changes from 2.0
- *
- * Revision 1.17 1998/08/13 23:36:37 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 1.16 1998/05/25 12:58:01 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.15 1998/04/15 16:45:32 keil
- * new init code
- *
- * Revision 1.14 1998/04/10 10:35:26 paul
- * fixed (silly?) warnings from egcs on Alpha.
- *
- * Revision 1.13 1998/03/07 22:57:01 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 1.12 1998/02/12 23:07:40 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.11 1998/02/09 10:54:49 keil
- * fixes for leased mode
- *
- * Revision 1.10 1998/02/02 13:37:37 keil
- * new init
- *
- * Revision 1.9 1997/11/06 17:09:07 keil
- * New 2.1 init code
- *
- * Revision 1.8 1997/10/29 19:00:03 keil
- * new layer1,changes for 2.1
- *
- * Revision 1.7 1997/10/01 09:21:37 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.6 1997/08/15 17:47:08 keil
- * avoid oops because a uninitialised timer
- *
- * Revision 1.5 1997/08/07 17:48:49 keil
- * fix wrong parenthesis
- *
- * Revision 1.4 1997/07/30 17:11:59 keil
- * fixed Timer3
- *
- * Revision 1.3 1997/07/27 21:37:40 keil
- * T3 implemented; supervisor l1timer; B-channel TEST_LOOP
- *
- * Revision 1.2 1997/06/26 11:16:15 keil
- * first version
- *
- *
*/
#define __NO_VERSION__
diff --git a/drivers/isdn/hisax/isac.h b/drivers/isdn/hisax/isac.h
index a8a46e135..751e8de1d 100644
--- a/drivers/isdn/hisax/isac.h
+++ b/drivers/isdn/hisax/isac.h
@@ -1,27 +1,10 @@
-/* $Id: isac.h,v 1.6 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: isac.h,v 1.7 2000/06/26 08:59:13 keil Exp $
+ *
* isac.h ISAC specific defines
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: isac.h,v $
- * Revision 1.6 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.5 1998/05/25 12:58:03 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.4 1997/10/29 19:09:34 keil
- * new L1
- *
- * Revision 1.3 1997/07/27 21:37:41 keil
- * T3 implemented; supervisor l1timer; B-channel TEST_LOOP
- *
- * Revision 1.2 1997/06/26 11:16:16 keil
- * first version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/isar.c b/drivers/isdn/hisax/isar.c
index 3f0a5c5aa..6f19d6cb6 100644
--- a/drivers/isdn/hisax/isar.c
+++ b/drivers/isdn/hisax/isar.c
@@ -1,45 +1,10 @@
-/* $Id: isar.c,v 1.11 2000/04/09 19:02:44 keil Exp $
-
+/* $Id: isar.c,v 1.15 2000/06/26 08:59:13 keil Exp $
+ *
* isar.c ISAR (Siemens PSB 7110) specific routines
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: isar.c,v $
- * Revision 1.11 2000/04/09 19:02:44 keil
- * retry pump modulation settings if it fails
- *
- * Revision 1.10 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.9 2000/01/20 19:47:45 keil
- * Add Fax Class 1 support
- *
- * Revision 1.8 1999/12/19 13:00:56 keil
- * Fix races in setting a new mode
- *
- * Revision 1.7 1999/10/14 20:25:29 keil
- * add a statistic for error monitoring
- *
- * Revision 1.6 1999/08/31 11:20:20 paul
- * various spelling corrections (new checksums may be needed, Karsten!)
- *
- * Revision 1.5 1999/08/25 16:59:55 keil
- * Make ISAR V32bis modem running
- * Make LL->HL interface open for additional commands
- *
- * Revision 1.4 1999/08/05 20:43:18 keil
- * ISAR analog modem support
- *
- * Revision 1.3 1999/07/01 08:11:45 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.2 1998/11/15 23:54:53 keil
- * changes from 2.0
- *
- * Revision 1.1 1998/08/13 23:33:47 keil
- * First version, only init
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/isar.h b/drivers/isdn/hisax/isar.h
index ec3bff89e..7726622ca 100644
--- a/drivers/isdn/hisax/isar.h
+++ b/drivers/isdn/hisax/isar.h
@@ -1,32 +1,10 @@
-/* $Id: isar.h,v 1.7 2000/01/20 19:47:45 keil Exp $
+/* $Id: isar.h,v 1.9 2000/06/26 08:59:13 keil Exp $
+ *
* isar.h ISAR (Siemens PSB 7110) specific defines
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: isar.h,v $
- * Revision 1.7 2000/01/20 19:47:45 keil
- * Add Fax Class 1 support
- *
- * Revision 1.6 1999/10/14 20:25:29 keil
- * add a statistic for error monitoring
- *
- * Revision 1.5 1999/08/25 16:59:59 keil
- * Make ISAR V32bis modem running
- * Make LL->HL interface open for additional commands
- *
- * Revision 1.4 1999/08/05 20:43:20 keil
- * ISAR analog modem support
- *
- * Revision 1.3 1999/07/01 08:11:46 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.2 1998/11/15 23:54:54 keil
- * changes from 2.0
- *
- * Revision 1.1 1998/08/13 23:33:48 keil
- * First version, only init
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/isdnl1.c b/drivers/isdn/hisax/isdnl1.c
index 7715991cb..d0e734357 100644
--- a/drivers/isdn/hisax/isdnl1.c
+++ b/drivers/isdn/hisax/isdnl1.c
@@ -1,5 +1,5 @@
-/* $Id: isdnl1.c,v 2.37 2000/01/20 19:51:46 keil Exp $
-
+/* $Id: isdnl1.c,v 2.39 2000/06/26 08:59:13 keil Exp $
+ *
* isdnl1.c common low level stuff for Siemens Chipsetbased isdn cards
* based on the teles driver from Jan den Ouden
*
@@ -13,136 +13,9 @@
* Fritz Elfert
* Beat Doebeli
*
- *
- * $Log: isdnl1.c,v $
- * Revision 2.37 2000/01/20 19:51:46 keil
- * Fix AddTimer message
- * Change CONFIG defines
- *
- * Revision 2.36 1999/08/25 16:50:57 keil
- * Fix bugs which cause 2.3.14 hangs (waitqueue init)
- *
- * Revision 2.35 1999/08/22 20:27:07 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 2.34 1999/07/09 13:50:15 keil
- * remove unused variable
- *
- * Revision 2.33 1999/07/09 13:34:33 keil
- * remove debug code
- *
- * Revision 2.32 1999/07/01 08:11:47 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.31 1998/11/15 23:54:56 keil
- * changes from 2.0
- *
- * Revision 2.30 1998/09/30 22:27:00 keil
- * Add init of l1.Flags
- *
- * Revision 2.29 1998/09/27 23:54:43 keil
- * cosmetics
- *
- * Revision 2.28 1998/09/27 12:52:23 keil
- * Fix against segfault, if the driver cannot allocate an IRQ channel
- *
- * Revision 2.27 1998/08/13 23:36:39 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.26 1998/07/15 15:01:31 calle
- * Support for AVM passive PCMCIA cards:
- * A1 PCMCIA, FRITZ!Card PCMCIA and FRITZ!Card PCMCIA 2.0
- *
- * Revision 2.25 1998/05/25 14:10:09 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.24 1998/05/25 12:58:04 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.22 1998/04/15 16:40:13 keil
- * Add S0Box and Teles PCI support
- * Fix cardnr overwrite bug
- *
- * Revision 2.21 1998/04/10 10:35:28 paul
- * fixed (silly?) warnings from egcs on Alpha.
- *
- * Revision 2.20 1998/03/09 23:19:27 keil
- * Changes for PCMCIA
- *
- * Revision 2.18 1998/02/12 23:07:42 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.17 1998/02/11 17:28:07 keil
- * Niccy PnP/PCI support
- *
- * Revision 2.16 1998/02/09 18:46:08 keil
- * Support for Sedlbauer PCMCIA (Marcus Niemann)
- *
- * Revision 2.15 1998/02/09 10:54:51 keil
- * fixes for leased mode
- *
- * Revision 2.14 1998/02/03 23:31:31 keil
- * add AMD7930 support
- *
- * Revision 2.13 1998/02/02 13:33:02 keil
- * New card support
- *
- * Revision 2.12 1998/01/31 21:41:48 keil
- * changes for newer 2.1 kernels
- *
- * Revision 2.11 1997/11/12 15:01:23 keil
- * COMPAQ_ISA changes
- *
- * Revision 2.10 1997/11/08 21:35:48 keil
- * new l1 init
- *
- * Revision 2.9 1997/11/06 17:09:18 keil
- * New 2.1 init code
- *
- * Revision 2.8 1997/10/29 19:00:05 keil
- * new layer1,changes for 2.1
- *
- * Revision 2.7 1997/10/10 20:56:50 fritz
- * New HL interface.
- *
- * Revision 2.6 1997/09/12 10:05:16 keil
- * ISDN_CTRL_DEBUG define
- *
- * Revision 2.5 1997/09/11 17:24:45 keil
- * Add new cards
- *
- * Revision 2.4 1997/08/15 17:47:09 keil
- * avoid oops because a uninitialised timer
- *
- * Revision 2.3 1997/08/01 11:16:40 keil
- * cosmetics
- *
- * Revision 2.2 1997/07/30 17:11:08 keil
- * L1deactivated exported
- *
- * Revision 2.1 1997/07/27 21:35:38 keil
- * new layer1 interface
- *
- * Revision 2.0 1997/06/26 11:02:53 keil
- * New Layer and card interface
- *
- * Revision 1.15 1997/05/27 15:17:55 fritz
- * Added changes for recent 2.1.x kernels:
- * changed return type of isdn_close
- * queue_task_* -> queue_task
- * clear/set_bit -> test_and_... where apropriate.
- * changed type of hard_header_cache parameter.
- *
- * old changes removed KKe
- *
*/
-const char *l1_revision = "$Revision: 2.37 $";
+const char *l1_revision = "$Revision: 2.39 $";
#define __NO_VERSION__
#include "hisax.h"
diff --git a/drivers/isdn/hisax/isdnl1.h b/drivers/isdn/hisax/isdnl1.h
index 01a96b7dd..040a95aa5 100644
--- a/drivers/isdn/hisax/isdnl1.h
+++ b/drivers/isdn/hisax/isdnl1.h
@@ -1,34 +1,8 @@
-/* $Id: isdnl1.h,v 2.8 1998/11/15 23:54:59 keil Exp $
-
- * $Log: isdnl1.h,v $
- * Revision 2.8 1998/11/15 23:54:59 keil
- * changes from 2.0
- *
- * Revision 2.7 1998/09/30 22:21:55 keil
- * cosmetics
- *
- * Revision 2.6 1998/05/25 12:58:06 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.5 1998/02/02 13:36:58 keil
- * more debug
- *
- * Revision 2.4 1997/11/08 21:35:49 keil
- * new l1 init
- *
- * Revision 2.3 1997/10/29 19:07:53 keil
- * changes for 2.1
- *
- * Revision 2.2 1997/07/30 17:11:09 keil
- * L1deactivated exported
- *
- * Revision 2.1 1997/07/27 21:43:58 keil
- * new l1 interface
+/* $Id: isdnl1.h,v 2.9 2000/06/26 08:59:13 keil Exp $
*
- * Revision 2.0 1997/06/26 11:02:55 keil
- * New Layer and card interface
+ * Layer 1 defines
*
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/isdnl2.c b/drivers/isdn/hisax/isdnl2.c
index 6353c88db..c20d0d21f 100644
--- a/drivers/isdn/hisax/isdnl2.c
+++ b/drivers/isdn/hisax/isdnl2.c
@@ -1,5 +1,5 @@
-/* $Id: isdnl2.c,v 2.22 2000/04/12 20:28:37 keil Exp $
-
+/* $Id: isdnl2.c,v 2.23 2000/06/26 08:59:13 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
* based on the teles driver from Jan den Ouden
*
@@ -10,87 +10,12 @@
* Thanks to Jan den Ouden
* Fritz Elfert
*
- * $Log: isdnl2.c,v $
- * Revision 2.22 2000/04/12 20:28:37 keil
- * a I frame may be contain zero information bytes
- *
- * Revision 2.21 2000/04/12 16:41:01 kai
- * fix max iframe size
- * fix bug in multicasting DL_RELEASE_IND
- *
- * Revision 2.20 1999/08/25 16:52:04 keil
- * Make gcc on AXP happy
- *
- * Revision 2.19 1999/08/05 20:40:26 keil
- * Fix interlayer communication
- *
- * Revision 2.18 1999/07/21 14:46:16 keil
- * changes from EICON certification
- *
- * Revision 2.17 1999/07/01 08:11:50 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.16 1998/11/15 23:55:01 keil
- * changes from 2.0
- *
- * Revision 2.15 1998/08/13 23:36:42 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.14 1998/06/19 15:19:18 keil
- * fix LAPB tx_cnt for none I-frames
- *
- * Revision 2.13 1998/06/18 23:17:20 keil
- * LAPB bugfix
- *
- * Revision 2.12 1998/05/25 14:10:12 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.11 1998/05/25 12:58:08 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.9 1998/04/10 10:35:30 paul
- * fixed (silly?) warnings from egcs on Alpha.
- *
- * Revision 2.8 1998/03/07 22:57:04 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 2.7 1998/02/12 23:07:47 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.6 1998/02/02 13:36:15 keil
- * bugfix X.75 win calculation
- *
- * Revision 2.5 1997/11/06 17:09:22 keil
- * New 2.1 init code
- *
- * Revision 2.4 1997/10/29 19:02:01 keil
- * new LL interface
- *
- * Revision 2.3 1997/10/01 09:21:39 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 2.2 1997/07/31 11:49:05 keil
- * Error handling for no TEI assign
- *
- * Revision 2.1 1997/07/27 21:34:38 keil
- * cosmetics
- *
- * Revision 2.0 1997/06/26 11:07:29 keil
- * New q.921 and X.75 Layer2
- *
- *
- * Old log removed KKe
- *
*/
#define __NO_VERSION__
#include "hisax.h"
#include "isdnl2.h"
-const char *l2_revision = "$Revision: 2.22 $";
+const char *l2_revision = "$Revision: 2.23 $";
static void l2m_debug(struct FsmInst *fi, char *fmt, ...);
diff --git a/drivers/isdn/hisax/isdnl2.h b/drivers/isdn/hisax/isdnl2.h
index ac21d1c4d..28e753c8c 100644
--- a/drivers/isdn/hisax/isdnl2.h
+++ b/drivers/isdn/hisax/isdnl2.h
@@ -1,4 +1,10 @@
-/* isdnl2.h */
+/* $Id: isdnl2.h,v 1.3 2000/06/26 08:59:13 keil Exp $
+ *
+ * Layer 2 defines
+ *
+ * This file is (c) under GNU PUBLIC LICENSE
+ *
+ */
#define RR 0x01
#define RNR 0x05
diff --git a/drivers/isdn/hisax/isdnl3.c b/drivers/isdn/hisax/isdnl3.c
index a9500ef86..c20706553 100644
--- a/drivers/isdn/hisax/isdnl3.c
+++ b/drivers/isdn/hisax/isdnl3.c
@@ -1,5 +1,5 @@
-/* $Id: isdnl3.c,v 2.11 2000/04/12 16:41:01 kai Exp $
-
+/* $Id: isdnl3.c,v 2.14 2000/06/26 08:59:13 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
* based on the teles driver from Jan den Ouden
*
@@ -10,69 +10,13 @@
* Thanks to Jan den Ouden
* Fritz Elfert
*
- * $Log: isdnl3.c,v $
- * Revision 2.11 2000/04/12 16:41:01 kai
- * fix max iframe size
- * fix bug in multicasting DL_RELEASE_IND
- *
- * Revision 2.10 1999/07/21 14:46:19 keil
- * changes from EICON certification
- *
- * Revision 2.9 1999/07/01 08:11:53 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.8 1998/11/15 23:55:04 keil
- * changes from 2.0
- *
- * Revision 2.7 1998/05/25 14:10:15 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.6 1998/05/25 12:58:11 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.5 1998/02/12 23:07:52 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.4 1997/11/06 17:09:25 keil
- * New 2.1 init code
- *
- * Revision 2.3 1997/10/29 19:07:53 keil
- * changes for 2.1
- *
- * Revision 2.2 1997/10/01 09:21:41 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 2.1 1997/08/03 14:36:32 keil
- * Implement RESTART procedure
- *
- * Revision 2.0 1997/07/27 21:15:42 keil
- * New Callref based layer3
- *
- * Revision 1.11 1997/06/26 11:11:44 keil
- * SET_SKBFREE now on creation of a SKB
- *
- * Revision 1.10 1997/04/06 22:54:16 keil
- * Using SKB's
- *
- * Revision 1.9 1997/03/25 23:11:25 keil
- * US NI-1 protocol
- *
- * Revision 1.8 1997/03/21 18:53:44 keil
- * Report no protocol error to syslog too
- *
- * Remove old logs /KKe
- *
*/
#define __NO_VERSION__
#include "hisax.h"
#include "isdnl3.h"
#include <linux/config.h>
-const char *l3_revision = "$Revision: 2.11 $";
+const char *l3_revision = "$Revision: 2.14 $";
static
struct Fsm l3fsm =
diff --git a/drivers/isdn/hisax/isdnl3.h b/drivers/isdn/hisax/isdnl3.h
index c7050f5f1..6027e1822 100644
--- a/drivers/isdn/hisax/isdnl3.h
+++ b/drivers/isdn/hisax/isdnl3.h
@@ -1,38 +1,6 @@
-/* $Id: isdnl3.h,v 2.5 1999/07/25 16:18:32 keil Exp $
-
- * $Log: isdnl3.h,v $
- * Revision 2.5 1999/07/25 16:18:32 keil
- * Fix Suspend/Resume
- *
- * Revision 2.4 1999/07/01 08:11:54 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.3 1998/11/15 23:55:06 keil
- * changes from 2.0
- *
- * Revision 2.2 1998/05/25 14:10:17 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.1 1998/05/25 12:58:13 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.0 1997/07/27 21:15:42 keil
- * New Callref based layer3
- *
- * Revision 1.4 1997/06/26 11:20:57 keil
- * ?
- *
- * Revision 1.3 1997/04/06 22:54:17 keil
- * Using SKB's
- *
- * Revision 1.2 1997/01/21 22:31:28 keil
- * new statemachine; L3 timers
- *
- * Revision 1.1 1996/10/13 20:03:47 keil
- * Initial revision
+/* $Id: isdnl3.h,v 2.6 2000/06/26 08:59:13 keil Exp $
*
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/isurf.c b/drivers/isdn/hisax/isurf.c
index 18a7cfc58..bc08dafd8 100644
--- a/drivers/isdn/hisax/isurf.c
+++ b/drivers/isdn/hisax/isurf.c
@@ -1,38 +1,10 @@
-/* $Id: isurf.c,v 1.8 1999/12/19 13:09:42 keil Exp $
-
+/* $Id: isurf.c,v 1.9 2000/06/26 08:59:13 keil Exp $
+ *
* isurf.c low level stuff for Siemens I-Surf/I-Talk cards
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- * $Log: isurf.c,v $
- * Revision 1.8 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.7 1999/11/14 23:37:03 keil
- * new ISA memory mapped IO
- *
- * Revision 1.6 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.5 1999/08/25 17:00:02 keil
- * Make ISAR V32bis modem running
- * Make LL->HL interface open for additional commands
- *
- * Revision 1.4 1999/08/22 20:27:09 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.3 1999/07/12 21:05:18 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.2 1999/07/01 08:07:56 keil
- * Initial version
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -44,7 +16,7 @@
extern const char *CardType[];
-static const char *ISurf_revision = "$Revision: 1.8 $";
+static const char *ISurf_revision = "$Revision: 1.9 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/ix1_micro.c b/drivers/isdn/hisax/ix1_micro.c
index cb94d5bb3..01976b82f 100644
--- a/drivers/isdn/hisax/ix1_micro.c
+++ b/drivers/isdn/hisax/ix1_micro.c
@@ -1,5 +1,5 @@
-/* $Id: ix1_micro.c,v 2.8 1999/07/12 21:05:19 keil Exp $
-
+/* $Id: ix1_micro.c,v 2.9 2000/06/26 08:59:13 keil Exp $
+ *
* ix1_micro.c low level stuff for ITK ix1-micro Rev.2 isdn cards
* derived from the original file teles3.c from Karsten Keil
*
@@ -10,45 +10,6 @@
* Fritz Elfert
* Beat Doebeli
*
- * $Log: ix1_micro.c,v $
- * Revision 2.8 1999/07/12 21:05:19 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.7 1998/04/15 16:44:31 keil
- * new init code
- *
- * Revision 2.6 1998/02/11 17:28:09 keil
- * Niccy PnP/PCI support
- *
- * Revision 2.5 1998/02/02 13:29:42 keil
- * fast io
- *
- * Revision 2.4 1997/11/08 21:35:50 keil
- * new l1 init
- *
- * Revision 2.3 1997/11/06 17:09:35 keil
- * New 2.1 init code
- *
- * Revision 2.2 1997/10/29 18:55:51 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 2.1 1997/07/27 21:47:09 keil
- * new interface structures
- *
- * Revision 2.0 1997/06/26 11:02:50 keil
- * New Layer and card interface
- *
- * Revision 1.3 1997/04/13 19:54:02 keil
- * Change in IRQ check delay for SMP
- *
- * Revision 1.2 1997/04/06 22:54:21 keil
- * Using SKB's
- *
- * Revision 1.1 1997/01/27 15:43:10 keil
- * first version
- *
- *
*/
/*
@@ -88,7 +49,7 @@
#include "isdnl1.h"
extern const char *CardType[];
-const char *ix1_revision = "$Revision: 2.8 $";
+const char *ix1_revision = "$Revision: 2.9 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/jade.c b/drivers/isdn/hisax/jade.c
index c1bf72ca8..b2586ebda 100644
--- a/drivers/isdn/hisax/jade.c
+++ b/drivers/isdn/hisax/jade.c
@@ -1,16 +1,10 @@
-/* $Id: jade.c,v 1.3 2000/02/26 00:35:13 keil Exp $
+/* $Id: jade.c,v 1.4 2000/06/26 08:59:14 keil Exp $
*
* jade.c JADE stuff (derived from original hscx.c)
*
* Author Roland Klabunde (R.Klabunde@Berkom.de)
*
- * $Log: jade.c,v $
- * Revision 1.3 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.2 1999/07/01 08:07:57 keil
- * Initial version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/jade.h b/drivers/isdn/hisax/jade.h
index bcbe6b291..b94b968e4 100644
--- a/drivers/isdn/hisax/jade.h
+++ b/drivers/isdn/hisax/jade.h
@@ -1,13 +1,9 @@
-/* $Id: jade.h,v 1.2 1999/07/01 08:07:58 keil Exp $
+/* $Id: jade.h,v 1.3 2000/06/26 08:59:14 keil Exp $
* jade.h JADE specific defines
*
* Author Roland Klabunde (R.Klabunde@Berkom.de)
*
- *
- * $Log: jade.h,v $
- * Revision 1.2 1999/07/01 08:07:58 keil
- * Initial version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/jade_irq.c b/drivers/isdn/hisax/jade_irq.c
index 02fef2627..beb10d20a 100644
--- a/drivers/isdn/hisax/jade_irq.c
+++ b/drivers/isdn/hisax/jade_irq.c
@@ -1,16 +1,10 @@
-/* $Id: jade_irq.c,v 1.3 2000/02/26 00:35:13 keil Exp $
+/* $Id: jade_irq.c,v 1.4 2000/06/26 08:59:14 keil Exp $
*
* jade_irq.c Low level JADE IRQ stuff (derived from original hscx_irq.c)
*
* Author Roland Klabunde (R.Klabunde@Berkom.de)
*
- * $Log: jade_irq.c,v $
- * Revision 1.3 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.2 1999/07/01 08:07:59 keil
- * Initial version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/l3_1tr6.c b/drivers/isdn/hisax/l3_1tr6.c
index e6297bd94..2d01819ae 100644
--- a/drivers/isdn/hisax/l3_1tr6.c
+++ b/drivers/isdn/hisax/l3_1tr6.c
@@ -1,5 +1,5 @@
-/* $Id: l3_1tr6.c,v 2.10 2000/01/20 19:42:01 keil Exp $
-
+/* $Id: l3_1tr6.c,v 2.11 2000/06/26 08:59:14 keil Exp $
+ *
* German 1TR6 D-channel protocol
*
* Author Karsten Keil (keil@isdn4linux.de)
@@ -8,51 +8,6 @@
* For changes and modifications please read
* ../../../Documentation/isdn/HiSax.cert
*
- *
- * $Log: l3_1tr6.c,v $
- * Revision 2.10 2000/01/20 19:42:01 keil
- * Fixed uninitialiesed location
- *
- * Revision 2.9 1999/07/01 08:11:55 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.8 1998/11/15 23:55:08 keil
- * changes from 2.0
- *
- * Revision 2.7 1998/08/13 23:36:45 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.6 1998/05/25 14:10:18 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.5 1998/05/25 12:58:14 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.4 1998/02/12 23:07:57 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.3 1997/11/06 17:12:24 keil
- * KERN_NOTICE --> KERN_INFO
- *
- * Revision 2.2 1997/10/29 19:03:00 keil
- * changes for 2.1
- *
- * Revision 2.1 1997/08/03 15:28:09 keil
- * release L3 empty processes
- *
- * Revision 2.0 1997/07/27 21:15:45 keil
- * New Callref based layer3
- *
- * Revision 1.12 1997/06/26 11:11:45 keil
- * SET_SKBFREE now on creation of a SKB
- *
- * Revision 1.11 1997/04/06 22:54:18 keil
- * Using SKB's
- *
- * Old Log removed /KKe
- *
*/
#define __NO_VERSION__
@@ -62,7 +17,7 @@
#include <linux/ctype.h>
extern char *HiSax_getrev(const char *revision);
-const char *l3_1tr6_revision = "$Revision: 2.10 $";
+const char *l3_1tr6_revision = "$Revision: 2.11 $";
#define MsgHead(ptr, cref, mty, dis) \
*ptr++ = dis; \
diff --git a/drivers/isdn/hisax/l3_1tr6.h b/drivers/isdn/hisax/l3_1tr6.h
index 7c0ba56b2..f9d46f659 100644
--- a/drivers/isdn/hisax/l3_1tr6.h
+++ b/drivers/isdn/hisax/l3_1tr6.h
@@ -1,16 +1,8 @@
-/* $Id: l3_1tr6.h,v 2.1 1998/08/13 23:36:48 keil Exp $
+/* $Id: l3_1tr6.h,v 2.2 2000/06/26 08:59:14 keil Exp $
*
* German 1TR6 D-channel protocol defines
*
- * $Log: l3_1tr6.h,v $
- * Revision 2.1 1998/08/13 23:36:48 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.0 1997/07/27 21:15:47 keil
- * New Callref based layer3
- *
- * Revision 1.1 1996/10/13 20:03:48 keil
- * Initial revision
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#ifndef l3_1tr6
diff --git a/drivers/isdn/hisax/l3dss1.c b/drivers/isdn/hisax/l3dss1.c
index 5c36458ff..43ce9c956 100644
--- a/drivers/isdn/hisax/l3dss1.c
+++ b/drivers/isdn/hisax/l3dss1.c
@@ -1,5 +1,5 @@
-/* $Id: l3dss1.c,v 2.24 2000/03/19 15:26:35 kai Exp $
-
+/* $Id: l3dss1.c,v 2.29 2000/06/26 08:59:14 keil Exp $
+ *
* EURO/DSS1 D-channel protocol
*
* Author Karsten Keil (keil@isdn4linux.de)
@@ -12,94 +12,6 @@
* Thanks to Jan den Ouden
* Fritz Elfert
*
- * $Log: l3dss1.c,v $
- * Revision 2.24 2000/03/19 15:26:35 kai
- * changed keypad to use specified bearer, instead of always a-law
- *
- * Revision 2.23 2000/02/26 01:38:14 keil
- * Fixes for V.110 encoding LLC from Jens Jakobsen
- *
- * Revision 2.22 2000/01/20 19:44:20 keil
- * Fixed uninitialiesed location
- * Fixed redirecting number IE in Setup
- * Changes from certification
- * option for disabling use of KEYPAD protocol
- *
- * Revision 2.21 1999/12/19 20:25:17 keil
- * fixed LLC for outgoing analog calls
- * IE Signal is valid on older local switches
- *
- * Revision 2.20 1999/10/11 22:16:27 keil
- * Suspend/Resume is possible without explicit ID too
- *
- * Revision 2.19 1999/08/25 16:55:23 keil
- * Fix for test case TC10011
- *
- * Revision 2.18 1999/08/11 20:54:39 keil
- * High layer compatibility is valid in SETUP
- *
- * Revision 2.17 1999/07/25 16:18:25 keil
- * Fix Suspend/Resume
- *
- * Revision 2.16 1999/07/21 14:46:23 keil
- * changes from EICON certification
- *
- * Revision 2.14 1999/07/09 08:30:08 keil
- * cosmetics
- *
- * Revision 2.13 1999/07/01 08:11:58 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.12 1998/11/15 23:55:10 keil
- * changes from 2.0
- *
- * Revision 2.11 1998/08/13 23:36:51 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 2.10 1998/05/25 14:10:20 keil
- * HiSax 3.0
- * X.75 and leased are working again.
- *
- * Revision 2.9 1998/05/25 12:58:17 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.8 1998/03/19 13:18:47 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 2.7 1998/02/12 23:08:01 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.6 1998/02/03 23:26:35 keil
- * V110 extensions from Thomas Pfeiffer
- *
- * Revision 2.5 1998/02/02 13:34:28 keil
- * Support australian Microlink net and german AOCD
- *
- * Revision 2.4 1997/11/06 17:12:25 keil
- * KERN_NOTICE --> KERN_INFO
- *
- * Revision 2.3 1997/10/29 19:03:01 keil
- * changes for 2.1
- *
- * Revision 2.2 1997/08/07 17:44:36 keil
- * Fix RESTART
- *
- * Revision 2.1 1997/08/03 14:36:33 keil
- * Implement RESTART procedure
- *
- * Revision 2.0 1997/07/27 21:15:43 keil
- * New Callref based layer3
- *
- * Revision 1.17 1997/06/26 11:11:46 keil
- * SET_SKBFREE now on creation of a SKB
- *
- * Revision 1.15 1997/04/17 11:50:48 keil
- * pa->loc was undefined, if it was not send by the exchange
- *
- * Old log removed /KKe
- *
*/
#define __NO_VERSION__
@@ -110,7 +22,7 @@
#include <linux/config.h>
extern char *HiSax_getrev(const char *revision);
-const char *dss1_revision = "$Revision: 2.24 $";
+const char *dss1_revision = "$Revision: 2.29 $";
#define EXT_BEARER_CAPS 1
diff --git a/drivers/isdn/hisax/l3dss1.h b/drivers/isdn/hisax/l3dss1.h
index 2acb95c01..4913f17bd 100644
--- a/drivers/isdn/hisax/l3dss1.h
+++ b/drivers/isdn/hisax/l3dss1.h
@@ -1,39 +1,14 @@
-/* $Id: l3dss1.h,v 1.8 2000/01/20 19:46:15 keil Exp $
+/* $Id: l3dss1.h,v 1.10 2000/06/26 08:59:14 keil Exp $
*
* DSS1 (Euro) D-channel protocol defines
*
- * $Log: l3dss1.h,v $
- * Revision 1.8 2000/01/20 19:46:15 keil
- * Changes from certification
- *
- * Revision 1.7 1999/07/01 08:12:02 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.6 1998/03/19 13:18:50 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 1.5 1998/02/02 13:34:30 keil
- * Support australian Microlink net and german AOCD
- *
- * Revision 1.4 1997/10/29 19:07:54 keil
- * changes for 2.1
- *
- * Revision 1.3 1997/08/07 17:44:37 keil
- * Fix RESTART
- *
- * Revision 1.2 1997/08/03 14:36:34 keil
- * Implement RESTART procedure
- *
- * Revision 1.1 1997/07/27 21:08:38 keil
- * new
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#ifndef l3dss1_process
+#define T302 15000
#define T303 4000
#define T304 30000
#define T305 30000
diff --git a/drivers/isdn/hisax/lmgr.c b/drivers/isdn/hisax/lmgr.c
index 6097fe547..99afed2e6 100644
--- a/drivers/isdn/hisax/lmgr.c
+++ b/drivers/isdn/hisax/lmgr.c
@@ -1,30 +1,10 @@
-/* $Id: lmgr.c,v 1.6 1999/07/01 08:12:04 keil Exp $
-
- * Author Karsten Keil (keil@isdn4linux.de)
+/* $Id: lmgr.c,v 1.7 2000/06/26 08:59:14 keil Exp $
*
+ * Author Karsten Keil (keil@isdn4linux.de)
*
* Layermanagement module
*
- * $Log: lmgr.c,v $
- * Revision 1.6 1999/07/01 08:12:04 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.5 1998/11/15 23:55:12 keil
- * changes from 2.0
- *
- * Revision 1.4 1998/05/25 12:58:19 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.3 1998/03/07 22:57:06 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 1.2 1997/10/29 19:09:34 keil
- * new L1
- *
- * Revision 1.1 1997/06/26 11:17:25 keil
- * first version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/mic.c b/drivers/isdn/hisax/mic.c
index be65f1101..db5d2ee46 100644
--- a/drivers/isdn/hisax/mic.c
+++ b/drivers/isdn/hisax/mic.c
@@ -1,38 +1,12 @@
-/* $Id: mic.c,v 1.8 1999/07/12 21:05:20 keil Exp $
-
+/* $Id: mic.c,v 1.9 2000/06/26 08:59:14 keil Exp $
+ *
* mic.c low level stuff for mic cards
*
* Copyright (C) 1997
*
* Author Stephan von Krawczynski <skraw@ithnet.com>
*
- *
- * $Log: mic.c,v $
- * Revision 1.8 1999/07/12 21:05:20 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.7 1998/04/15 16:44:32 keil
- * new init code
- *
- * Revision 1.6 1998/02/17 15:39:57 keil
- * fix reset problem
- *
- * Revision 1.5 1998/02/02 13:29:43 keil
- * fast io
- *
- * Revision 1.4 1997/11/08 21:35:51 keil
- * new l1 init
- *
- * Revision 1.3 1997/11/06 17:09:11 keil
- * New 2.1 init code
- *
- * Revision 1.2 1997/10/29 18:51:17 keil
- * New files
- *
- * Revision 1.1.2.1 1997/10/17 22:10:54 keil
- * new files on 2.0
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -44,7 +18,7 @@
extern const char *CardType[];
-const char *mic_revision = "$Revision: 1.8 $";
+const char *mic_revision = "$Revision: 1.9 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/netjet.c b/drivers/isdn/hisax/netjet.c
index a41536f22..fd51217bf 100644
--- a/drivers/isdn/hisax/netjet.c
+++ b/drivers/isdn/hisax/netjet.c
@@ -1,70 +1,12 @@
-/* $Id: netjet.c,v 1.18 2000/02/26 00:35:13 keil Exp $
-
+/* $Id: netjet.c,v 1.20 2000/06/26 08:59:14 keil Exp $
+ *
* netjet.c low level stuff for Traverse Technologie NETJet ISDN cards
*
* Author Karsten Keil (keil@isdn4linux.de)
*
* Thanks to Traverse Technologie Australia for documents and informations
*
- * $Log: netjet.c,v $
- * Revision 1.18 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.17 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.16 1999/10/14 20:25:29 keil
- * add a statistic for error monitoring
- *
- * Revision 1.15 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.14 1999/08/31 11:20:25 paul
- * various spelling corrections (new checksums may be needed, Karsten!)
- *
- * Revision 1.13 1999/08/11 21:01:31 keil
- * new PCI codefix
- *
- * Revision 1.12 1999/08/10 16:02:00 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.11 1999/08/07 17:32:00 keil
- * Asymetric buffers for improved ping times. Interframe spacing
- * fix for NJ<->NJ thoughput. Matt Henderson - www.traverse.com.au
- *
- *
- * Revision 1.10 1999/07/12 21:05:22 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.9 1999/07/01 08:12:05 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.8 1998/11/15 23:55:14 keil
- * changes from 2.0
- *
- * Revision 1.7 1998/09/30 22:24:48 keil
- * Fix missing line in setstack*
- *
- * Revision 1.6 1998/08/13 23:36:54 keil
- * HiSax 3.1 - don't work stable with current LinkLevel
- *
- * Revision 1.5 1998/05/25 12:58:21 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 1.4 1998/04/15 16:42:35 keil
- * new init code
- * new PCI init (2.1.94)
- *
- * Revision 1.3 1998/02/12 23:08:05 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 1.2 1998/02/02 13:32:06 keil
- * New
- *
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/niccy.c b/drivers/isdn/hisax/niccy.c
index 6639018bf..31f01355e 100644
--- a/drivers/isdn/hisax/niccy.c
+++ b/drivers/isdn/hisax/niccy.c
@@ -1,5 +1,5 @@
-/* $Id: niccy.c,v 1.10 2000/04/11 11:12:39 keil Exp $
-
+/* $Id: niccy.c,v 1.12 2000/06/26 08:59:14 keil Exp $
+ *
* niccy.c low level stuff for Dr. Neuhaus NICCY PnP and NICCY PCI and
* compatible (SAGEM cybermodem)
*
@@ -7,34 +7,7 @@
*
* Thanks to Dr. Neuhaus and SAGEM for informations
*
- * $Log: niccy.c,v $
- * Revision 1.10 2000/04/11 11:12:39 keil
- * cleanup
- *
- * Revision 1.9 2000/04/09 19:09:19 keil
- * Bugfix: reset IRQ enable only valid for PCI version
- *
- * Revision 1.8 1999/08/11 21:01:33 keil
- * new PCI codefix
- *
- * Revision 1.7 1999/08/10 16:02:04 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.6 1999/07/12 21:05:23 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.5 1999/07/01 08:12:07 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.4 1998/04/16 19:16:48 keil
- * need config.h
- *
- * Revision 1.3 1998/04/15 16:42:59 keil
- * new init code
- *
- * Revision 1.2 1998/02/11 17:31:04 keil
- * new file
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -48,7 +21,7 @@
#include <linux/pci.h>
extern const char *CardType[];
-const char *niccy_revision = "$Revision: 1.10 $";
+const char *niccy_revision = "$Revision: 1.12 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/q931.c b/drivers/isdn/hisax/q931.c
index aa6776d3b..342e4e8fc 100644
--- a/drivers/isdn/hisax/q931.c
+++ b/drivers/isdn/hisax/q931.c
@@ -1,9 +1,11 @@
-/* $Id: q931.c,v 1.8 2000/03/21 23:53:22 kai Exp $
-
+/* $Id: q931.c,v 1.10 2000/06/26 08:59:14 keil Exp $
+ *
* q931.c code to decode ITU Q.931 call control messages
*
* Author Jan den Ouden
*
+ * This file is (c) under GNU PUBLIC LICENSE
+ *
* Changelog
*
* Pauline Middelink general improvements
@@ -12,33 +14,6 @@
*
* Karsten Keil cause texts, display information element for 1TR6
*
- *
- * $Log: q931.c,v $
- * Revision 1.8 2000/03/21 23:53:22 kai
- * fix backwards compatibility
- *
- * Revision 1.7 1998/11/15 23:55:17 keil
- * changes from 2.0
- *
- * Revision 1.6 1997/07/27 21:09:44 keil
- * move functions to isdnl3.c
- *
- * Revision 1.5 1997/04/06 22:56:43 keil
- * Some cosmetic changes
- *
- * Revision 1.4 1997/02/09 00:29:11 keil
- * new interface handling, one interface per card
- *
- * Revision 1.3 1997/01/21 22:24:59 keil
- * cleanups
- *
- * Revision 1.2 1996/10/27 22:12:45 keil
- * reporting unknown level 3 protocol ids
- *
- * Revision 1.1 1996/10/13 20:04:56 keil
- * Initial revision
- *
- *
*/
diff --git a/drivers/isdn/hisax/rawhdlc.c b/drivers/isdn/hisax/rawhdlc.c
index 5a8b0591e..1f4dc4436 100644
--- a/drivers/isdn/hisax/rawhdlc.c
+++ b/drivers/isdn/hisax/rawhdlc.c
@@ -1,10 +1,11 @@
-/* $Id: rawhdlc.c,v 1.4 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: rawhdlc.c,v 1.5 2000/06/26 08:59:14 keil Exp $
+ *
* rawhdlc.c support routines for cards that don't support HDLC
*
* Author Karsten Keil (keil@isdn4linux.de)
* Brent Baccala <baccala@FreeSoft.org>
*
+ * This file is (c) under GNU PUBLIC LICENSE
*
* Some passive ISDN cards, such as the Traverse NETJet and the AMD 7930,
* don't perform HDLC encapsulation over the B channel. Drivers for
diff --git a/drivers/isdn/hisax/rawhdlc.h b/drivers/isdn/hisax/rawhdlc.h
index d946fa0b3..12ca6ab8c 100644
--- a/drivers/isdn/hisax/rawhdlc.h
+++ b/drivers/isdn/hisax/rawhdlc.h
@@ -1,9 +1,11 @@
-/* $Id: rawhdlc.h,v 1.2 1998/02/09 10:53:53 keil Exp $
-
+/* $Id: rawhdlc.h,v 1.3 2000/06/26 08:59:14 keil Exp $
+ *
* rawhdlc.h support routines for cards that don't support HDLC
*
* Author Brent Baccala <baccala@FreeSoft.org>
*
+ * This file is (c) under GNU PUBLIC LICENSE
+ *
*/
#ifndef RAWHDLC_H
diff --git a/drivers/isdn/hisax/s0box.c b/drivers/isdn/hisax/s0box.c
index 51bc11658..6b102bcec 100644
--- a/drivers/isdn/hisax/s0box.c
+++ b/drivers/isdn/hisax/s0box.c
@@ -1,9 +1,10 @@
-/* $Id: s0box.c,v 2.2 1999/07/12 21:05:25 keil Exp $
-
+/* $Id: s0box.c,v 2.3 2000/06/26 08:59:14 keil Exp $
+ *
* s0box.c low level stuff for Creatix S0BOX
*
* Author S0BOX specific stuff: Enrik Berkhan (enrik@starfleet.inka.de)
*
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
@@ -13,7 +14,7 @@
#include "isdnl1.h"
extern const char *CardType[];
-const char *s0box_revision = "$Revision: 2.2 $";
+const char *s0box_revision = "$Revision: 2.3 $";
static inline void
writereg(unsigned int padr, signed int addr, u_char off, u_char val) {
diff --git a/drivers/isdn/hisax/saphir.c b/drivers/isdn/hisax/saphir.c
index 5d659a043..af2023b81 100644
--- a/drivers/isdn/hisax/saphir.c
+++ b/drivers/isdn/hisax/saphir.c
@@ -1,27 +1,12 @@
-/* $Id: saphir.c,v 1.5 1999/12/19 13:09:42 keil Exp $
-
+/* $Id: saphir.c,v 1.7 2000/06/26 08:59:14 keil Exp $
+ *
* saphir.c low level stuff for HST Saphir 1
*
* Author Karsten Keil (keil@isdn4linux.de)
*
* Thanks to HST High Soft Tech GmbH
*
- *
- * $Log: saphir.c,v $
- * Revision 1.5 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.4 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.3 1999/07/12 21:05:26 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.2 1999/07/01 08:07:55 keil
- * Initial version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -33,7 +18,7 @@
#include "isdnl1.h"
extern const char *CardType[];
-static char *saphir_rev = "$Revision: 1.5 $";
+static char *saphir_rev = "$Revision: 1.7 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/sedlbauer.c b/drivers/isdn/hisax/sedlbauer.c
index fc0b7ff9b..b463b154a 100644
--- a/drivers/isdn/hisax/sedlbauer.c
+++ b/drivers/isdn/hisax/sedlbauer.c
@@ -1,5 +1,5 @@
-/* $Id: sedlbauer.c,v 1.20 2000/01/20 19:47:45 keil Exp $
-
+/* $Id: sedlbauer.c,v 1.23 2000/06/26 08:59:14 keil Exp $
+ *
* sedlbauer.c low level stuff for Sedlbauer cards
* includes support for the Sedlbauer speed star (speed star II),
* support for the Sedlbauer speed fax+,
@@ -16,71 +16,7 @@
* Sedlbauer AG for informations
* Edgar Toernig
*
- * $Log: sedlbauer.c,v $
- * Revision 1.20 2000/01/20 19:47:45 keil
- * Add Fax Class 1 support
- *
- * Revision 1.19 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.18 1999/11/13 21:25:03 keil
- * Support for Speedfax+ PCI
- *
- * Revision 1.17 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.16 1999/08/29 18:23:01 niemann
- * Fixed typo in errormsg
- *
- * Revision 1.15 1999/08/25 17:00:00 keil
- * Make ISAR V32bis modem running
- * Make LL->HL interface open for additional commands
- *
- * Revision 1.14 1999/08/11 20:59:22 keil
- * new PCI codefix
- * fix IRQ problem while unload
- *
- * Revision 1.13 1999/08/10 16:02:08 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 1.12 1999/08/05 20:43:22 keil
- * ISAR analog modem support
- *
- * Revision 1.11 1999/07/12 21:05:27 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.10 1999/07/01 08:12:09 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.9 1998/11/15 23:55:20 keil
- * changes from 2.0
- *
- * Revision 1.8 1998/08/13 23:34:51 keil
- * starting speedfax+ (ISAR) support
- *
- * Revision 1.7 1998/04/15 16:44:33 keil
- * new init code
- *
- * Revision 1.6 1998/02/09 18:46:06 keil
- * Support for Sedlbauer PCMCIA (Marcus Niemann)
- *
- * Revision 1.5 1998/02/02 13:29:45 keil
- * fast io
- *
- * Revision 1.4 1997/11/08 21:35:52 keil
- * new l1 init
- *
- * Revision 1.3 1997/11/06 17:09:28 keil
- * New 2.1 init code
- *
- * Revision 1.2 1997/10/29 18:55:52 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 1.1 1997/09/11 17:32:04 keil
- * new
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/hisax/sportster.c b/drivers/isdn/hisax/sportster.c
index 03ecedb93..6b6407796 100644
--- a/drivers/isdn/hisax/sportster.c
+++ b/drivers/isdn/hisax/sportster.c
@@ -1,49 +1,12 @@
-/* $Id: sportster.c,v 1.12 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: sportster.c,v 1.13 2000/06/26 08:59:14 keil Exp $
+ *
* sportster.c low level stuff for USR Sportster internal TA
*
* Author Karsten Keil (keil@isdn4linux.de)
*
* Thanks to Christian "naddy" Weisgerber (3Com, US Robotics) for documentation
*
- * $Log: sportster.c,v $
- * Revision 1.12 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 1.11 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.10 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.9 1999/07/12 21:05:29 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.8 1999/07/01 08:12:10 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.7 1998/11/15 23:55:22 keil
- * changes from 2.0
- *
- * Revision 1.6 1998/04/15 16:44:35 keil
- * new init code
- *
- * Revision 1.5 1998/02/02 13:29:46 keil
- * fast io
- *
- * Revision 1.4 1997/11/08 21:35:52 keil
- * new l1 init
- *
- * Revision 1.3 1997/11/06 17:09:29 keil
- * New 2.1 init code
- *
- * Revision 1.2 1997/10/29 18:51:18 keil
- * New files
- *
- * Revision 1.1.2.1 1997/10/17 22:10:58 keil
- * new files on 2.0
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
@@ -53,7 +16,7 @@
#include "isdnl1.h"
extern const char *CardType[];
-const char *sportster_revision = "$Revision: 1.12 $";
+const char *sportster_revision = "$Revision: 1.13 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/tei.c b/drivers/isdn/hisax/tei.c
index 8454f1554..359e9932e 100644
--- a/drivers/isdn/hisax/tei.c
+++ b/drivers/isdn/hisax/tei.c
@@ -1,5 +1,5 @@
-/* $Id: tei.c,v 2.13 1999/07/21 14:46:28 keil Exp $
-
+/* $Id: tei.c,v 2.15 2000/06/26 08:59:14 keil Exp $
+ *
* Author Karsten Keil (keil@isdn4linux.de)
* based on the teles driver from Jan den Ouden
*
@@ -10,75 +10,13 @@
* Thanks to Jan den Ouden
* Fritz Elfert
*
- * $Log: tei.c,v $
- * Revision 2.13 1999/07/21 14:46:28 keil
- * changes from EICON certification
- *
- * Revision 2.12 1999/07/01 08:12:11 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.11 1998/11/15 23:55:24 keil
- * changes from 2.0
- *
- * Revision 2.10 1998/05/25 14:08:10 keil
- * HiSax 3.0
- * fixed X.75 and leased line to work again
- * Point2Point and fixed TEI are runtime options now:
- * hisaxctrl <id> 7 1 set PTP
- * hisaxctrl <id> 8 <TEIVALUE *2 >
- * set fixed TEI to TEIVALUE (0-63)
- *
- * Revision 2.9 1998/05/25 12:58:23 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.8 1998/03/07 22:57:07 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 2.7 1998/02/12 23:08:11 keil
- * change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()
- *
- * Revision 2.6 1998/02/02 13:41:42 keil
- * fix MDL_ASSIGN for PtP
- *
- * Revision 2.5 1997/11/06 17:09:12 keil
- * New 2.1 init code
- *
- * Revision 2.4 1997/10/29 19:04:46 keil
- * changes for 2.1
- *
- * Revision 2.3 1997/10/01 09:21:43 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 2.2 1997/07/31 19:24:39 keil
- * fixed a warning
- *
- * Revision 2.1 1997/07/31 11:50:16 keil
- * ONE TEI and FIXED TEI handling
- *
- * Revision 2.0 1997/07/27 21:13:30 keil
- * New TEI managment
- *
- * Revision 1.9 1997/06/26 11:18:02 keil
- * New managment
- *
- * Revision 1.8 1997/04/07 22:59:08 keil
- * GFP_KERNEL --> GFP_ATOMIC
- *
- * Revision 1.7 1997/04/06 22:54:03 keil
- * Using SKB's
- *
- * Old log removed/ KKe
- *
*/
#define __NO_VERSION__
#include "hisax.h"
#include "isdnl2.h"
#include <linux/random.h>
-const char *tei_revision = "$Revision: 2.13 $";
+const char *tei_revision = "$Revision: 2.15 $";
#define ID_REQUEST 1
#define ID_ASSIGNED 2
diff --git a/drivers/isdn/hisax/teleint.c b/drivers/isdn/hisax/teleint.c
index bbf59316d..90e0e2ec5 100644
--- a/drivers/isdn/hisax/teleint.c
+++ b/drivers/isdn/hisax/teleint.c
@@ -1,49 +1,10 @@
-/* $Id: teleint.c,v 1.12 1999/12/19 13:09:42 keil Exp $
-
+/* $Id: teleint.c,v 1.13 2000/06/26 08:59:14 keil Exp $
+ *
* teleint.c low level stuff for TeleInt isdn cards
*
* Author Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: teleint.c,v $
- * Revision 1.12 1999/12/19 13:09:42 keil
- * changed TASK_INTERRUPTIBLE into TASK_UNINTERRUPTIBLE for
- * signal proof delays
- *
- * Revision 1.11 1999/09/04 06:20:06 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.10 1999/08/31 11:20:27 paul
- * various spelling corrections (new checksums may be needed, Karsten!)
- *
- * Revision 1.9 1999/07/12 21:05:30 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 1.8 1999/07/01 08:12:12 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 1.7 1998/11/15 23:55:26 keil
- * changes from 2.0
- *
- * Revision 1.6 1998/04/15 16:45:31 keil
- * new init code
- *
- * Revision 1.5 1998/02/02 13:40:47 keil
- * fast io
- *
- * Revision 1.4 1997/11/08 21:35:53 keil
- * new l1 init
- *
- * Revision 1.3 1997/11/06 17:09:30 keil
- * New 2.1 init code
- *
- * Revision 1.2 1997/10/29 18:55:53 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 1.1 1997/09/11 17:32:32 keil
- * new
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
@@ -55,7 +16,7 @@
extern const char *CardType[];
-const char *TeleInt_revision = "$Revision: 1.12 $";
+const char *TeleInt_revision = "$Revision: 1.13 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/teles0.c b/drivers/isdn/hisax/teles0.c
index c3a4a05eb..c9c5838a5 100644
--- a/drivers/isdn/hisax/teles0.c
+++ b/drivers/isdn/hisax/teles0.c
@@ -1,5 +1,5 @@
-/* $Id: teles0.c,v 2.11 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: teles0.c,v 2.12 2000/06/26 08:59:14 keil Exp $
+ *
* teles0.c low level stuff for Teles Memory IO isdn cards
* based on the teles driver from Jan den Ouden
*
@@ -9,51 +9,7 @@
* Fritz Elfert
* Beat Doebeli
*
- * $Log: teles0.c,v $
- * Revision 2.11 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 2.10 1999/11/14 23:37:03 keil
- * new ISA memory mapped IO
- *
- * Revision 2.9 1999/07/12 21:05:31 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.8 1998/04/15 16:44:28 keil
- * new init code
- *
- * Revision 2.7 1998/03/07 22:57:08 tsbogend
- * made HiSax working on Linux/Alpha
- *
- * Revision 2.6 1998/02/03 23:27:47 keil
- * IRQ 9
- *
- * Revision 2.5 1998/02/02 13:29:47 keil
- * fast io
- *
- * Revision 2.4 1997/11/08 21:35:54 keil
- * new l1 init
- *
- * Revision 2.3 1997/11/06 17:09:31 keil
- * New 2.1 init code
- *
- * Revision 2.2 1997/10/29 18:55:57 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 2.1 1997/07/27 21:47:10 keil
- * new interface structures
- *
- * Revision 2.0 1997/06/26 11:02:43 keil
- * New Layer and card interface
- *
- * Revision 1.8 1997/04/13 19:54:04 keil
- * Change in IRQ check delay for SMP
- *
- * Revision 1.7 1997/04/06 22:54:04 keil
- * Using SKB's
- *
- * removed old log info /KKe
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
@@ -64,7 +20,7 @@
extern const char *CardType[];
-const char *teles0_revision = "$Revision: 2.11 $";
+const char *teles0_revision = "$Revision: 2.12 $";
#define TELES_IOMEM_SIZE 0x400
#define byteout(addr,val) outb(val,addr)
diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c
index 171aeb07d..3cdbfbeb5 100644
--- a/drivers/isdn/hisax/teles3.c
+++ b/drivers/isdn/hisax/teles3.c
@@ -1,5 +1,5 @@
-/* $Id: teles3.c,v 2.15 2000/02/03 16:40:10 keil Exp $
-
+/* $Id: teles3.c,v 2.16 2000/06/26 08:59:15 keil Exp $
+ *
* teles3.c low level stuff for Teles 16.3 & PNP isdn cards
*
* based on the teles driver from Jan den Ouden
@@ -10,81 +10,7 @@
* Fritz Elfert
* Beat Doebeli
*
- * $Log: teles3.c,v $
- * Revision 2.15 2000/02/03 16:40:10 keil
- * Fix teles pcmcia
- *
- * Revision 2.14 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 2.13 1999/08/30 12:01:28 keil
- * HW version v1.3 support
- *
- * Revision 2.12 1999/07/12 21:05:32 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.11 1999/07/01 08:12:14 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.10 1999/02/15 14:37:15 cpetig
- * oops, missed something in last commit
- *
- * Revision 2.9 1999/02/15 14:11:02 cpetig
- * fixed a bug with Teles PCMCIA, it doesn't have a config register
- *
- * Revision 2.8 1998/04/15 16:44:30 keil
- * new init code
- *
- * Revision 2.7 1998/02/02 13:29:48 keil
- * fast io
- *
- * Revision 2.6 1997/11/13 16:22:44 keil
- * COMPAQ_ISA reset
- *
- * Revision 2.5 1997/11/12 15:01:25 keil
- * COMPAQ_ISA changes
- *
- * Revision 2.4 1997/11/08 21:35:56 keil
- * new l1 init
- *
- * Revision 2.3 1997/11/06 17:09:33 keil
- * New 2.1 init code
- *
- * Revision 2.2 1997/10/29 18:55:59 keil
- * changes for 2.1.60 (irq2dev_map)
- *
- * Revision 2.1 1997/07/27 21:47:12 keil
- * new interface structures
- *
- * Revision 2.0 1997/06/26 11:02:46 keil
- * New Layer and card interface
- *
- * Revision 1.11 1997/04/13 19:54:05 keil
- * Change in IRQ check delay for SMP
- *
- * Revision 1.10 1997/04/06 22:54:05 keil
- * Using SKB's
- *
- * Revision 1.9 1997/03/22 02:01:07 fritz
- * -Reworked toplevel Makefile. From now on, no different Makefiles
- * for standalone- and in-kernel-compilation are needed any more.
- * -Added local Rules.make for above reason.
- * -Experimental changes in teles3.c for enhanced IRQ-checking with
- * 2.1.X and SMP kernels.
- * -Removed diffstd-script, same functionality is in stddiff -r.
- * -Enhanced scripts std2kern and stddiff.
- *
- * Revision 1.8 1997/02/23 18:43:55 fritz
- * Added support for Teles-Vision.
- *
- * Revision 1.7 1997/01/28 22:48:33 keil
- * fixes for Teles PCMCIA (Christof Petig)
- *
- * Revision 1.6 1997/01/27 15:52:55 keil
- * SMP proof,cosmetics, PCMCIA added
- *
- * removed old log info /KKe
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
@@ -94,7 +20,7 @@
#include "isdnl1.h"
extern const char *CardType[];
-const char *teles3_revision = "$Revision: 2.15 $";
+const char *teles3_revision = "$Revision: 2.16 $";
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c
index 692fbddcf..856b73fd9 100644
--- a/drivers/isdn/hisax/telespci.c
+++ b/drivers/isdn/hisax/telespci.c
@@ -1,44 +1,11 @@
-/* $Id: telespci.c,v 2.11 1999/12/23 15:09:32 keil Exp $
-
+/* $Id: telespci.c,v 2.13 2000/06/26 08:59:15 keil Exp $
+ *
* telespci.c low level stuff for Teles PCI isdn cards
*
* Author Ton van Rosmalen
* Karsten Keil (keil@isdn4linux.de)
*
- *
- * $Log: telespci.c,v $
- * Revision 2.11 1999/12/23 15:09:32 keil
- * change email
- *
- * Revision 2.10 1999/11/15 14:20:05 keil
- * 64Bit compatibility
- *
- * Revision 2.9 1999/08/11 21:01:34 keil
- * new PCI codefix
- *
- * Revision 2.8 1999/08/10 16:02:10 calle
- * struct pci_dev changed in 2.3.13. Made the necessary changes.
- *
- * Revision 2.7 1999/07/12 21:05:34 keil
- * fix race in IRQ handling
- * added watchdog for lost IRQs
- *
- * Revision 2.6 1999/07/01 08:12:15 keil
- * Common HiSax version for 2.0, 2.1, 2.2 and 2.3 kernel
- *
- * Revision 2.5 1998/11/15 23:55:28 keil
- * changes from 2.0
- *
- * Revision 2.4 1998/10/05 09:38:08 keil
- * Fix register addressing
- *
- * Revision 2.3 1998/05/25 12:58:26 keil
- * HiSax golden code from certification, Don't use !!!
- * No leased lines, no X75, but many changes.
- *
- * Revision 2.1 1998/04/15 16:38:23 keil
- * Add S0Box and Teles PCI support
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
#define __NO_VERSION__
@@ -50,7 +17,7 @@
#include <linux/pci.h>
extern const char *CardType[];
-const char *telespci_revision = "$Revision: 2.11 $";
+const char *telespci_revision = "$Revision: 2.13 $";
#define ZORAN_PO_RQ_PEN 0x02000000
#define ZORAN_PO_WR 0x00800000
diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c
index 46fe29f75..cea2f61df 100644
--- a/drivers/isdn/hisax/w6692.c
+++ b/drivers/isdn/hisax/w6692.c
@@ -1,5 +1,5 @@
-/* $Id: w6692.c,v 1.4 2000/03/16 23:24:11 werner Exp $
-
+/* $Id: w6692.c,v 1.7 2000/06/26 08:59:15 keil Exp $
+ *
* w6692.c Winbond W6692 specific routines
*
* Author Petr Novak <petr.novak@i.cz>
@@ -7,23 +7,6 @@
*
* This file is (c) under GNU PUBLIC LICENSE
*
- * $Log: w6692.c,v $
- * Revision 1.4 2000/03/16 23:24:11 werner
- *
- * Fixed an additional location
- *
- * Revision 1.3 2000/03/16 22:41:36 werner
- *
- * Tried to fix second B-channel problem (still not tested)
- *
- * Revision 1.2 2000/02/26 00:35:13 keil
- * Fix skb freeing in interrupt context
- *
- * Revision 1.1 1999/09/04 06:28:58 keil
- * first revision
- *
- *
- *
*/
#include <linux/config.h>
diff --git a/drivers/isdn/hisax/w6692.h b/drivers/isdn/hisax/w6692.h
index 4990b0082..5c28d3bac 100644
--- a/drivers/isdn/hisax/w6692.h
+++ b/drivers/isdn/hisax/w6692.h
@@ -1,18 +1,10 @@
-/* $Id: w6692.h,v 1.1 1999/09/04 06:28:58 keil Exp $
-
+/* $Id: w6692.h,v 1.2 2000/06/26 08:59:15 keil Exp $
+ *
* w6692.h Winbond W6692 specific defines
*
* Author Petr Novak <petr.novak@i.cz>
*
- *
- * $Log: w6692.h,v $
- * Revision 1.1 1999/09/04 06:28:58 keil
- * first revision
- *
- *
- * Revision 1.0 1999/08/28 21:58:00 pnovak
- * first version
- *
+ * This file is (c) under GNU PUBLIC LICENSE
*
*/
diff --git a/drivers/isdn/isdn_audio.c b/drivers/isdn/isdn_audio.c
index 9bc7a08b0..e8850ee95 100644
--- a/drivers/isdn/isdn_audio.c
+++ b/drivers/isdn/isdn_audio.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_audio.c,v 1.17 1999/08/17 11:10:52 paul Exp $
+/* $Id: isdn_audio.c,v 1.21 2000/06/20 18:01:55 keil Exp $
* Linux ISDN subsystem, audio conversion and compression (linklevel).
*
@@ -20,73 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_audio.c,v $
- * Revision 1.17 1999/08/17 11:10:52 paul
- * don't try to use x86 assembler on non-x86!
- *
- * Revision 1.16 1999/08/06 12:47:35 calle
- * Using __GNUC__ == 2 && __GNUC_MINOR__ < 95 how to define
- * ISDN_AUDIO_OPTIMIZE_ON_X386_WITH_ASM_IF_GCC_ALLOW_IT
- *
- * Revision 1.15 1999/08/06 12:02:52 calle
- * egcs 2.95 complain about invalid asm statement:
- * "fixed or forbidden register 2 (cx) was spilled for class CREG."
- * Using ISDN_AUDIO_OPTIMIZE_ON_X386_WITH_ASM_IF_GCC_ALLOW_IT and not
- * define it at the moment.
- *
- * Revision 1.14 1999/07/11 17:14:06 armin
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- * Moved "Add CPN to RING message" to new register S23,
- * "Display message" is now correct on register S13 bit 7.
- * New audio command AT+VDD implemented (deactivate DTMF decoder and
- * activate possible existing hardware/DSP decoder).
- * Moved some tty defines to .h file.
- * Made whitespace possible in AT command line.
- * Some AT-emulator output bugfixes.
- * First Fax G3 implementations.
- *
- * Revision 1.13 1999/04/12 12:33:09 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.12 1998/07/26 18:48:43 armin
- * Added silence detection in voice receive mode.
- *
- * Revision 1.11 1998/04/10 10:35:10 paul
- * fixed (silly?) warnings from egcs on Alpha.
- *
- * Revision 1.10 1998/02/20 17:09:40 fritz
- * Changes for recent kernels.
- *
- * Revision 1.9 1997/10/01 09:20:25 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.8 1997/03/02 14:29:16 fritz
- * More ttyI related cleanup.
- *
- * Revision 1.7 1997/02/03 22:44:11 fritz
- * Reformatted according CodingStyle
- *
- * Revision 1.6 1996/06/06 14:43:31 fritz
- * Changed to support DTMF decoding on audio playback also.
- *
- * Revision 1.5 1996/06/05 02:24:08 fritz
- * Added DTMF decoder for audio mode.
- *
- * Revision 1.4 1996/05/17 03:48:01 fritz
- * Removed some test statements.
- * Added revision string.
- *
- * Revision 1.3 1996/05/10 08:48:11 fritz
- * Corrected adpcm bugs.
- *
- * Revision 1.2 1996/04/30 09:31:17 fritz
- * General rewrite.
- *
- * Revision 1.1.1.1 1996/04/28 12:25:40 fritz
- * Taken under CVS control
- *
*/
#define __NO_VERSION__
@@ -95,7 +28,7 @@
#include "isdn_audio.h"
#include "isdn_common.h"
-char *isdn_audio_revision = "$Revision: 1.17 $";
+char *isdn_audio_revision = "$Revision: 1.21 $";
/*
* Misc. lookup-tables.
@@ -250,9 +183,9 @@ static char isdn_audio_ulaw_to_alaw[] =
};
#define NCOEFF 16 /* number of frequencies to be analyzed */
-#define DTMF_TRESH 50000 /* above this is dtmf */
-#define SILENCE_TRESH 100 /* below this is silence */
-#define H2_TRESH 10000 /* 2nd harmonic */
+#define DTMF_TRESH 25000 /* above this is dtmf */
+#define SILENCE_TRESH 200 /* below this is silence */
+#define H2_TRESH 20000 /* 2nd harmonic */
#define AMP_BITS 9 /* bits per sample, reduced to avoid overflow */
#define LOGRP 0
#define HIGRP 1
@@ -293,7 +226,7 @@ static char dtmf_matrix[4][4] =
};
static inline void
-isdn_audio_tlookup(const void *table, void *buff, unsigned long n)
+isdn_audio_tlookup(const u_char *table, u_char *buff, unsigned long n)
{
#ifdef __i386__
unsigned long d0, d1, d2, d3;
@@ -307,10 +240,8 @@ isdn_audio_tlookup(const void *table, void *buff, unsigned long n)
: "0"((long) table), "1"(n), "2"((long) buff), "3"((long) buff)
: "memory", "ax");
#else
- unsigned char* b = (unsigned char*) buff;
- unsigned char* t = (unsigned char*) table;
while (n--)
- *b++ = t[*b];
+ *buff++ = table[*(unsigned char *)buff];
#endif
}
diff --git a/drivers/isdn/isdn_audio.h b/drivers/isdn/isdn_audio.h
index 54dcb253e..09c1651b1 100644
--- a/drivers/isdn/isdn_audio.h
+++ b/drivers/isdn/isdn_audio.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_audio.h,v 1.8 1999/07/11 17:14:07 armin Exp $
+/* $Id: isdn_audio.h,v 1.9 2000/05/11 22:29:20 kai Exp $
* Linux ISDN subsystem, audio conversion and compression (linklevel).
*
@@ -18,39 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_audio.h,v $
- * Revision 1.8 1999/07/11 17:14:07 armin
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- * Moved "Add CPN to RING message" to new register S23,
- * "Display message" is now correct on register S13 bit 7.
- * New audio command AT+VDD implemented (deactivate DTMF decoder and
- * activate possible existing hardware/DSP decoder).
- * Moved some tty defines to .h file.
- * Made whitespace possible in AT command line.
- * Some AT-emulator output bugfixes.
- * First Fax G3 implementations.
- *
- * Revision 1.7 1999/04/12 12:33:11 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.6 1998/07/26 18:48:44 armin
- * Added silence detection in voice receive mode.
- *
- * Revision 1.5 1997/02/03 22:45:21 fritz
- * Reformatted according CodingStyle
- *
- * Revision 1.4 1996/06/06 14:43:32 fritz
- * Changed to support DTMF decoding on audio playback also.
- *
- * Revision 1.3 1996/06/05 02:24:09 fritz
- * Added DTMF decoder for audio mode.
- *
- * Revision 1.2 1996/05/10 08:48:32 fritz
- * Corrected adpcm bugs.
- *
- * Revision 1.1 1996/04/30 09:29:06 fritz
- * Taken under CVS control.
- *
*/
#define DTMF_NPOINTS 205 /* Number of samples for DTMF recognition */
diff --git a/drivers/isdn/isdn_cards.c b/drivers/isdn/isdn_cards.c
index a17cd1f79..63da26096 100644
--- a/drivers/isdn/isdn_cards.c
+++ b/drivers/isdn/isdn_cards.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_cards.c,v 1.10 1999/07/20 06:41:28 calle Exp $
+/* $Id: isdn_cards.c,v 1.11 2000/05/11 22:29:20 kai Exp $
* Linux ISDN subsystem, initialization for non-modularized drivers.
*
@@ -18,38 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_cards.c,v $
- * Revision 1.10 1999/07/20 06:41:28 calle
- * Bugfix: After the redesign of the AVM B1 driver, the driver didn't even
- * compile, if not selected as modules.
- *
- * Revision 1.9 1999/04/12 12:33:11 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.8 1999/03/29 11:13:23 armin
- * Added eicon driver init.
- *
- * Revision 1.7 1998/02/20 17:24:28 fritz
- * Added ACT2000 init.
- *
- * Revision 1.6 1997/04/23 18:56:03 fritz
- * Old Teles driver removed, Changed doc and scripts accordingly.
- *
- * Revision 1.5 1997/03/30 17:10:36 calle
- * added support for AVM-B1-PCI card.
- *
- * Revision 1.4 1997/03/04 21:59:44 calle
- * Added AVM-B1-CAPI2.0 driver
- *
- * Revision 1.3 1997/02/03 23:31:14 fritz
- * Reformatted according CodingStyle
- *
- * Revision 1.2 1996/10/13 19:52:17 keil
- * HiSax support
- *
- * Revision 1.1 1996/04/20 16:04:36 fritz
- * Initial revision
- *
*/
#include <linux/config.h>
@@ -76,9 +44,6 @@ extern void capi_init(void);
extern void capidrv_init(void);
#endif
-extern int act2000_init(void);
-
-
void
isdn_cards_init(void)
{
diff --git a/drivers/isdn/isdn_cards.h b/drivers/isdn/isdn_cards.h
index 78173e747..6122ac8c4 100644
--- a/drivers/isdn/isdn_cards.h
+++ b/drivers/isdn/isdn_cards.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_cards.h,v 1.3 1999/04/12 12:33:13 fritz Exp $
+/* $Id: isdn_cards.h,v 1.4 2000/05/11 22:29:20 kai Exp $
* Linux ISDN subsystem, initialization for non-modularized drivers.
*
@@ -18,16 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_cards.h,v $
- * Revision 1.3 1999/04/12 12:33:13 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.2 1997/02/03 23:31:55 fritz
- * Reformatted according CodingStyle
- *
- * Revision 1.1 1996/04/20 16:04:03 fritz
- * Initial revision
- *
*/
extern void isdn_cards_init(void);
diff --git a/drivers/isdn/isdn_common.c b/drivers/isdn/isdn_common.c
index b543d8690..9204a878a 100644
--- a/drivers/isdn/isdn_common.c
+++ b/drivers/isdn/isdn_common.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.c,v 1.101 2000/04/07 14:50:34 calle Exp $
+/* $Id: isdn_common.c,v 1.108 2000/06/24 15:52:47 keil Exp $
* Linux ISDN subsystem, common used functions (linklevel).
*
@@ -20,417 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_common.c,v $
- * Revision 1.101 2000/04/07 14:50:34 calle
- * Bugfix: on my system 2.3.99-pre3 Dual PII 350, unload of module isdn.o
- * hangs if vfree is called with interrupt disabled. After moving
- * restore_flags in front of vfree it doesn't hang.
- *
- * Revision 1.100 2000/03/03 16:37:11 kai
- * incorporated some cosmetic changes from the official kernel tree back
- * into CVS
- *
- * Revision 1.99 2000/02/26 01:00:52 keil
- * changes from 2.3.47
- *
- * Revision 1.98 2000/02/16 14:56:27 paul
- * translated ISDN_MODEM_ANZREG to ISDN_MODEM_NUMREG for english speakers
- *
- * Revision 1.97 2000/01/23 18:45:37 keil
- * Change EAZ mapping to forbit the use of cards (insert a "-" for the MSN)
- *
- * Revision 1.96 2000/01/20 19:55:33 keil
- * Add FAX Class 1 support
- *
- * Revision 1.95 2000/01/09 20:43:13 detabc
- * exand logical bind-group's for both call's (in and out).
- * add first part of kernel-config-help for abc-extension.
- *
- * Revision 1.94 1999/11/20 22:14:13 detabc
- * added channel dial-skip in case of external use
- * (isdn phone or another isdn device) on the same NTBA.
- * usefull with two or more card's connected the different NTBA's.
- * global switchable in kernel-config and also per netinterface.
- *
- * add auto disable of netinterface's in case of:
- * to many connection's in short time.
- * config mistakes (wrong encapsulation, B2-protokoll or so on) on local
- * or remote side.
- * wrong password's or something else to a ISP (syncppp).
- *
- * possible encapsulations for this future are:
- * ISDN_NET_ENCAP_SYNCPPP, ISDN_NET_ENCAP_UIHDLC, ISDN_NET_ENCAP_RAWIP,
- * and ISDN_NET_ENCAP_CISCOHDLCK.
- *
- * Revision 1.93 1999/11/04 13:11:36 keil
- * Reinit of v110 structs
- *
- * Revision 1.92 1999/10/31 15:59:50 he
- * more skb headroom checks
- *
- * Revision 1.91 1999/10/28 22:48:45 armin
- * Bugfix: isdn_free_channel() now frees the channel,
- * even when the usage of the ttyI has changed.
- *
- * Revision 1.90 1999/10/27 21:21:17 detabc
- * Added support for building logically-bind-group's per interface.
- * usefull for outgoing call's with more then one isdn-card.
- *
- * Switchable support to dont reset the hangup-timeout for
- * receive frames. Most part's of the timru-rules for receiving frames
- * are now obsolete. If the input- or forwarding-firewall deny
- * the frame, the line will be not hold open.
- *
- * Revision 1.89 1999/10/16 14:46:47 keil
- * replace kmalloc with vmalloc for the big dev struct
- *
- * Revision 1.88 1999/10/02 00:39:26 he
- * Fixed a 2.3.x wait queue initialization (was causing panics)
- *
- * Revision 1.87 1999/09/12 16:19:39 detabc
- * added abc features
- * low cost routing for net-interfaces (only the HL side).
- * need more implementation in the isdnlog-utility
- * udp info support (first part).
- * different EAZ on outgoing call's.
- * more checks on D-Channel callbacks (double use of channels).
- * tested and running with kernel 2.3.17
- *
- * Revision 1.86 1999/07/31 12:59:42 armin
- * Added tty fax capabilities.
- *
- * Revision 1.85 1999/07/29 16:58:35 armin
- * Bugfix: DLE handling in isdn_readbchan()
- *
- * Revision 1.84 1999/07/25 16:21:10 keil
- * fix number matching
- *
- * Revision 1.83 1999/07/13 21:02:05 werner
- * Added limit possibilty of driver b_channel resources (ISDN_STAT_DISCH)
- *
- * Revision 1.82 1999/07/12 21:06:50 werner
- * Fixed problem when loading more than one driver temporary
- *
- * Revision 1.81 1999/07/11 17:14:09 armin
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- * Moved "Add CPN to RING message" to new register S23,
- * "Display message" is now correct on register S13 bit 7.
- * New audio command AT+VDD implemented (deactivate DTMF decoder and
- * activate possible existing hardware/DSP decoder).
- * Moved some tty defines to .h file.
- * Made whitespace possible in AT command line.
- * Some AT-emulator output bugfixes.
- * First Fax G3 implementations.
- *
- * Revision 1.80 1999/07/07 10:14:00 detabc
- * remove unused messages
- *
- * Revision 1.79 1999/07/05 23:51:30 werner
- * Allow limiting of available HiSax B-chans per card. Controlled by hisaxctrl
- * hisaxctrl id 10 <nr. of chans 0-2>
- *
- * Revision 1.78 1999/07/05 20:21:15 werner
- * changes to use diversion sources for all kernel versions.
- * removed static device, only proc filesystem used
- *
- * Revision 1.77 1999/07/01 08:29:50 keil
- * compatibility to 2.3 kernel
- *
- * Revision 1.76 1999/06/29 16:16:44 calle
- * Let ISDN_CMD_UNLOAD work with open isdn devices without crash again.
- * Also right unlocking (ISDN_CMD_UNLOCK) is done now.
- * isdnlog should check returncode of read(2) calls.
- *
- * Revision 1.75 1999/04/18 14:06:47 fritz
- * Removed TIMRU stuff.
- *
- * Revision 1.74 1999/04/12 13:16:45 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.73 1999/04/12 12:33:15 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.72 1999/03/02 12:04:44 armin
- * -added ISDN_STAT_ADDCH to increase supported channels after
- * register_isdn().
- * -ttyI now goes on-hook on ATZ when B-Ch is connected.
- * -added timer-function for register S7 (Wait for Carrier).
- * -analog modem (ISDN_PROTO_L2_MODEM) implementations.
- * -on L2_MODEM a string will be appended to the CONNECT-Message,
- * which is provided by the HL-Driver in parm.num in ISDN_STAT_BCONN.
- * -variable "dialing" used for ATA also, for interrupting call
- * establishment and register S7.
- *
- * Revision 1.71 1999/01/28 09:10:43 armin
- * Fixed bad while-loop in isdn_readbch().
- *
- * Revision 1.70 1999/01/15 19:58:54 he
- * removed compatibiltity macro
- *
- * Revision 1.69 1998/09/07 21:59:58 he
- * flush method for 2.1.118 and above
- * updated IIOCTLNETGPN
- *
- * Revision 1.68 1998/08/31 21:09:45 he
- * new ioctl IIOCNETGPN for /dev/isdninfo (get network interface'
- * peer phone number)
- *
- * Revision 1.67 1998/06/26 15:12:21 fritz
- * Added handling of STAT_ICALL with incomplete CPN.
- * Added AT&L for ttyI emulator.
- * Added more locking stuff in tty_write.
- *
- * Revision 1.66 1998/06/17 19:50:41 he
- * merged with 2.1.10[34] (cosmetics and udelay() -> mdelay())
- * brute force fix to avoid Ugh's in isdn_tty_write()
- * cleaned up some dead code
- *
- *
- * Revision 1.62 1998/04/14 16:28:43 he
- * Fixed user space access with interrupts off and remaining
- * copy_{to,from}_user() -> -EFAULT return codes
- *
- * Revision 1.61 1998/03/22 18:50:46 hipp
- * Added BSD Compression for syncPPP .. UNTESTED at the moment
- *
- * Revision 1.60 1998/03/19 13:18:18 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 1.59 1998/03/09 17:46:23 he
- * merged in 2.1.89 changes
- *
- * Revision 1.58 1998/03/07 22:35:24 fritz
- * Starting generic module support (Nothing usable yet).
- *
- * Revision 1.57 1998/03/07 18:21:01 cal
- * Dynamic Timeout-Rule-Handling vs. 971110 included
- *
- * Revision 1.56 1998/02/25 17:49:38 he
- * Changed return codes caused be failing copy_{to,from}_user to -EFAULT
- *
- * Revision 1.55 1998/02/23 23:35:32 fritz
- * Eliminated some compiler warnings.
- *
- * Revision 1.54 1998/02/22 19:44:19 fritz
- * Bugfixes and improvements regarding V.110, V.110 now running.
- *
- * Revision 1.53 1998/02/20 17:18:05 fritz
- * Changes for recent kernels.
- * Added common stub for sending commands to lowlevel.
- * Added V.110.
- *
- * Revision 1.52 1998/01/31 22:05:57 keil
- * Lots of changes for X.25 support:
- * Added generic support for connection-controlling encapsulation protocols
- * Added support of BHUP status message
- * Added support for additional p_encap X25IFACE
- * Added support for kernels >= 2.1.72
- *
- * Revision 1.51 1998/01/31 19:17:29 calle
- * merged changes from and for 2.1.82
- *
- * Revision 1.50 1997/12/12 06:12:11 calle
- * moved EXPORT_SYMBOL(register_isdn) from isdn_syms.c to isdn_common.c
- *
- * Revision 1.49 1997/11/06 17:16:52 keil
- * Sync to 2.1.62 changes
- *
- * Revision 1.48 1997/11/02 23:55:50 keil
- * Andi Kleen's changes for 2.1.60
- * without it the isdninfo and isdnctrl devices won't work
- *
- * Revision 1.47 1997/10/09 21:28:46 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.46 1997/10/01 09:20:27 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.45 1997/08/21 23:11:41 fritz
- * Added changes for kernels >= 2.1.45
- *
- * Revision 1.44 1997/05/27 15:17:23 fritz
- * Added changes for recent 2.1.x kernels:
- * changed return type of isdn_close
- * queue_task_* -> queue_task
- * clear/set_bit -> test_and_... where apropriate.
- * changed type of hard_header_cache parameter.
- *
- * Revision 1.43 1997/03/31 14:09:43 fritz
- * Fixed memory leak in isdn_close().
- *
- * Revision 1.42 1997/03/30 16:51:08 calle
- * changed calls to copy_from_user/copy_to_user and removed verify_area
- * were possible.
- *
- * Revision 1.41 1997/03/24 22:54:41 fritz
- * Some small fixes in debug code.
- *
- * Revision 1.40 1997/03/08 08:13:51 fritz
- * Bugfix: IIOCSETMAP (Set mapping) was broken.
- *
- * Revision 1.39 1997/03/07 01:32:54 fritz
- * Added proper ifdef's for CONFIG_ISDN_AUDIO
- *
- * Revision 1.38 1997/03/05 21:15:02 fritz
- * Fix: reduced stack usage of isdn_ioctl() and isdn_set_allcfg()
- *
- * Revision 1.37 1997/03/02 14:29:18 fritz
- * More ttyI related cleanup.
- *
- * Revision 1.36 1997/02/28 02:32:40 fritz
- * Cleanup: Moved some tty related stuff from isdn_common.c
- * to isdn_tty.c
- * Bugfix: Bisync protocol did not behave like documented.
- *
- * Revision 1.35 1997/02/21 13:01:19 fritz
- * Changes CAUSE message output in kernel log.
- *
- * Revision 1.34 1997/02/10 20:12:43 fritz
- * Changed interface for reporting incoming calls.
- *
- * Revision 1.33 1997/02/10 10:05:42 fritz
- * More changes for Kernel 2.1.X
- * Symbol information moved to isdn_syms.c
- *
- * Revision 1.32 1997/02/03 22:55:26 fritz
- * Reformatted according CodingStyle.
- * Changed isdn_writebuf_stub static.
- * Slow down tty-RING counter.
- * skb->free stuff replaced by macro.
- * Bugfix in audio-skb locking.
- * Bugfix in HL-driver locking.
- *
- * Revision 1.31 1997/01/17 01:19:18 fritz
- * Applied chargeint patch.
- *
- * Revision 1.30 1997/01/14 01:27:47 fritz
- * Changed audio receive not to rely on skb->users and skb->lock.
- * Added ATI2 and related variables.
- * Started adding full-duplex audio capability.
- *
- * Revision 1.29 1997/01/12 23:33:03 fritz
- * Made isdn_all_eaz foolproof.
- *
- * Revision 1.28 1996/11/13 02:33:19 fritz
- * Fixed a race condition.
- *
- * Revision 1.27 1996/10/27 22:02:41 keil
- * return codes for ISDN_STAT_ICALL
- *
- * Revision 1.26 1996/10/23 11:59:40 fritz
- * More compatibility changes.
- *
- * Revision 1.25 1996/10/22 23:13:54 fritz
- * Changes for compatibility to 2.0.X and 2.1.X kernels.
- *
- * Revision 1.24 1996/10/11 14:02:03 fritz
- * Bugfix: call to isdn_ppp_timer_timeout() never compiled, because of
- * typo in #ifdef.
- *
- * Revision 1.23 1996/06/25 18:35:38 fritz
- * Fixed bogus memory access in isdn_set_allcfg().
- *
- * Revision 1.22 1996/06/24 17:37:37 fritz
- * Bugfix: isdn_timer_ctrl() did restart timer, even if it
- * was already running.
- * lowlevel driver locking did use wrong parameters.
- *
- * Revision 1.21 1996/06/15 14:58:20 fritz
- * Added version signatures for data structures used
- * by userlevel programs.
- *
- * Revision 1.20 1996/06/12 16:01:49 fritz
- * Bugfix: Remote B-channel hangup sometimes did not result
- * in a NO CARRIER on tty.
- *
- * Revision 1.19 1996/06/11 14:52:04 hipp
- * minor bugfix in isdn_writebuf_skb_stub()
- *
- * Revision 1.18 1996/06/06 14:51:51 fritz
- * Changed to support DTMF decoding on audio playback also.
- *
- * Revision 1.17 1996/06/05 02:24:10 fritz
- * Added DTMF decoder for audio mode.
- *
- * Revision 1.16 1996/06/03 20:09:05 fritz
- * Bugfix: called wrong function pointer for locking in
- * isdn_get_free_channel().
- *
- * Revision 1.15 1996/05/31 01:10:54 fritz
- * Bugfixes:
- * Lowlevel modules did not get locked correctly.
- * Did show wrong revision when initializing.
- * Minor fixes in ioctl code.
- * sk_buff did not get freed, if error in writebuf_stub.
- *
- * Revision 1.14 1996/05/18 01:36:55 fritz
- * Added spelling corrections and some minor changes
- * to stay in sync with kernel.
- *
- * Revision 1.13 1996/05/17 15:43:30 fritz
- * Bugfix: decrement of rcvcount in readbchan() corrected.
- *
- * Revision 1.12 1996/05/17 03:55:43 fritz
- * Changed DLE handling for audio receive.
- * Some cleanup.
- * Added display of isdn_audio_revision.
- *
- * Revision 1.11 1996/05/11 21:51:32 fritz
- * Changed queue management to use sk_buffs.
- *
- * Revision 1.10 1996/05/10 08:49:16 fritz
- * Checkin before major changes of tty-code.
- *
- * Revision 1.9 1996/05/07 09:19:41 fritz
- * Adapted to changes in isdn_tty.c
- *
- * Revision 1.8 1996/05/06 11:34:51 hipp
- * fixed a few bugs
- *
- * Revision 1.7 1996/05/02 03:55:17 fritz
- * Bugfixes:
- * - B-channel connect message for modem devices
- * sometimes did not result in a CONNECT-message.
- * - register_isdn did not check for driverId-conflicts.
- *
- * Revision 1.6 1996/04/30 20:57:21 fritz
- * Commit test
- *
- * Revision 1.5 1996/04/20 16:19:07 fritz
- * Changed slow timer handlers to increase accuracy.
- * Added statistic information for usage by xisdnload.
- * Fixed behaviour of isdnctrl-device on non-blocked io.
- * Fixed all io to go through generic writebuf-function without
- * bypassing. Same for incoming data.
- * Fixed bug: Last channel had been unusable.
- * Fixed kfree of tty xmit_buf on ppp initialization failure.
- *
- * Revision 1.4 1996/02/11 02:33:26 fritz
- * Fixed bug in main timer-dispatcher.
- * Bugfix: Lot of tty-callbacks got called regardless of the events already
- * been handled by network-devices.
- * Changed ioctl-names.
- *
- * Revision 1.3 1996/01/22 05:16:11 fritz
- * Changed ioctl-names.
- * Fixed bugs in isdn_open and isdn_close regarding PPP_MINOR.
- *
- * Revision 1.2 1996/01/21 16:52:40 fritz
- * Support for sk_buffs added, changed header-stuffing.
- *
- * Revision 1.1 1996/01/09 04:12:52 fritz
- * Initial revision
- *
*/
#include <linux/config.h>
diff --git a/drivers/isdn/isdn_common.h b/drivers/isdn/isdn_common.h
index c45dd5202..bf4c4cedc 100644
--- a/drivers/isdn/isdn_common.h
+++ b/drivers/isdn/isdn_common.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.h,v 1.18 2000/01/23 18:45:37 keil Exp $
+/* $Id: isdn_common.h,v 1.20 2000/06/16 13:00:27 keil Exp $
* header for Linux ISDN subsystem, common used functions and debugging-switches (linklevel).
*
@@ -20,90 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_common.h,v $
- * Revision 1.18 2000/01/23 18:45:37 keil
- * Change EAZ mapping to forbit the use of cards (insert a "-" for the MSN)
- *
- * Revision 1.17 1999/10/27 21:21:17 detabc
- * Added support for building logically-bind-group's per interface.
- * usefull for outgoing call's with more then one isdn-card.
- *
- * Switchable support to dont reset the hangup-timeout for
- * receive frames. Most part's of the timru-rules for receiving frames
- * are now obsolete. If the input- or forwarding-firewall deny
- * the frame, the line will be not hold open.
- *
- * Revision 1.16 1999/07/01 08:29:54 keil
- * compatibility to 2.3 kernel
- *
- * Revision 1.15 1999/04/18 14:06:50 fritz
- * Removed TIMRU stuff.
- *
- * Revision 1.14 1999/04/12 12:33:18 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.13 1999/03/02 12:04:47 armin
- * -added ISDN_STAT_ADDCH to increase supported channels after
- * register_isdn().
- * -ttyI now goes on-hook on ATZ when B-Ch is connected.
- * -added timer-function for register S7 (Wait for Carrier).
- * -analog modem (ISDN_PROTO_L2_MODEM) implementations.
- * -on L2_MODEM a string will be appended to the CONNECT-Message,
- * which is provided by the HL-Driver in parm.num in ISDN_STAT_BCONN.
- * -variable "dialing" used for ATA also, for interrupting call
- * establishment and register S7.
- *
- * Revision 1.12 1998/06/26 15:12:27 fritz
- * Added handling of STAT_ICALL with incomplete CPN.
- * Added AT&L for ttyI emulator.
- * Added more locking stuff in tty_write.
- *
- * Revision 1.11 1998/04/14 16:28:47 he
- * Fixed user space access with interrupts off and remaining
- * copy_{to,from}_user() -> -EFAULT return codes
- *
- * Revision 1.10 1998/03/07 18:21:03 cal
- * Dynamic Timeout-Rule-Handling vs. 971110 included
- *
- * Revision 1.9 1998/02/20 17:19:01 fritz
- * Added common stub for sending commands to lowlevel.
- *
- * Revision 1.8 1997/10/09 21:28:49 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.7 1997/10/01 09:20:30 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.6 1997/02/28 02:32:44 fritz
- * Cleanup: Moved some tty related stuff from isdn_common.c
- * to isdn_tty.c
- * Bugfix: Bisync protocol did not behave like documented.
- *
- * Revision 1.5 1997/02/10 10:05:45 fritz
- * More changes for Kernel 2.1.X
- * Symbol information moved to isdn_syms.c
- *
- * Revision 1.4 1997/02/03 22:56:50 fritz
- * Removed isdn_writebuf_stub prototype.
- *
- * Revision 1.3 1996/05/19 00:13:05 fritz
- * Removed debug flag.
- *
- * Revision 1.2 1996/04/20 16:20:40 fritz
- * Misc. typos.
- *
- * Revision 1.1 1996/01/10 21:37:19 fritz
- * Initial revision
- *
*/
#undef ISDN_DEBUG_MODEM_OPEN
diff --git a/drivers/isdn/isdn_concap.c b/drivers/isdn/isdn_concap.c
index 07722dbb1..73d18629f 100644
--- a/drivers/isdn/isdn_concap.c
+++ b/drivers/isdn/isdn_concap.c
@@ -1,35 +1,26 @@
-/* $Id: isdn_concap.c,v 1.7 2000/03/21 23:53:22 kai Exp $
+/* $Id: isdn_concap.c,v 1.8 2000/05/11 22:29:20 kai Exp $
- * Stuff to support the concap_proto by isdn4linux. isdn4linux - specific
- * stuff goes here. Stuff that depends only on the concap protocol goes to
- * another -- protocol specific -- source file.
- *
- * $Log: isdn_concap.c,v $
- * Revision 1.7 2000/03/21 23:53:22 kai
- * fix backwards compatibility
- *
- * Revision 1.6 1999/08/22 20:26:01 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.5 1998/10/30 18:44:48 he
- * pass return value from isdn_net_dial_req for dialmode change
+ * Linux ISDN subsystem, protocol encapsulation
*
- * Revision 1.4 1998/10/30 17:55:24 he
- * dialmode for x25iface and multulink ppp
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
*
- * Revision 1.3 1998/05/26 22:39:22 he
- * sync'ed with 2.1.102 where appropriate (CAPABILITY changes)
- * concap typo
- * cleared dev.tbusy in isdn_net BCONN status callback
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * Revision 1.2 1998/01/31 22:49:21 keil
- * correct comments
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * Revision 1.1 1998/01/31 22:27:57 keil
- * New files from Henner Eisen for X.25 support
+ */
+
+/* Stuff to support the concap_proto by isdn4linux. isdn4linux - specific
+ * stuff goes here. Stuff that depends only on the concap protocol goes to
+ * another -- protocol specific -- source file.
*
*/
diff --git a/drivers/isdn/isdn_concap.h b/drivers/isdn/isdn_concap.h
index 722f8ee33..507b05e42 100644
--- a/drivers/isdn/isdn_concap.h
+++ b/drivers/isdn/isdn_concap.h
@@ -1,5 +1,23 @@
-/* $Id: isdn_concap.h,v 1.2 1998/01/31 22:49:21 keil Exp $
+/* $Id: isdn_concap.h,v 1.3 2000/05/11 22:29:20 kai Exp $
+ *
+ * Linux ISDN subsystem, protocol encapsulation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
*/
+
extern struct concap_device_ops isdn_concap_reliable_dl_dops;
extern struct concap_device_ops isdn_concap_demand_dial_dops;
extern struct concap_proto * isdn_concap_new( int );
diff --git a/drivers/isdn/isdn_net.c b/drivers/isdn/isdn_net.c
index 07279cd7b..2ad00bee5 100644
--- a/drivers/isdn/isdn_net.c
+++ b/drivers/isdn/isdn_net.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_net.c,v 1.125 2000/04/05 21:25:55 detabc Exp $
+/* $Id: isdn_net.c,v 1.134 2000/06/21 09:54:29 keil Exp $
* Linux ISDN subsystem, network interfaces and related functions (linklevel).
*
@@ -20,481 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_net.c,v $
- * Revision 1.125 2000/04/05 21:25:55 detabc
- * add leased-line support to abc-stuff
- *
- * Revision 1.124 2000/04/03 21:07:22 detabc
- * change write_super handling for abc-stuff
- *
- * Revision 1.123 2000/04/03 19:14:36 kai
- * fix "isdn BUG at isdn_net.c:1440!"
- *
- * Revision 1.122 2000/03/20 22:37:46 detabc
- * modify abc-extension to work together with the new LL.
- * remove abc frame-counter (is obsolete now).
- * use the new lp->super_tx_queue for internal queueing (bsd-rawip-compress).
- * modify isdn_net_xmit() and isdn_net_write_super().
- * -- Kai, please have a look to this two function's. Thank's.
- *
- * Revision 1.121 2000/03/19 15:27:53 kai
- * no known bugs left...
- *
- * Revision 1.120 2000/03/18 16:20:25 kai
- * cosmetics / renaming
- *
- * Revision 1.118 2000/03/17 18:20:46 kai
- * moved to frame_cnt based flow control
- * some races still need to be fixed
- *
- * Revision 1.117 2000/03/17 17:01:00 kai
- * cleanup
- *
- * Revision 1.116 2000/03/17 16:22:55 kai
- * we keep track of outstanding packets (given to HL, but not confirmed yet)
- * now, but we don't use it for flow control yet.
- *
- * Revision 1.115 2000/03/17 12:49:42 kai
- * calling statcallb with ISDN_STAT_BSENT in hard-IRQ context is now
- * officially allowed. writebuf_skb() will never be called in hard-IRQ context
- * anymore.
- *
- * Revision 1.114 2000/03/16 16:37:41 kai
- * Allow phone numbers starting with "*" as outgoing numbers for
- * networking interface. Some PBX's need this to allow dialing internal
- * numbers (mine, for example ;-)
- *
- * Revision 1.113 2000/03/16 15:46:37 kai
- * a little bugfix and cosmetic changes
- *
- * Revision 1.112 2000/03/04 16:20:42 detabc
- * copy frames before rewriting frame's saddr
- *
- * Revision 1.111 2000/02/28 22:28:24 he
- * moved tx_timeout warning messages in old (2.2.x) branch where it really only
- * indicates problems.
- *
- * Revision 1.110 2000/02/26 01:00:53 keil
- * changes from 2.3.47
- *
- * Revision 1.109 2000/02/25 11:29:17 paul
- * changed chargetime to ulong from int (after about 20 days the "chargetime of
- * ipppX is now 1234" message displays a negative number on alpha).
- *
- * Revision 1.108 2000/02/15 12:54:01 kai
- * set TX timeout back to 2 secs for 2.2.x, just to be safe
- *
- * Revision 1.107 2000/02/13 09:52:05 kai
- * increased TX_TIMEOUT to 20sec
- *
- * Revision 1.106 2000/02/12 19:26:55 kai
- * adopted to latest 2.3 softnet changes.
- *
- * tested with PPP and MPPP, it works here.
- * can somebody check raw-ip?
- *
- * also changed std2kern, stddiff for bash-1 compatibility,
- * hope this doesn't break anything.
- *
- * Revision 1.105 2000/02/12 11:43:26 he
- * SOFTNET related changes, first try. Compatible with linux 2.2.x, but
- * not tested for kernels with softnet (>= 2.3.43) yet.
- *
- * Revision 1.104 2000/02/06 21:49:59 detabc
- * add rewriting of socket's and frame's saddr for udp-ipv4 dynip-connections.
- * Include checksum-recompute of ip- and udp-header's.
- *
- * Revision 1.103 2000/01/23 18:45:37 keil
- * Change EAZ mapping to forbit the use of cards (insert a "-" for the MSN)
- *
- * Revision 1.102 2000/01/09 20:43:14 detabc
- * exand logical bind-group's for both call's (in and out).
- * add first part of kernel-config-help for abc-extension.
- *
- * Revision 1.101 1999/12/05 16:06:08 detabc
- * add resethandling for rawip-compression.
- * at now all B2-Protocols are usable with rawip-compression
- *
- * Revision 1.100 1999/12/04 15:05:25 detabc
- * bugfix abc-rawip-bsdcompress with channel-bundeling
- *
- * Revision 1.99 1999/11/30 11:29:06 detabc
- * add a on the fly frame-counter and limit
- *
- * Revision 1.98 1999/11/28 14:49:07 detabc
- * In case of rawip-compress adjust dev[x]->ibytes/obytes to reflect the
- * uncompressed size.
- *
- * Revision 1.97 1999/11/26 15:54:59 detabc
- * added compression (isdn_bsdcompress) for rawip interfaces with x75i B2-protocol.
- *
- * Revision 1.96 1999/11/20 22:14:13 detabc
- * added channel dial-skip in case of external use
- * (isdn phone or another isdn device) on the same NTBA.
- * usefull with two or more card's connected the different NTBA's.
- * global switchable in kernel-config and also per netinterface.
- *
- * add auto disable of netinterface's in case of:
- * to many connection's in short time.
- * config mistakes (wrong encapsulation, B2-protokoll or so on) on local
- * or remote side.
- * wrong password's or something else to a ISP (syncppp).
- *
- * possible encapsulations for this future are:
- * ISDN_NET_ENCAP_SYNCPPP, ISDN_NET_ENCAP_UIHDLC, ISDN_NET_ENCAP_RAWIP,
- * and ISDN_NET_ENCAP_CISCOHDLCK.
- *
- * Revision 1.95 1999/10/27 21:21:17 detabc
- * Added support for building logically-bind-group's per interface.
- * usefull for outgoing call's with more then one isdn-card.
- *
- * Switchable support to dont reset the hangup-timeout for
- * receive frames. Most part's of the timru-rules for receiving frames
- * are now obsolete. If the input- or forwarding-firewall deny
- * the frame, the line will be not hold open.
- *
- * Revision 1.94 1999/10/02 11:07:02 he
- * Changed tbusy logic in indn_net.c
- *
- * Revision 1.93 1999/09/23 22:22:41 detabc
- * added tcp-keepalive-detect with local response (ipv4 only)
- * added host-only-interface support
- * (source ipaddr == interface ipaddr) (ipv4 only)
- * ok with kernel 2.3.18 and 2.2.12
- *
- * Revision 1.92 1999/09/13 23:25:17 he
- * serialized xmitting frames from isdn_ppp and BSENT statcallb
- *
- * Revision 1.91 1999/09/12 16:19:39 detabc
- * added abc features
- * low cost routing for net-interfaces (only the HL side).
- * need more implementation in the isdnlog-utility
- * udp info support (first part).
- * different EAZ on outgoing call's.
- * more checks on D-Channel callbacks (double use of channels).
- * tested and running with kernel 2.3.17
- *
- * Revision 1.90 1999/09/04 22:21:39 detabc
- *
- * Revision 1.89 1999/08/22 20:26:03 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.88 1999/07/07 10:13:31 detabc
- * remove unused messages
- *
- * Revision 1.87 1999/07/06 07:53:53 calle
- * calls to dev_alloc_skb waste 16 bytes of memory, if we calculate the
- * right header space for the lowlevel driver. using alloc_skb instead.
- *
- * Revision 1.86 1999/06/09 10:12:05 paul
- * thinko in previous patch
- *
- * Revision 1.85 1999/06/07 19:42:39 paul
- * isdn_net_getpeer() fixed to return correct `outgoing' flag
- *
- * Revision 1.84 1999/04/18 14:06:55 fritz
- * Removed TIMRU stuff.
- *
- * Revision 1.83 1999/04/12 12:33:23 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.82 1999/01/17 00:55:58 he
- * added mark_bh in BCONN statcallb and cleaned up some dead code
- *
- * Revision 1.81 1999/01/15 16:36:52 he
- * replaced icmp_send() by dst_link_failure()
- *
- * Revision 1.80 1998/12/01 13:06:22 paul
- * Also huptimeout with dialmode == manual
- *
- * Revision 1.79 1998/10/30 17:55:27 he
- * dialmode for x25iface and multulink ppp
- *
- * Revision 1.78 1998/10/26 18:20:46 he
- * re-inserted p=p->next in isdn_net_find_icall() (fixes kernel lock up
- * on incoming call not matching the first interface)
- *
- * Revision 1.77 1998/10/23 10:18:44 paul
- * Implementation of "dialmode" (successor of "status")
- * You also need current isdnctrl for this!
- *
- * Revision 1.76 1998/09/07 22:00:05 he
- * flush method for 2.1.118 and above
- * updated IIOCTLNETGPN
- *
- * Revision 1.75 1998/08/31 21:09:50 he
- * new ioctl IIOCNETGPN for /dev/isdninfo (get network interface'
- * peer phone number)
- *
- * Revision 1.74 1998/07/30 11:28:32 paul
- * printk message only appeared when status is off and interface is rawIP,
- * which is confusing for people who don't know about "isdnctrl status <if> on".
- *
- * Revision 1.73 1998/06/26 22:01:37 keil
- * tx_queue_len = 5 was too small
- *
- * Revision 1.72 1998/06/26 15:12:31 fritz
- * Added handling of STAT_ICALL with incomplete CPN.
- * Added AT&L for ttyI emulator.
- * Added more locking stuff in tty_write.
- *
- * Revision 1.71 1998/06/18 22:43:08 fritz
- * Bugfix: Setting ndev->do_ioctl had beed accidetly removed at cleanup.
- *
- * Revision 1.70 1998/06/17 19:50:49 he
- * merged with 2.1.10[34] (cosmetics and udelay() -> mdelay())
- * brute force fix to avoid Ugh's in isdn_tty_write()
- * cleaned up some dead code
- *
- * Revision 1.69 1998/06/09 12:27:37 cal
- * Changed default of local netdev flags: ISDN_NET_STOPPED is default now,
- * so autodial is suppressed for that device until it is switched on using
- * 'isdnctrl status dev-name on'.
- *
- *
- *
- * Revision 1.66 1998/05/26 22:39:24 he
- * sync'ed with 2.1.102 where appropriate (CAPABILITY changes)
- * concap typo
- * cleared dev.tbusy in isdn_net BCONN status callback
- *
- * Revision 1.61 1998/04/16 19:19:42 keil
- * Fix from vger (tx max qlength)
- *
- * Revision 1.60 1998/04/14 16:28:49 he
- * Fixed user space access with interrupts off and remaining
- * copy_{to,from}_user() -> -EFAULT return codes
- *
- * Revision 1.59 1998/03/07 22:37:33 fritz
- * Bugfix: restore_flags missing.
- *
- * Revision 1.58 1998/03/07 18:21:05 cal
- * Dynamic Timeout-Rule-Handling vs. 971110 included
- *
- * Revision 1.57 1998/02/25 18:31:13 fritz
- * Added debugging output in adjust_header.
- *
- * Revision 1.56 1998/02/25 17:49:42 he
- * Changed return codes caused be failing copy_{to,from}_user to -EFAULT
- *
- * Revision 1.55 1998/02/23 19:38:22 fritz
- * Corrected check for modified feature-flags.
- *
- * Revision 1.54 1998/02/20 17:15:07 fritz
- * Changes for recent kernels.
- * Ugly workaround for adjusting Ethernet frames with recent kernels.
- * replaced direct calls to lowlevel-driver command by common hook.
- *
- * Revision 1.53 1998/01/31 22:05:54 keil
- * Lots of changes for X.25 support:
- * Added generic support for connection-controlling encapsulation protocols
- * Added support of BHUP status message
- * Added support for additional p_encap X25IFACE
- * Added support for kernels >= 2.1.72
- *
- * Revision 1.52 1998/01/31 19:29:51 calle
- * Merged changes from and for 2.1.82, not tested only compiled ...
- *
- * Revision 1.51 1997/10/09 21:28:50 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.50 1997/10/01 09:20:32 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.49 1997/08/21 14:38:13 fritz
- * Bugfix: Did not compile without SyncPPP.
- *
- * Revision 1.48 1997/06/22 11:57:15 fritz
- * Added ability to adjust slave triggerlevel.
- *
- * Revision 1.47 1997/06/21 10:52:05 fritz
- * Removed wrong SET_SKB_FREE in isdn_net_send_skb()
- *
- * Revision 1.46 1997/06/17 13:05:24 hipp
- * Applied Eric's underflow-patches (slightly modified)
- *
- * Revision 1.45 1997/06/10 16:24:22 hipp
- * hard_header changes for syncPPP (now behaves like RAWIP)
- *
- * Revision 1.44 1997/05/27 15:17:26 fritz
- * Added changes for recent 2.1.x kernels:
- * changed return type of isdn_close
- * queue_task_* -> queue_task
- * clear/set_bit -> test_and_... where apropriate.
- * changed type of hard_header_cache parameter.
- *
- * Revision 1.43 1997/03/30 16:51:13 calle
- * changed calls to copy_from_user/copy_to_user and removed verify_area
- * were possible.
- *
- * Revision 1.42 1997/03/11 08:43:51 fritz
- * Perform a hangup if number is deleted while dialing.
- *
- * Revision 1.41 1997/03/08 08:16:31 fritz
- * Bugfix: Deleting a phone number during dial gave unpredictable results.
- *
- * Revision 1.40 1997/03/05 21:16:08 fritz
- * Fix: did not compile with 2.1.27
- *
- * Revision 1.39 1997/03/04 21:36:52 fritz
- * Added sending ICMP messages when no connetion is possible.
- *
- * Revision 1.38 1997/02/23 23:41:14 fritz
- * Bugfix: Slave interfaces have to be hung up before master.
- *
- * Revision 1.37 1997/02/11 18:32:51 fritz
- * Bugfix in isdn_ppp_free_mpqueue().
- *
- * Revision 1.36 1997/02/10 21:31:11 fritz
- * Changed setup-interface (incoming and outgoing).
- *
- * Revision 1.35 1997/02/10 20:12:45 fritz
- * Changed interface for reporting incoming calls.
- *
- * Revision 1.34 1997/02/03 23:15:07 fritz
- * Reformatted according CodingStyle.
- * replaced arp_find prototype by proper include.
- * made dev_purge_queues static.
- * Bugfix in bogocps calculation.
- * removed isdn_net_receive_callback - was never used ;-)
- * Misc. fixes for Kernel 2.1.X comaptibility.
- *
- * Revision 1.33 1997/01/17 01:19:25 fritz
- * Applied chargeint patch.
- *
- * Revision 1.32 1997/01/14 01:29:31 fritz
- * Bugfix: isdn_net_hangup() did not reset ISDN_NET_CONNECTED.
- *
- * Revision 1.31 1997/01/11 23:30:42 fritz
- * Speed up dial statemachine.
- *
- * Revision 1.30 1996/11/25 17:20:50 hipp
- * fixed pppbind bug in isdn_net_find_icall()
- *
- * Revision 1.29 1996/11/13 02:31:38 fritz
- * Minor cleanup.
- *
- * Revision 1.28 1996/10/27 20:49:06 keil
- * bugfix to compile without MPP
- *
- * Revision 1.27 1996/10/25 18:46:01 fritz
- * Another bugfix in isdn_net_autohup()
- *
- * Revision 1.26 1996/10/23 23:05:36 fritz
- * Bugfix: Divide by zero in isdn_net_autohup()
- *
- * Revision 1.25 1996/10/22 23:13:58 fritz
- * Changes for compatibility to 2.0.X and 2.1.X kernels.
- *
- * Revision 1.24 1996/10/11 13:57:40 fritz
- * Bugfix: Error in BogoCPS calculation.
- *
- * Revision 1.23 1996/09/23 01:58:08 fritz
- * Fix: With syncPPP encapsulation, discard LCP packets
- * when calculating hangup timeout.
- *
- * Revision 1.22 1996/09/23 00:03:37 fritz
- * Fix: did not compile without CONFIG_ISDN_PPP
- *
- * Revision 1.21 1996/09/07 12:44:50 hipp
- * (hopefully) fixed callback problem with syncPPP
- * syncPPP network devices now show PPP link encap
- *
- * Revision 1.20 1996/08/29 20:06:03 fritz
- * Bugfix: Transmission timeout had been much to low.
- *
- * Revision 1.19 1996/08/12 16:24:32 hipp
- * removed some (now) obsolete functions for syncPPP in rebuild_header etc.
- *
- * Revision 1.18 1996/07/03 13:48:51 hipp
- * bugfix: Call dev_purge_queues() only for master device
- *
- * Revision 1.17 1996/06/25 18:37:37 fritz
- * Fixed return count for empty return string in isdn_net_getphones().
- *
- * Revision 1.16 1996/06/24 17:48:08 fritz
- * Bugfixes:
- * - Did not free channel on unbinding.
- * - ioctl returned wrong callback settings.
- *
- * Revision 1.15 1996/06/16 17:42:54 tsbogend
- * fixed problem with IP addresses on Linux/Alpha (long is 8 byte there)
- *
- * Revision 1.14 1996/06/11 14:54:08 hipp
- * minor bugfix in isdn_net_send_skb
- * changes in BSENT callback handler for syncPPP
- * added lp->sav_skb stuff
- *
- * Revision 1.13 1996/06/06 14:25:44 fritz
- * Changed loglevel of "incoming ... without OAD" message, since
- * with audio support this is quite normal.
- *
- * Revision 1.12 1996/06/05 02:36:45 fritz
- * Minor bugfixes by M. Hipp.
- *
- * Revision 1.11 1996/05/18 01:36:59 fritz
- * Added spelling corrections and some minor changes
- * to stay in sync with kernel.
- *
- * Revision 1.10 1996/05/17 03:49:01 fritz
- * Some cleanup.
- *
- * Revision 1.9 1996/05/06 11:34:57 hipp
- * fixed a few bugs
- *
- * Revision 1.8 1996/04/30 21:04:40 fritz
- * Test commit
- *
- * Revision 1.7 1996/04/30 11:10:42 fritz
- * Added Michael's ippp-bind patch.
- *
- * Revision 1.6 1996/04/30 09:34:35 fritz
- * Removed compatibility-macros.
- *
- * Revision 1.5 1996/04/20 16:28:38 fritz
- * Made more parameters of the dial statemachine user-configurable and
- * added hangup after dial for more reliability using callback.
- * Changed all io going through generic routines in isdn_common.c
- * Added missing call to dev_free_skb on failed dialing.
- * Added uihdlc encapsulation.
- * Fixed isdn_net_setcfg not to destroy interface-flags anymore.
- * Misc. typos.
- *
- * Revision 1.4 1996/02/19 15:23:38 fritz
- * Bugfix: Sync-PPP packets got compressed twice, when resent due to
- * send-queue-full reject.
- *
- * Revision 1.3 1996/02/11 02:22:28 fritz
- * Changed status- receive-callbacks to use pointer-arrays for finding
- * a corresponding interface instead of looping over all interfaces.
- * Activate Auto-hangup-timer only when interface is online.
- * Some bugfixes in the dialing-statemachine.
- * Lot of bugfixes in sk_buff'ized encapsulation handling.
- * For speedup connection-setup after dialing, remember sk_buf that triggered
- * dialing.
- * Fixed isdn_net_log_packet according to different encapsulations.
- * Correct ARP-handling for ETHERNET-encapsulation.
- *
- * Revision 1.2 1996/01/22 05:05:12 fritz
- * Changed returncode-logic for isdn_net_start_xmit() and its
- * helper-functions.
- * Changed handling of buildheader for RAWIP and ETHERNET-encapsulation.
- *
- * Revision 1.1 1996/01/09 04:12:34 fritz
- * Initial revision
- *
*/
#include <linux/config.h>
@@ -656,7 +181,7 @@ static __inline__ void isdn_net_zero_frame_cnt(isdn_net_local *lp)
int isdn_net_force_dial_lp(isdn_net_local *);
static int isdn_net_start_xmit(struct sk_buff *, struct net_device *);
-char *isdn_net_revision = "$Revision: 1.125 $";
+char *isdn_net_revision = "$Revision: 1.134 $";
/*
* Code for raw-networking over ISDN
diff --git a/drivers/isdn/isdn_net.h b/drivers/isdn/isdn_net.h
index 5012ea772..ddf23562b 100644
--- a/drivers/isdn/isdn_net.h
+++ b/drivers/isdn/isdn_net.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_net.h,v 1.16 2000/03/21 23:53:22 kai Exp $
+/* $Id: isdn_net.h,v 1.19 2000/06/21 09:54:29 keil Exp $
* header for Linux ISDN subsystem, network related functions (linklevel).
*
@@ -20,68 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_net.h,v $
- * Revision 1.16 2000/03/21 23:53:22 kai
- * fix backwards compatibility
- *
- * Revision 1.15 2000/03/19 15:27:53 kai
- * no known bugs left...
- *
- * Revision 1.14 2000/03/18 16:20:25 kai
- * cosmetics / renaming
- *
- * Revision 1.13 2000/03/17 18:20:46 kai
- * moved to frame_cnt based flow control
- * some races still need to be fixed
- *
- * Revision 1.12 2000/03/17 17:01:00 kai
- * cleanup
- *
- * Revision 1.11 2000/03/17 16:22:55 kai
- * we keep track of outstanding packets (given to HL, but not confirmed yet)
- * now, but we don't use it for flow control yet.
- *
- * Revision 1.10 1999/08/22 20:26:06 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.9 1999/04/12 12:33:27 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.8 1998/10/30 17:55:33 he
- * dialmode for x25iface and multulink ppp
- *
- * Revision 1.7 1998/08/31 21:09:55 he
- * new ioctl IIOCNETGPN for /dev/isdninfo (get network interface'
- * peer phone number)
- *
- * Revision 1.6 1997/10/09 21:28:54 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.5 1997/02/10 20:12:47 fritz
- * Changed interface for reporting incoming calls.
- *
- * Revision 1.4 1997/02/03 23:16:48 fritz
- * Removed isdn_net_receive_callback prototype.
- *
- * Revision 1.3 1997/01/17 01:19:30 fritz
- * Applied chargeint patch.
- *
- * Revision 1.2 1996/04/20 16:29:43 fritz
- * Misc. typos
- *
- * Revision 1.1 1996/02/11 02:35:13 fritz
- * Initial revision
- *
*/
/* Definitions for hupflags: */
diff --git a/drivers/isdn/isdn_ppp.c b/drivers/isdn/isdn_ppp.c
index 8a3ccce5f..5fb2bab39 100644
--- a/drivers/isdn/isdn_ppp.c
+++ b/drivers/isdn/isdn_ppp.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_ppp.c,v 1.69 2000/03/19 15:27:53 kai Exp $
+/* $Id: isdn_ppp.c,v 1.77 2000/06/12 16:46:34 keil Exp $
*
* Linux ISDN subsystem, functions for synchronous PPP (linklevel).
*
@@ -18,273 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_ppp.c,v $
- * Revision 1.69 2000/03/19 15:27:53 kai
- * no known bugs left...
- *
- * Revision 1.67 2000/03/17 18:20:46 kai
- * moved to frame_cnt based flow control
- * some races still need to be fixed
- *
- * Revision 1.66 2000/03/17 17:01:00 kai
- * cleanup
- *
- * Revision 1.65 2000/03/17 16:22:55 kai
- * we keep track of outstanding packets (given to HL, but not confirmed yet)
- * now, but we don't use it for flow control yet.
- *
- * Revision 1.64 2000/03/17 10:43:56 kai
- * 2.3.99 contains MPPP constants which cause a warning because we
- * redefine them in include/linux/isdn_ppp.h
- *
- * So from now on we use the generic PPP constants, change is backwards
- * compatible, though
- *
- * Revision 1.63 2000/03/16 15:46:37 kai
- * a little bugfix and cosmetic changes
- *
- * Revision 1.62 2000/02/12 19:26:55 kai
- * adopted to latest 2.3 softnet changes.
- *
- * tested with PPP and MPPP, it works here.
- * can somebody check raw-ip?
- *
- * also changed std2kern, stddiff for bash-1 compatibility,
- * hope this doesn't break anything.
- *
- * Revision 1.61 1999/11/20 22:14:14 detabc
- * added channel dial-skip in case of external use
- * (isdn phone or another isdn device) on the same NTBA.
- * usefull with two or more card's connected the different NTBA's.
- * global switchable in kernel-config and also per netinterface.
- *
- * add auto disable of netinterface's in case of:
- * to many connection's in short time.
- * config mistakes (wrong encapsulation, B2-protokoll or so on) on local
- * or remote side.
- * wrong password's or something else to a ISP (syncppp).
- *
- * possible encapsulations for this future are:
- * ISDN_NET_ENCAP_SYNCPPP, ISDN_NET_ENCAP_UIHDLC, ISDN_NET_ENCAP_RAWIP,
- * and ISDN_NET_ENCAP_CISCOHDLCK.
- *
- * Revision 1.60 1999/11/04 20:29:55 he
- * applied Andre Beck's reset_free fix
- *
- * Revision 1.59 1999/10/31 15:59:50 he
- * more skb headroom checks
- *
- * Revision 1.58 1999/10/30 13:13:01 keil
- * Henners isdn_ppp_skb_push:under fix
- *
- * Revision 1.57 1999/10/05 22:47:17 he
- * Removed dead ISDN_SYNCPPP_READDRESS code (obsoleted by sysctl_ip_dynaddr
- * and network address translation)
- *
- * Revision 1.56 1999/09/29 16:01:06 he
- * replaced dev_alloc_skb() for downstream skbs by equivalent alloc_skb()
- *
- * Revision 1.55 1999/09/23 22:07:51 detabc
- *
- * make ipc_head common usable (for use compressor with raw-ip)
- * add function before netif_rx(). needed for ipv4-tcp-keepalive-detect.
- * ~
- *
- * Revision 1.54 1999/09/13 23:25:17 he
- * serialized xmitting frames from isdn_ppp and BSENT statcallb
- *
- * Revision 1.53 1999/08/31 11:18:14 paul
- * various spelling corrections (new checksums may be needed, Karsten!)
- *
- * Revision 1.52 1999/08/22 20:26:07 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.51 1999/08/18 16:19:17 hipp
- * applied MPPP-resize-headroom patch
- *
- * Revision 1.50 1999/08/16 07:11:41 hipp
- * Additional VJ decomp-buffer-size increased from 40 to 128
- *
- * Revision 1.49 1999/07/06 07:47:11 calle
- * bugfix: dev_alloc_skb only reserve 16 bytes. We need to look at the
- * hdrlen the driver want. So I changed dev_alloc_skb calls
- * to alloc_skb and skb_reserve.
- *
- * Revision 1.48 1999/07/01 08:29:56 keil
- * compatibility to 2.3 kernel
- *
- * Revision 1.47 1999/04/18 14:06:59 fritz
- * Removed TIMRU stuff.
- *
- * Revision 1.46 1999/04/12 12:33:35 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.45 1998/12/30 17:48:24 paul
- * fixed syncPPP callback out
- *
- * Revision 1.44 1998/10/30 17:55:34 he
- * dialmode for x25iface and multulink ppp
- *
- * Revision 1.43 1998/10/29 17:23:54 hipp
- * Minor MPPP fixes, verboser logging.
- *
- * Revision 1.42 1998/07/20 11:30:07 hipp
- * Readded compression check
- *
- * Revision 1.41 1998/07/08 16:50:57 hipp
- * Compression changes
- *
- * Revision 1.40 1998/04/06 19:07:27 hipp
- * added check, whether compression is enabled.
- *
- * Revision 1.39 1998/03/25 22:46:53 hipp
- * Some additional CCP changes.
- *
- * Revision 1.38 1998/03/24 16:33:06 hipp
- * More CCP changes. BSD compression now "works" on a local loopback link.
- * Moved some isdn_ppp stuff from isdn.h to isdn_ppp.h
- *
- * Revision 1.37 1998/03/22 18:50:49 hipp
- * Added BSD Compression for syncPPP .. UNTESTED at the moment
- *
- * Revision 1.36 1998/03/09 17:46:30 he
- * merged in 2.1.89 changes
- *
- * Revision 1.35 1998/03/07 18:21:11 cal
- * Dynamic Timeout-Rule-Handling vs. 971110 included
- *
- * Revision 1.34 1998/02/25 17:49:48 he
- * Changed return codes caused be failing copy_{to,from}_user to -EFAULT
- *
- * Revision 1.33 1998/02/20 17:11:54 fritz
- * Changes for recent kernels.
- *
- * Revision 1.32 1998/01/31 19:29:55 calle
- * Merged changes from and for 2.1.82, not tested only compiled ...
- *
- * Revision 1.31 1997/10/09 21:29:01 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.30 1997/10/01 09:20:38 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.29 1997/08/21 23:11:44 fritz
- * Added changes for kernels >= 2.1.45
- *
- * Revision 1.28 1997/06/17 13:05:57 hipp
- * Applied Eric's underflow-patches (slightly modified)
- * more compression changes (but disabled at the moment)
- * changed one copy_to_user() to run with enabled IRQs
- * a few MP changes
- * changed 'proto' handling in the isdn_ppp receive code
- *
- * Revision 1.27 1997/03/30 16:51:17 calle
- * changed calls to copy_from_user/copy_to_user and removed verify_area
- * were possible.
- *
- * Revision 1.26 1997/02/23 16:53:44 hipp
- * minor cleanup
- * some initial changes for future PPP compresion
- * added AC,PC compression for outgoing frames
- *
- * Revision 1.25 1997/02/12 20:37:35 hipp
- * New ioctl() PPPIOCGCALLINFO, minor cleanup
- *
- * Revision 1.24 1997/02/11 18:32:56 fritz
- * Bugfix in isdn_ppp_free_mpqueue().
- *
- * Revision 1.23 1997/02/10 11:12:19 fritz
- * More changes for Kernel 2.1.X compatibility.
- *
- * Revision 1.22 1997/02/06 15:03:51 hipp
- * changed GFP_KERNEL kmalloc to GFP_ATOMIC in isdn_ppp_fill_mpqueue()
- *
- * Revision 1.21 1997/02/03 23:29:38 fritz
- * Reformatted according CodingStyle
- * Bugfix: removed isdn_ppp_skb_destructor, used by upper layers.
- * Misc changes for Kernel 2.1.X compatibility.
- *
- * Revision 1.20 1996/10/30 12:21:58 fritz
- * Cosmetic fix: Compiler warning when compiling without MPP.
- *
- * Revision 1.19 1996/10/25 19:03:21 hipp
- * changed/added some defines to (re)allow compilation without MP/VJ
- *
- * Revision 1.18 1996/10/22 23:14:00 fritz
- * Changes for compatibility to 2.0.X and 2.1.X kernels.
- *
- * Revision 1.17 1996/10/22 09:39:49 hipp
- * a few MP changes and bugfixes
- *
- * Revision 1.16 1996/09/23 01:58:10 fritz
- * Fix: With syncPPP encapsulation, discard LCP packets
- * when calculating hangup timeout.
- *
- * Revision 1.15 1996/09/07 12:50:12 hipp
- * bugfixes (unknown device after failed dial attempt, minor bugs)
- *
- * Revision 1.14 1996/08/12 16:26:47 hipp
- * code cleanup
- * changed connection management from minors to slots
- *
- * Revision 1.13 1996/07/01 19:47:24 hipp
- * Fixed memory leak in VJ handling and more VJ changes
- *
- * Revision 1.12 1996/06/24 17:42:03 fritz
- * Minor bugfixes.
- *
- * Revision 1.11 1996/06/16 17:46:05 tsbogend
- * changed unsigned long to u32 to make Alpha people happy
- *
- * Revision 1.10 1996/06/11 14:50:29 hipp
- * Lot of changes and bugfixes.
- * New scheme to resend packets to busy LL devices.
- *
- * Revision 1.9 1996/05/18 01:37:01 fritz
- * Added spelling corrections and some minor changes
- * to stay in sync with kernel.
- *
- * Revision 1.8 1996/05/06 11:34:55 hipp
- * fixed a few bugs
- *
- * Revision 1.7 1996/04/30 11:07:42 fritz
- * Added Michael's ippp-bind patch.
- *
- * Revision 1.6 1996/04/30 09:33:09 fritz
- * Removed compatibility-macros.
- *
- * Revision 1.5 1996/04/20 16:32:32 fritz
- * Changed ippp_table to an array of pointers, allocating each part
- * separately.
- *
- * Revision 1.4 1996/02/19 15:25:50 fritz
- * Bugfix: Sync-PPP packets got compressed twice, when resent due to
- * send-queue-full reject.
- *
- * Revision 1.3 1996/02/11 02:27:12 fritz
- * Lot of Bugfixes my Michael.
- * Moved calls to skb_push() into isdn_net_header()
- * Fixed a possible race-condition in isdn_ppp_timer_timeout().
- *
- * Revision 1.2 1996/01/22 05:08:06 fritz
- * Merged in Michael's patches for MP.
- * Minor changes in isdn_ppp_xmit.
- *
- * Revision 1.1 1996/01/09 04:11:29 fritz
- * Initial revision
- *
*/
#include <linux/config.h>
diff --git a/drivers/isdn/isdn_ppp.h b/drivers/isdn/isdn_ppp.h
index 2de3035c1..1e33cb219 100644
--- a/drivers/isdn/isdn_ppp.h
+++ b/drivers/isdn/isdn_ppp.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_ppp.h,v 1.14 1999/08/22 20:26:10 calle Exp $
+/* $Id: isdn_ppp.h,v 1.16 2000/05/18 23:14:18 keil Exp $
* header for Linux ISDN subsystem, functions for synchronous PPP (linklevel).
*
@@ -18,61 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_ppp.h,v $
- * Revision 1.14 1999/08/22 20:26:10 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.13 1998/03/22 18:50:50 hipp
- * Added BSD Compression for syncPPP .. UNTESTED at the moment
- *
- * Revision 1.12 1998/01/31 22:07:48 keil
- * changes for newer kernels
- *
- * Revision 1.11 1997/10/01 09:20:44 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.10 1997/06/17 13:06:00 hipp
- * Applied Eric's underflow-patches (slightly modified)
- * more compression changes (but disabled at the moment)
- * changed one copy_to_user() to run with enabled IRQs
- * a few MP changes
- * changed 'proto' handling in the isdn_ppp receive code
- *
- * Revision 1.9 1997/02/11 18:32:59 fritz
- * Bugfix in isdn_ppp_free_mpqueue().
- *
- * Revision 1.8 1997/02/10 10:11:33 fritz
- * More changes for Kernel 2.1.X compatibility.
- *
- * Revision 1.7 1997/02/03 23:18:57 fritz
- * Removed isdn_ppp_free_sqqueue prototype
- * and ippp_table (both static in isdn_ppp.c).
- *
- * Revision 1.6 1996/09/23 01:58:11 fritz
- * Fix: With syncPPP encapsulation, discard LCP packets
- * when calculating hangup timeout.
- *
- * Revision 1.5 1996/09/07 12:51:34 hipp
- * *** empty log message ***
- *
- * Revision 1.4 1996/05/06 11:34:56 hipp
- * fixed a few bugs
- *
- * Revision 1.3 1996/04/30 09:33:10 fritz
- * Removed compatibility-macros.
- *
- * Revision 1.2 1996/04/20 16:35:11 fritz
- * Changed isdn_ppp_receive to use sk_buff as parameter.
- * Added definition of isdn_ppp_dial_slave and ippp_table.
- *
- * Revision 1.1 1996/01/10 21:39:10 fritz
- * Initial revision
- *
*/
#include <linux/ppp_defs.h> /* for PPP_PROTOCOL */
diff --git a/drivers/isdn/isdn_tty.c b/drivers/isdn/isdn_tty.c
index 796cf4848..f9bfc60de 100644
--- a/drivers/isdn/isdn_tty.c
+++ b/drivers/isdn/isdn_tty.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_tty.c,v 1.84 2000/02/16 15:10:14 paul Exp $
+/* $Id: isdn_tty.c,v 1.92 2000/06/21 09:54:29 keil Exp $
* Linux ISDN subsystem, tty functions and AT-command emulator (linklevel).
*
@@ -19,334 +19,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_tty.c,v $
- * Revision 1.84 2000/02/16 15:10:14 paul
- * If a ttyI has no open FDs, don't connect incoming calls to it.
- * (Hangup on close of last FD is still to be done.)
- *
- * Revision 1.83 2000/02/16 14:59:33 paul
- * translated ISDN_MODEM_ANZREG to ISDN_MODEM_NUMREG for english speakers;
- * used defines for result codes;
- * fixed RING ... RUNG problem (no empty lines in between).
- *
- * Revision 1.82 2000/01/23 18:45:37 keil
- * Change EAZ mapping to forbit the use of cards (insert a "-" for the MSN)
- *
- * Revision 1.81 2000/01/20 19:55:33 keil
- * Add FAX Class 1 support
- *
- * Revision 1.80 1999/11/07 13:34:30 armin
- * Fixed AT command line editor
- *
- * Revision 1.79 1999/10/29 18:35:08 armin
- * Check number len in isdn_get_msnstr() to avoid buffer overflow.
- *
- * Revision 1.78 1999/10/28 23:03:51 armin
- * Bugfix: now freeing channel on modem_hup() even when
- * usage on ttyI has changed and error-report for
- * AT-commands on wrong channel-state.
- *
- * Revision 1.77 1999/10/26 21:13:14 armin
- * using define for checking phone number len in isdn_tty_getdial()
- *
- * Revision 1.76 1999/10/11 22:16:26 keil
- * Suspend/Resume is possible without explicit ID too
- *
- * Revision 1.75 1999/10/08 18:59:32 armin
- * Bugfix of too small MSN buffer and checking phone number
- * in isdn_tty_getdial()
- *
- * Revision 1.74 1999/09/04 06:20:04 keil
- * Changes from kernel set_current_state()
- *
- * Revision 1.73 1999/08/28 21:56:27 keil
- * misplaced #endif caused ttyI crash in 2.3.X
- *
- * Revision 1.72 1999/07/31 12:59:45 armin
- * Added tty fax capabilities.
- *
- * Revision 1.71 1999/07/27 10:34:34 armin
- * Fixed last change. Did not compile with AUDIO support off.
- *
- * Revision 1.70 1999/07/25 16:17:58 keil
- * Fix Suspend/Resume
- *
- * Revision 1.69 1999/07/25 12:56:15 armin
- * isdn_tty_at_cout() now queues the message if online and
- * data is in queue or flip buffer is full.
- * needed for fax connections.
- *
- * Revision 1.68 1999/07/11 17:51:51 armin
- * Bugfix, "-" was missing for AT&L settings.
- *
- * Revision 1.67 1999/07/11 17:14:12 armin
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- * Moved "Add CPN to RING message" to new register S23,
- * "Display message" is now correct on register S13 bit 7.
- * New audio command AT+VDD implemented (deactivate DTMF decoder and
- * activate possible existing hardware/DSP decoder).
- * Moved some tty defines to .h file.
- * Made whitespace possible in AT command line.
- * Some AT-emulator output bugfixes.
- * First Fax G3 implementations.
- *
- * Revision 1.66 1999/07/07 10:13:46 detabc
- * remove unused messages
- *
- * Revision 1.65 1999/07/04 21:01:59 werner
- * Added support for keypad and display (ported from 2.0)
- *
- * Revision 1.64 1999/07/01 08:30:00 keil
- * compatibility to 2.3 kernel
- *
- * Revision 1.63 1999/04/12 12:33:39 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.62 1999/03/02 12:04:48 armin
- * -added ISDN_STAT_ADDCH to increase supported channels after
- * register_isdn().
- * -ttyI now goes on-hook on ATZ when B-Ch is connected.
- * -added timer-function for register S7 (Wait for Carrier).
- * -analog modem (ISDN_PROTO_L2_MODEM) implementations.
- * -on L2_MODEM a string will be appended to the CONNECT-Message,
- * which is provided by the HL-Driver in parm.num in ISDN_STAT_BCONN.
- * -variable "dialing" used for ATA also, for interrupting call
- * establishment and register S7.
- *
- * Revision 1.61 1999/01/27 22:53:11 he
- * minor updates (spellings, jiffies wrap around in isdn_tty)
- *
- * Revision 1.60 1998/11/15 23:57:32 keil
- * changes for 2.1.127
- *
- * Revision 1.59 1998/08/20 13:50:15 keil
- * More support for hybrid modem (not working yet)
- *
- * Revision 1.58 1998/07/26 18:48:45 armin
- * Added silence detection in voice receive mode.
- *
- * Revision 1.57 1998/06/26 15:12:36 fritz
- * Added handling of STAT_ICALL with incomplete CPN.
- * Added AT&L for ttyI emulator.
- * Added more locking stuff in tty_write.
- *
- * Revision 1.56 1998/06/18 23:31:51 fritz
- * Replaced cli()/restore_flags() in isdn_tty_write() by locking.
- * Removed direct-senddown feature in isdn_tty_write because it will
- * never succeed with locking and is useless anyway.
- *
- * Revision 1.55 1998/06/17 19:50:55 he
- * merged with 2.1.10[34] (cosmetics and udelay() -> mdelay())
- * brute force fix to avoid Ugh's in isdn_tty_write()
- * cleaned up some dead code
- *
- *
- *
- * Revision 1.52 1998/03/19 13:18:21 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- *
- * Revision 1.49 1998/03/08 00:01:59 fritz
- * Bugfix: Lowlevel module usage and channel usage were not
- * reset on NO DCHANNEL.
- *
- * Revision 1.48 1998/03/07 12:28:15 tsbogend
- * fixed kernel unaligned traps on Linux/Alpha
- *
- * Revision 1.47 1998/02/22 19:44:14 fritz
- * Bugfixes and improvements regarding V.110, V.110 now running.
- *
- * Revision 1.46 1998/02/20 17:23:08 fritz
- * Changes for recent kernels.
- * Merged in contributions by Thomas Pfeiffer (V.110 T.70+ Extended FAX stuff)
- * Added symbolic constants for Modem-Registers.
- *
- * Revision 1.45 1998/01/31 22:07:49 keil
- * changes for newer kernels
- *
- * Revision 1.44 1998/01/31 19:30:02 calle
- * Merged changes from and for 2.1.82, not tested only compiled ...
- *
- * Revision 1.43 1997/10/09 21:29:04 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.42 1997/10/01 09:20:49 fritz
- * Removed old compatibility stuff for 2.0.X kernels.
- * From now on, this code is for 2.1.X ONLY!
- * Old stuff is still in the separate branch.
- *
- * Revision 1.41 1997/05/27 15:17:31 fritz
- * Added changes for recent 2.1.x kernels:
- * changed return type of isdn_close
- * queue_task_* -> queue_task
- * clear/set_bit -> test_and_... where apropriate.
- * changed type of hard_header_cache parameter.
- *
- * Revision 1.40 1997/03/24 22:55:27 fritz
- * Added debug code for status callbacks.
- *
- * Revision 1.39 1997/03/21 18:25:56 fritz
- * Corrected CTS handling.
- *
- * Revision 1.38 1997/03/07 12:13:35 fritz
- * Bugfix: Send audio in adpcm format was broken.
- * Bugfix: CTS handling was wrong.
- *
- * Revision 1.37 1997/03/07 01:37:34 fritz
- * Bugfix: Did not compile with CONFIG_ISDN_AUDIO disabled.
- * Bugfix: isdn_tty_tint() did not handle lowlevel errors correctly.
- * Bugfix: conversion was wrong when sending ulaw audio.
- * Added proper ifdef's for CONFIG_ISDN_AUDIO
- *
- * Revision 1.36 1997/03/04 21:41:55 fritz
- * Fix: Excessive stack usage of isdn_tty_senddown()
- * and isdn_tty_end_vrx() could lead to problems.
- *
- * Revision 1.35 1997/03/02 19:05:52 fritz
- * Bugfix: Avoid recursion.
- *
- * Revision 1.34 1997/03/02 14:29:22 fritz
- * More ttyI related cleanup.
- *
- * Revision 1.33 1997/02/28 02:32:45 fritz
- * Cleanup: Moved some tty related stuff from isdn_common.c
- * to isdn_tty.c
- * Bugfix: Bisync protocol did not behave like documented.
- *
- * Revision 1.32 1997/02/23 15:43:03 fritz
- * Small change in handling of incoming calls
- * documented in newest version of ttyI.4
- *
- * Revision 1.31 1997/02/21 13:05:57 fritz
- * Bugfix: Remote hangup did not set location-info on ttyI's
- *
- * Revision 1.30 1997/02/18 09:41:05 fritz
- * Added support for bitwise access to modem registers (ATSx.y=n, ATSx.y?).
- * Beautified output of AT&V.
- *
- * Revision 1.29 1997/02/16 12:11:51 fritz
- * Added S13,Bit4 option.
- *
- * Revision 1.28 1997/02/10 22:07:08 fritz
- * Added 2 modem registers for numbering plan and screening info.
- *
- * Revision 1.27 1997/02/10 21:31:14 fritz
- * Changed setup-interface (incoming and outgoing).
- *
- * Revision 1.26 1997/02/10 20:12:48 fritz
- * Changed interface for reporting incoming calls.
- *
- * Revision 1.25 1997/02/03 23:04:30 fritz
- * Reformatted according CodingStyle.
- * skb->free stuff replaced by macro.
- * Finished full-duplex audio.
- *
- * Revision 1.24 1997/01/14 01:32:42 fritz
- * Changed audio receive not to rely on skb->users and skb->lock.
- * Added ATI2 and related variables.
- * Started adding full-duplex audio capability.
- *
- * Revision 1.23 1996/10/22 23:14:02 fritz
- * Changes for compatibility to 2.0.X and 2.1.X kernels.
- *
- * Revision 1.22 1996/10/19 18:56:43 fritz
- * ATZ did not change the xmitbuf size.
- *
- * Revision 1.21 1996/06/24 17:40:28 fritz
- * Bugfix: Did not compile without CONFIG_ISDN_AUDIO
- *
- * Revision 1.20 1996/06/15 14:59:39 fritz
- * Fixed isdn_tty_tint() to handle partially sent
- * sk_buffs.
- *
- * Revision 1.19 1996/06/12 15:53:56 fritz
- * Bugfix: AT+VTX and AT+VRX could be executed without
- * having a connection.
- * Missing check for NULL tty in isdn_tty_flush_buffer().
- *
- * Revision 1.18 1996/06/07 11:17:33 tsbogend
- * added missing #ifdef CONFIG_ISDN_AUDIO to make compiling without
- * audio support possible
- *
- * Revision 1.17 1996/06/06 14:55:47 fritz
- * Changed to support DTMF decoding on audio playback also.
- * Bugfix: Added check for invalid info->isdn_driver in
- * isdn_tty_senddown().
- * Clear ncarrier flag on last close() of a tty.
- *
- * Revision 1.16 1996/06/05 02:24:12 fritz
- * Added DTMF decoder for audio mode.
- *
- * Revision 1.15 1996/06/03 20:35:01 fritz
- * Fixed typos.
- *
- * Revision 1.14 1996/06/03 20:12:19 fritz
- * Fixed typos.
- * Added call to write_wakeup via isdn_tty_flush_buffer()
- * in isdn_tty_modem_hup().
- *
- * Revision 1.13 1996/05/31 01:33:29 fritz
- * Changed buffering due to bad performance with mgetty.
- * Now sk_buff is delayed allocated in isdn_tty_senddown
- * using xmit_buff like in standard serial driver.
- * Fixed module locking.
- * Added DLE-DC4 handling in voice mode.
- *
- * Revision 1.12 1996/05/19 01:34:40 fritz
- * Bugfix: ATS returned error.
- * Register 20 made readonly.
- *
- * Revision 1.11 1996/05/18 01:37:03 fritz
- * Added spelling corrections and some minor changes
- * to stay in sync with kernel.
- *
- * Revision 1.10 1996/05/17 03:51:49 fritz
- * Changed DLE handling for audio receive.
- *
- * Revision 1.9 1996/05/11 21:52:07 fritz
- * Changed queue management to use sk_buffs.
- *
- * Revision 1.8 1996/05/10 08:49:43 fritz
- * Checkin before major changes of tty-code.
- *
- * Revision 1.7 1996/05/07 09:15:09 fritz
- * Reorganized and general cleanup.
- * Bugfixes:
- * - Audio-transmit working now.
- * - "NO CARRIER" now reported, when hanging up with DTR low.
- * - Corrected CTS handling.
- *
- * Revision 1.6 1996/05/02 03:59:25 fritz
- * Bugfixes:
- * - On dialout, layer-2 setup had been incomplete
- * when using new auto-layer2 feature.
- * - On hangup, "NO CARRIER" message sometimes missing.
- *
- * Revision 1.5 1996/04/30 21:05:25 fritz
- * Test commit
- *
- * Revision 1.4 1996/04/20 16:39:54 fritz
- * Changed all io to go through generic routines in isdn_common.c
- * Fixed a real ugly bug in modem-emulator: 'ATA' had been accepted
- * even when a call has been cancelled from the remote machine.
- *
- * Revision 1.3 1996/02/11 02:12:32 fritz
- * Bugfixes according to similar fixes in standard serial.c of kernel.
- *
- * Revision 1.2 1996/01/22 05:12:25 fritz
- * replaced my_atoi by simple_strtoul
- *
- * Revision 1.1 1996/01/09 04:13:18 fritz
- * Initial revision
- *
*/
#undef ISDN_TTY_STAT_DEBUG
@@ -394,7 +66,7 @@ static int bit2si[8] =
static int si2bit[8] =
{4, 1, 4, 4, 4, 4, 4, 4};
-char *isdn_tty_revision = "$Revision: 1.84 $";
+char *isdn_tty_revision = "$Revision: 1.92 $";
/* isdn_tty_try_read() is called from within isdn_tty_rcv_skb()
diff --git a/drivers/isdn/isdn_tty.h b/drivers/isdn/isdn_tty.h
index ed9190cfe..2921f9659 100644
--- a/drivers/isdn/isdn_tty.h
+++ b/drivers/isdn/isdn_tty.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_tty.h,v 1.19 2000/02/16 14:59:33 paul Exp $
+/* $Id: isdn_tty.h,v 1.22 2000/06/21 09:54:29 keil Exp $
* header for Linux ISDN subsystem, tty related functions (linklevel).
*
@@ -19,89 +19,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_tty.h,v $
- * Revision 1.19 2000/02/16 14:59:33 paul
- * translated ISDN_MODEM_ANZREG to ISDN_MODEM_NUMREG for english speakers;
- * used defines for result codes;
- * fixed RING ... RUNG problem (no empty lines in between).
- *
- * Revision 1.18 2000/01/20 19:55:33 keil
- * Add FAX Class 1 support
- *
- * Revision 1.17 1999/09/21 19:00:35 armin
- * Extended FCON message with added CPN
- * can now be activated with Bit 1 of Reg 23.
- *
- * Revision 1.16 1999/08/22 20:26:10 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.15 1999/07/31 12:59:48 armin
- * Added tty fax capabilities.
- *
- * Revision 1.14 1999/07/11 17:14:15 armin
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- * Moved "Add CPN to RING message" to new register S23,
- * "Display message" is now correct on register S13 bit 7.
- * New audio command AT+VDD implemented (deactivate DTMF decoder and
- * activate possible existing hardware/DSP decoder).
- * Moved some tty defines to .h file.
- * Made whitespace possible in AT command line.
- * Some AT-emulator output bugfixes.
- * First Fax G3 implementations.
- *
- * Revision 1.13 1999/04/12 12:33:46 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.12 1999/03/02 12:04:51 armin
- * -added ISDN_STAT_ADDCH to increase supported channels after
- * register_isdn().
- * -ttyI now goes on-hook on ATZ when B-Ch is connected.
- * -added timer-function for register S7 (Wait for Carrier).
- * -analog modem (ISDN_PROTO_L2_MODEM) implementations.
- * -on L2_MODEM a string will be appended to the CONNECT-Message,
- * which is provided by the HL-Driver in parm.num in ISDN_STAT_BCONN.
- * -variable "dialing" used for ATA also, for interrupting call
- * establishment and register S7.
- *
- * Revision 1.11 1998/03/19 13:18:27 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 1.10 1997/03/02 14:29:26 fritz
- * More ttyI related cleanup.
- *
- * Revision 1.9 1997/02/28 02:32:49 fritz
- * Cleanup: Moved some tty related stuff from isdn_common.c
- * to isdn_tty.c
- * Bugfix: Bisync protocol did not behave like documented.
- *
- * Revision 1.8 1997/02/10 20:12:50 fritz
- * Changed interface for reporting incoming calls.
- *
- * Revision 1.7 1997/02/03 23:06:10 fritz
- * Reformatted according CodingStyle
- *
- * Revision 1.6 1997/01/14 01:35:19 fritz
- * Changed prototype of isdn_tty_modem_hup.
- *
- * Revision 1.5 1996/05/17 03:52:31 fritz
- * Changed DLE handling for audio receive.
- *
- * Revision 1.4 1996/05/11 21:52:34 fritz
- * Changed queue management to use sk_buffs.
- *
- * Revision 1.3 1996/05/07 09:16:34 fritz
- * Changed isdn_try_read parameter.
- *
- * Revision 1.2 1996/04/30 21:05:27 fritz
- * Test commit
- *
- * Revision 1.1 1996/01/10 21:39:22 fritz
- * Initial revision
- *
*/
#include <linux/config.h>
diff --git a/drivers/isdn/isdn_ttyfax.c b/drivers/isdn/isdn_ttyfax.c
index 33f67ff4b..8899ce5a9 100644
--- a/drivers/isdn/isdn_ttyfax.c
+++ b/drivers/isdn/isdn_ttyfax.c
@@ -1,4 +1,5 @@
-/* $Id: isdn_ttyfax.c,v 1.6 2000/01/26 00:41:13 keil Exp $
+/* $Id: isdn_ttyfax.c,v 1.7 2000/05/11 22:29:21 kai Exp $
+
* Linux ISDN subsystem, tty_fax AT-command emulator (linklevel).
*
* Copyright 1999 by Armin Schindler (mac@melware.de)
@@ -19,30 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_ttyfax.c,v $
- * Revision 1.6 2000/01/26 00:41:13 keil
- * add "00" as dummy msn in isdn_get_free_channel call
- *
- * Revision 1.5 2000/01/20 19:55:33 keil
- * Add FAX Class 1 support
- *
- * Revision 1.4 1999/09/21 19:00:35 armin
- * Extended FCON message with added CPN
- * can now be activated with Bit 1 of Reg 23.
- *
- * Revision 1.3 1999/08/22 20:26:12 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.2 1999/08/05 10:36:10 armin
- * Bugfix: kernel oops on getting revision.
- *
- * Revision 1.1 1999/07/31 12:59:50 armin
- * Added tty fax capabilities.
- *
- *
*/
#undef ISDN_TTY_FAX_STAT_DEBUG
@@ -56,7 +33,7 @@
#include "isdn_ttyfax.h"
-static char *isdn_tty_fax_revision = "$Revision: 1.6 $";
+static char *isdn_tty_fax_revision = "$Revision: 1.7 $";
#define PARSE_ERROR1 { isdn_tty_fax_modem_result(1, info); return 1; }
diff --git a/drivers/isdn/isdn_ttyfax.h b/drivers/isdn/isdn_ttyfax.h
index 1ad75d2df..6390eee2c 100644
--- a/drivers/isdn/isdn_ttyfax.h
+++ b/drivers/isdn/isdn_ttyfax.h
@@ -1,4 +1,5 @@
-/* $Id: isdn_ttyfax.h,v 1.1 1999/07/31 12:59:51 armin Exp $
+/* $Id: isdn_ttyfax.h,v 1.2 2000/05/11 22:29:21 kai Exp $
+
* header for Linux ISDN subsystem, tty_fax related functions (linklevel).
*
* Copyright 1999 by Armin Schindler (mac@melware.de)
@@ -19,11 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_ttyfax.h,v $
- * Revision 1.1 1999/07/31 12:59:51 armin
- * Added tty fax capabilities.
- *
- *
*/
diff --git a/drivers/isdn/isdn_v110.c b/drivers/isdn/isdn_v110.c
index 22863e208..08c54a866 100644
--- a/drivers/isdn/isdn_v110.c
+++ b/drivers/isdn/isdn_v110.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_v110.c,v 1.4 2000/03/16 16:34:12 kai Exp $
+/* $Id: isdn_v110.c,v 1.5 2000/05/11 22:29:21 kai Exp $
* Linux ISDN subsystem, V.110 related functions (linklevel).
*
@@ -18,22 +18,8 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_v110.c,v $
- * Revision 1.4 2000/03/16 16:34:12 kai
- * some translation work
- *
- * there shouldn't be any German comments lurking around anymore ;-)
- *
- * Revision 1.3 1999/10/30 09:49:28 keil
- * Reinit of v110 structs
- *
- * Revision 1.2 1998/02/22 19:44:25 fritz
- * Bugfixes and improvements regarding V.110, V.110 now running.
- *
- * Revision 1.1 1998/02/20 17:32:09 fritz
- * First checkin (not yet completely functionable).
- *
*/
+
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/malloc.h>
@@ -44,7 +30,7 @@
#undef ISDN_V110_DEBUG
-char *isdn_v110_revision = "$Revision: 1.4 $";
+char *isdn_v110_revision = "$Revision: 1.5 $";
#define V110_38400 255
#define V110_19200 15
diff --git a/drivers/isdn/isdn_v110.h b/drivers/isdn/isdn_v110.h
index de6f9f6e1..553ba86ab 100644
--- a/drivers/isdn/isdn_v110.h
+++ b/drivers/isdn/isdn_v110.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_v110.h,v 1.3 2000/03/16 16:34:12 kai Exp $
+/* $Id: isdn_v110.h,v 1.4 2000/05/11 22:29:21 kai Exp $
* Linux ISDN subsystem, V.110 related functions (linklevel).
*
@@ -18,18 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn_v110.h,v $
- * Revision 1.3 2000/03/16 16:34:12 kai
- * some translation work
- *
- * there shouldn't be any German comments lurking around anymore ;-)
- *
- * Revision 1.2 1999/10/30 09:49:28 keil
- * Reinit of v110 structs
- *
- * Revision 1.1 1998/02/20 17:32:11 fritz
- * First checkin (not yet completely functionable).
- *
*/
#ifndef _isdn_v110_h_
#define _isdn_v110_h_
diff --git a/drivers/isdn/isdn_x25iface.c b/drivers/isdn/isdn_x25iface.c
index 9a5074801..591608915 100644
--- a/drivers/isdn/isdn_x25iface.c
+++ b/drivers/isdn/isdn_x25iface.c
@@ -1,4 +1,23 @@
-/* $Id: isdn_x25iface.c,v 1.7 1999/08/22 20:26:13 calle Exp $
+/* $Id: isdn_x25iface.c,v 1.9 2000/05/16 20:52:10 keil Exp $
+
+ *
+ * Linux ISDN subsystem, X.25 related functions
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
* stuff needed to support the Linux X.25 PLP code on top of devices that
* can provide a lab_b service using the concap_proto mechanism.
* This module supports a network interface wich provides lapb_sematics
@@ -9,33 +28,6 @@
* Only protocol specific stuff goes here. Device specific stuff
* goes to another -- device related -- concap_proto support source file.
*
- * $Log: isdn_x25iface.c,v $
- * Revision 1.7 1999/08/22 20:26:13 calle
- * backported changes from kernel 2.3.14:
- * - several #include "config.h" gone, others come.
- * - "struct device" changed to "struct net_device" in 2.3.14, added a
- * define in isdn_compat.h for older kernel versions.
- *
- * Revision 1.6 1999/01/27 22:53:19 he
- * minor updates (spellings, jiffies wrap around in isdn_tty)
- *
- * Revision 1.5 1998/10/30 17:55:39 he
- * dialmode for x25iface and multulink ppp
- *
- * Revision 1.4 1998/06/17 19:51:00 he
- * merged with 2.1.10[34] (cosmetics and udelay() -> mdelay())
- * brute force fix to avoid Ugh's in isdn_tty_write()
- * cleaned up some dead code
- *
- * Revision 1.3 1998/02/20 17:25:20 fritz
- * Changes for recent kernels.
- *
- * Revision 1.2 1998/01/31 22:49:22 keil
- * correct comments
- *
- * Revision 1.1 1998/01/31 22:27:58 keil
- * New files from Henner Eisen for X.25 support
- *
*/
/* #include <linux/isdn.h> */
diff --git a/drivers/isdn/isdn_x25iface.h b/drivers/isdn/isdn_x25iface.h
index 146eeefff..97024e261 100644
--- a/drivers/isdn/isdn_x25iface.h
+++ b/drivers/isdn/isdn_x25iface.h
@@ -1,5 +1,23 @@
-/* $Id: isdn_x25iface.h,v 1.2 1998/01/31 22:49:23 keil Exp $
+/* $Id: isdn_x25iface.h,v 1.3 2000/05/11 22:29:21 kai Exp $
+
+ * header for Linux ISDN subsystem, x.25 related functions
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
*/
+
#ifndef _LINUX_ISDN_X25IFACE_H
#define _LINUX_ISDN_X25IFACE_H
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 6030b63b3..fcbfd3175 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -43,7 +43,6 @@ O_TARGET := mtdlink.o
SUB_DIRS :=
ALL_SUB_DIRS :=
MOD_SUB_DIRS :=
-MOD_LIST_NAME := MTD_MODULES
export-objs := mtdcore.o doc2000.o doc2001.o cfi_probe.o cfi_cmdset_0001.o cfi_cmdset_0002.o
list-multi :=
diff --git a/drivers/net/82596.c b/drivers/net/82596.c
index 7fa0bb8e1..6a458a39c 100644
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -706,8 +706,10 @@ static int init_i596_mem(struct net_device *dev)
spin_lock_irqsave (&lp->lock, flags);
- if (wait_cmd(dev,lp,1000,"timed out waiting to issue RX_START"))
+ if (wait_cmd(dev,lp,1000,"timed out waiting to issue RX_START")) {
+ spin_unlock_irqrestore ((&lp->lock, flags);
goto failed;
+ }
DEB(DEB_INIT,printk("%s: Issuing RX_START\n", dev->name));
lp->scb.command = RX_START;
CA(dev);
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 006cb2a8a..e5ac867a6 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -21,7 +21,6 @@ ALL_SUB_DIRS := $(SUB_DIRS) fc hamradio irda pcmcia tokenring wan sk98lin \
arcnet skfp tulip appletalk
O_TARGET := net.o
-MOD_LIST_NAME := NET_MODULES
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
diff --git a/drivers/net/at1700.c b/drivers/net/at1700.c
index d1a6be95c..6acc28597 100644
--- a/drivers/net/at1700.c
+++ b/drivers/net/at1700.c
@@ -557,7 +557,8 @@ static void net_tx_timeout (struct net_device *dev)
/* ToDo: We should try to restart the adaptor... */
outw (0xffff, ioaddr + 24);
outw (0xffff, ioaddr + TX_STATUS);
- outw (0xe85a, ioaddr + CONFIG_0);
+ outb (0x5a, ioaddr + CONFIG_0);
+ outb (0xe8, ioaddr + CONFIG_1);
outw (0x8182, ioaddr + TX_INTR);
outb (0x00, ioaddr + TX_START);
outb (0x03, ioaddr + COL16CNTL);
diff --git a/drivers/net/fc/Makefile b/drivers/net/fc/Makefile
index 6fd921f52..87e599863 100644
--- a/drivers/net/fc/Makefile
+++ b/drivers/net/fc/Makefile
@@ -10,7 +10,6 @@ L_TARGET := fc.a
L_OBJS :=
M_OBJS :=
MX_OBJS :=
-MOD_LIST_NAME := FC_MODULES
FC_SRCS = $(wildcard $(L_OBJS:%.o=%.c))
ifeq ($(CONFIG_IPHASE5526),y)
diff --git a/drivers/net/fc/iph5526.c b/drivers/net/fc/iph5526.c
index 309a2c42d..8d4ebe1a3 100644
--- a/drivers/net/fc/iph5526.c
+++ b/drivers/net/fc/iph5526.c
@@ -3952,8 +3952,10 @@ u_long flags;
/* Get an used OX_ID. We could have pending commands.
*/
- if (get_scsi_oxid(fi))
+ if (get_scsi_oxid(fi)) {
+ spin_unlock_irqrestore(&fi->fc_lock, flags);
return 1;
+ }
fi->q.free_scsi_oxid[fi->g.scsi_oxid] = OXID_INUSE;
/* Maintain a handler so that we can associate the done() function
diff --git a/drivers/net/hamradio/Makefile b/drivers/net/hamradio/Makefile
index d80857838..c2fb726c3 100644
--- a/drivers/net/hamradio/Makefile
+++ b/drivers/net/hamradio/Makefile
@@ -14,7 +14,6 @@ ALL_SUB_DIRS := $(SUB_DIRS)
O_TARGET := hamradio.o
O_OBJS :=
M_OBJS :=
-MOD_LIST_NAME := HAM_MODULES
# Need these to keep track of whether the hdlc module should
# really go in the kernel or a module.
diff --git a/drivers/net/irda/Makefile b/drivers/net/irda/Makefile
index d9989aa1a..53ee8867c 100644
--- a/drivers/net/irda/Makefile
+++ b/drivers/net/irda/Makefile
@@ -10,7 +10,6 @@ ALL_SUB_DIRS := $(SUB_DIRS)
L_TARGET := irda_drivers.a
L_OBJS :=
M_OBJS :=
-MOD_LIST_NAME := IRDA_DRIVERS_MODULES
ifeq ($(CONFIG_IRTTY_SIR),y)
L_OBJS += irtty.o
diff --git a/drivers/net/pcmcia/Makefile b/drivers/net/pcmcia/Makefile
index 4f6463c22..acb40aa1b 100644
--- a/drivers/net/pcmcia/Makefile
+++ b/drivers/net/pcmcia/Makefile
@@ -9,7 +9,6 @@ MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
O_TARGET := pcmcia_net.o
-MOD_LIST_NAME := PCMCIA_NET_MODULES
obj-y :=
obj-m :=
diff --git a/drivers/net/sk98lin/Makefile b/drivers/net/sk98lin/Makefile
index 7dfe263be..fbf1a6d6b 100644
--- a/drivers/net/sk98lin/Makefile
+++ b/drivers/net/sk98lin/Makefile
@@ -10,7 +10,6 @@ ifeq ($(CONFIG_SK98LIN),y)
skxmac2.o skcsum.o
else
ifeq ($(CONFIG_SK98LIN),m)
- MOD_LIST_NAME := SK98LIN_MODULES
M_OBJS := sk98lin.o
O_TARGET := sk98lin.o
O_OBJS = skge.o skaddr.o skgehwt.o skgeinit.o skgepnmi.o skgesirq.o \
diff --git a/drivers/net/skfp/Makefile b/drivers/net/skfp/Makefile
index 82aa26e4c..5f681ca17 100644
--- a/drivers/net/skfp/Makefile
+++ b/drivers/net/skfp/Makefile
@@ -10,7 +10,6 @@ ifeq ($(CONFIG_SKFP),y)
smtparse.o hwt.o drvfbi.o ess.o
else
ifeq ($(CONFIG_SKFP),m)
- MOD_LIST_NAME := SKFP_MODULES
M_OBJS := skfp.o
O_TARGET := skfp.o
O_OBJS = skfddi.o hwmtm.o fplustm.o smt.o cfm.o \
diff --git a/drivers/net/wan/lmc/Makefile b/drivers/net/wan/lmc/Makefile
index 1fe61a348..fbfd22489 100644
--- a/drivers/net/wan/lmc/Makefile
+++ b/drivers/net/wan/lmc/Makefile
@@ -9,7 +9,6 @@ ifeq ($(CONFIG_LANMEDIA),y)
O_OBJS = lmc_debug.o lmc_media.o lmc_main.o lmc_proto.o
else
ifeq ($(CONFIG_LANMEDIA),m)
- MOD_LIST_NAME := NET_MODULES
M_OBJS := lmc.o
O_TARGET := lmc.o
O_OBJS = lmc_debug.o lmc_media.o lmc_main.o lmc_proto.o
diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
index 709228dc6..f37e8f283 100644
--- a/drivers/parport/parport_pc.c
+++ b/drivers/parport/parport_pc.c
@@ -2111,7 +2111,7 @@ struct parport *__devinit parport_pc_probe_port (unsigned long int base,
#undef printmode
printk("]\n");
if (probedirq != PARPORT_IRQ_NONE)
- printk("%s: irq %d detected\n", p->name, probedirq);
+ printk(KERN_INFO "%s: irq %d detected\n", p->name, probedirq);
parport_proc_register(p);
request_region (p->base, 3, p->name);
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
index b1ac19022..6491ac4b0 100644
--- a/drivers/pcmcia/Makefile
+++ b/drivers/pcmcia/Makefile
@@ -12,8 +12,6 @@ SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
-MOD_LIST_NAME := PCMCIA_MODULES
-
ifeq ($(CONFIG_PCMCIA),y)
O_OBJS := cistpl.o rsrc_mgr.o bulkmem.o
OX_OBJS := ds.o cs.o
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c
index 85d58ad78..30995bbbe 100644
--- a/drivers/pcmcia/cs.c
+++ b/drivers/pcmcia/cs.c
@@ -975,8 +975,10 @@ int pcmcia_deregister_client(client_handle_t handle)
client = &s->clients;
while ((*client) && ((*client) != handle))
client = &(*client)->next;
- if (*client == NULL)
+ if (*client == NULL) {
+ spin_unlock_irqrestore(&s->lock, flags);
return CS_BAD_HANDLE;
+ }
*client = handle->next;
handle->client_magic = 0;
kfree(handle);
diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
index 1292c50f6..de225879f 100644
--- a/drivers/scsi/Makefile
+++ b/drivers/scsi/Makefile
@@ -6,11 +6,10 @@
#
O_TARGET := scsidrv.o
-MOD_LIST_NAME := SCSI_MODULES
SUB_DIRS :=
MOD_SUB_DIRS :=
-MOD_IN_SUBDIRS :=
+MOD_IN_SUB_DIRS :=
ALL_SUB_DIRS := $(SUB_DIRS) pcmcia
ifeq ($(CONFIG_PCMCIA),y)
diff --git a/drivers/scsi/pcmcia/Makefile b/drivers/scsi/pcmcia/Makefile
index d37c6fc5f..2e0c1323d 100644
--- a/drivers/scsi/pcmcia/Makefile
+++ b/drivers/scsi/pcmcia/Makefile
@@ -8,8 +8,6 @@ SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS)
-MOD_LIST_NAME := PCMCIA_SCSI_MODULES
-
obj-y :=
obj-m :=
obj-n :=
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index cc5bb1c48..75493008e 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1467,9 +1467,9 @@ static int sg_build_dir(Sg_request * srp, Sg_fd * sfp, int dxfer_len)
}
schp->mapped = 1;
kp = schp->kiobp;
- prev_addr = page_address(kp->maplist[0]);
+ prev_addr = (unsigned long) page_address(kp->maplist[0]);
for (k = 1, split = 0; k < kp->nr_pages; ++k, prev_addr = addr) {
- addr = page_address(kp->maplist[k]);
+ addr = (unsigned long) page_address(kp->maplist[k]);
if ((prev_addr + PAGE_SIZE) != addr) {
split = k;
break;
@@ -1477,7 +1477,7 @@ static int sg_build_dir(Sg_request * srp, Sg_fd * sfp, int dxfer_len)
}
if (! split) {
schp->k_use_sg = 0;
- schp->buffer = (void *)(page_address(kp->maplist[0]) + kp->offset);
+ schp->buffer = page_address(kp->maplist[0]) + kp->offset;
schp->bufflen = dxfer_len;
schp->buffer_mem_src = SG_USER_MEM;
schp->b_malloc_len = dxfer_len;
@@ -1497,7 +1497,7 @@ static int sg_build_dir(Sg_request * srp, Sg_fd * sfp, int dxfer_len)
offset = (0 == k) ? kp->offset : 0;
num = (rem_sz > (PAGE_SIZE - offset)) ? (PAGE_SIZE - offset) :
rem_sz;
- sclp->address = (void *)(page_address(kp->maplist[k]) + offset);
+ sclp->address = page_address(kp->maplist[k]) + offset;
sclp->length = num;
mem_src_arr[k] = SG_USER_MEM;
rem_sz -= num;
diff --git a/drivers/sgi/Makefile b/drivers/sgi/Makefile
index 3de37311c..fe070f71b 100644
--- a/drivers/sgi/Makefile
+++ b/drivers/sgi/Makefile
@@ -14,7 +14,6 @@ ALL_SUB_DIRS := $(SUB_DIRS) char
L_OBJS :=
L_TARGET := sgi.a
-MOD_LIST_NAME := SGI_MODULES
# Character and Audio devices for SGI machines.
#
diff --git a/drivers/sound/Makefile b/drivers/sound/Makefile
index 399148c74..879951c4c 100644
--- a/drivers/sound/Makefile
+++ b/drivers/sound/Makefile
@@ -92,11 +92,11 @@ endif
ifeq ($(CONFIG_DMASOUND),y)
SUB_DIRS += dmasound
- MOD_SUB_DIRS += dmasound
+ MOD_IN_SUB_DIRS += dmasound
obj-y += dmasound/dmasound.o
else
ifeq ($(CONFIG_DMASOUND),m)
- MOD_SUB_DIRS += dmasound
+ MOD_IN_SUB_DIRS += dmasound
endif
endif
@@ -148,7 +148,6 @@ obj-y := $(filter-out $(list-multi), $(obj-y)) $(int-y)
# Translate to Rules.make lists.
O_TARGET := sounddrivers.o
-MOD_LIST_NAME := SOUND_MODULES
O_OBJS := $(filter-out $(export-objs), $(obj-y))
OX_OBJS := $(filter $(export-objs), $(obj-y))
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index 3598dc269..5831dd1d9 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -14,7 +14,6 @@ ALL_SUB_DIRS := $(SUB_DIRS) serial storage
O_TARGET := usbdrv.o
M_OBJS :=
O_OBJS :=
-MOD_LIST_NAME := USB_MODULES
# Objects that export symbols.
diff --git a/drivers/usb/ibmcam.c b/drivers/usb/ibmcam.c
index 6b85a15f0..86360f687 100644
--- a/drivers/usb/ibmcam.c
+++ b/drivers/usb/ibmcam.c
@@ -205,8 +205,10 @@ static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr)
if (!pmd_none(*pmd)) {
ptep = pte_offset(pmd, adr);
pte = *ptep;
- if (pte_present(pte))
- ret = page_address(pte_page(pte)) | (adr & (PAGE_SIZE-1));
+ if (pte_present(pte)) {
+ ret = (unsigned long) page_address(pte_page(pte));
+ ret |= (adr & (PAGE_SIZE - 1));
+ }
}
}
MDEBUG(printk("uv2kva(%lx-->%lx)", adr, ret));
diff --git a/drivers/usb/ov511.c b/drivers/usb/ov511.c
index 73e3a5be1..055099a0c 100644
--- a/drivers/usb/ov511.c
+++ b/drivers/usb/ov511.c
@@ -207,9 +207,10 @@ static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr)
if (!pmd_none(*pmd)) {
ptep = pte_offset(pmd, adr);
pte = *ptep;
- if (pte_present(pte))
- ret = page_address(pte_page(pte)) |
- (adr & (PAGE_SIZE-1));
+ if (pte_present(pte)) {
+ ret = (unsigned long) page_address(pte_page(pte));
+ ret |= (adr & (PAGE_SIZE - 1));
+ }
}
}
diff --git a/drivers/usb/serial/Makefile b/drivers/usb/serial/Makefile
index 31f913ff9..ce5d7b128 100644
--- a/drivers/usb/serial/Makefile
+++ b/drivers/usb/serial/Makefile
@@ -5,7 +5,6 @@
O_TARGET := usb-serial.o
M_OBJS :=
O_OBJS :=
-MOD_LIST_NAME := USB_SERIAL_MODULES
# Object file lists.
diff --git a/drivers/usb/storage/Makefile b/drivers/usb/storage/Makefile
index 1b204ab28..7da59f78e 100644
--- a/drivers/usb/storage/Makefile
+++ b/drivers/usb/storage/Makefile
@@ -5,7 +5,6 @@
O_TARGET := usb-storage.o
M_OBJS := usb-storage.o
O_OBJS := scsiglue.o protocol.o transport.o usb.o
-MOD_LIST_NAME := USB_STORAGE_MODULES
CFLAGS_scsiglue.o:= -I../../scsi/
CFLAGS_protocol.o:= -I../../scsi/
diff --git a/drivers/usb/usb-ohci.c b/drivers/usb/usb-ohci.c
index cfa871503..367f0d3f6 100644
--- a/drivers/usb/usb-ohci.c
+++ b/drivers/usb/usb-ohci.c
@@ -960,13 +960,20 @@ static ed_t * ep_add_ed (struct usb_device * usb_dev, unsigned int pipe, int int
ed = ed_ret = &(usb_to_ohci (usb_dev)->ed[(usb_pipeendpoint (pipe) << 1) |
(usb_pipecontrol (pipe)? 0: usb_pipeout (pipe))]);
- if((ed->state & ED_DEL) || (ed->state & ED_URB_DEL))
- return NULL; /* pending delete request */
+ if ((ed->state & ED_DEL) || (ed->state & ED_URB_DEL)) {
+ /* pending delete request */
+ spin_unlock (&usb_ed_lock);
+ return NULL;
+ }
if (ed->state == ED_NEW) {
ed->hwINFO = cpu_to_le32 (OHCI_ED_SKIP); /* skip ed */
OHCI_ALLOC (td, sizeof (*td)); /* dummy td; end of td list for ed */
- if(!td) return NULL; /* out of memory */
+ if (!td) {
+ /* out of memory */
+ spin_unlock (&usb_ed_lock);
+ return NULL;
+ }
ed->hwTailP = cpu_to_le32 (virt_to_bus (td));
ed->hwHeadP = ed->hwTailP;
ed->state = ED_UNLINK;
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 886229370..d3b8959d4 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -10,8 +10,6 @@ ALL_SUB_DIRS := $(SUB_DIRS) matrox riva
O_TARGET := video.o
O_OBJS :=
M_OBJS :=
-# This is a nice idea but needs depmod altering
-# MOD_LIST_NAME := VIDEO_MODULES
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c
index 0a1473520..1888331ac 100644
--- a/drivers/video/cyber2000fb.c
+++ b/drivers/video/cyber2000fb.c
@@ -1208,11 +1208,6 @@ static struct fb_videomode __devinitdata cyber2000fb_default_mode = {
vmode: FB_VMODE_NONINTERLACED
};
-int __init cyber2000fb_setup(char *options)
-{
- return 0;
-}
-
static char igs_regs[] __devinitdata = {
0x12, 0x00, 0x13, 0x00,
0x16, 0x00,
diff --git a/drivers/video/cyberfb.c b/drivers/video/cyberfb.c
index 20b8c4b2a..bd7618def 100644
--- a/drivers/video/cyberfb.c
+++ b/drivers/video/cyberfb.c
@@ -1066,7 +1066,7 @@ int __init cyberfb_init(void)
CyberRegs_phys = CyberMem_phys + 0x00c00000;
if (!request_mem_region(CyberRegs_phys, 0x10000, "S3 Trio64"))
continue;
- if (!request_mem_region(CyberMem_phys, 0x4000000, "RAM")) {
+ if (!request_mem_region(CyberMem_phys, 0x400000, "RAM")) {
release_mem_region(CyberRegs_phys, 0x10000);
continue;
}
@@ -1110,7 +1110,8 @@ int __init cyberfb_init(void)
if (register_framebuffer(&fb_info) < 0) {
DPRINTK("EXIT - register_framebuffer failed\n");
- release_mem_region(board_addr, board_size);
+ release_mem_region(CyberMem_phys, 0x400000);
+ release_mem_region(CyberRegs_phys, 0x10000);
return -EINVAL;
}
diff --git a/drivers/video/dn_cfb4.c b/drivers/video/dn_cfb4.c
index 5d7ab81a5..205703be4 100644
--- a/drivers/video/dn_cfb4.c
+++ b/drivers/video/dn_cfb4.c
@@ -107,8 +107,6 @@
#define SWAP(A) ((A>>8) | ((A&0xff) <<8))
-void dn_video_setup(char *options, int *ints);
-
/* frame buffer operations */
static int dn_fb_get_fix(struct fb_fix_screeninfo *fix, int con,
@@ -364,12 +362,6 @@ static void dnfbcon_blank(int blank, struct fb_info *info) {
}
-void dn_video_setup(char *options, int *ints) {
-
- return;
-
-}
-
void dn_bitblt(struct display *p,int x_src,int y_src, int x_dest, int y_dest,
int x_count, int y_count) {
diff --git a/drivers/video/dn_cfb8.c b/drivers/video/dn_cfb8.c
index fa2cb1e67..a654717b3 100644
--- a/drivers/video/dn_cfb8.c
+++ b/drivers/video/dn_cfb8.c
@@ -108,8 +108,6 @@
#define SWAP(A) ((A>>8) | ((A&0xff) <<8))
-void dn_video_setup(char *options, int *ints);
-
/* frame buffer operations */
static int dn_fb_get_fix(struct fb_fix_screeninfo *fix, int con,
@@ -353,12 +351,6 @@ static void dnfbcon_blank(int blank, struct fb_info *info) {
}
-void dn_video_setup(char *options, int *ints) {
-
- return;
-
-}
-
void dn_bitblt(struct display *p,int x_src,int y_src, int x_dest, int y_dest,
int x_count, int y_count) {
diff --git a/drivers/video/dnfb.c b/drivers/video/dnfb.c
index 6fd59a64d..2deaeca27 100644
--- a/drivers/video/dnfb.c
+++ b/drivers/video/dnfb.c
@@ -113,8 +113,6 @@
#endif
-void dn_video_setup(char *options, int *ints);
-
/* frame buffer operations */
static int dn_fb_get_fix(struct fb_fix_screeninfo *fix, int con,
@@ -366,12 +364,6 @@ static void dnfbcon_blank(int blank, struct fb_info *info) {
}
-void dn_video_setup(char *options, int *ints) {
-
- return;
-
-}
-
void dn_bitblt(struct display *p,int x_src,int y_src, int x_dest, int y_dest,
int x_count, int y_count) {
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index 6ca8c3dcf..07b912ebf 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -57,13 +57,11 @@ extern int cyberfb_setup(char*);
extern int pm2fb_init(void);
extern int pm2fb_setup(char*);
extern int cyber2000fb_init(void);
-extern int cyber2000fb_setup(char*);
extern int retz3fb_init(void);
extern int retz3fb_setup(char*);
extern int clgenfb_init(void);
extern int clgenfb_setup(char*);
extern int hitfb_init(void);
-extern int hitfb_setup(char*);
extern int vfb_init(void);
extern int vfb_setup(char*);
extern int offb_init(void);
@@ -91,7 +89,6 @@ extern int hgafb_setup(char*);
extern int matroxfb_init(void);
extern int matroxfb_setup(char*);
extern int hpfb_init(void);
-extern int hpfb_setup(char*);
extern int sbusfb_init(void);
extern int sbusfb_setup(char*);
extern int control_init(void);
@@ -103,7 +100,6 @@ extern int valkyriefb_setup(char*);
extern int chips_init(void);
extern int g364fb_init(void);
extern int sa1100fb_init(void);
-extern int sa1100fb_setup(char*);
extern int fm2fb_init(void);
extern int fm2fb_setup(char*);
extern int q40fb_init(void);
@@ -146,7 +142,7 @@ static struct {
{ "cyber", cyberfb_init, cyberfb_setup },
#endif
#ifdef CONFIG_FB_CYBER2000
- { "cyber2000", cyber2000fb_init, cyber2000fb_setup },
+ { "cyber2000", cyber2000fb_init, NULL },
#endif
#ifdef CONFIG_FB_PM2
{ "pm2fb", pm2fb_init, pm2fb_setup },
@@ -232,7 +228,7 @@ static struct {
{ "hga", hgafb_init, hgafb_setup },
#endif
#ifdef CONFIG_FB_IGA
- { "igafb", igafb_init, igafb_setup },
+ { "igafb", igafb_init, igafb_setup },
#endif
#ifdef CONFIG_APOLLO
{ "apollo", dnfb_init, NULL },
@@ -244,19 +240,19 @@ static struct {
{ "tga", tgafb_init, tgafb_setup },
#endif
#ifdef CONFIG_FB_HP300
- { "hpfb", hpfb_init, hpfb_setup },
+ { "hpfb", hpfb_init, NULL },
#endif
#ifdef CONFIG_FB_G364
{ "g364", g364fb_init, NULL },
#endif
#ifdef CONFIG_FB_SA1100
- { "sa1100", sa1100fb_init, sa1100fb_setup },
+ { "sa1100", sa1100fb_init, NULL },
#endif
#ifdef CONFIG_FB_SUN3
- { "sun3", sun3fb_init, sun3fb_setup },
+ { "sun3", sun3fb_init, sun3fb_setup },
#endif
#ifdef CONFIG_FB_HIT
- { "hitfb", hitfb_init, hitfb_setup },
+ { "hitfb", hitfb_init, NULL },
#endif
/*
@@ -604,7 +600,7 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
pgprot_val(vma->vm_page_prot) &= ~(PTE_CACHEABLE | PTE_BUFFERABLE);
#endif
#elif defined(__sh__)
- pgprot_val(vma->vm_page_prot) &= ~_PAGE_CACHABLE;
+ pgprot_val(vma->vm_page_prot) &= ~_PAGE_CACHABLE;
#else
#warning What do we have to do here??
#endif
diff --git a/drivers/video/hitfb.c b/drivers/video/hitfb.c
index 589823acd..e48d8a74c 100644
--- a/drivers/video/hitfb.c
+++ b/drivers/video/hitfb.c
@@ -68,7 +68,6 @@ unsigned long hit_videobase, hit_videosize;
static struct fb_var_screeninfo default_var;
int hitfb_init(void);
-int hitfb_setup(char*);
static void hitfb_set_par(struct hitfb_par *par, const struct fb_info *info);
static void hitfb_encode_var(struct fb_var_screeninfo *var,
@@ -338,12 +337,6 @@ void hitfb_cleanup(struct fb_info *info)
}
-int __init hitfb_setup(char *options)
-{
- return 0;
-}
-
-
#ifdef MODULE
int init_module(void)
{
diff --git a/drivers/video/hpfb.c b/drivers/video/hpfb.c
index 4bfc4a9ef..9e3be3e27 100644
--- a/drivers/video/hpfb.c
+++ b/drivers/video/hpfb.c
@@ -399,8 +399,3 @@ int __init hpfb_init(void)
return 0;
}
-
-int __init hpfb_setup(char *options)
-{
- return 0;
-}
diff --git a/drivers/video/matrox/Makefile b/drivers/video/matrox/Makefile
index 6de9be372..fcf02722b 100644
--- a/drivers/video/matrox/Makefile
+++ b/drivers/video/matrox/Makefile
@@ -10,8 +10,6 @@ ALL_SUB_DIRS := $(SUB_DIRS)
O_TARGET := matrox.o
O_OBJS :=
M_OBJS :=
-# This is a nice idea but needs depmod altering
-# MOD_LIST_NAME := VIDEO_MODULES
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index df2d81b66..7a91d0b01 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1197,9 +1197,3 @@ int __init sa1100fb_init(void)
return 0;
}
-
-int __init sa1100fb_setup(char *options)
-{
- return 0;
-}
-
diff --git a/drivers/video/sgivwfb.c b/drivers/video/sgivwfb.c
index 7fcbf0bd5..e1751e84e 100644
--- a/drivers/video/sgivwfb.c
+++ b/drivers/video/sgivwfb.c
@@ -823,8 +823,8 @@ static int sgivwfb_set_cmap(struct fb_cmap *cmap, int kspc, int con,
int err;
if (!fb_display[con].cmap.len) { /* no colormap allocated? */
- if ((err = fb_alloc_cmap(&fb_display[con].cmap,
- 1<<fb_display[con].var.bits_per_pixel, 0)))
+ int size = fb_display[con].var.bits_per_pixel == 16 ? 32 : 256;
+ if ((err = fb_alloc_cmap(&fb_display[con].cmap, size, 0)))
return err;
}
if (con == currcon) /* current console? */
diff --git a/fs/Makefile b/fs/Makefile
index 7573a7f95..4e67ec808 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -15,8 +15,7 @@ O_OBJS = open.o read_write.o devices.o file_table.o buffer.o \
dcache.o inode.o attr.o bad_inode.o file.o iobuf.o \
$(BINFMTS) $(FILESYSTEMS)
-MOD_LIST_NAME := FS_MODULES
-ALL_SUB_DIRS = coda minix ext2 fat msdos vfat proc isofs nfs umsdos ntfs \
+ALL_SUB_DIRS := coda minix ext2 fat msdos vfat proc isofs nfs umsdos ntfs \
hpfs sysv smbfs ncpfs ufs efs affs romfs autofs hfs lockd \
nfsd nls devpts devfs adfs partitions qnx4 udf bfs cramfs \
openpromfs autofs4 ramfs jffs
diff --git a/fs/buffer.c b/fs/buffer.c
index e6134c203..b296dad7b 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -1149,7 +1149,7 @@ void set_bh_page (struct buffer_head *bh, struct page *page, unsigned long offse
*/
bh->b_data = (char *)(0 + offset);
else
- bh->b_data = (char *)(page_address(page) + offset);
+ bh->b_data = page_address(page) + offset;
}
/*
@@ -1475,6 +1475,8 @@ static int __block_prepare_write(struct inode *inode, struct page *page,
memset(kaddr+to, 0, block_end-to);
if (block_start < from)
memset(kaddr+block_start, 0, from-block_start);
+ if (block_end > to || block_start < from)
+ flush_dcache_page(page);
continue;
}
}
@@ -1578,6 +1580,7 @@ int block_read_full_page(struct page *page, get_block_t *get_block)
if (!kaddr)
kaddr = kmap(page);
memset((char *)(kaddr + i*blocksize), 0, blocksize);
+ flush_dcache_page(page);
set_bit(BH_Uptodate, &bh->b_state);
continue;
}
@@ -1642,8 +1645,9 @@ int cont_prepare_write(struct page *page, unsigned offset, unsigned to, get_bloc
PAGE_CACHE_SIZE, get_block);
if (status)
goto out_unmap;
- kaddr = (char*)page_address(new_page);
+ kaddr = page_address(new_page);
memset(kaddr+zerofrom, 0, PAGE_CACHE_SIZE-zerofrom);
+ flush_dcache_page(new_page);
__block_commit_write(inode, new_page, zerofrom, PAGE_CACHE_SIZE);
kunmap(new_page);
UnlockPage(new_page);
@@ -1670,9 +1674,10 @@ int cont_prepare_write(struct page *page, unsigned offset, unsigned to, get_bloc
status = __block_prepare_write(inode, page, zerofrom, to, get_block);
if (status)
goto out1;
- kaddr = (char*)page_address(page);
+ kaddr = page_address(page);
if (zerofrom < offset) {
memset(kaddr+zerofrom, 0, offset-zerofrom);
+ flush_dcache_page(page);
__block_commit_write(inode, page, zerofrom, offset);
}
return 0;
@@ -1733,7 +1738,8 @@ int block_write_full_page(struct page *page, get_block_t *get_block)
/* Sigh... will have to work, then... */
err = __block_prepare_write(inode, page, 0, offset, get_block);
if (!err) {
- memset((char *)page_address(page)+offset, 0, PAGE_CACHE_SIZE-offset);
+ memset(page_address(page) + offset, 0, PAGE_CACHE_SIZE - offset);
+ flush_dcache_page(page);
__block_commit_write(inode,page,0,offset);
done:
kunmap(page);
@@ -2035,7 +2041,7 @@ int block_symlink(struct inode *inode, const char *symname, int len)
err = mapping->a_ops->prepare_write(NULL, page, 0, len-1);
if (err)
goto fail_map;
- kaddr = (char*)page_address(page);
+ kaddr = page_address(page);
memcpy(kaddr, symname, len-1);
mapping->a_ops->commit_write(NULL, page, 0, len-1);
/*
diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c
index 3f51c2aa1..8b0a91426 100644
--- a/fs/cramfs/inode.c
+++ b/fs/cramfs/inode.c
@@ -328,12 +328,13 @@ static int cramfs_readpage(struct file *file, struct page * page)
if (compr_len == 0)
; /* hole */
else
- bytes_filled = cramfs_uncompress_block((void *) page_address(page),
+ bytes_filled = cramfs_uncompress_block(page_address(page),
PAGE_CACHE_SIZE,
cramfs_read(sb, start_offset, compr_len),
compr_len);
}
- memset((void *) (page_address(page) + bytes_filled), 0, PAGE_CACHE_SIZE - bytes_filled);
+ memset(page_address(page) + bytes_filled, 0, PAGE_CACHE_SIZE - bytes_filled);
+ flush_dcache_page(page);
SetPageUptodate(page);
UnlockPage(page);
return 0;
diff --git a/fs/exec.c b/fs/exec.c
index d162f8852..93aae1c7f 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -223,6 +223,7 @@ int copy_strings(int argc,char ** argv, struct linux_binprm *bprm)
memset(kaddr+offset+len, 0, PAGE_SIZE-offset-len);
}
err = copy_from_user(kaddr + offset, str, bytes_to_copy);
+ flush_dcache_page(page);
flush_page_to_ram(page);
kunmap(page);
diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c
index 8ca28e0a0..831aa67e9 100644
--- a/fs/ext2/balloc.c
+++ b/fs/ext2/balloc.c
@@ -540,23 +540,14 @@ got_block:
* Do block preallocation now if required.
*/
#ifdef EXT2_PREALLOCATE
- if (prealloc_block) {
+ /* Writer: ->i_prealloc* */
+ if (prealloc_count && !*prealloc_count) {
int prealloc_goal;
unsigned long next_block = tmp + 1;
prealloc_goal = es->s_prealloc_blocks ?
es->s_prealloc_blocks : EXT2_DEFAULT_PREALLOC_BLOCKS;
- /* Writer: ->i_prealloc* */
- /*
- * Can't happen right now, will need handling if we go for
- * per-group spinlocks. Handling == skipping preallocation if
- * condition below will be true. For now there is no legitimate
- * way it could happen, thus the BUG().
- */
- if (*prealloc_count)
- BUG();
- *prealloc_count = 0;
*prealloc_block = next_block;
/* Writer: end */
for (k = 1;
diff --git a/fs/jffs/inode-v23.c b/fs/jffs/inode-v23.c
index b1973918d..06ac42709 100644
--- a/fs/jffs/inode-v23.c
+++ b/fs/jffs/inode-v23.c
@@ -623,7 +623,7 @@ jffs_lookup_end:
static int
jffs_readpage(struct file *file, struct page *page)
{
- unsigned long buf;
+ void *buf;
unsigned long read_len;
int result = -EIO;
struct inode *inode = (struct inode*)page->mapping->host;
@@ -643,10 +643,10 @@ jffs_readpage(struct file *file, struct page *page)
offset = page->index << PAGE_CACHE_SHIFT;
if (offset < inode->i_size) {
read_len = jffs_min(inode->i_size - offset, PAGE_SIZE);
- r = jffs_read_data(f, (char *)buf, offset, read_len);
+ r = jffs_read_data(f, buf, offset, read_len);
if (r == read_len) {
if (read_len < PAGE_SIZE) {
- memset((void *)(buf + read_len), 0,
+ memset(buf + read_len, 0,
PAGE_SIZE - read_len);
}
SetPageUptodate(page);
@@ -659,9 +659,10 @@ jffs_readpage(struct file *file, struct page *page)
});
}
if (result) {
- memset((void *)buf, 0, PAGE_SIZE);
+ memset(buf, 0, PAGE_SIZE);
SetPageError(page);
}
+ flush_dcache_page(page);
UnlockPage(page);
diff --git a/fs/ncpfs/mmap.c b/fs/ncpfs/mmap.c
index 08d28d895..041dd0785 100644
--- a/fs/ncpfs/mmap.c
+++ b/fs/ncpfs/mmap.c
@@ -89,6 +89,7 @@ static struct page* ncp_file_mmap_nopage(struct vm_area_struct *area,
if (already_read < PAGE_SIZE)
memset((char*)(pg_addr + already_read), 0,
PAGE_SIZE - already_read);
+ flush_dcache_page(page);
kunmap(page);
return page;
}
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index e51adbd86..6575040d9 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -134,6 +134,7 @@ nfs_readpage_sync(struct file *file, struct page *page)
} while (count);
memset(buffer, 0, count);
+ flush_dcache_page(page);
SetPageUptodate(page);
if (PageError(page))
ClearPageError(page);
@@ -446,6 +447,7 @@ nfs_readpage_result(struct rpc_task *task)
count -= PAGE_CACHE_SIZE;
} else
SetPageError(page);
+ flush_dcache_page(page);
kunmap(page);
UnlockPage(page);
diff --git a/fs/nls/Makefile b/fs/nls/Makefile
index 8ffa8e67b..893d3e1e9 100644
--- a/fs/nls/Makefile
+++ b/fs/nls/Makefile
@@ -2,8 +2,6 @@
# Makefile for native language support
#
-MOD_LIST_NAME := NLS_MODULES
-
obj-y := nls_base.o
obj-m :=
obj-n :=
diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
index 22833d064..dc424b72e 100644
--- a/fs/ramfs/inode.c
+++ b/fs/ramfs/inode.c
@@ -65,7 +65,8 @@ static struct dentry * ramfs_lookup(struct inode *dir, struct dentry *dentry)
static int ramfs_readpage(struct file *file, struct page * page)
{
if (!Page_Uptodate(page)) {
- memset((void *) page_address(page), 0, PAGE_CACHE_SIZE);
+ memset(page_address(page), 0, PAGE_CACHE_SIZE);
+ flush_dcache_page(page);
SetPageUptodate(page);
}
UnlockPage(page);
@@ -89,6 +90,7 @@ static int ramfs_prepare_write(struct file *file, struct page *page, unsigned of
addr = (void *) kmap(page);
if (!Page_Uptodate(page)) {
memset(addr, 0, PAGE_CACHE_SIZE);
+ flush_dcache_page(page);
SetPageUptodate(page);
}
SetPageDirty(page);
diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
index 47665f936..8d01f17ba 100644
--- a/fs/romfs/inode.c
+++ b/fs/romfs/inode.c
@@ -391,8 +391,8 @@ static int
romfs_readpage(struct file *file, struct page * page)
{
struct inode *inode = (struct inode*)page->mapping->host;
- unsigned long buf;
unsigned long offset, avail, readlen;
+ void *buf;
int result = -EIO;
lock_kernel();
@@ -404,22 +404,23 @@ romfs_readpage(struct file *file, struct page * page)
if (offset < inode->i_size) {
avail = inode->i_size-offset;
readlen = min(avail, PAGE_SIZE);
- if (romfs_copyfrom(inode, (void *)buf, inode->u.romfs_i.i_dataoffset+offset, readlen) == readlen) {
+ if (romfs_copyfrom(inode, buf, inode->u.romfs_i.i_dataoffset+offset, readlen) == readlen) {
if (readlen < PAGE_SIZE) {
- memset((void *)(buf+readlen),0,PAGE_SIZE-readlen);
+ memset(buf + readlen,0,PAGE_SIZE-readlen);
}
SetPageUptodate(page);
result = 0;
}
}
if (result) {
- memset((void *)buf, 0, PAGE_SIZE);
+ memset(buf, 0, PAGE_SIZE);
SetPageError(page);
}
+ flush_dcache_page(page);
UnlockPage(page);
- free_page(buf);
+ __free_page(page);
unlock_kernel();
return result;
diff --git a/fs/smbfs/file.c b/fs/smbfs/file.c
index ec709e3e3..135e8707c 100644
--- a/fs/smbfs/file.c
+++ b/fs/smbfs/file.c
@@ -38,7 +38,7 @@ smb_fsync(struct file *file, struct dentry * dentry, int datasync)
static int
smb_readpage_sync(struct dentry *dentry, struct page *page)
{
- char *buffer = (char *) page_address(page);
+ char *buffer = page_address(page);
unsigned long offset = page->index << PAGE_CACHE_SHIFT;
int rsize = smb_get_rsize(server_from_dentry(dentry));
int count = PAGE_SIZE;
@@ -72,6 +72,7 @@ smb_readpage_sync(struct dentry *dentry, struct page *page)
} while (count);
memset(buffer, 0, count);
+ flush_dcache_page(page);
SetPageUptodate(page);
result = 0;
@@ -89,7 +90,7 @@ smb_readpage(struct file *file, struct page *page)
int error;
struct dentry *dentry = file->f_dentry;
- DEBUG1("readpage %08lx\n", page_address(page));
+ DEBUG1("readpage %p\n", page_address(page));
get_page(page);
error = smb_readpage_sync(dentry, page);
@@ -106,7 +107,7 @@ smb_writepage_sync(struct dentry *dentry, struct page *page,
unsigned long offset, unsigned int count)
{
struct inode *inode = dentry->d_inode;
- u8 *buffer = (u8 *) page_address(page) + offset;
+ u8 *buffer = page_address(page) + offset;
int wsize = smb_get_wsize(server_from_dentry(dentry));
int result, written = 0;
diff --git a/fs/udf/file.c b/fs/udf/file.c
index 662647088..0b3dce0d1 100644
--- a/fs/udf/file.c
+++ b/fs/udf/file.c
@@ -60,6 +60,7 @@ static int udf_adinicb_readpage(struct file *file, struct page * page)
bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize);
memcpy(kaddr, bh->b_data + udf_ext0_offset(inode), inode->i_size);
brelse(bh);
+ flush_dcache_page(page);
SetPageUptodate(page);
kunmap(page);
UnlockPage(page);
@@ -100,7 +101,7 @@ static int udf_adinicb_commit_write(struct file *file, struct page *page, unsign
struct buffer_head *bh;
int block;
- char *kaddr = (char*)page_address(page);
+ char *kaddr = page_address(page);
block = udf_get_lb_pblock(inode->i_sb, UDF_I_LOCATION(inode), 0);
bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize);
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index bbc4e30a5..e7e6c53e8 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -188,6 +188,7 @@ void udf_expand_file_adinicb(struct inode * inode, int newsize, int * err)
PAGE_CACHE_SIZE - UDF_I_LENALLOC(inode));
memcpy((char *)kaddr, bh->b_data + udf_file_entry_alloc_offset(inode),
UDF_I_LENALLOC(inode));
+ flush_dcache_page(page);
SetPageUptodate(page);
kunmap(page);
}
diff --git a/fs/umsdos/emd.c b/fs/umsdos/emd.c
index 9e4ace724..a8de0def8 100644
--- a/fs/umsdos/emd.c
+++ b/fs/umsdos/emd.c
@@ -142,7 +142,7 @@ int umsdos_emd_dir_readentry (struct dentry *demd, loff_t *pos, struct umsdos_di
recsize = umsdos_evalrecsize(p->name_len);
if (offs + recsize > PAGE_CACHE_SIZE) {
struct page *page2;
- int part = ((char*)page_address(page)+PAGE_CACHE_SIZE)-p->spare;
+ int part = (page_address(page) + PAGE_CACHE_SIZE) - p->spare;
page2 = read_cache_page(mapping, 1+(*pos>>PAGE_CACHE_SHIFT),
(filler_t*)mapping->a_ops->readpage, NULL);
if (IS_ERR(page2)) {
@@ -236,7 +236,7 @@ int umsdos_writeentry (struct dentry *parent, struct umsdos_info *info,
page = grab_cache_page(mapping, info->f_pos>>PAGE_CACHE_SHIFT);
if (!page)
goto out_dput;
- p = (struct umsdos_dirent*)((char*)page_address(page)+offs);
+ p = (struct umsdos_dirent *) (page_address(page) + offs);
if (offs + info->recsize > PAGE_CACHE_SIZE) {
ret = mapping->a_ops->prepare_write(NULL,page,offs,
PAGE_CACHE_SIZE);
@@ -261,8 +261,8 @@ int umsdos_writeentry (struct dentry *parent, struct umsdos_info *info,
p->rdev = cpu_to_le16(entry->rdev);
p->mode = cpu_to_le16(entry->mode);
memcpy(p->name,entry->name,
- ((char*)page_address(page)+PAGE_CACHE_SIZE)-p->spare);
- memcpy((char*)page_address(page2),
+ (page_address(page) + PAGE_CACHE_SIZE) - p->spare);
+ memcpy(page_address(page2),
entry->spare+PAGE_CACHE_SIZE-offs,
offs+info->recsize-PAGE_CACHE_SIZE);
ret = mapping->a_ops->commit_write(NULL,page2,0,
diff --git a/fs/umsdos/inode.c b/fs/umsdos/inode.c
index 12b34e849..4aebe9bda 100644
--- a/fs/umsdos/inode.c
+++ b/fs/umsdos/inode.c
@@ -230,7 +230,7 @@ dentry->d_parent->d_name.name, dentry->d_name.name, inode->u.umsdos_i.i_patched)
ret=mapping->a_ops->prepare_write(NULL,page,offs,offs+UMSDOS_REC_SIZE);
if (ret)
goto out_unlock;
- entry = (struct umsdos_dirent*)((char*)page_address(page)+offs);
+ entry = (struct umsdos_dirent *) (page_address(page) + offs);
if (attr->ia_valid & ATTR_UID)
entry->uid = cpu_to_le16(attr->ia_uid);
if (attr->ia_valid & ATTR_GID)
diff --git a/include/asm-alpha/pgalloc.h b/include/asm-alpha/pgalloc.h
index 36e9d37cb..45e5b3b59 100644
--- a/include/asm-alpha/pgalloc.h
+++ b/include/asm-alpha/pgalloc.h
@@ -17,6 +17,7 @@ extern void __load_new_mm_context(struct mm_struct *);
#define flush_cache_range(mm, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+#define flush_dcache_page(page) do { } while (0)
/* Note that the following two definitions are _highly_ dependent
on the contexts in which they are used in the kernel. I personally
diff --git a/include/asm-alpha/softirq.h b/include/asm-alpha/softirq.h
index dd18dc490..21bbad2c7 100644
--- a/include/asm-alpha/softirq.h
+++ b/include/asm-alpha/softirq.h
@@ -1,7 +1,6 @@
#ifndef _ALPHA_SOFTIRQ_H
#define _ALPHA_SOFTIRQ_H
-#include <linux/config.h>
#include <linux/stddef.h>
#include <asm/atomic.h>
#include <asm/hardirq.h>
diff --git a/include/asm-arm/proc-armo/cache.h b/include/asm-arm/proc-armo/cache.h
index 5459eca07..75250fb3b 100644
--- a/include/asm-arm/proc-armo/cache.h
+++ b/include/asm-arm/proc-armo/cache.h
@@ -6,6 +6,7 @@
#define flush_cache_range(mm,start,end) do { } while (0)
#define flush_cache_page(vma,vmaddr) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+#define flush_dcache_page(page) do { } while (0)
#define flush_icache_page(vma,page) do { } while (0)
#define flush_icache_range(start,end) do { } while (0)
@@ -58,7 +59,7 @@ memc_update_addr(struct mm_struct *mm, pte_t pte, unsigned long vaddr)
extern __inline__ void
memc_clear(struct mm_struct *mm, struct page *page)
{
- cpu_memc_update_entry(mm->pgd, page_address(page), 0);
+ cpu_memc_update_entry(mm->pgd, (unsigned long) page_address(page), 0);
if (mm == current->active_mm)
processor._set_pgd(mm->pgd);
diff --git a/include/asm-arm/proc-armv/cache.h b/include/asm-arm/proc-armv/cache.h
index b6e45ebc4..dbdc10f6b 100644
--- a/include/asm-arm/proc-armv/cache.h
+++ b/include/asm-arm/proc-armv/cache.h
@@ -47,7 +47,7 @@
#define flush_icache_page(vma,pg) \
do { \
if ((vma)->vm_flags & PROT_EXEC) \
- cpu_flush_icache_page(page_address(pg)); \
+ cpu_flush_icache_page((unsigned long) page_address(pg)); \
} while (0)
/*
@@ -64,9 +64,12 @@
*/
static __inline__ void flush_page_to_ram(struct page *page)
{
- cpu_flush_ram_page(page_address(page));
+ cpu_flush_ram_page((unsigned long) page_address(page));
}
+/* You guys might need to do something here. -DaveM */
+#define flush_dcache_page(page) do { } while (0)
+
/*
* TLB flushing:
*
diff --git a/include/asm-i386/highmem.h b/include/asm-i386/highmem.h
index 0964c435d..8370b7eb6 100644
--- a/include/asm-i386/highmem.h
+++ b/include/asm-i386/highmem.h
@@ -61,7 +61,7 @@ extern inline unsigned long kmap(struct page *page)
if (in_interrupt())
BUG();
if (page < highmem_start_page)
- return page_address(page);
+ return (unsigned long) page_address(page);
return kmap_high(page);
}
@@ -86,7 +86,7 @@ extern inline unsigned long kmap_atomic(struct page *page, enum km_type type)
unsigned long vaddr;
if (page < highmem_start_page)
- return page_address(page);
+ return (unsigned long) page_address(page);
idx = type + KM_TYPE_NR*smp_processor_id();
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h
index cfa011108..33d5a73e5 100644
--- a/include/asm-i386/pgtable.h
+++ b/include/asm-i386/pgtable.h
@@ -26,6 +26,7 @@ extern void paging_init(void);
#define flush_cache_range(mm, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+#define flush_dcache_page(page) do { } while (0)
#define flush_icache_range(start, end) do { } while (0)
#define flush_icache_page(vma,pg) do { } while (0)
diff --git a/include/asm-ia64/pgtable.h b/include/asm-ia64/pgtable.h
index 8c7eb5c0d..0efc7f155 100644
--- a/include/asm-ia64/pgtable.h
+++ b/include/asm-ia64/pgtable.h
@@ -166,7 +166,7 @@
* Given a pointer to an mem_map[] entry, return the kernel virtual
* address corresponding to that page.
*/
-#define page_address(page) (PAGE_OFFSET + (((page) - mem_map) << PAGE_SHIFT))
+#define page_address(page) ((void *) (PAGE_OFFSET + (((page) - mem_map) << PAGE_SHIFT)))
/*
* Given a PTE, return the index of the mem_map[] entry corresponding
@@ -185,6 +185,7 @@
#define flush_cache_range(mm, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+#define flush_dcache_page(page) do { } while (0)
#define flush_icache_range(start, end) do { } while (0)
extern void ia64_flush_icache_page (unsigned long addr);
@@ -192,7 +193,7 @@ extern void ia64_flush_icache_page (unsigned long addr);
#define flush_icache_page(vma,pg) \
do { \
if ((vma)->vm_flags & PROT_EXEC) \
- ia64_flush_icache_page(page_address(pg)); \
+ ia64_flush_icache_page((unsigned long) page_address(pg)); \
} while (0)
/*
diff --git a/include/asm-m68k/pgalloc.h b/include/asm-m68k/pgalloc.h
index 93f342308..028b7c40e 100644
--- a/include/asm-m68k/pgalloc.h
+++ b/include/asm-m68k/pgalloc.h
@@ -277,7 +277,7 @@ extern inline void flush_cache_page(struct vm_area_struct *vma,
}
/* Push the page at kernel virtual address and clear the icache */
-#define flush_page_to_ram(page) __flush_page_to_ram(page_address(page))
+#define flush_page_to_ram(page) __flush_page_to_ram((unsigned long) page_address(page))
extern inline void __flush_page_to_ram(unsigned long address)
{
if (CPU_IS_040_OR_060) {
@@ -297,6 +297,8 @@ extern inline void __flush_page_to_ram(unsigned long address)
}
}
+#define flush_dcache_page(page) do { } while (0)
+
/* Push n pages at kernel virtual address and clear the icache */
extern inline void flush_icache_range (unsigned long address,
unsigned long endaddr)
diff --git a/include/asm-m68k/pgtable.h b/include/asm-m68k/pgtable.h
index 8e0f4f24c..3755cb2f4 100644
--- a/include/asm-m68k/pgtable.h
+++ b/include/asm-m68k/pgtable.h
@@ -192,7 +192,7 @@ extern pte_t * __bad_pagetable(void);
({ \
pte_t __pte; \
\
- pte_val(__pte) = __pa((void *)page) + pgprot_val(pgprot); \
+ pte_val(__pte) = __pa((page) + pgprot_val(pgprot); \
__pte; \
})
#define mk_pte(page, pgprot) __mk_pte(page_address(page), (pgprot))
@@ -246,7 +246,7 @@ extern inline void pgd_set(pgd_t * pgdp, pmd_t * pmdp)
#define pgd_clear(pgdp) ({ pgd_val(*pgdp) = 0; })
/* Permanent address of a page. */
-#define page_address(page) ({ if (!(page)->virtual) BUG(); (page)->virtual; })
+#define page_address(page) ((page)->virtual)
#define __page_address(page) (PAGE_OFFSET + (((page) - mem_map) << PAGE_SHIFT))
#define pte_page(pte) (mem_map+pte_pagenr(pte))
diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h
index 71defadb8..5de15976f 100644
--- a/include/asm-mips/pgtable.h
+++ b/include/asm-mips/pgtable.h
@@ -36,6 +36,8 @@ extern void (*_flush_page_to_ram)(struct page * page);
extern void (*_flush_icache_page)(struct vm_area_struct *vma,
struct page *page, unsigned long addr);
+#define flush_dcache_page(page) do { } while (0)
+
#define flush_cache_all() _flush_cache_all()
#define flush_cache_mm(mm) _flush_cache_mm(mm)
#define flush_cache_range(mm,start,end) _flush_cache_range(mm,start,end)
diff --git a/include/asm-mips64/pgtable.h b/include/asm-mips64/pgtable.h
index 81e3273c2..ccabdb171 100644
--- a/include/asm-mips64/pgtable.h
+++ b/include/asm-mips64/pgtable.h
@@ -34,6 +34,7 @@ extern void (*_flush_cache_page)(struct vm_area_struct *vma, unsigned long page)
extern void (*_flush_page_to_ram)(struct page * page);
#define flush_cache_all() do { } while(0)
+#define flush_dcache_page(page) do { } while (0)
#ifndef CONFIG_CPU_R10000
#define flush_cache_mm(mm) _flush_cache_mm(mm)
@@ -46,7 +47,7 @@ extern void (*_flush_page_to_ram)(struct page * page);
#define flush_icache_page(vma, page, address) \
do { \
unsigned long addr; \
- addr = page_address(page); \
+ addr = (unsigned long) page_address(page); \
_flush_cache_page(vma, addr); \
} while (0)
#else /* !CONFIG_CPU_R10000 */
diff --git a/include/asm-ppc/pgtable.h b/include/asm-ppc/pgtable.h
index 505f0c5b6..703dc409b 100644
--- a/include/asm-ppc/pgtable.h
+++ b/include/asm-ppc/pgtable.h
@@ -69,7 +69,9 @@ extern inline void flush_tlb_pgtables(struct mm_struct *mm,
extern void flush_icache_range(unsigned long, unsigned long);
extern void __flush_page_to_ram(unsigned long page_va);
-#define flush_page_to_ram(page) __flush_page_to_ram(page_address(page))
+#define flush_page_to_ram(page) __flush_page_to_ram((unsigned long) page_address(page))
+
+#define flush_dcache_page(page) do { } while (0)
extern unsigned long va_to_phys(unsigned long address);
extern pte_t *va_to_pte(unsigned long address);
@@ -311,7 +313,7 @@ extern pte_t * __bad_pagetable(void);
/*
* Permanent address of a page.
*/
-#define page_address(page) ({ if (!(page)->virtual) BUG(); (page)->virtual; })
+#define page_address(page) ((page)->virtual)
#define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT))
#define pte_page(x) (mem_map+pte_pagenr(x))
diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h
index bca251d93..fd4792961 100644
--- a/include/asm-s390/pgtable.h
+++ b/include/asm-s390/pgtable.h
@@ -32,6 +32,7 @@ extern pgd_t swapper_pg_dir[] __attribute__ ((aligned (4096)));
#define flush_cache_range(mm, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+#define flush_dcache_page(page) do { } while (0)
#define flush_icache_range(start, end) do { } while (0)
#define flush_icache_page(vma,pg) do { } while (0)
@@ -335,8 +336,7 @@ extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED
extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
{ pte_val(pte) = (pte_val(pte) & PAGE_MASK) | pgprot_val(newprot); return pte; }
-#define page_address(page) \
-({ if (!(page)->virtual) BUG(); (page)->virtual; })
+#define page_address(page) ((page)->virtual)
#define pte_page(x) (mem_map+pte_pagenr(x))
#define pmd_page(pmd) \
diff --git a/include/asm-sh/pgtable.h b/include/asm-sh/pgtable.h
index 31920c13b..d7da3b727 100644
--- a/include/asm-sh/pgtable.h
+++ b/include/asm-sh/pgtable.h
@@ -35,6 +35,7 @@ extern void paging_init(void);
#define flush_cache_range(mm, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+#define flush_dcache_page(page) do { } while (0)
#define flush_icache_range(start, end) do { } while (0)
#define flush_icache_page(vma,pg) do { } while (0)
#elif defined(__SH4__)
@@ -166,7 +167,7 @@ extern void __handle_bad_pmd_kernel(pmd_t * pmd);
* Permanent address of a page. Obviously must never be
* called on a highmem page.
*/
-#define page_address(page) ({ if (!(page)->virtual) BUG(); (page)->virtual; })
+#define page_address(page) ((page)->virtual)
#define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT))
#define pte_page(x) (mem_map+pte_pagenr(x))
diff --git a/include/asm-sparc/highmem.h b/include/asm-sparc/highmem.h
index ede2167e1..0724061e4 100644
--- a/include/asm-sparc/highmem.h
+++ b/include/asm-sparc/highmem.h
@@ -20,7 +20,6 @@
#ifdef __KERNEL__
-#include <linux/config.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <asm/vaddrs.h>
diff --git a/include/asm-sparc/irq.h b/include/asm-sparc/irq.h
index 4b6dd0dae..a58a80810 100644
--- a/include/asm-sparc/irq.h
+++ b/include/asm-sparc/irq.h
@@ -1,4 +1,4 @@
-/* $Id: irq.h,v 1.30 2000/06/30 10:18:39 davem Exp $
+/* $Id: irq.h,v 1.31 2000/08/05 10:48:41 davem Exp $
* irq.h: IRQ registers on the Sparc.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
diff --git a/include/asm-sparc/pgtable.h b/include/asm-sparc/pgtable.h
index 53039cc9c..5e1dc8b63 100644
--- a/include/asm-sparc/pgtable.h
+++ b/include/asm-sparc/pgtable.h
@@ -1,4 +1,4 @@
-/* $Id: pgtable.h,v 1.97 2000/07/07 07:33:11 anton Exp $ */
+/* $Id: pgtable.h,v 1.99 2000/08/05 13:30:34 davem Exp $ */
#ifndef _SPARC_PGTABLE_H
#define _SPARC_PGTABLE_H
@@ -307,7 +307,7 @@ BTFIXUPDEF_CALL_CONST(pte_t, pte_mkyoung, pte_t)
#define page_pte(page) page_pte_prot(page, __pgprot(0))
/* Permanent address of a page. */
-#define page_address(page) ({ if (!(page)->virtual) BUG(); (page)->virtual; })
+#define page_address(page) ((page)->virtual)
#define pte_page(x) (mem_map+pte_pagenr(x))
/*
diff --git a/include/asm-sparc/softirq.h b/include/asm-sparc/softirq.h
index 100f25a22..92dde254b 100644
--- a/include/asm-sparc/softirq.h
+++ b/include/asm-sparc/softirq.h
@@ -7,7 +7,6 @@
#ifndef __SPARC_SOFTIRQ_H
#define __SPARC_SOFTIRQ_H
-#include <linux/config.h>
#include <linux/threads.h> /* For NR_CPUS */
#include <asm/atomic.h>
diff --git a/include/asm-sparc64/pgalloc.h b/include/asm-sparc64/pgalloc.h
index 7ca23a02e..41cd7a7dd 100644
--- a/include/asm-sparc64/pgalloc.h
+++ b/include/asm-sparc64/pgalloc.h
@@ -21,6 +21,8 @@
/* These operations are unnecessary on the SpitFire since D-CACHE is write-through. */
#define flush_icache_range(start, end) do { } while (0)
#define flush_page_to_ram(page) do { } while (0)
+extern void __flush_dcache_page(void *addr);
+#define flush_dcache_page(page) __flush_dcache_page((page)->virtual)
extern void __flush_dcache_range(unsigned long start, unsigned long end);
diff --git a/include/asm-sparc64/pgtable.h b/include/asm-sparc64/pgtable.h
index ed35381bc..6a03c66d8 100644
--- a/include/asm-sparc64/pgtable.h
+++ b/include/asm-sparc64/pgtable.h
@@ -1,4 +1,4 @@
-/* $Id: pgtable.h,v 1.126 2000/05/05 21:57:03 davem Exp $
+/* $Id: pgtable.h,v 1.128 2000/08/05 13:30:34 davem Exp $
* pgtable.h: SpitFire page table operations.
*
* Copyright 1996,1997 David S. Miller (davem@caip.rutgers.edu)
diff --git a/include/asm-sparc64/softirq.h b/include/asm-sparc64/softirq.h
index 730da1b30..cce84e900 100644
--- a/include/asm-sparc64/softirq.h
+++ b/include/asm-sparc64/softirq.h
@@ -6,7 +6,6 @@
#ifndef __SPARC64_SOFTIRQ_H
#define __SPARC64_SOFTIRQ_H
-#include <linux/config.h>
#include <asm/atomic.h>
#include <asm/hardirq.h>
#include <asm/system.h> /* for membar() */
diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index 1f59c2926..9a2f2cbe6 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -25,7 +25,7 @@ extern inline unsigned int nr_free_highpages(void) { return 0; }
#define replace_with_highmem(page) page
static __inline__ unsigned long kmap(struct page * page) {
- return page_address(page);
+ return (unsigned long) page_address(page);
}
#define kunmap(page) do { } while (0)
diff --git a/include/linux/irq_cpustat.h b/include/linux/irq_cpustat.h
index 98cf96ff4..b3433a3d6 100644
--- a/include/linux/irq_cpustat.h
+++ b/include/linux/irq_cpustat.h
@@ -9,6 +9,8 @@
* Keith Owens <kaos@ocs.com.au> July 2000.
*/
+#include <linux/config.h>
+
/*
* Simple wrappers reducing source bloat. Define all irq_stat fields
* here, even ones that are arch dependent. That way we get common
diff --git a/include/linux/isdn.h b/include/linux/isdn.h
index 909ce0683..427e6c8ac 100644
--- a/include/linux/isdn.h
+++ b/include/linux/isdn.h
@@ -1,5 +1,5 @@
-/* $Id: isdn.h,v 1.101 2000/03/20 22:37:47 detabc Exp $
- *
+/* $Id: isdn.h,v 1.105 2000/05/18 23:14:19 keil Exp $
+
* Main header for the Linux ISDN subsystem (linklevel).
*
* Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
@@ -20,364 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdn.h,v $
- * Revision 1.101 2000/03/20 22:37:47 detabc
- * modify abc-extension to work together with the new LL.
- * remove abc frame-counter (is obsolete now).
- * use the new lp->super_tx_queue for internal queueing (bsd-rawip-compress).
- * modify isdn_net_xmit() and isdn_net_write_super().
- * -- Kai, please have a look to this two function's. Thank's.
- *
- * Revision 1.100 2000/03/19 15:27:53 kai
- * no known bugs left...
- *
- * Revision 1.99 2000/03/18 16:20:26 kai
- * cosmetics / renaming
- *
- * Revision 1.98 2000/03/17 18:20:47 kai
- * moved to frame_cnt based flow control
- * some races still need to be fixed
- *
- * Revision 1.97 2000/03/17 16:22:55 kai
- * we keep track of outstanding packets (given to HL, but not confirmed yet)
- * now, but we don't use it for flow control yet.
- *
- * Revision 1.96 2000/03/17 12:49:42 kai
- * calling statcallb with ISDN_STAT_BSENT in hard-IRQ context is now
- * officially allowed. writebuf_skb() will never be called in hard-IRQ context
- * anymore.
- *
- * Revision 1.95 2000/03/04 16:20:42 detabc
- * copy frames before rewriting frame's saddr
- *
- * Revision 1.94 2000/02/26 00:29:40 keil
- * more softnet changes
- *
- * Revision 1.93 2000/02/25 11:29:17 paul
- * changed chargetime to ulong from int (after about 20 days the "chargetime of
- * ipppX is now 1234" message displays a negative number on alpha).
- *
- * Revision 1.92 2000/02/17 13:15:56 keil
- * fix backward compatibility for 2.2
- *
- * Revision 1.91 2000/02/16 14:56:27 paul
- * translated ISDN_MODEM_ANZREG to ISDN_MODEM_NUMREG for english speakers
- *
- * Revision 1.90 2000/02/06 21:50:00 detabc
- * add rewriting of socket's and frame's saddr for udp-ipv4 dynip-connections.
- * Include checksum-recompute of ip- and udp-header's.
- *
- * Revision 1.89 2000/02/05 22:11:33 detabc
- * Add rewriting of socket's and frame's saddr adressfield for
- * dynip-connections. Only for tcp/ipv4 and switchable per interface.
- * Include checksum-recompute of ip- and tcp-header's.
- *
- * Revision 1.88 2000/01/20 19:59:43 keil
- * Add FAX Class 1 support
- *
- * Revision 1.87 2000/01/09 20:43:15 detabc
- * exand logical bind-group's for both call's (in and out).
- * add first part of kernel-config-help for abc-extension.
- *
- * Revision 1.86 1999/12/05 16:06:09 detabc
- * add resethandling for rawip-compression.
- * at now all B2-Protocols are usable with rawip-compression
- *
- * Revision 1.85 1999/11/30 11:29:06 detabc
- * add a on the fly frame-counter and limit
- *
- * Revision 1.84 1999/11/28 14:49:08 detabc
- * In case of rawip-compress adjust dev[x]->ibytes/obytes to reflect the
- * uncompressed size.
- *
- * Revision 1.83 1999/11/26 15:54:59 detabc
- * added compression (isdn_bsdcompress) for rawip interfaces with x75i B2-protocol.
- *
- * Revision 1.82 1999/11/20 22:14:14 detabc
- * added channel dial-skip in case of external use
- * (isdn phone or another isdn device) on the same NTBA.
- * usefull with two or more card's connected the different NTBA's.
- * global switchable in kernel-config and also per netinterface.
- *
- * add auto disable of netinterface's in case of:
- * to many connection's in short time.
- * config mistakes (wrong encapsulation, B2-protokoll or so on) on local
- * or remote side.
- * wrong password's or something else to a ISP (syncppp).
- *
- * possible encapsulations for this future are:
- * ISDN_NET_ENCAP_SYNCPPP, ISDN_NET_ENCAP_UIHDLC, ISDN_NET_ENCAP_RAWIP,
- * and ISDN_NET_ENCAP_CISCOHDLCK.
- *
- * Revision 1.81 1999/10/27 21:21:18 detabc
- * Added support for building logically-bind-group's per interface.
- * usefull for outgoing call's with more then one isdn-card.
- *
- * Switchable support to dont reset the hangup-timeout for
- * receive frames. Most part's of the timru-rules for receiving frames
- * are now obsolete. If the input- or forwarding-firewall deny
- * the frame, the line will be not hold open.
- *
- * Revision 1.80 1999/10/26 21:09:29 armin
- * New bufferlen for phonenumber only with kernel 2.3.x
- *
- * Revision 1.79 1999/10/16 17:52:38 keil
- * Changing the MSN length need new data versions
- *
- * Revision 1.78 1999/10/08 18:59:33 armin
- * Bugfix of too small MSN buffer and checking phone number
- * in isdn_tty_getdial()
- *
- * Revision 1.77 1999/09/23 22:22:42 detabc
- * added tcp-keepalive-detect with local response (ipv4 only)
- * added host-only-interface support
- * (source ipaddr == interface ipaddr) (ipv4 only)
- * ok with kernel 2.3.18 and 2.2.12
- *
- * Revision 1.76 1999/09/14 10:16:21 keil
- * change ABC include
- *
- * Revision 1.75 1999/09/13 23:25:17 he
- * serialized xmitting frames from isdn_ppp and BSENT statcallb
- *
- * Revision 1.74 1999/09/12 16:19:39 detabc
- * added abc features
- * low cost routing for net-interfaces (only the HL side).
- * need more implementation in the isdnlog-utility
- * udp info support (first part).
- * different EAZ on outgoing call's.
- * more checks on D-Channel callbacks (double use of channels).
- * tested and running with kernel 2.3.17
- *
- * Revision 1.73 1999/09/06 07:29:36 fritz
- * Changed my mail-address.
- *
- * Revision 1.72 1999/09/04 22:20:19 detabc
- *
- * Revision 1.71 1999/08/23 15:54:22 keil
- * more backported changes from kernel 2.3.14
- *
- * Revision 1.70 1999/07/31 12:59:58 armin
- * Added tty fax capabilities.
- *
- * Revision 1.69 1999/07/13 20:47:53 werner
- * added channel bit ISDN_USAGE_DISABLED for limiting b-channel access.
- *
- * Revision 1.68 1999/07/11 17:07:37 armin
- * Added tty modem register S23.
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- *
- * Revision 1.67 1999/07/07 10:17:24 detabc
- * remove unused messages
- *
- * Revision 1.66 1999/07/01 08:35:37 keil
- * compatibility to 2.3
- *
- * Revision 1.65 1999/06/10 11:51:27 paul
- * fixed comment for NET_DV
- *
- * Revision 1.64 1999/04/18 14:57:14 fritz
- * Removed TIMRU stuff
- *
- * Revision 1.63 1999/04/18 14:07:18 fritz
- * Removed TIMRU stuff.
- *
- * Revision 1.62 1999/04/12 13:16:54 fritz
- * Changes from 2.0 tree.
- *
- * Revision 1.61 1999/03/02 11:43:21 armin
- * Added variable to store connect-message of Modem.
- * Added Timer-define for RegS7 (Wait for Carrier).
- *
- * Revision 1.60 1998/10/25 14:50:29 fritz
- * Backported from MIPS (Cobalt).
- *
- * Revision 1.59 1998/10/23 10:18:55 paul
- * Implementation of "dialmode" (successor of "status")
- * You also need current isdnctrl for this!
- *
- * Revision 1.58 1998/10/23 10:10:06 fritz
- * Test-Checkin
- *
- * Revision 1.57 1998/08/31 21:10:01 he
- * new ioctl IIOCNETGPN for /dev/isdninfo (get network interface'
- * peer phone number)
- *
- * Revision 1.56 1998/07/26 18:46:52 armin
- * Added silence detection in voice receive mode.
- *
- * Revision 1.55 1998/06/26 15:13:17 fritz
- * Added handling of STAT_ICALL with incomplete CPN.
- * Added AT&L for ttyI emulator.
- * Added more locking stuff in tty_write.
- *
- * Revision 1.54 1998/06/18 23:32:01 fritz
- * Replaced cli()/restore_flags() in isdn_tty_write() by locking.
- * Removed direct-senddown feature in isdn_tty_write because it will
- * never succeed with locking and is useless anyway.
- *
- * Revision 1.53 1998/06/17 19:51:51 he
- * merged with 2.1.10[34] (cosmetics and udelay() -> mdelay())
- * brute force fix to avoid Ugh's in isdn_tty_write()
- * cleaned up some dead code
- *
- * Revision 1.46 1998/04/14 16:28:59 he
- * Fixed user space access with interrupts off and remaining
- * copy_{to,from}_user() -> -EFAULT return codes
- *
- * Revision 1.45 1998/03/24 16:33:12 hipp
- * More CCP changes. BSD compression now "works" on a local loopback link.
- * Moved some isdn_ppp stuff from isdn.h to isdn_ppp.h
- *
- * Revision 1.44 1998/03/22 18:50:56 hipp
- * Added BSD Compression for syncPPP .. UNTESTED at the moment
- *
- * Revision 1.43 1998/03/09 17:46:44 he
- * merged in 2.1.89 changes
- *
- *
- * Revision 1.40 1998/03/08 01:08:29 fritz
- * Increased NET_DV because of TIMRU
- *
- * Revision 1.39 1998/03/07 22:42:49 fritz
- * Starting generic module support (Nothing usable yet).
- *
- * Revision 1.38 1998/03/07 18:21:29 cal
- * Dynamic Timeout-Rule-Handling vs. 971110 included
- *
- * Revision 1.37 1998/02/22 19:45:24 fritz
- * Some changes regarding V.110
- *
- * Revision 1.36 1998/02/20 17:35:55 fritz
- * Added V.110 stuff.
- *
- * Revision 1.35 1998/01/31 22:14:14 keil
- * changes for 2.1.82
- *
- * Revision 1.34 1997/10/09 21:28:11 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.33 1997/08/21 14:44:22 fritz
- * Moved triggercps to end of struct for backwards-compatibility.
- *
- * Revision 1.32 1997/08/21 09:49:46 fritz
- * Increased NET_DV
- *
- * Revision 1.31 1997/06/22 11:57:07 fritz
- * Added ability to adjust slave triggerlevel.
- *
- * Revision 1.30 1997/06/17 13:07:23 hipp
- * compression changes , MP changes
- *
- * Revision 1.29 1997/05/27 15:18:02 fritz
- * Added changes for recent 2.1.x kernels:
- * changed return type of isdn_close
- * queue_task_* -> queue_task
- * clear/set_bit -> test_and_... where apropriate.
- * changed type of hard_header_cache parameter.
- *
- * Revision 1.28 1997/03/07 01:33:01 fritz
- * Added proper ifdef's for CONFIG_ISDN_AUDIO
- *
- * Revision 1.27 1997/03/05 21:11:49 fritz
- * Minor fixes.
- *
- * Revision 1.26 1997/02/28 02:37:53 fritz
- * Added some comments.
- *
- * Revision 1.25 1997/02/23 16:54:23 hipp
- * some initial changes for future PPP compresion
- *
- * Revision 1.24 1997/02/18 09:42:45 fritz
- * Bugfix: Increased ISDN_MODEM_ANZREG.
- * Increased TTY_DV.
- *
- * Revision 1.23 1997/02/10 22:07:13 fritz
- * Added 2 modem registers for numbering plan and screening info.
- *
- * Revision 1.22 1997/02/03 23:42:08 fritz
- * Added ISDN_TIMER_RINGING
- * Misc. changes for Kernel 2.1.X compatibility
- *
- * Revision 1.21 1997/01/17 01:19:10 fritz
- * Applied chargeint patch.
- *
- * Revision 1.20 1997/01/17 00:41:19 fritz
- * Increased TTY_DV.
- *
- * Revision 1.19 1997/01/14 01:41:07 fritz
- * Added ATI2 related variables.
- * Added variables for audio support in skbuffs.
- *
- * Revision 1.18 1996/11/06 17:37:50 keil
- * more changes for 2.1.X
- *
- * Revision 1.17 1996/09/07 12:53:57 hipp
- * moved a few isdn_ppp.c specific defines to drives/isdn/isdn_ppp.h
- *
- * Revision 1.16 1996/08/12 16:20:56 hipp
- * renamed ppp_minor to ppp_slot
- *
- * Revision 1.15 1996/06/15 14:56:57 fritz
- * Added version signatures for data structures used
- * by userlevel programs.
- *
- * Revision 1.14 1996/06/06 21:24:23 fritz
- * Started adding support for suspend/resume.
- *
- * Revision 1.13 1996/06/05 02:18:20 fritz
- * Added DTMF decoding stuff.
- *
- * Revision 1.12 1996/06/03 19:55:08 fritz
- * Fixed typos.
- *
- * Revision 1.11 1996/05/31 01:37:47 fritz
- * Minor changes, due to changes in isdn_tty.c
- *
- * Revision 1.10 1996/05/18 01:37:18 fritz
- * Added spelling corrections and some minor changes
- * to stay in sync with kernel.
- *
- * Revision 1.9 1996/05/17 03:58:20 fritz
- * Added flags for DLE handling.
- *
- * Revision 1.8 1996/05/11 21:49:55 fritz
- * Removed queue management variables.
- * Changed queue management to use sk_buffs.
- *
- * Revision 1.7 1996/05/07 09:10:06 fritz
- * Reorganized tty-related structs.
- *
- * Revision 1.6 1996/05/06 11:38:27 hipp
- * minor change in ippp struct
- *
- * Revision 1.5 1996/04/30 11:03:16 fritz
- * Added Michael's ippp-bind patch.
- *
- * Revision 1.4 1996/04/29 23:00:02 fritz
- * Added variables for voice-support.
- *
- * Revision 1.3 1996/04/20 16:54:58 fritz
- * Increased maximum number of channels.
- * Added some flags for isdn_net to handle callback more reliable.
- * Fixed delay-definitions to be more accurate.
- * Misc. typos
- *
- * Revision 1.2 1996/02/11 02:10:02 fritz
- * Changed IOCTL-names
- * Added rx_netdev, st_netdev, first_skb, org_hcb, and org_hcu to
- * Netdevice-local struct.
- *
- * Revision 1.1 1996/01/10 20:55:07 fritz
- * Initial revision
- *
*/
#ifndef isdn_h
diff --git a/include/linux/isdnif.h b/include/linux/isdnif.h
index 209cd9d81..8677f36c7 100644
--- a/include/linux/isdnif.h
+++ b/include/linux/isdnif.h
@@ -21,126 +21,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Log: isdnif.h,v $
- * Revision 1.33 2000/01/20 19:59:43 keil
- * Add FAX Class 1 support
- *
- * Revision 1.32 1999/10/11 22:03:00 keil
- * COMPAT_NEED_UACCESS (no include in isdn_compat.h)
- *
- * Revision 1.31 1999/09/06 07:29:36 fritz
- * Changed my mail-address.
- *
- * Revision 1.30 1999/08/23 15:54:29 keil
- * more backported changes from kernel 2.3.14
- *
- * Revision 1.29 1999/07/31 13:00:02 armin
- * Added tty fax capabilities.
- *
- * Revision 1.28 1999/07/13 20:57:48 werner
- * added callback ISDN_STAT_DISCH for limiting b-channel resources.
- *
- * Revision 1.27 1999/07/11 17:07:39 armin
- * Added tty modem register S23.
- * Added new layer 2 and 3 protocols for Fax and DSP functions.
- *
- * Revision 1.26 1999/07/01 08:35:44 keil
- * compatibility to 2.3
- *
- * Revision 1.25 1998/06/17 19:51:55 he
- * merged with 2.1.10[34] (cosmetics and udelay() -> mdelay())
- * brute force fix to avoid Ugh's in isdn_tty_write()
- * cleaned up some dead code
- *
- * Revision 1.24 1998/03/19 13:18:57 keil
- * Start of a CAPI like interface for supplementary Service
- * first service: SUSPEND
- *
- * Revision 1.23 1998/02/20 17:36:52 fritz
- * Added L2-protocols for V.110, changed FEATURE-Flag-constants.
- *
- * Revision 1.22 1998/01/31 22:14:12 keil
- * changes for 2.1.82
- *
- * Revision 1.21 1997/10/09 21:28:13 fritz
- * New HL<->LL interface:
- * New BSENT callback with nr. of bytes included.
- * Sending without ACK.
- * New L1 error status (not yet in use).
- * Cleaned up obsolete structures.
- * Implemented Cisco-SLARP.
- * Changed local net-interface data to be dynamically allocated.
- * Removed old 2.0 compatibility stuff.
- *
- * Revision 1.20 1997/05/27 15:18:06 fritz
- * Added changes for recent 2.1.x kernels:
- * changed return type of isdn_close
- * queue_task_* -> queue_task
- * clear/set_bit -> test_and_... where apropriate.
- * changed type of hard_header_cache parameter.
- *
- * Revision 1.19 1997/03/25 23:13:56 keil
- * NI-1 US protocol
- *
- * Revision 1.18 1997/03/04 22:09:18 calle
- * Change macros copy_from_user and copy_to_user in inline function.
- * These are now correct replacements of the functions for 2.1.xx
- *
- * Revision 1.17 1997/02/10 21:12:53 fritz
- * More setup-interface changes.
- *
- * Revision 1.16 1997/02/10 19:42:57 fritz
- * New interface for reporting incoming calls.
- *
- * Revision 1.15 1997/02/09 00:18:42 keil
- * leased line support
- *
- * Revision 1.14 1997/02/03 23:43:00 fritz
- * Misc changes for Kernel 2.1.X compatibility.
- *
- * Revision 1.13 1996/11/13 02:39:59 fritz
- * More compatibility changes.
- *
- * Revision 1.12 1996/11/06 17:38:48 keil
- * more changes for 2.1.X
- *
- * Revision 1.11 1996/10/23 11:59:42 fritz
- * More compatibility changes.
- *
- * Revision 1.10 1996/10/22 23:14:19 fritz
- * Changes for compatibility to 2.0.X and 2.1.X kernels.
- *
- * Revision 1.9 1996/06/06 21:24:24 fritz
- * Started adding support for suspend/resume.
- *
- * Revision 1.8 1996/05/18 01:45:37 fritz
- * More spelling corrections.
- *
- * Revision 1.7 1996/05/18 01:37:19 fritz
- * Added spelling corrections and some minor changes
- * to stay in sync with kernel.
- *
- * Revision 1.6 1996/05/17 03:59:28 fritz
- * Marked rcvcallb and writebuf obsolete.
- *
- * Revision 1.5 1996/05/01 11:43:54 fritz
- * Removed STANDALONE
- *
- * Revision 1.4 1996/05/01 11:38:40 fritz
- * Added ISDN_FEATURE_L2_TRANS
- *
- * Revision 1.3 1996/04/29 22:57:54 fritz
- * Added driverId and channel parameters to
- * writecmd() and readstat().
- * Added constant for voice-support.
- *
- * Revision 1.2 1996/04/20 17:02:40 fritz
- * Changes to support skbuffs for Lowlevel-Drivers.
- * Misc. typos
- *
- * Revision 1.1 1996/01/09 05:50:51 fritz
- * Initial revision
- *
*/
#ifndef isdnif_h
diff --git a/include/linux/mm.h b/include/linux/mm.h
index b8f6a4964..a248e939f 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -151,7 +151,7 @@ typedef struct page {
wait_queue_head_t wait;
struct page **pprev_hash;
struct buffer_head * buffers;
- unsigned long virtual; /* nonzero if kmapped */
+ void *virtual; /* non-NULL if kmapped */
struct zone_struct *zone;
} mem_map_t;
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 9b255c3cd..10da433df 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -45,7 +45,6 @@ typedef struct kmem_cache_s kmem_cache_t;
/* prototypes */
extern void kmem_cache_init(void);
extern void kmem_cache_sizes_init(void);
-extern void kmem_cpucache_init(void);
extern kmem_cache_t *kmem_find_general_cachep(size_t, int gfpflags);
extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long,
@@ -74,6 +73,14 @@ extern kmem_cache_t *filp_cachep;
extern kmem_cache_t *dquot_cachep;
extern kmem_cache_t *bh_cachep;
+#ifdef CONFIG_SMP
+extern unsigned long slab_cache_drain_mask;
+extern void slab_drain_local_cache(void);
+#else
+#define slab_cache_drain_mask 0
+#define slab_drain_local_cache() do { } while (0)
+#endif
+
#endif /* __KERNEL__ */
#endif /* _LINUX_SLAB_H */
diff --git a/init/main.c b/init/main.c
index 46b7b557f..8c5bb2aca 100644
--- a/init/main.c
+++ b/init/main.c
@@ -589,7 +589,6 @@ asmlinkage void __init start_kernel(void)
* make syscalls (and thus be locked).
*/
smp_init();
- kmem_cpucache_init();
kernel_thread(init, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
unlock_kernel();
current->need_resched = 1;
diff --git a/kernel/kmod.c b/kernel/kmod.c
index 348210c3b..4941840a7 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -111,7 +111,8 @@ int exec_usermodehelper(char *program_path, char *argv[], char *envp[])
{
struct user_struct *user = current->user;
current->user = INIT_USER;
- atomic_inc(&current->user->__count);
+ atomic_inc(&INIT_USER->__count);
+ atomic_inc(&INIT_USER->processes);
atomic_dec(&user->processes);
free_uid(user);
}
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 8c5410315..12a82399d 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -9,6 +9,7 @@
* Rewritten. Old one was good in 2.2, but in 2.3 it was immoral. --ANK (990903)
*/
+#include <linux/config.h>
#include <linux/mm.h>
#include <linux/kernel_stat.h>
#include <linux/interrupt.h>
diff --git a/kernel/timer.c b/kernel/timer.c
index 108ca240f..92d8af4b5 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -22,6 +22,7 @@
#include <linux/smp_lock.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
+#include <linux/slab.h>
#include <asm/uaccess.h>
@@ -599,6 +600,9 @@ void update_process_times(int user_tick)
kstat.per_cpu_system[cpu] += system;
} else if (local_bh_count(cpu) || local_irq_count(cpu) > 1)
kstat.per_cpu_system[cpu] += system;
+
+ if (slab_cache_drain_mask & (1UL << cpu))
+ slab_drain_local_cache();
}
/*
diff --git a/mm/filemap.c b/mm/filemap.c
index 43f1de720..58f642b30 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2515,8 +2515,9 @@ generic_file_write(struct file *file,const char *buf,size_t count,loff_t *ppos)
status = mapping->a_ops->prepare_write(file, page, offset, offset+bytes);
if (status)
goto unlock;
- kaddr = (char*)page_address(page);
+ kaddr = page_address(page);
status = copy_from_user(kaddr+offset, buf, bytes);
+ flush_dcache_page(page);
if (status)
goto fail_write;
status = mapping->a_ops->commit_write(file, page, offset, offset+bytes);
diff --git a/mm/highmem.c b/mm/highmem.c
index e11b5d0b1..411f20c52 100644
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@ -83,7 +83,7 @@ struct page * replace_with_highmem(struct page * page)
}
vaddr = kmap(highpage);
- copy_page((void *)vaddr, (void *)page_address(page));
+ copy_page((void *)vaddr, page_address(page));
kunmap(highpage);
if (page->mapping)
@@ -137,7 +137,7 @@ static void flush_all_zero_pkmaps(void)
BUG();
pte_clear(pkmap_page_table+i);
page = pte_page(pte);
- page->virtual = 0;
+ page->virtual = NULL;
}
flush_tlb_all();
}
@@ -176,17 +176,17 @@ start:
/* Somebody else might have mapped it while we slept */
if (page->virtual)
- return page->virtual;
+ return (unsigned long) page->virtual;
/* Re-start */
goto start;
}
}
vaddr = PKMAP_ADDR(last_pkmap_nr);
- set_pte(pkmap_page_table + last_pkmap_nr, mk_pte(page, kmap_prot));
+ set_pte(&(pkmap_page_table[last_pkmap_nr]), mk_pte(page, kmap_prot));
pkmap_count[last_pkmap_nr] = 1;
- page->virtual = vaddr;
+ page->virtual = (void *) vaddr;
return vaddr;
}
@@ -202,7 +202,7 @@ unsigned long kmap_high(struct page *page)
* We cannot call this from interrupts, as it may block
*/
spin_lock(&kmap_lock);
- vaddr = page->virtual;
+ vaddr = (unsigned long) page->virtual;
if (!vaddr)
vaddr = map_new_virtual(page);
pkmap_count[PKMAP_NR(vaddr)]++;
@@ -218,7 +218,7 @@ void kunmap_high(struct page *page)
unsigned long nr;
spin_lock(&kmap_lock);
- vaddr = page->virtual;
+ vaddr = (unsigned long) page->virtual;
if (!vaddr)
BUG();
nr = PKMAP_NR(vaddr);
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 941cb5909..420f91f92 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -326,7 +326,7 @@ unsigned long __get_free_pages(int gfp_mask, unsigned long order)
page = alloc_pages(gfp_mask, order);
if (!page)
return 0;
- return page_address(page);
+ return (unsigned long) page_address(page);
}
unsigned long get_zeroed_page(int gfp_mask)
@@ -335,9 +335,9 @@ unsigned long get_zeroed_page(int gfp_mask)
page = alloc_pages(gfp_mask, 0);
if (page) {
- unsigned long address = page_address(page);
- clear_page((void *)address);
- return address;
+ void *address = page_address(page);
+ clear_page(address);
+ return (unsigned long) address;
}
return 0;
}
@@ -639,7 +639,7 @@ void __init free_area_init_core(int nid, pg_data_t *pgdat, struct page **gmap,
struct page *page = mem_map + offset + i;
page->zone = zone;
if (j != ZONE_HIGHMEM) {
- page->virtual = (unsigned long)(__va(zone_start_paddr));
+ page->virtual = __va(zone_start_paddr);
zone_start_paddr += PAGE_SIZE;
}
}
diff --git a/mm/slab.c b/mm/slab.c
index a31f0f7e7..49c1a4879 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -43,16 +43,13 @@
* of the entries in the array are given back into the global cache.
* This reduces the number of spinlock operations.
*
- * The c_cpuarray can be changed with a smp_call_function call,
- * it may not be read with enabled local interrupts.
+ * The c_cpuarray may not be read with enabled local interrupts.
*
* SMP synchronization:
* constructors and destructors are called without any locking.
* Several members in kmem_cache_t and slab_t never change, they
* are accessed without any locking.
* The per-cpu arrays are never accessed from the wrong cpu, no locking.
- * smp_call_function() is used if one cpu must flush the arrays from
- * other cpus.
* The non-constant members are protected with a per-cache irq spinlock.
*
* Further notes from the original documentation:
@@ -372,7 +369,6 @@ static kmem_cache_t *clock_searchp = &cache_cache;
*/
static int g_cpucache_up;
-static void drain_cache (void *__cachep);
static void enable_cpucache (kmem_cache_t *cachep);
static void enable_all_cpucaches (void);
#endif
@@ -463,14 +459,17 @@ void __init kmem_cache_sizes_init(void)
} while (sizes->cs_size);
}
-void __init kmem_cpucache_init(void)
+int __init kmem_cpucache_init(void)
{
#ifdef CONFIG_SMP
g_cpucache_up = 1;
enable_all_cpucaches();
#endif
+ return 0;
}
+__initcall(kmem_cpucache_init);
+
/* Interface to system's page allocator. No need to hold the cache-lock.
*/
static inline void * kmem_getpages (kmem_cache_t *cachep, unsigned long flags)
@@ -838,17 +837,50 @@ static int is_chained_kmem_cache(kmem_cache_t * cachep)
return ret;
}
+#ifdef CONFIG_SMP
+static DECLARE_MUTEX(cache_drain_sem);
+static kmem_cache_t *cache_to_drain = NULL;
+static DECLARE_WAIT_QUEUE_HEAD(cache_drain_wait);
+unsigned long slab_cache_drain_mask;
+
+static void drain_cpu_caches(kmem_cache_t *cachep)
+{
+ DECLARE_WAITQUEUE(wait, current);
+ unsigned long cpu_mask = 0;
+ int i;
+
+ for (i = 0; i < smp_num_cpus; i++)
+ cpu_mask |= (1UL << cpu_logical_map(i));
+
+ down(&cache_drain_sem);
+
+ cache_to_drain = cachep;
+ slab_cache_drain_mask = cpu_mask;
+
+ slab_drain_local_cache();
+
+ add_wait_queue(&cache_drain_wait, &wait);
+ current->state = TASK_UNINTERRUPTIBLE;
+ while (slab_cache_drain_mask != 0UL)
+ schedule();
+ current->state = TASK_RUNNING;
+ remove_wait_queue(&cache_drain_wait, &wait);
+
+ cache_to_drain = NULL;
+
+ up(&cache_drain_sem);
+}
+#else
+#define drain_cpu_caches(cachep) do { } while (0)
+#endif
+
static int __kmem_cache_shrink(kmem_cache_t *cachep)
{
slab_t *slabp;
int ret;
-#ifdef CONFIG_SMP
- smp_call_function(drain_cache, cachep, 1, 1);
- local_irq_disable();
- drain_cache(cachep);
- local_irq_enable();
-#endif
+ drain_cpu_caches(cachep);
+
spin_lock_irq(&cachep->spinlock);
/* If the cache is growing, stop shrinking. */
@@ -1554,36 +1586,67 @@ kmem_cache_t * kmem_find_general_cachep (size_t size, int gfpflags)
}
#ifdef CONFIG_SMP
-/*
- * called with local interrupts disabled
- */
-static void drain_cache (void* __cachep)
+
+typedef struct ccupdate_struct_s
{
- kmem_cache_t *cachep = __cachep;
- cpucache_t *cc = cc_data(cachep);
+ kmem_cache_t *cachep;
+ cpucache_t *new[NR_CPUS];
+} ccupdate_struct_t;
- if (cc && cc->avail) {
- free_block(cachep, cc_entry(cc), cc->avail);
- cc->avail = 0;
+static ccupdate_struct_t *ccupdate_state = NULL;
+
+/* Called from per-cpu timer interrupt. */
+void slab_drain_local_cache(void)
+{
+ local_irq_disable();
+ if (ccupdate_state != NULL) {
+ ccupdate_struct_t *new = ccupdate_state;
+ cpucache_t *old = cc_data(new->cachep);
+
+ cc_data(new->cachep) = new->new[smp_processor_id()];
+ new->new[smp_processor_id()] = old;
+ } else {
+ kmem_cache_t *cachep = cache_to_drain;
+ cpucache_t *cc = cc_data(cachep);
+
+ if (cc && cc->avail) {
+ free_block(cachep, cc_entry(cc), cc->avail);
+ cc->avail = 0;
+ }
}
+ local_irq_enable();
+
+ clear_bit(smp_processor_id(), &slab_cache_drain_mask);
+ if (slab_cache_drain_mask == 0)
+ wake_up(&cache_drain_wait);
}
-typedef struct ccupdate_struct_s
+static void do_ccupdate(ccupdate_struct_t *data)
{
- kmem_cache_t* cachep;
- cpucache_t* new[NR_CPUS];
-} ccupdate_struct_t;
+ DECLARE_WAITQUEUE(wait, current);
+ unsigned long cpu_mask = 0;
+ int i;
-/*
- * called with local interrupts disabled
- */
-static void ccupdate_callback (void* __new)
-{
- ccupdate_struct_t* new = __new;
- cpucache_t *old = cc_data(new->cachep);
+ for (i = 0; i < smp_num_cpus; i++)
+ cpu_mask |= (1UL << cpu_logical_map(i));
+
+ down(&cache_drain_sem);
- cc_data(new->cachep) = new->new[smp_processor_id()];
- new->new[smp_processor_id()] = old;
+ ccupdate_state = data;
+ slab_cache_drain_mask = cpu_mask;
+
+ slab_drain_local_cache();
+
+ add_wait_queue(&cache_drain_wait, &wait);
+ current->state = TASK_UNINTERRUPTIBLE;
+ while (slab_cache_drain_mask != 0UL)
+ schedule();
+ current->state = TASK_RUNNING;
+ remove_wait_queue(&cache_drain_wait, &wait);
+
+ ccupdate_state = NULL;
+
+ up(&cache_drain_sem);
}
/* called with cache_chain_sem acquired. */
@@ -1624,10 +1687,7 @@ static int kmem_tune_cpucache (kmem_cache_t* cachep, int limit, int batchcount)
cachep->batchcount = batchcount;
spin_unlock_irq(&cachep->spinlock);
- smp_call_function(ccupdate_callback,&new,1,1);
- local_irq_disable();
- ccupdate_callback(&new);
- local_irq_enable();
+ do_ccupdate(&new);
for (i = 0; i < smp_num_cpus; i++) {
cpucache_t* ccold = new.new[cpu_logical_map(i)];
diff --git a/net/Makefile b/net/Makefile
index 0ecbb1a9d..29f66733f 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -12,8 +12,6 @@ ALL_SUB_DIRS := 802 ax25 bridge core ethernet ipv4 ipv6 ipx unix appletalk \
netrom rose lapb x25 wanrouter netlink sched packet sunrpc \
econet irda decnet atm khttpd ipv4/netfilter ipv6/netfilter
SUB_DIRS := core ethernet
-MOD_LIST_NAME := NET_MISC_MODULES
-
ifeq ($(CONFIG_NET),y)
SUB_DIRS += 802 sched
diff --git a/net/econet/Makefile b/net/econet/Makefile
index 8da31b692..38d0d4b58 100644
--- a/net/econet/Makefile
+++ b/net/econet/Makefile
@@ -8,7 +8,6 @@
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := econet.o
-MOD_LIST_NAME := NET_MISC_MODULES
O_OBJS := af_econet.o sysctl_net_ec.o
M_OBJS := $(O_TARGET)
diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile
index a0d501ec5..b162de66c 100644
--- a/net/ipv4/Makefile
+++ b/net/ipv4/Makefile
@@ -16,7 +16,6 @@ IPV4_OBJS := utils.o route.o inetpeer.o proc.o protocol.o \
sysctl_net_ipv4.o fib_frontend.o fib_semantics.o fib_hash.o
IPV4X_OBJS :=
-MOD_LIST_NAME := IPV4_MODULES
M_OBJS :=
ifeq ($(CONFIG_IP_MULTIPLE_TABLES),y)
diff --git a/net/ipv4/netfilter/Makefile b/net/ipv4/netfilter/Makefile
index bc892e7db..cbf6e19eb 100644
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
@@ -8,7 +8,6 @@
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := netfilter.o
-MOD_LIST_NAME := IPV4_MODULES
M_OBJS :=
IP_NF_CONNTRACK_OBJ:=ip_conntrack_core.o ip_conntrack_proto_generic.o ip_conntrack_proto_tcp.o ip_conntrack_proto_udp.o ip_conntrack_proto_icmp.o
diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
index 7a24b21dd..cfc8ca6da 100644
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -1753,6 +1753,8 @@ EXPORT_SYMBOL(ipt_unregister_table);
EXPORT_SYMBOL(ipt_register_match);
EXPORT_SYMBOL(ipt_unregister_match);
EXPORT_SYMBOL(ipt_do_table);
+EXPORT_SYMBOL(ipt_register_target);
+EXPORT_SYMBOL(ipt_unregister_target);
module_init(init);
module_exit(fini);
diff --git a/net/ipv6/Makefile b/net/ipv6/Makefile
index e64706e83..23754e3d3 100644
--- a/net/ipv6/Makefile
+++ b/net/ipv6/Makefile
@@ -14,7 +14,6 @@ IPV6_OBJS := af_inet6.o ip6_output.o ip6_input.o addrconf.o sit.o \
exthdrs.o sysctl_net_ipv6.o datagram.o proc.o \
ip6_flowlabel.o
-MOD_LIST_NAME := IPV6_MODULES
M_OBJS := $(O_TARGET)
#ifeq ($(CONFIG_IPV6_FIREWALL),y)
diff --git a/net/ipv6/netfilter/Makefile b/net/ipv6/netfilter/Makefile
index 3dfbefc26..5f89671a2 100644
--- a/net/ipv6/netfilter/Makefile
+++ b/net/ipv6/netfilter/Makefile
@@ -8,7 +8,6 @@
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := netfilter.o
-MOD_LIST_NAME := IPV6_MODULES
M_OBJS :=
IP6_NF_CONNTRACK_OBJ:=ip6_conntrack_core.o ip6_conntrack_proto_generic.o ip6_conntrack_proto_tcp.o ip6_conntrack_proto_udp.o ip6_conntrack_proto_icmp.o
diff --git a/net/irda/Makefile b/net/irda/Makefile
index ae3a793cf..ac2bdc063 100644
--- a/net/irda/Makefile
+++ b/net/irda/Makefile
@@ -19,8 +19,6 @@ O_OBJS := iriap.o iriap_event.o irlmp.o irlmp_event.o irlmp_frame.o \
discovery.o parameters.o
OX_OBJS := irmod.o
-MOD_LIST_NAME := IRDA_MODULES
-
ifeq ($(CONFIG_IRDA),m)
M_OBJS := $(O_TARGET)
endif
diff --git a/net/irda/compressors/Makefile b/net/irda/compressors/Makefile
index b7992289a..6d233020f 100644
--- a/net/irda/compressors/Makefile
+++ b/net/irda/compressors/Makefile
@@ -9,7 +9,6 @@
O_TARGET :=
O_OBJS :=
-MOD_LIST_NAME := IRDA_MODULES
M_OBJS :=
ifeq ($(CONFIG_IRDA_DEFLATE),y)
diff --git a/net/irda/irlan/Makefile b/net/irda/irlan/Makefile
index 6d4cb8433..61285f23c 100644
--- a/net/irda/irlan/Makefile
+++ b/net/irda/irlan/Makefile
@@ -7,7 +7,6 @@
#
# Note 2! The CFLAGS definition is now in the main makefile...
-MOD_LIST_NAME := IRDA_MODULES
O_TARGET := irlan.o
O_OBJS := irlan_common.o irlan_eth.o irlan_event.o irlan_client.o irlan_provider.o irlan_filter.o irlan_provider_event.o irlan_client_event.o
M_OBJS := $(O_TARGET)
diff --git a/net/khttpd/Makefile b/net/khttpd/Makefile
index bd7d5499b..b594de142 100644
--- a/net/khttpd/Makefile
+++ b/net/khttpd/Makefile
@@ -8,7 +8,6 @@
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := khttpd.o
-MOD_LIST_NAME := NET_MODULES
M_OBJS := $(O_TARGET)
O_OBJS := main.o accept.o datasending.o logging.o misc.o rfc.o rfc_time.o security.o \
diff --git a/net/netlink/Makefile b/net/netlink/Makefile
index db134a98d..da89d0af0 100644
--- a/net/netlink/Makefile
+++ b/net/netlink/Makefile
@@ -8,7 +8,6 @@
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := netlink.o
-MOD_LIST_NAME := NET_MISC_MODULES
O_OBJS :=
OX_OBJS := af_netlink.o
diff --git a/net/packet/Makefile b/net/packet/Makefile
index cce16721d..95a98ed95 100644
--- a/net/packet/Makefile
+++ b/net/packet/Makefile
@@ -8,7 +8,6 @@
# Note 2! The CFLAGS definition is now in the main makefile...
O_TARGET := packet.o
-MOD_LIST_NAME := NET_MISC_MODULES
O_OBJS :=
M_OBJS :=