-diff -rNu linux-2.4.29.old/Documentation/isdn/CREDITS linux-2.4.29/Documentation/isdn/CREDITS
---- linux-2.4.29.old/Documentation/isdn/CREDITS 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/CREDITS 2005-03-22 15:06:50.246454160 +0100
-@@ -37,7 +37,7 @@
+--- a/Documentation/isdn/CREDITS
++++ b/Documentation/isdn/CREDITS
+@@ -37,7 +37,7 @@ Michael Knigge (knick@cove.han.de)
Andreas Kool (akool@Kool.f.EUnet.de)
For contribution of the isdnlog/isdnrep-tool
For lot of new ideas and the pcbit driver.
Eberhard Moenkeberg (emoenke@gwdg.de)
-diff -rNu linux-2.4.29.old/Documentation/isdn/HiSax.cert linux-2.4.29/Documentation/isdn/HiSax.cert
---- linux-2.4.29.old/Documentation/isdn/HiSax.cert 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/HiSax.cert 2005-03-22 15:06:50.264451424 +0100
-@@ -68,6 +68,8 @@
+--- a/Documentation/isdn/HiSax.cert
++++ b/Documentation/isdn/HiSax.cert
+@@ -68,6 +68,8 @@ drivers/isdn/hisax/cert.c
drivers/isdn/hisax/elsa.c
drivers/isdn/hisax/diva.c
drivers/isdn/hisax/hfc_pci.c
Please send any changes, bugfixes and patches to me rather than implementing
them directly into the HiSax sources.
-diff -rNu linux-2.4.29.old/Documentation/isdn/INTERFACE linux-2.4.29/Documentation/isdn/INTERFACE
---- linux-2.4.29.old/Documentation/isdn/INTERFACE 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/INTERFACE 2005-03-22 15:06:50.288447776 +0100
+--- a/Documentation/isdn/INTERFACE
++++ b/Documentation/isdn/INTERFACE
@@ -1,4 +1,4 @@
-$Id: INTERFACE,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: INTERFACE,v 1.17 2002/01/31 13:26:35 keil Exp $
Description of the Interface between Linklevel and Hardwarelevel
of isdn4linux:
-@@ -399,7 +399,7 @@
+@@ -399,7 +399,7 @@ Description of the Interface between Lin
protocol-Id is one of the constants ISDN_PROTO_L3...
parm.fax = Pointer to T30_s fax struct. (fax usage only)
With this command, the HL-driver is told to return the current
setting of the Layer-3-protocol.
-@@ -781,3 +781,22 @@
+@@ -781,3 +781,22 @@ Description of the Interface between Lin
arg = channel-number, locally to the driver. (starting with 0)
parm = unused.
+ command = ISDN_STAT_PROCEED
+ arg = channel-number, locally to the driver. (starting with 0)
+
-diff -rNu linux-2.4.29.old/Documentation/isdn/INTERFACE.fax linux-2.4.29/Documentation/isdn/INTERFACE.fax
---- linux-2.4.29.old/Documentation/isdn/INTERFACE.fax 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/INTERFACE.fax 2005-03-22 15:06:50.312444128 +0100
+--- a/Documentation/isdn/INTERFACE.fax
++++ b/Documentation/isdn/INTERFACE.fax
@@ -1,4 +1,4 @@
-$Id: INTERFACE.fax,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: INTERFACE.fax,v 1.2 2000/08/06 09:22:50 armin Exp $
Description of the fax-subinterface between linklevel and hardwarelevel of
-diff -rNu linux-2.4.29.old/Documentation/isdn/README linux-2.4.29/Documentation/isdn/README
---- linux-2.4.29.old/Documentation/isdn/README 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README 2005-03-22 15:06:50.340439872 +0100
-@@ -278,6 +278,12 @@
+--- a/Documentation/isdn/README
++++ b/Documentation/isdn/README
+@@ -278,6 +278,12 @@ README for the ISDN-subsystem
1 = Add CPN to FCON message on
Bit 2: 0 = Add CDN to RING/FCON message off
1 = Add CDN to RING/FCON message on
Last but not least a (at the moment fairly primitive) device to request
the line-status (/dev/isdninfo) is made available.
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.HiSax linux-2.4.29/Documentation/isdn/README.HiSax
---- linux-2.4.29.old/Documentation/isdn/README.HiSax 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.HiSax 2005-03-22 15:06:50.372435008 +0100
-@@ -41,10 +41,9 @@
+--- a/Documentation/isdn/README.HiSax
++++ b/Documentation/isdn/README.HiSax
+@@ -41,10 +41,9 @@ ELSA Quickstep 3000 (same settings as QS
ELSA Quickstep 3000PCI
ELSA PCMCIA
ITK ix1-micro Rev.2
ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
-@@ -53,7 +52,6 @@
+@@ -53,7 +52,6 @@ Sedlbauer Speed Card (Speed Win, Teledat
Sedlbauer Speed Star/Speed Star2 (PCMCIA)
Sedlbauer ISDN-Controller PC/104
USR Sportster internal TA (compatible Stollmann tina-pp V3)
ith Kommunikationstechnik GmbH MIC 16 ISA card
Traverse Technologie NETjet PCI S0 card and NETspider U card
Ovislink ISDN sc100-p card (NETjet driver)
-@@ -68,14 +66,14 @@
+@@ -68,14 +66,14 @@ Gazel ISDN cards
HFC-PCI based cards
Winbond W6692 based cards
HFC-S+, HFC-SP/PCMCIA cards
You can combine any card, if there is no conflict between the resources
(io, mem, irq).
-@@ -91,15 +89,8 @@
+@@ -91,15 +89,8 @@ There is also some config needed before
modules. It is included in the normal "make [menu]config" target at the
kernel. Don't forget it, especially to select the right D-channel protocol.
a) when built as a module
-------------------------
-@@ -200,8 +191,6 @@
+@@ -200,8 +191,6 @@ Card types:
37 HFC 2BDS0 S+, SP irq,io
38 NETspider U PCI card none
39 HFC 2BDS0 SP/PCMCIA irq,io (set with cardmgr)
At the moment IRQ sharing is only possible with PCI cards. Please make sure
that your IRQ is free and enabled for ISA use.
-@@ -227,13 +216,6 @@
+@@ -227,13 +216,6 @@ Examples for module loading
(IO 1 (BASE 0x0180))
modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180
6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
-@@ -314,9 +296,7 @@
+@@ -314,9 +296,7 @@ type
36 W6692 based PCI cards none
37 HFC 2BDS0 S+,SP/PCMCIA ONLY WORKS AS A MODULE !
38 NETspider U PCI card none
Running the driver
------------------
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.act2000 linux-2.4.29/Documentation/isdn/README.act2000
---- linux-2.4.29.old/Documentation/isdn/README.act2000 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.act2000 2005-03-22 15:06:50.388432576 +0100
+--- a/Documentation/isdn/README.act2000
++++ b/Documentation/isdn/README.act2000
@@ -1,4 +1,4 @@
-$Id: README.act2000,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.act2000,v 1.3 2000/08/06 09:22:51 armin Exp $
This document describes the ACT2000 driver for the
IBM Active 2000 ISDN card.
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.audio linux-2.4.29/Documentation/isdn/README.audio
---- linux-2.4.29.old/Documentation/isdn/README.audio 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.audio 2005-03-22 15:06:50.404430144 +0100
+--- a/Documentation/isdn/README.audio
++++ b/Documentation/isdn/README.audio
@@ -1,4 +1,4 @@
-$Id: README.audio,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.audio,v 1.8 1999/07/11 17:17:29 armin Exp $
ISDN subsystem for Linux.
Description of audio mode.
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.eicon linux-2.4.29/Documentation/isdn/README.eicon
---- linux-2.4.29.old/Documentation/isdn/README.eicon 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.eicon 2005-03-22 15:06:50.479418744 +0100
+--- a/Documentation/isdn/README.eicon
++++ b/Documentation/isdn/README.eicon
@@ -1,4 +1,4 @@
-$Id: README.eicon,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.eicon,v 1.10 2000/08/13 12:19:15 armin Exp $
(c) 1999,2000 Armin Schindler (mac@melware.de)
(c) 1999,2000 Cytronics & Melware (info@melware.de)
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.hysdn linux-2.4.29/Documentation/isdn/README.hysdn
---- linux-2.4.29.old/Documentation/isdn/README.hysdn 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.hysdn 2005-03-22 15:06:50.522412208 +0100
+--- a/Documentation/isdn/README.hysdn
++++ b/Documentation/isdn/README.hysdn
@@ -1,4 +1,4 @@
-$Id: README.hysdn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $
The hysdn driver has been written by
by Werner Cornelius (werner@isdn4linux.de or werner@titro.de)
for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.icn linux-2.4.29/Documentation/isdn/README.icn
---- linux-2.4.29.old/Documentation/isdn/README.icn 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.icn 2005-03-22 15:06:50.550407952 +0100
+--- a/Documentation/isdn/README.icn
++++ b/Documentation/isdn/README.icn
@@ -1,4 +1,4 @@
-$Id: README.icn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.icn,v 1.7 2000/08/06 09:22:51 armin Exp $
You can get the ICN-ISDN-card from:
-diff -rNu linux-2.4.29.old/Documentation/isdn/README.pcbit linux-2.4.29/Documentation/isdn/README.pcbit
---- linux-2.4.29.old/Documentation/isdn/README.pcbit 2005-03-22 14:48:26.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/README.pcbit 2005-03-22 15:06:50.567405368 +0100
-@@ -37,4 +37,4 @@
+--- a/Documentation/isdn/README.pcbit
++++ b/Documentation/isdn/README.pcbit
+@@ -37,4 +37,4 @@ mailing list (isdn4linux@listserv.isdn4l
regards,
Pedro.
-<pedro_m@yahoo.com>
+<roque@di.fc.ul.pt>
-diff -rNu linux-2.4.29.old/Documentation/isdn/abcext_kernel.help linux-2.4.29/Documentation/isdn/abcext_kernel.help
---- linux-2.4.29.old/Documentation/isdn/abcext_kernel.help 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/Documentation/isdn/abcext_kernel.help 2005-03-22 15:06:50.600400352 +0100
+--- /dev/null
++++ b/Documentation/isdn/abcext_kernel.help
@@ -0,0 +1,166 @@
+
+ISDN-ABC-DW Extension
+ See "linux/Documentation/isdn/dw-abc-extension-howto.txt"
+ for more Information
+
-diff -rNu linux-2.4.29.old/drivers/isdn/Config.in linux-2.4.29/drivers/isdn/Config.in
---- linux-2.4.29.old/drivers/isdn/Config.in 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/Config.in 2005-03-22 15:06:44.259364336 +0100
+--- a/drivers/isdn/Config.in
++++ b/drivers/isdn/Config.in
@@ -4,11 +4,9 @@
# only included if CONFIG_ISDN != n
bool ' Use VJ-compression with synchronous PPP' CONFIG_ISDN_PPP_VJ
bool ' Support generic MP (RFC 1717)' CONFIG_ISDN_MPP
dep_tristate ' Support BSD compression' CONFIG_ISDN_PPP_BSDCOMP $CONFIG_ISDN
-@@ -23,6 +21,30 @@
+@@ -23,6 +21,30 @@ if [ "$CONFIG_X25" != "n" ]; then
fi
mainmenu_option next_comment
comment 'ISDN feature submodules'
dep_tristate 'isdnloop support' CONFIG_ISDN_DRV_LOOP $CONFIG_ISDN
dep_tristate 'Support isdn diversion services' CONFIG_ISDN_DIVERSION $CONFIG_ISDN
-@@ -34,7 +56,6 @@
+@@ -34,7 +56,6 @@ mainmenu_option next_comment
comment 'Passive ISDN cards'
dep_tristate 'HiSax SiemensChipSet driver support' CONFIG_ISDN_DRV_HISAX $CONFIG_ISDN
if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ]; then
comment ' D-channel protocol features'
bool ' HiSax Support for EURO/DSS1' CONFIG_HISAX_EURO
if [ "$CONFIG_HISAX_EURO" != "n" ]; then
-@@ -45,31 +66,28 @@
+@@ -45,31 +66,28 @@ if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ];
fi
bool ' HiSax Support for german 1TR6' CONFIG_HISAX_1TR6
bool ' HiSax Support for US NI1' CONFIG_HISAX_NI1
bool ' Telekom A4T card' CONFIG_HISAX_BKM_A4T
bool ' Scitel Quadro card' CONFIG_HISAX_SCT_QUADRO
bool ' Gazel cards' CONFIG_HISAX_GAZEL
-@@ -78,20 +96,27 @@
+@@ -78,20 +96,27 @@ if [ "$CONFIG_ISDN_DRV_HISAX" != "n" ];
bool ' HFC-S+, HFC-SP, HFC-PCMCIA cards' CONFIG_HISAX_HFC_SX
if [ "$CONFIG_EXPERIMENTAL" != "n" ]; then
# bool ' TESTEMULATOR (EXPERIMENTAL)' CONFIG_HISAX_TESTEMU
fi
endmenu
-diff -rNu linux-2.4.29.old/drivers/isdn/Makefile linux-2.4.29/drivers/isdn/Makefile
---- linux-2.4.29.old/drivers/isdn/Makefile 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/Makefile 2005-03-22 15:06:44.277361600 +0100
+--- a/drivers/isdn/Makefile
++++ b/drivers/isdn/Makefile
@@ -2,7 +2,7 @@
# The target object and module list name.
# Objects that export symbols.
-@@ -32,9 +32,9 @@
+@@ -32,9 +32,9 @@ obj-$(CONFIG_ISDN_PPP_BSDCOMP) += isdn_
# Object files in subdirectories
subdir-$(CONFIG_ISDN_DRV_ICN) += icn
subdir-$(CONFIG_ISDN_DRV_PCBIT) += pcbit
subdir-$(CONFIG_ISDN_DRV_SC) += sc
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000.h linux-2.4.29/drivers/isdn/act2000/act2000.h
---- linux-2.4.29.old/drivers/isdn/act2000/act2000.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/act2000.h 2005-03-22 15:06:44.103388048 +0100
+--- a/drivers/isdn/act2000/act2000.h
++++ b/drivers/isdn/act2000/act2000.h
@@ -1,4 +1,4 @@
-/* $Id: act2000.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
*
-@@ -178,19 +178,19 @@
+@@ -178,19 +178,19 @@ typedef struct act2000_card {
char regname[35]; /* Name used for request_region */
} act2000_card;
{
queue_task(&card->poll_tq, &tq_immediate);
mark_bh(IMMEDIATE_BH);
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c linux-2.4.29/drivers/isdn/act2000/act2000_isa.c
---- linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/act2000_isa.c 2005-03-22 15:06:44.135383184 +0100
+--- a/drivers/isdn/act2000/act2000_isa.c
++++ b/drivers/isdn/act2000/act2000_isa.c
@@ -1,4 +1,4 @@
-/* $Id: act2000_isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
*
-@@ -178,8 +178,7 @@
+@@ -178,8 +178,7 @@ act2000_isa_config_port(act2000_card * c
card->flags &= ~ACT2000_FLAGS_PVALID;
}
if (!check_region(portbase, ISA_REGION)) {
card->port = portbase;
card->flags |= ACT2000_FLAGS_PVALID;
return 0;
-@@ -341,6 +340,9 @@
+@@ -341,6 +340,9 @@ act2000_isa_send(act2000_card * card)
while (skb->len) {
if (act2000_isa_writeb(card, *(skb->data))) {
/* Fifo is full, but more data to send */
test_and_clear_bit(ACT2000_LOCK_TX, (void *) &card->ilock);
/* Schedule myself */
act2000_schedule_tx(card);
-@@ -363,6 +365,9 @@
+@@ -363,6 +365,9 @@ act2000_isa_send(act2000_card * card)
} else
dev_kfree_skb(skb);
card->sbuf = NULL;
}
}
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.h linux-2.4.29/drivers/isdn/act2000/act2000_isa.h
---- linux-2.4.29.old/drivers/isdn/act2000/act2000_isa.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/act2000_isa.h 2005-03-22 15:06:44.152380600 +0100
+--- a/drivers/isdn/act2000/act2000_isa.h
++++ b/drivers/isdn/act2000/act2000_isa.h
@@ -1,4 +1,4 @@
-/* $Id: act2000_isa.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
*
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.c linux-2.4.29/drivers/isdn/act2000/capi.c
---- linux-2.4.29.old/drivers/isdn/act2000/capi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/capi.c 2005-03-22 15:06:44.172377560 +0100
+--- a/drivers/isdn/act2000/capi.c
++++ b/drivers/isdn/act2000/capi.c
@@ -1,4 +1,4 @@
-/* $Id: capi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
* CAPI encoder/decoder
-@@ -76,6 +76,10 @@
+@@ -76,6 +76,10 @@ static actcapi_msgdsc valid_msg[] = {
{{ 0x84, 0x03}, "DISCONNECT_B3_RESP"},
{{ 0x86, 0x03}, "DATA_B3_RESP"},
{{ 0xff, 0x03}, "MANUFACTURER_RESP"},
#endif
{{ 0x00, 0x00}, NULL},
};
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/capi.h linux-2.4.29/drivers/isdn/act2000/capi.h
---- linux-2.4.29.old/drivers/isdn/act2000/capi.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/capi.h 2005-03-22 15:06:44.187375280 +0100
+--- a/drivers/isdn/act2000/capi.h
++++ b/drivers/isdn/act2000/capi.h
@@ -1,4 +1,4 @@
-/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
*
-@@ -294,6 +294,19 @@
+@@ -294,6 +294,19 @@ typedef struct actcapi_msg {
__u16 plci;
__u16 info;
} select_b3_protocol_conf;
struct listen_req {
__u8 controller;
__u32 infomask __attribute__ ((packed));
-@@ -304,6 +317,7 @@
+@@ -304,6 +317,7 @@ typedef struct actcapi_msg {
__u8 controller;
__u16 info __attribute__ ((packed));
} listen_conf;
struct data_b3_req {
__u16 fakencci;
__u16 datalen;
-@@ -330,7 +344,7 @@
+@@ -330,7 +344,7 @@ typedef struct actcapi_msg {
} msg;
} actcapi_msg;
actcapi_nextsmsg(act2000_card *card)
{
unsigned long flags;
-diff -rNu linux-2.4.29.old/drivers/isdn/act2000/module.c linux-2.4.29/drivers/isdn/act2000/module.c
---- linux-2.4.29.old/drivers/isdn/act2000/module.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/act2000/module.c 2005-03-22 15:06:44.202373000 +0100
+--- a/drivers/isdn/act2000/module.c
++++ b/drivers/isdn/act2000/module.c
@@ -1,4 +1,4 @@
-/* $Id: module.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000.
*
-@@ -630,6 +630,10 @@
+@@ -630,6 +630,10 @@ act2000_alloccard(int bus, int port, int
card->interface.features =
ISDN_FEATURE_L2_X75I |
ISDN_FEATURE_L2_HDLC |
ISDN_FEATURE_L3_TRANS |
ISDN_FEATURE_P_UNKNOWN;
card->interface.hl_hdrlen = 20;
-@@ -843,6 +847,39 @@
+@@ -843,6 +847,39 @@ static void __exit act2000_exit(void)
}
printk(KERN_INFO "%s unloaded\n", DRIVERNAME);
}
module_init(act2000_init);
module_exit(act2000_exit);
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/avm_cs.c linux-2.4.29/drivers/isdn/avmb1/avm_cs.c
---- linux-2.4.29.old/drivers/isdn/avmb1/avm_cs.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/avm_cs.c 2005-03-22 15:06:44.696297912 +0100
+--- a/drivers/isdn/avmb1/avm_cs.c
++++ b/drivers/isdn/avmb1/avm_cs.c
@@ -1,4 +1,4 @@
-/* $Id: avm_cs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: avm_cs.c,v 1.6 2001/09/24 13:22:44 kai Exp $
*
* A PCMCIA client driver for AVM B1/M1/M2
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/avmcard.h linux-2.4.29/drivers/isdn/avmb1/avmcard.h
---- linux-2.4.29.old/drivers/isdn/avmb1/avmcard.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/avmcard.h 2005-03-22 15:06:44.711295632 +0100
+--- a/drivers/isdn/avmb1/avmcard.h
++++ b/drivers/isdn/avmb1/avmcard.h
@@ -1,4 +1,4 @@
-/* $Id: avmcard.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: avmcard.h,v 1.12 2001/09/24 13:22:44 kai Exp $
*
* Copyright 1999 by Carsten Paeth <calle@calle.de>
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1.c linux-2.4.29/drivers/isdn/avmb1/b1.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1.c 2005-03-22 15:06:44.733292288 +0100
+--- a/drivers/isdn/avmb1/b1.c
++++ b/drivers/isdn/avmb1/b1.c
@@ -1,4 +1,4 @@
-/* $Id: b1.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1.c,v 1.26 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c linux-2.4.29/drivers/isdn/avmb1/b1dma.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1dma.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1dma.c 2005-03-22 15:06:44.750289704 +0100
+--- a/drivers/isdn/avmb1/b1dma.c
++++ b/drivers/isdn/avmb1/b1dma.c
@@ -1,4 +1,4 @@
-/* $Id: b1dma.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1dma.c,v 1.18 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-@@ -851,7 +856,7 @@
+@@ -851,7 +856,7 @@ int b1dmactl_read_proc(char *page, char
__u8 flag;
int len = 0;
char *s;
len += sprintf(page+len, "%-16s %s\n", "name", card->name);
len += sprintf(page+len, "%-16s 0x%x\n", "io", card->port);
-@@ -907,12 +912,12 @@
+@@ -907,12 +912,12 @@ int b1dmactl_read_proc(char *page, char
save_flags(flags);
cli();
rxlen = b1dmainmeml(card->mbase+0x28);
csr = b1dmainmeml(card->mbase+AMCC_INTCSR);
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1isa.c linux-2.4.29/drivers/isdn/avmb1/b1isa.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1isa.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1isa.c 2005-03-22 15:06:44.766287272 +0100
+--- a/drivers/isdn/avmb1/b1isa.c
++++ b/drivers/isdn/avmb1/b1isa.c
@@ -1,4 +1,4 @@
-/* $Id: b1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1isa.c,v 1.14 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c linux-2.4.29/drivers/isdn/avmb1/b1pci.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1pci.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1pci.c 2005-03-22 15:06:44.781284992 +0100
+--- a/drivers/isdn/avmb1/b1pci.c
++++ b/drivers/isdn/avmb1/b1pci.c
@@ -1,4 +1,4 @@
-/* $Id: b1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1pci.c,v 1.40 2001/09/24 13:22:44 kai Exp $
MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM B1 PCI card");
MODULE_AUTHOR("Carsten Paeth");
MODULE_LICENSE("GPL");
-@@ -416,14 +419,14 @@
+@@ -416,14 +419,14 @@ static int add_card(struct pci_dev *dev)
}
param.irq = dev->irq;
printk(KERN_INFO
"%s: PCI BIOS reports AVM-B1 V4 at i/o %#x, irq %d, mem %#x\n",
-@@ -440,7 +443,7 @@
+@@ -440,7 +443,7 @@ static int add_card(struct pci_dev *dev)
}
} else {
param.membase = 0;
printk(KERN_INFO
"%s: PCI BIOS reports AVM-B1 at i/o %#x, irq %d\n",
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/b1pcmcia.c linux-2.4.29/drivers/isdn/avmb1/b1pcmcia.c
---- linux-2.4.29.old/drivers/isdn/avmb1/b1pcmcia.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/b1pcmcia.c 2005-03-22 15:06:44.796282712 +0100
+--- a/drivers/isdn/avmb1/b1pcmcia.c
++++ b/drivers/isdn/avmb1/b1pcmcia.c
@@ -1,4 +1,4 @@
-/* $Id: b1pcmcia.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1pcmcia.c,v 1.17 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/c4.c linux-2.4.29/drivers/isdn/avmb1/c4.c
---- linux-2.4.29.old/drivers/isdn/avmb1/c4.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/c4.c 2005-03-22 15:06:44.812280280 +0100
+--- a/drivers/isdn/avmb1/c4.c
++++ b/drivers/isdn/avmb1/c4.c
@@ -1,4 +1,4 @@
-/* $Id: c4.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: c4.c,v 1.38 2001/09/24 13:22:44 kai Exp $
#include <linux/capi.h>
#include <linux/kernelcapi.h>
#include <linux/init.h>
-@@ -29,7 +30,7 @@
+@@ -30,7 +31,7 @@
#include "capilli.h"
#include "avmcard.h"
#undef CONFIG_C4_DEBUG
#undef CONFIG_C4_POLLDEBUG
-@@ -38,6 +39,7 @@
+@@ -39,6 +40,7 @@ static char *revision = "$Revision: 1.1.
static int suppress_pollack;
static struct pci_device_id c4_pci_tbl[] __initdata = {
{ PCI_VENDOR_ID_DEC,PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4 },
{ PCI_VENDOR_ID_DEC,PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C2 },
-@@ -45,6 +47,7 @@
+@@ -46,6 +48,7 @@ static struct pci_device_id c4_pci_tbl[]
};
MODULE_DEVICE_TABLE(pci, c4_pci_tbl);
MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM C2/C4 cards");
MODULE_AUTHOR("Carsten Paeth");
MODULE_LICENSE("GPL");
-@@ -1328,9 +1331,9 @@
+@@ -1332,9 +1335,9 @@ static int __init search_cards(struct ca
}
pci_set_master(dev);
printk(KERN_INFO
"%s: PCI BIOS reports AVM-C%d at i/o %#x, irq %d, mem %#x\n",
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capi.c linux-2.4.29/drivers/isdn/avmb1/capi.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capi.c 2005-03-22 15:06:44.849274656 +0100
+--- a/drivers/isdn/avmb1/capi.c
++++ b/drivers/isdn/avmb1/capi.c
@@ -1,4 +1,4 @@
-/* $Id: capi.c,v 1.1.4.2 2001/12/09 18:45:13 kai Exp $
+/* $Id: capi.c,v 1.59 2001/11/07 22:35:48 kai Exp $
MODULE_DESCRIPTION("CAPI4Linux: Userspace /dev/capi20 interface");
MODULE_AUTHOR("Carsten Paeth");
-@@ -87,10 +93,10 @@
+@@ -87,10 +93,10 @@ struct capiminor {
struct capincci *nccip;
unsigned int minor;
struct file *file;
struct tty_struct *tty;
-@@ -112,16 +118,22 @@
+@@ -112,16 +118,22 @@ struct capiminor {
/* transmit path */
struct datahandle_queue {
struct datahandle_queue *next;
struct capidev *cdev;
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
struct capiminor *minorp;
-@@ -131,8 +143,8 @@
+@@ -131,8 +143,8 @@ struct capincci {
struct capidev {
struct capidev *next;
struct file *file;
unsigned int minor;
unsigned userflags;
-@@ -156,22 +168,28 @@
+@@ -156,22 +168,28 @@ static struct capidev *capidev_openlist
static struct capiminor *minors = 0;
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
if (!n) {
printk(KERN_ERR "capi: alloc datahandle failed\n");
return -1;
-@@ -184,7 +202,7 @@
+@@ -184,7 +202,7 @@ static int capincci_add_ack(struct capim
return 0;
}
{
struct datahandle_queue **pp, *p;
-@@ -192,7 +210,11 @@
+@@ -192,7 +210,11 @@ static int capiminor_del_ack(struct capi
if ((*pp)->datahandle == datahandle) {
p = *pp;
*pp = (*pp)->next;
mp->nack--;
return 0;
}
-@@ -200,7 +222,7 @@
+@@ -200,7 +222,7 @@ static int capiminor_del_ack(struct capi
return -1;
}
{
struct datahandle_queue **pp, *p;
-@@ -208,7 +230,11 @@
+@@ -208,7 +230,11 @@ static void capiminor_del_all_ack(struct
while (*pp) {
p = *pp;
*pp = (*pp)->next;
mp->nack--;
}
}
-@@ -216,13 +242,17 @@
+@@ -216,13 +242,17 @@ static void capiminor_del_all_ack(struct
/* -------- struct capiminor ---------------------------------------- */
if (!mp) {
MOD_DEC_USE_COUNT;
printk(KERN_ERR "capi: can't alloc capiminor\n");
-@@ -257,7 +287,7 @@
+@@ -257,7 +287,7 @@ static struct capiminor *capiminor_alloc
return mp;
}
{
struct capiminor **pp;
-@@ -271,7 +301,11 @@
+@@ -271,7 +301,11 @@ static void capiminor_free(struct capimi
skb_queue_purge(&mp->inqueue);
skb_queue_purge(&mp->outqueue);
capiminor_del_all_ack(mp);
MOD_DEC_USE_COUNT;
#ifdef _DEBUG_REFCOUNT
printk(KERN_DEBUG "capiminor_free %d\n", GET_USE_COUNT(THIS_MODULE));
-@@ -283,7 +317,7 @@
+@@ -283,7 +317,7 @@ static void capiminor_free(struct capimi
}
}
{
struct capiminor *p;
for (p = minors; p && p->minor != minor; p = p->next)
-@@ -294,7 +328,7 @@
+@@ -294,7 +328,7 @@ static struct capiminor *capiminor_find(
/* -------- struct capincci ----------------------------------------- */
{
struct capincci *np, **pp;
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
-@@ -302,7 +336,11 @@
+@@ -302,7 +336,11 @@ static struct capincci *capincci_alloc(s
kdev_t kdev;
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
if (!np)
return 0;
memset(np, 0, sizeof(struct capincci));
-@@ -331,7 +369,7 @@
+@@ -331,7 +369,7 @@ static struct capincci *capincci_alloc(s
return np;
}
{
struct capincci *np, **pp;
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
-@@ -367,7 +405,11 @@
+@@ -367,7 +405,11 @@ static void capincci_free(struct capidev
}
}
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
if (*pp == 0) return;
} else {
pp = &(*pp)->next;
-@@ -375,7 +417,7 @@
+@@ -375,7 +417,7 @@ static void capincci_free(struct capidev
}
}
{
struct capincci *p;
-@@ -393,7 +435,11 @@
+@@ -393,7 +435,11 @@ static struct capidev *capidev_alloc(str
struct capidev *cdev;
struct capidev **pp;
if (!cdev)
return 0;
memset(cdev, 0, sizeof(struct capidev));
-@@ -423,10 +469,14 @@
+@@ -423,10 +469,14 @@ static void capidev_free(struct capidev
if (*pp)
*pp = cdev->next;
{
struct capidev *p;
for (p=capidev_openlist; p; p = p->next) {
-@@ -439,13 +489,13 @@
+@@ -439,13 +489,13 @@ static struct capidev *capidev_find(u16
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
/* -------- handle data queue --------------------------------------- */
unsigned char *s = skb_put(nskb, CAPI_DATA_B3_RESP_LEN);
capimsg_setu16(s, 0, CAPI_DATA_B3_RESP_LEN);
capimsg_setu16(s, 2, mp->applid);
-@@ -458,11 +508,11 @@
+@@ -458,11 +508,11 @@ gen_data_b3_resp_for(struct capiminor *m
return nskb;
}
datalen = skb->len - CAPIMSG_LEN(skb->data);
if (mp->tty) {
-@@ -504,6 +554,28 @@
+@@ -504,6 +554,28 @@ static int handle_recv_skb(struct capimi
kfree_skb(skb);
return 0;
} else if (mp->file) {
if (skb_queue_len(&mp->recvqueue) > CAPINC_MAX_RECVQUEUE) {
#if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS)
-@@ -538,7 +610,7 @@
+@@ -538,7 +610,7 @@ static int handle_recv_skb(struct capimi
return -1;
}
{
struct sk_buff *skb;
while ((skb = skb_dequeue(&mp->inqueue)) != 0) {
-@@ -552,13 +624,13 @@
+@@ -552,13 +624,13 @@ static void handle_minor_recv(struct cap
}
}
if (mp->tty && mp->ttyoutstop) {
#if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS)
-@@ -569,7 +641,7 @@
+@@ -569,7 +641,7 @@ static int handle_minor_send(struct capi
while ((skb = skb_dequeue(&mp->outqueue)) != 0) {
datahandle = mp->datahandle;
skb_push(skb, CAPI_DATA_B3_REQ_LEN);
memset(skb->data, 0, CAPI_DATA_B3_REQ_LEN);
capimsg_setu16(skb->data, 0, CAPI_DATA_B3_REQ_LEN);
-@@ -578,7 +650,7 @@
+@@ -578,7 +650,7 @@ static int handle_minor_send(struct capi
capimsg_setu8 (skb->data, 5, CAPI_REQ);
capimsg_setu16(skb->data, 6, mp->msgid++);
capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */
capimsg_setu16(skb->data, 16, len); /* Data length */
capimsg_setu16(skb->data, 18, datahandle);
capimsg_setu16(skb->data, 20, 0); /* Flags */
-@@ -620,16 +692,16 @@
+@@ -620,16 +692,16 @@ static int handle_minor_send(struct capi
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
/* -------- function called by lower level -------------------------- */
(void) (*capifuncs->capi_get_message) (applid, &skb);
if (!skb) {
-@@ -683,6 +755,12 @@
+@@ -683,6 +755,12 @@ static void capi_signal(u16 applid, void
#endif
kfree_skb(skb);
(void)capiminor_del_ack(mp, datahandle);
if (mp->tty) {
if (mp->tty->ldisc.write_wakeup)
mp->tty->ldisc.write_wakeup(mp->tty);
-@@ -758,7 +836,7 @@
+@@ -758,7 +836,7 @@ capi_write(struct file *file, const char
struct capidev *cdev = (struct capidev *)file->private_data;
struct sk_buff *skb;
int retval;
if (ppos != &file->f_pos)
return -ESPIPE;
-@@ -998,7 +1076,7 @@
+@@ -998,7 +1076,7 @@ capi_ioctl(struct inode *inode, struct f
sizeof(ncci));
if (retval)
return -EFAULT;
if (!nccip)
return 0;
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
-@@ -1023,7 +1101,7 @@
+@@ -1023,7 +1101,7 @@ capi_ioctl(struct inode *inode, struct f
sizeof(ncci));
if (retval)
return -EFAULT;
if (!nccip || (mp = nccip->minorp) == 0)
return -ESRCH;
return mp->minor;
-@@ -1070,7 +1148,9 @@
+@@ -1070,7 +1148,9 @@ capi_release(struct inode *inode, struct
static struct file_operations capi_fops =
{
llseek: no_llseek,
read: capi_read,
write: capi_write,
-@@ -1233,6 +1313,45 @@
+@@ -1233,6 +1313,45 @@ capinc_raw_ioctl(struct inode *inode, st
return -EINVAL;
switch (cmd) {
}
return -EINVAL;
}
-@@ -1260,7 +1379,9 @@
+@@ -1260,7 +1379,9 @@ capinc_raw_release(struct inode *inode,
static struct file_operations capinc_raw_fops =
{
llseek: no_llseek,
read: capinc_raw_read,
write: capinc_raw_write,
-@@ -1272,7 +1393,7 @@
+@@ -1272,7 +1393,7 @@ static struct file_operations capinc_raw
/* -------- tty_operations for capincci ----------------------------- */
{
struct capiminor *mp;
-@@ -1300,7 +1421,7 @@
+@@ -1300,7 +1421,7 @@ static int capinc_tty_open(struct tty_st
return 0;
}
{
struct capiminor *mp;
-@@ -1325,8 +1446,8 @@
+@@ -1325,8 +1446,8 @@ static void capinc_tty_close(struct tty_
#endif
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
struct sk_buff *skb;
-@@ -1377,7 +1498,7 @@
+@@ -1377,7 +1498,7 @@ static int capinc_tty_write(struct tty_s
return count;
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
struct sk_buff *skb;
-@@ -1414,7 +1535,7 @@
+@@ -1414,7 +1535,7 @@ static void capinc_tty_put_char(struct t
}
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
struct sk_buff *skb;
-@@ -1440,7 +1561,7 @@
+@@ -1440,7 +1561,7 @@ static void capinc_tty_flush_chars(struc
(void)handle_minor_recv(mp);
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
int room;
-@@ -1458,7 +1579,7 @@
+@@ -1458,7 +1579,7 @@ static int capinc_tty_write_room(struct
return room;
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
if (!mp || !mp->nccip) {
-@@ -1476,7 +1597,7 @@
+@@ -1476,7 +1597,7 @@ static int capinc_tty_chars_in_buffer(st
return mp->outbytes;
}
unsigned int cmd, unsigned long arg)
{
int error = 0;
-@@ -1488,14 +1609,14 @@
+@@ -1488,14 +1609,14 @@ static int capinc_tty_ioctl(struct tty_s
return error;
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
#ifdef _DEBUG_TTYFUNCS
-@@ -1505,7 +1626,7 @@
+@@ -1505,7 +1626,7 @@ static void capinc_tty_throttle(struct t
mp->ttyinstop = 1;
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
#ifdef _DEBUG_TTYFUNCS
-@@ -1517,7 +1638,7 @@
+@@ -1517,7 +1638,7 @@ static void capinc_tty_unthrottle(struct
}
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
#ifdef _DEBUG_TTYFUNCS
-@@ -1528,7 +1649,7 @@
+@@ -1528,7 +1649,7 @@ static void capinc_tty_stop(struct tty_s
}
}
{
struct capiminor *mp = (struct capiminor *)tty->driver_data;
#ifdef _DEBUG_TTYFUNCS
-@@ -1540,43 +1661,49 @@
+@@ -1540,43 +1661,49 @@ static void capinc_tty_start(struct tty_
}
}
{
return 0;
}
-@@ -1588,7 +1715,7 @@
+@@ -1588,7 +1715,7 @@ static struct tty_struct *capinc_tty_tab
static struct termios *capinc_tty_termios[CAPINC_NR_PORTS];
static struct termios *capinc_tty_termios_locked[CAPINC_NR_PORTS];
{
struct tty_driver *drv = &capinc_tty_driver;
-@@ -1646,7 +1773,7 @@
+@@ -1646,7 +1773,7 @@ static int capinc_tty_init(void)
return 0;
}
{
struct tty_driver *drv = &capinc_tty_driver;
int retval;
-@@ -1771,8 +1898,9 @@
+@@ -1771,8 +1898,9 @@ static void __exit proc_exit(void)
/* -------- init function and module interface ---------------------- */
{
if (capidev_cachep) {
(void)kmem_cache_destroy(capidev_cachep);
-@@ -1837,8 +1965,9 @@
+@@ -1837,8 +1965,9 @@ static int __init alloc_init(void)
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
return 0;
}
{
struct capi_ncciinfo *np;
struct capidev *cdev;
-@@ -1900,15 +2029,19 @@
+@@ -1900,15 +2029,19 @@ static int __init capi_init(void)
MOD_DEC_USE_COUNT;
return -EIO;
}
printk(KERN_NOTICE "capi20: started up with major %d\n", capi_major);
if ((capifuncs = attach_capi_interface(&cuser)) == 0) {
-@@ -1918,9 +2051,11 @@
+@@ -1918,9 +2051,11 @@ static int __init capi_init(void)
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
devfs_unregister_chrdev(capi_rawmajor, "capi/r%d");
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
return -EIO;
}
-@@ -1934,8 +2069,10 @@
+@@ -1934,8 +2069,10 @@ static int __init capi_init(void)
}
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
unsigned int j;
devfs_unregister_chrdev(capi_rawmajor, "capi/r%d");
for (j = 0; j < CAPINC_NR_PORTS; j++) {
-@@ -1943,16 +2080,20 @@
+@@ -1943,16 +2080,20 @@ static int __init capi_init(void)
sprintf(devname, "capi/r%u", j);
devfs_unregister(devfs_find_handle(NULL, devname, capi_rawmajor, j, DEVFS_SPECIAL_CHR, 0));
}
(void)proc_init();
-@@ -1975,23 +2116,31 @@
+@@ -1975,23 +2116,31 @@ static int __init capi_init(void)
static void __exit capi_exit(void)
{
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
(void) detach_capi_interface(&cuser);
printk(KERN_NOTICE "capi: Rev %s: unloaded\n", rev);
}
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capicmd.h linux-2.4.29/drivers/isdn/avmb1/capicmd.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capicmd.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capicmd.h 2005-03-22 15:06:44.865272224 +0100
+--- a/drivers/isdn/avmb1/capicmd.h
++++ b/drivers/isdn/avmb1/capicmd.h
@@ -1,4 +1,4 @@
-/* $Id: capicmd.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capicmd.h,v 1.4 2001/09/24 13:22:44 kai Exp $
*
* CAPI 2.0 Interface for Linux
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidev.h linux-2.4.29/drivers/isdn/avmb1/capidev.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capidev.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capidev.h 2005-03-22 15:06:44.880269944 +0100
+--- a/drivers/isdn/avmb1/capidev.h
++++ b/drivers/isdn/avmb1/capidev.h
@@ -1,4 +1,4 @@
-/* $Id: capidev.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capidev.h,v 1.8 2001/09/24 13:22:44 kai Exp $
*
* CAPI 2.0 Interface for Linux
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c linux-2.4.29/drivers/isdn/avmb1/capidrv.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capidrv.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capidrv.c 2005-03-22 15:06:44.918264168 +0100
+--- a/drivers/isdn/avmb1/capidrv.c
++++ b/drivers/isdn/avmb1/capidrv.c
@@ -1,4 +1,4 @@
-/* $Id: capidrv.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capidrv.c,v 1.45 2001/09/24 13:22:44 kai Exp $
static int debugmode = 0;
MODULE_DESCRIPTION("CAPI4Linux: Interface to ISDN4Linux");
-@@ -105,7 +105,6 @@
+@@ -105,7 +105,6 @@ struct capidrv_contr {
int oldstate;
/* */
__u16 datahandle;
struct ncci_datahandle_queue {
struct ncci_datahandle_queue *next;
__u16 datahandle;
-@@ -423,7 +422,6 @@
+@@ -423,7 +422,6 @@ static inline capidrv_ncci *new_ncci(cap
nccip->plcip = plcip;
nccip->chan = plcip->chan;
nccip->datahandle = 0;
nccip->next = plcip->ncci_list;
plcip->ncci_list = nccip;
-@@ -480,7 +478,6 @@
+@@ -480,7 +478,6 @@ static int capidrv_add_ack(struct capidr
__u16 datahandle, int len)
{
struct ncci_datahandle_queue *n, **pp;
n = (struct ncci_datahandle_queue *)
kmalloc(sizeof(struct ncci_datahandle_queue), GFP_ATOMIC);
-@@ -491,31 +488,25 @@
+@@ -491,31 +488,25 @@ static int capidrv_add_ack(struct capidr
n->next = 0;
n->datahandle = datahandle;
n->len = len;
return -1;
}
-@@ -523,25 +514,13 @@
+@@ -523,25 +514,13 @@ static int capidrv_del_ack(struct capidr
static void send_message(capidrv_contr * card, _cmsg * cmsg)
{
global.nsentctlpkt++;
}
-@@ -1932,8 +1911,10 @@
+@@ -1932,8 +1911,10 @@ static int if_sendbuf(int id, int channe
(void)capidrv_del_ack(nccip, datahandle);
return 0;
}
memcpy(skb_push(nskb, msglen), sendcmsg.buf, msglen);
errcode = (*capifuncs->capi_put_message) (global.appid, nskb);
if (errcode == CAPI_NOERROR) {
-@@ -2035,6 +2016,52 @@
+@@ -2035,6 +2016,52 @@ static void enable_dchannel_trace(capidr
send_message(card, &cmdcmsg);
}
static void send_listen(capidrv_contr *card)
{
-@@ -2200,10 +2227,10 @@
+@@ -2200,10 +2227,10 @@ static int capidrv_delcontr(__u16 contr)
free_ncci(card, card->bchans[card->nbchan-1].nccip);
if (card->bchans[card->nbchan-1].plcip)
free_plci(card, card->bchans[card->nbchan-1].plcip);
kfree(card->bchans);
card->bchans = 0;
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capidrv.h linux-2.4.29/drivers/isdn/avmb1/capidrv.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capidrv.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capidrv.h 2005-03-22 15:06:44.935261584 +0100
+--- a/drivers/isdn/avmb1/capidrv.h
++++ b/drivers/isdn/avmb1/capidrv.h
@@ -1,4 +1,4 @@
-/* $Id: capidrv.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capidrv.h,v 1.4 2001/09/24 13:22:44 kai Exp $
*
* ISDN4Linux Driver, using capi20 interface (kernelcapi)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.c linux-2.4.29/drivers/isdn/avmb1/capifs.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capifs.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capifs.c 2005-03-22 15:06:44.950259304 +0100
+--- a/drivers/isdn/avmb1/capifs.c
++++ b/drivers/isdn/avmb1/capifs.c
@@ -1,4 +1,4 @@
-/* $Id: capifs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capifs.c,v 1.22 2001/09/24 13:22:44 kai Exp $
#include <asm/bitops.h>
#include <asm/uaccess.h>
-@@ -32,7 +33,7 @@
+@@ -32,7 +33,7 @@ MODULE_DESCRIPTION("CAPI4Linux: /dev/cap
MODULE_AUTHOR("Carsten Paeth");
MODULE_LICENSE("GPL");
struct capifs_ncci {
struct inode *inode;
-@@ -69,14 +70,21 @@
+@@ -69,14 +70,21 @@ static inline struct capifs_sb_info *SBI
static int capifs_root_readdir(struct file *,void *,filldir_t);
static struct dentry *capifs_root_lookup(struct inode *,struct dentry *);
static int capifs_revalidate(struct dentry *, int);
lookup: capifs_root_lookup,
};
-@@ -101,12 +109,20 @@
+@@ -101,12 +109,20 @@ static int capifs_root_readdir(struct fi
switch(nr)
{
case 0:
return 0;
filp->f_pos = ++nr;
/* fall through */
-@@ -118,7 +134,11 @@
+@@ -118,7 +134,11 @@ static int capifs_root_readdir(struct fi
char *p = numbuf;
if (np->type) *p++ = np->type;
sprintf(p, "%u", np->num);
return 0;
}
filp->f_pos = ++nr;
-@@ -180,7 +200,7 @@
+@@ -180,7 +200,7 @@ static struct dentry *capifs_root_lookup
dentry->d_inode = np->inode;
if ( dentry->d_inode )
d_add(dentry, dentry->d_inode);
-@@ -199,9 +219,9 @@
+@@ -199,9 +219,9 @@ static void capifs_put_super(struct supe
for ( i = 0 ; i < sbi->max_ncci ; i++ ) {
if ( (inode = sbi->nccis[i].inode) ) {
inode->i_nlink--;
iput(inode);
}
-@@ -213,11 +233,24 @@
+@@ -213,11 +233,24 @@ static void capifs_put_super(struct supe
kfree(sbi->nccis);
kfree(sbi);
put_super: capifs_put_super,
statfs: capifs_statfs,
};
-@@ -288,6 +321,10 @@
+@@ -288,6 +321,10 @@ struct super_block *capifs_read_super(st
struct dentry * root;
struct capifs_sb_info *sbi;
/* Super block already completed? */
if (s->s_root)
goto out;
-@@ -322,6 +359,7 @@
+@@ -322,6 +359,7 @@ struct super_block *capifs_read_super(st
/*
* Get the root inode and dentry, but defer checking for errors.
*/
root_inode = capifs_new_inode(s);
if (root_inode) {
root_inode->i_ino = 1;
-@@ -331,6 +369,10 @@
+@@ -331,6 +369,10 @@ struct super_block *capifs_read_super(st
root_inode->i_nlink = 2;
}
root = d_alloc_root(root_inode);
/*
* Check whether somebody else completed the super block.
-@@ -370,11 +412,34 @@
+@@ -370,11 +412,34 @@ struct super_block *capifs_read_super(st
mounts = s;
out: /* Success ... somebody else completed the super block for us. */
static int capifs_statfs(struct super_block *sb, struct statfs *buf)
{
buf->f_type = CAPIFS_SUPER_MAGIC;
-@@ -387,7 +452,9 @@
+@@ -387,7 +452,9 @@ static int capifs_statfs(struct super_bl
buf->f_namelen = NAME_MAX;
return 0;
}
static struct inode *capifs_new_inode(struct super_block *sb)
{
struct inode *inode = new_inode(sb);
-@@ -399,8 +466,51 @@
+@@ -399,8 +466,51 @@ static struct inode *capifs_new_inode(st
}
return inode;
}
void capifs_new_ncci(char type, unsigned int num, kdev_t device)
{
-@@ -421,16 +531,26 @@
+@@ -421,16 +531,26 @@ void capifs_new_ncci(char type, unsigned
break;
}
}
}
}
}
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capifs.h linux-2.4.29/drivers/isdn/avmb1/capifs.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capifs.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capifs.h 2005-03-22 15:06:44.965257024 +0100
+--- a/drivers/isdn/avmb1/capifs.h
++++ b/drivers/isdn/avmb1/capifs.h
@@ -1,4 +1,4 @@
-/* $Id: capifs.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capifs.h,v 1.4 2001/09/24 13:22:44 kai Exp $
*
* Copyright 2000 by Carsten Paeth <calle@calle.de>
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capilli.h linux-2.4.29/drivers/isdn/avmb1/capilli.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capilli.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capilli.h 2005-03-22 15:06:44.980254744 +0100
+--- a/drivers/isdn/avmb1/capilli.h
++++ b/drivers/isdn/avmb1/capilli.h
@@ -1,4 +1,4 @@
-/* $Id: capilli.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capilli.h,v 1.5 2001/09/24 13:22:44 kai Exp $
*
* Kernel CAPI 2.0 Driver Interface for Linux
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capiutil.c linux-2.4.29/drivers/isdn/avmb1/capiutil.c
---- linux-2.4.29.old/drivers/isdn/avmb1/capiutil.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capiutil.c 2005-03-22 15:06:44.997252160 +0100
+--- a/drivers/isdn/avmb1/capiutil.c
++++ b/drivers/isdn/avmb1/capiutil.c
@@ -1,4 +1,4 @@
-/* $Id: capiutil.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capiutil.c,v 1.16 2001/09/24 13:22:44 kai Exp $
#include "capiutil.h"
MODULE_DESCRIPTION("CAPI4Linux: CAPI message conversion support");
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/capiutil.h linux-2.4.29/drivers/isdn/avmb1/capiutil.h
---- linux-2.4.29.old/drivers/isdn/avmb1/capiutil.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/capiutil.h 2005-03-22 15:06:45.040245624 +0100
+--- a/drivers/isdn/avmb1/capiutil.h
++++ b/drivers/isdn/avmb1/capiutil.h
@@ -1,4 +1,4 @@
-/* $Id: capiutil.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capiutil.h,v 1.7 2001/09/24 13:22:44 kai Exp $
*
* CAPI 2.0 defines & types
*
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c linux-2.4.29/drivers/isdn/avmb1/kcapi.c
---- linux-2.4.29.old/drivers/isdn/avmb1/kcapi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/kcapi.c 2005-03-22 15:06:45.062242280 +0100
+--- a/drivers/isdn/avmb1/kcapi.c
++++ b/drivers/isdn/avmb1/kcapi.c
@@ -1,4 +1,4 @@
-/* $Id: kcapi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: kcapi.c,v 1.28 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-@@ -64,7 +65,6 @@
+@@ -64,7 +65,6 @@ struct capi_ncci {
__u32 ncci;
__u32 winsize;
int nmsg;
struct msgidqueue *msgidqueue;
struct msgidqueue *msgidlast;
struct msgidqueue *msgidfree;
-@@ -104,14 +104,14 @@
+@@ -104,14 +104,14 @@ static char capi_manufakturer[64] = "AVM
#define APPL(a) (&applications[(a)-1])
#define VALID_APPLID(a) ((a) && (a) <= CAPI_MAXAPPL && APPL(a)->applid == a)
#define APPL_IS_FREE(a) (APPL(a)->applid == 0)
static struct capi_appl applications[CAPI_MAXAPPL];
static struct capi_ctr cards[CAPI_MAXCONTR];
-@@ -535,9 +535,13 @@
+@@ -535,9 +535,13 @@ static int notify_push(unsigned int cmd,
* of devices. Devices can only removed in
* user process, not in bh.
*/
return 0;
}
-@@ -546,13 +550,7 @@
+@@ -546,13 +550,7 @@ static int notify_push(unsigned int cmd,
static void notify_up(__u32 contr)
{
struct capi_interface_user *p;
printk(KERN_NOTICE "kcapi: notify up contr %d\n", contr);
spin_lock(&capi_users_lock);
for (p = capi_users; p; p = p->next) {
-@@ -639,7 +637,9 @@
+@@ -639,7 +637,9 @@ static void notify_handler(void *dummy)
kfree(np);
MOD_DEC_USE_COUNT;
}
}
/* -------- NCCI Handling ------------------------------------- */
-@@ -647,7 +647,6 @@
+@@ -647,7 +647,6 @@ static void notify_handler(void *dummy)
static inline void mq_init(struct capi_ncci * np)
{
int i;
np->msgidqueue = 0;
np->msgidlast = 0;
np->nmsg = 0;
-@@ -662,11 +661,8 @@
+@@ -662,11 +661,8 @@ static inline void mq_init(struct capi_n
static inline int mq_enqueue(struct capi_ncci * np, __u16 msgid)
{
struct msgidqueue *mq;
np->msgidfree = mq->next;
mq->msgid = msgid;
mq->next = 0;
-@@ -676,14 +672,12 @@
+@@ -676,14 +672,12 @@ static inline int mq_enqueue(struct capi
if (!np->msgidqueue)
np->msgidqueue = mq;
np->nmsg++;
for (pp = &np->msgidqueue; *pp; pp = &(*pp)->next) {
if ((*pp)->msgid == msgid) {
struct msgidqueue *mq = *pp;
-@@ -693,11 +687,9 @@
+@@ -693,11 +687,9 @@ static inline int mq_dequeue(struct capi
mq->next = np->msgidfree;
np->msgidfree = mq;
np->nmsg--;
return 0;
}
-@@ -720,16 +712,12 @@
+@@ -720,16 +712,12 @@ static void controllercb_appl_released(s
nextpp = &(*pp)->next;
}
}
}
/*
* ncci management
-@@ -882,7 +870,16 @@
+@@ -882,7 +870,16 @@ error:
static void controllercb_ready(struct capi_ctr * card)
{
printk(KERN_NOTICE "kcapi: card %d \"%s\" ready.\n",
CARDNR(card), card->name);
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1isa.c linux-2.4.29/drivers/isdn/avmb1/t1isa.c
---- linux-2.4.29.old/drivers/isdn/avmb1/t1isa.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/t1isa.c 2005-03-22 15:06:45.078239848 +0100
+--- a/drivers/isdn/avmb1/t1isa.c
++++ b/drivers/isdn/avmb1/t1isa.c
@@ -1,4 +1,4 @@
-/* $Id: t1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: t1isa.c,v 1.22 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-diff -rNu linux-2.4.29.old/drivers/isdn/avmb1/t1pci.c linux-2.4.29/drivers/isdn/avmb1/t1pci.c
---- linux-2.4.29.old/drivers/isdn/avmb1/t1pci.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/avmb1/t1pci.c 2005-03-22 15:06:45.094237416 +0100
+--- a/drivers/isdn/avmb1/t1pci.c
++++ b/drivers/isdn/avmb1/t1pci.c
@@ -1,4 +1,4 @@
-/* $Id: t1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: t1pci.c,v 1.25 2001/09/24 13:22:44 kai Exp $
MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM T1 PCI card");
MODULE_AUTHOR("Carsten Paeth");
MODULE_LICENSE("GPL");
-@@ -264,9 +267,9 @@
+@@ -264,9 +267,9 @@ static int __init t1pci_init(void)
}
pci_set_master(dev);
printk(KERN_INFO
"%s: PCI BIOS reports AVM-T1-PCI at i/o %#x, irq %d, mem %#x\n",
-diff -rNu linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c linux-2.4.29/drivers/isdn/divert/divert_procfs.c
---- linux-2.4.29.old/drivers/isdn/divert/divert_procfs.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/divert/divert_procfs.c 2005-03-22 15:06:45.158227688 +0100
+--- a/drivers/isdn/divert/divert_procfs.c
++++ b/drivers/isdn/divert/divert_procfs.c
@@ -1,4 +1,4 @@
-/* $Id: divert_procfs.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
#include "isdn_divert.h"
/*********************************/
-@@ -80,7 +83,6 @@
+@@ -80,7 +83,6 @@ static ssize_t
isdn_divert_read(struct file *file, char *buf, size_t count, loff_t * off)
{
struct divert_info *inf;
int len;
if (!*((struct divert_info **) file->private_data)) {
-@@ -92,11 +94,11 @@
+@@ -92,11 +94,11 @@ isdn_divert_read(struct file *file, char
return (0);
inf->usage_cnt--; /* new usage count */
return (len);
}
return (0);
-@@ -136,17 +138,23 @@
+@@ -136,17 +138,23 @@ isdn_divert_open(struct inode *ino, stru
{
unsigned long flags;
return (0);
} /* isdn_divert_open */
-@@ -159,7 +167,9 @@
+@@ -159,7 +167,9 @@ isdn_divert_close(struct inode *ino, str
struct divert_info *inf;
unsigned long flags;
save_flags(flags);
cli();
if_used--;
-@@ -175,7 +185,11 @@
+@@ -175,7 +185,11 @@ isdn_divert_close(struct inode *ino, str
divert_info_head = divert_info_head->next;
kfree(inf);
}
return (0);
} /* isdn_divert_close */
-@@ -276,6 +290,9 @@
+@@ -276,6 +290,9 @@ static struct file_operations isdn_fops
open: isdn_divert_open,
release: isdn_divert_close,
};
/****************************/
/* isdn subdir in /proc/net */
-@@ -302,8 +319,16 @@
+@@ -302,8 +319,16 @@ divert_dev_init(void)
remove_proc_entry("isdn", proc_net);
return (-1);
}
#endif /* CONFIG_PROC_FS */
return (0);
-diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c linux-2.4.29/drivers/isdn/divert/isdn_divert.c
---- linux-2.4.29.old/drivers/isdn/divert/isdn_divert.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/divert/isdn_divert.c 2005-03-22 15:06:45.173225408 +0100
+--- a/drivers/isdn/divert/isdn_divert.c
++++ b/drivers/isdn/divert/isdn_divert.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_divert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* DSS1 main diversion supplementary handling for i4l.
*
-@@ -84,6 +84,9 @@
+@@ -84,6 +84,9 @@ static void deflect_timer_expire(ulong a
restore_flags(flags);
break;
case DEFLECT_AUTODEL:
default:
save_flags(flags);
-@@ -452,6 +455,7 @@
+@@ -452,6 +455,7 @@ int isdn_divert_icall(isdn_ctrl *ic)
case DEFLECT_PROCEED:
case DEFLECT_REPORT:
case DEFLECT_REJECT:
if (dv->rule.action == DEFLECT_PROCEED)
if ((!if_used) || ((!extern_wait_max) && (!dv->rule.waittime)))
return(0); /* no external deflection needed */
-@@ -495,6 +499,11 @@
+@@ -495,6 +499,11 @@ int isdn_divert_icall(isdn_ctrl *ic)
else
{ cs->deflect_dest[0] = '\0';
retval = 4; /* only proceed */
}
sprintf(cs->info,"%d 0x%lx %s %s %s %s 0x%x 0x%x %d %d %s\n",
cs->akt_state,
-@@ -739,6 +748,18 @@
+@@ -739,6 +748,18 @@ int prot_stat_callback(isdn_ctrl *ic)
}
break;
default:
-diff -rNu linux-2.4.29.old/drivers/isdn/divert/isdn_divert.h linux-2.4.29/drivers/isdn/divert/isdn_divert.h
---- linux-2.4.29.old/drivers/isdn/divert/isdn_divert.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/divert/isdn_divert.h 2005-03-22 15:06:45.189222976 +0100
+--- a/drivers/isdn/divert/isdn_divert.h
++++ b/drivers/isdn/divert/isdn_divert.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_divert.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
#define DEFLECT_AUTODEL 255 /* only for internal use */
#define DEFLECT_ALL_IDS 0xFFFFFFFF /* all drivers selected */
-@@ -60,6 +61,7 @@
+@@ -60,6 +61,7 @@ typedef struct
2 = report call, send proceed, wait max waittime secs
3 = report call, alert and deflect after waittime
4 = report call, reject immediately
actions 1-2 only take place if interface is opened
*/
u_char waittime; /* maximum wait time for proceeding */
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/Divas_mod.c linux-2.4.29/drivers/isdn/eicon/Divas_mod.c
---- linux-2.4.29.old/drivers/isdn/eicon/Divas_mod.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/Divas_mod.c 2005-03-22 15:06:45.229216896 +0100
+--- a/drivers/isdn/eicon/Divas_mod.c
++++ b/drivers/isdn/eicon/Divas_mod.c
@@ -20,6 +20,7 @@
#include "adapter.h"
#include "uxio.h"
MODULE_DESCRIPTION("ISDN4Linux: Driver for Eicon Diva Server cards");
MODULE_AUTHOR("Armin Schindler");
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/common.c linux-2.4.29/drivers/isdn/eicon/common.c
---- linux-2.4.29.old/drivers/isdn/eicon/common.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/common.c 2005-03-22 15:06:45.301205952 +0100
-@@ -808,9 +808,7 @@
+--- a/drivers/isdn/eicon/common.c
++++ b/drivers/isdn/eicon/common.c
+@@ -808,9 +808,7 @@ void DivasDoDpc(void *pData)
while(i--)
{
}
}
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon.h linux-2.4.29/drivers/isdn/eicon/eicon.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon.h 2005-03-22 15:06:45.371195312 +0100
+--- a/drivers/isdn/eicon/eicon.h
++++ b/drivers/isdn/eicon/eicon.h
@@ -1,4 +1,4 @@
-/* $Id: eicon.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon.h,v 1.26 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards.
*
-@@ -348,19 +348,19 @@
+@@ -347,19 +347,19 @@ typedef struct eicon_card {
extern char *eicon_ctype_name[];
{
queue_task(&card->ack_tq, &tq_immediate);
mark_bh(IMMEDIATE_BH);
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_dsp.h linux-2.4.29/drivers/isdn/eicon/eicon_dsp.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_dsp.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_dsp.h 2005-03-22 15:06:45.386193032 +0100
+--- a/drivers/isdn/eicon/eicon_dsp.h
++++ b/drivers/isdn/eicon/eicon_dsp.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_dsp.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_dsp.h,v 1.8 2001/09/24 13:22:47 kai Exp $
*
* ISDN lowlevel-module for Eicon active cards.
* DSP definitions
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c linux-2.4.29/drivers/isdn/eicon/eicon_idi.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_idi.c 2005-03-22 15:06:45.421187712 +0100
+--- a/drivers/isdn/eicon/eicon_idi.c
++++ b/drivers/isdn/eicon/eicon_idi.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_idi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_idi.c,v 1.45 2001/11/07 22:35:48 kai Exp $
eicon_manifbuf *manbuf;
-@@ -1583,6 +1583,37 @@
+@@ -1583,6 +1583,37 @@ idi_faxdata_rcv(eicon_card *ccard, eicon
return;
}
if (chan->fax->direction == ISDN_TTY_FAX_CONN_IN) {
-@@ -2054,8 +2085,7 @@
+@@ -2054,8 +2085,7 @@ idi_faxdata_send(eicon_card *ccard, eico
OutBuf.Len++;
} else {
*OutBuf.Next++ = 0;
OutBuf.Len += 3;
}
memcpy(OutBuf.Next, LineBuf.Data, LineBuf.Len);
-@@ -2385,6 +2415,12 @@
+@@ -2385,6 +2415,12 @@ idi_handle_ind(eicon_card *ccard, struct
} else {
if (chan->e.B2Id)
idi_do_req(ccard, chan, REMOVE, 1);
chan->statectrl &= ~WAITING_FOR_HANGUP;
chan->statectrl &= ~IN_HOLD;
if (chan->statectrl & HAVE_CONN_REQ) {
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.h linux-2.4.29/drivers/isdn/eicon/eicon_idi.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_idi.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_idi.h 2005-03-22 15:06:45.437185280 +0100
+--- a/drivers/isdn/eicon/eicon_idi.h
++++ b/drivers/isdn/eicon/eicon_idi.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_idi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_idi.h,v 1.12 2001/09/24 13:22:47 kai Exp $
*
* ISDN lowlevel-module for the Eicon active cards.
* IDI-Interface
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_io.c linux-2.4.29/drivers/isdn/eicon/eicon_io.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_io.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_io.c 2005-03-22 15:06:45.453182848 +0100
+--- a/drivers/isdn/eicon/eicon_io.c
++++ b/drivers/isdn/eicon/eicon_io.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_io.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_io.c,v 1.15 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards.
* Code for communicating with hardware.
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c linux-2.4.29/drivers/isdn/eicon/eicon_isa.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_isa.c 2005-03-22 15:06:45.469180416 +0100
+--- a/drivers/isdn/eicon/eicon_isa.c
++++ b/drivers/isdn/eicon/eicon_isa.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_isa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_isa.c,v 1.18 2001/11/07 22:35:48 kai Exp $
#undef EICON_MCA_DEBUG
-@@ -38,8 +38,12 @@
+@@ -38,8 +38,12 @@ static int eicon_isa_valid_irq[] = {
static void
eicon_isa_release_shmem(eicon_isa_card *card) {
if (card->mvalid) {
}
card->mvalid = 0;
}
-@@ -94,12 +98,20 @@
+@@ -94,12 +98,20 @@ eicon_isa_find_card(int Mem, int Irq, ch
Mem, Id);
return -1;
}
writew(0x55aa, amem + 0x402);
if (readw(amem + 0x402) != 0x55aa) primary = 0;
writew(0, amem + 0x402);
-@@ -109,12 +121,16 @@
+@@ -109,12 +121,16 @@ eicon_isa_find_card(int Mem, int Irq, ch
if (primary) {
printk(KERN_INFO "Eicon: assuming pri card at 0x%x\n", Mem);
writeb(0, amem + 0x3ffe);
return EICON_CTYPE_ISABRI;
}
return -1;
-@@ -151,6 +167,7 @@
+@@ -151,6 +167,7 @@ eicon_isa_bootload(eicon_isa_card *card,
else
card->ramsize = RAMSIZE;
if (check_mem_region(card->physmem, card->ramsize)) {
printk(KERN_WARNING "eicon_isa_boot: memory at 0x%lx already in use.\n",
card->physmem);
-@@ -159,6 +176,16 @@
+@@ -159,6 +176,16 @@ eicon_isa_bootload(eicon_isa_card *card,
}
request_mem_region(card->physmem, card->ramsize, "Eicon ISA ISDN");
card->shmem = (eicon_isa_shmem *) ioremap(card->physmem, card->ramsize);
#ifdef EICON_MCA_DEBUG
printk(KERN_INFO "eicon_isa_boot: card->ramsize = %d.\n", card->ramsize);
#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.h linux-2.4.29/drivers/isdn/eicon/eicon_isa.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_isa.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_isa.h 2005-03-22 15:06:45.485177984 +0100
+--- a/drivers/isdn/eicon/eicon_isa.h
++++ b/drivers/isdn/eicon/eicon_isa.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_isa.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_isa.h,v 1.11 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c linux-2.4.29/drivers/isdn/eicon/eicon_mod.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_mod.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_mod.c 2005-03-22 15:06:45.505174944 +0100
+--- a/drivers/isdn/eicon/eicon_mod.c
++++ b/drivers/isdn/eicon/eicon_mod.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_mod.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_mod.c,v 1.44 2001/11/20 09:48:25 armin Exp $
extern char *eicon_pci_revision;
extern char *eicon_isa_revision;
-@@ -639,6 +639,18 @@
+@@ -639,6 +639,18 @@ if_command(isdn_ctrl * c)
static int
if_writecmd(const u_char * buf, int len, int user, int id, int channel)
{
return (len);
}
-@@ -665,11 +677,8 @@
+@@ -665,11 +677,8 @@ if_readstatus(u_char * buf, int len, int
else
cnt = skb->len;
else
memcpy(p, skb->data, cnt);
-@@ -1459,6 +1468,7 @@
+@@ -1459,6 +1468,7 @@ eicon_exit(void)
#ifndef MODULE
static int __init
eicon_setup(char *line)
{
-@@ -1467,6 +1477,12 @@
+@@ -1467,6 +1477,12 @@ eicon_setup(char *line)
char *str;
str = get_options(line, 4, ints);
argc = ints[0];
i = 1;
-@@ -1494,9 +1510,13 @@
+@@ -1494,9 +1510,13 @@ eicon_setup(char *line)
#else
printk(KERN_INFO "Eicon ISDN active driver setup\n");
#endif
#endif /* MODULE */
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.c linux-2.4.29/drivers/isdn/eicon/eicon_pci.c
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_pci.c 2005-03-22 15:06:45.522172360 +0100
+--- a/drivers/isdn/eicon/eicon_pci.c
++++ b/drivers/isdn/eicon/eicon_pci.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_pci.c,v 1.18 2001/09/24 13:22:47 kai Exp $
#if CONFIG_PCI /* intire stuff is only for PCI */
#ifdef CONFIG_ISDN_DRV_EICON_PCI
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.h linux-2.4.29/drivers/isdn/eicon/eicon_pci.h
---- linux-2.4.29.old/drivers/isdn/eicon/eicon_pci.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/eicon_pci.h 2005-03-22 15:06:45.538169928 +0100
+--- a/drivers/isdn/eicon/eicon_pci.h
++++ b/drivers/isdn/eicon/eicon_pci.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_pci.h,v 1.7 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards (PCI part).
*
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/fourbri.c linux-2.4.29/drivers/isdn/eicon/fourbri.c
---- linux-2.4.29.old/drivers/isdn/eicon/fourbri.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/fourbri.c 2005-03-22 15:06:45.553167648 +0100
-@@ -337,8 +337,7 @@
+--- a/drivers/isdn/eicon/fourbri.c
++++ b/drivers/isdn/eicon/fourbri.c
+@@ -337,8 +337,7 @@ static int diva_server_4bri_load(card_t
static int diva_server_4bri_start(card_t *card, byte *channels)
{
byte *ctl;
int adapter_num;
DPRINTF(("divas: start Diva Server 4BRI"));
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/kprintf.c linux-2.4.29/drivers/isdn/eicon/kprintf.c
---- linux-2.4.29.old/drivers/isdn/eicon/kprintf.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/kprintf.c 2005-03-22 15:06:45.601160352 +0100
+--- a/drivers/isdn/eicon/kprintf.c
++++ b/drivers/isdn/eicon/kprintf.c
@@ -18,6 +18,468 @@
#include "divalog.h"
#include "uxio.h"
void DivasPrintf(char *fmt, ...)
{
-@@ -40,7 +502,7 @@
+@@ -40,7 +502,7 @@ void DivasPrintf(char *fmt, ...)
/* call vsprintf to format the user's information */
va_end(argptr);
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/lincfg.c linux-2.4.29/drivers/isdn/eicon/lincfg.c
---- linux-2.4.29.old/drivers/isdn/eicon/lincfg.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/lincfg.c 2005-03-22 15:06:45.620157464 +0100
+--- a/drivers/isdn/eicon/lincfg.c
++++ b/drivers/isdn/eicon/lincfg.c
@@ -26,6 +26,9 @@
#include "uxio.h"
#include <linux/kernel.h>
#include <linux/ioport.h>
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/linchr.c linux-2.4.29/drivers/isdn/eicon/linchr.c
---- linux-2.4.29.old/drivers/isdn/eicon/linchr.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/linchr.c 2005-03-22 15:06:45.635155184 +0100
-@@ -154,17 +154,17 @@
+--- a/drivers/isdn/eicon/linchr.c
++++ b/drivers/isdn/eicon/linchr.c
+@@ -154,17 +154,17 @@ ssize_t do_read(struct file *pFile, char
klog_t *pHeadItem;
if (BufferSize < sizeof(klog_t))
kfree(pHeadItem);
return sizeof(klog_t);
}
-diff -rNu linux-2.4.29.old/drivers/isdn/eicon/linio.c linux-2.4.29/drivers/isdn/eicon/linio.c
---- linux-2.4.29.old/drivers/isdn/eicon/linio.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/eicon/linio.c 2005-03-22 15:06:45.651152752 +0100
+--- a/drivers/isdn/eicon/linio.c
++++ b/drivers/isdn/eicon/linio.c
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/pci.h>
#undef N_DATA
#include "uxio.h"
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/Makefile linux-2.4.29/drivers/isdn/hisax/Makefile
---- linux-2.4.29.old/drivers/isdn/hisax/Makefile 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/Makefile 2005-03-22 15:06:45.819127216 +0100
+--- a/drivers/isdn/hisax/Makefile
++++ b/drivers/isdn/hisax/Makefile
@@ -4,20 +4,17 @@
O_TARGET := vmlinux-obj.o
# Optional parts of multipart objects.
hisax-objs-$(CONFIG_HISAX_EURO) += l3dss1.o
-@@ -33,7 +30,7 @@
+@@ -33,7 +30,7 @@ hisax-objs-$(CONFIG_HISAX_AVM_A1_PCMCIA)
hisax-objs-$(CONFIG_HISAX_FRITZPCI) += avm_pci.o isac.o arcofi.o
hisax-objs-$(CONFIG_HISAX_ELSA) += elsa.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_IX1MICROR2) += ix1_micro.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_ASUSCOM) += asuscom.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_TELEINT) += teleint.o isac.o arcofi.o hfc_2bs0.o
hisax-objs-$(CONFIG_HISAX_SEDLBAUER) += sedlbauer.o isac.o arcofi.o hscx.o isar.o
-@@ -44,6 +41,7 @@
+@@ -44,6 +41,7 @@ hisax-objs-$(CONFIG_HISAX_NETJET_U) += n
hisax-objs-$(CONFIG_HISAX_HFCS) += hfcscard.o hfc_2bds0.o
hisax-objs-$(CONFIG_HISAX_HFC_PCI) += hfc_pci.o
hisax-objs-$(CONFIG_HISAX_HFC_SX) += hfc_sx.o
hisax-objs-$(CONFIG_HISAX_NICCY) += niccy.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_ISURF) += isurf.o isac.o arcofi.o isar.o
hisax-objs-$(CONFIG_HISAX_HSTSAPHIR) += saphir.o isac.o arcofi.o hscx.o
-@@ -51,7 +49,6 @@
+@@ -51,7 +49,6 @@ hisax-objs-$(CONFIG_HISAX_BKM_A4T) += bk
hisax-objs-$(CONFIG_HISAX_SCT_QUADRO) += bkm_a8.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_GAZEL) += gazel.o isac.o arcofi.o hscx.o
hisax-objs-$(CONFIG_HISAX_W6692) += w6692.o
#hisax-objs-$(CONFIG_HISAX_TESTEMU) += testemu.o
hisax-objs += $(sort $(hisax-objs-y))
-@@ -61,10 +58,9 @@
+@@ -61,10 +58,9 @@ hisax-objs += $(sort $(hisax-objs-y))
obj-$(CONFIG_ISDN_DRV_HISAX) += hisax.o
obj-$(CONFIG_HISAX_SEDLBAUER_CS) += sedlbauer_cs.o
obj-$(CONFIG_HISAX_ELSA_CS) += elsa_cs.o
CERT := $(shell md5sum -c md5sums.asc >> /dev/null;echo $$?)
CFLAGS_cert.o := -DCERTIFICATION=$(CERT)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/amd7930.c linux-2.4.29/drivers/isdn/hisax/amd7930.c
---- linux-2.4.29.old/drivers/isdn/hisax/amd7930.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/amd7930.c 2005-03-22 15:06:45.837124480 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/amd7930.c
@@ -0,0 +1,755 @@
+/* $Id: amd7930.c,v 1.8 2001/09/24 13:22:55 kai Exp $
+ *
+
+ return (1);
+}
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/arcofi.c linux-2.4.29/drivers/isdn/hisax/arcofi.c
---- linux-2.4.29.old/drivers/isdn/hisax/arcofi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/arcofi.c 2005-03-22 15:06:45.852122200 +0100
+--- a/drivers/isdn/hisax/arcofi.c
++++ b/drivers/isdn/hisax/arcofi.c
@@ -1,4 +1,4 @@
-/* $Id: arcofi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: arcofi.c,v 1.14 2001/09/24 13:22:55 kai Exp $
*
* Ansteuerung ARCOFI 2165
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/arcofi.h linux-2.4.29/drivers/isdn/hisax/arcofi.h
---- linux-2.4.29.old/drivers/isdn/hisax/arcofi.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/arcofi.h 2005-03-22 15:06:45.872119160 +0100
+--- a/drivers/isdn/hisax/arcofi.h
++++ b/drivers/isdn/hisax/arcofi.h
@@ -1,4 +1,4 @@
-/* $Id: arcofi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* Ansteuerung ARCOFI 2165
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/asuscom.c linux-2.4.29/drivers/isdn/hisax/asuscom.c
---- linux-2.4.29.old/drivers/isdn/hisax/asuscom.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/asuscom.c 2005-03-22 15:06:45.889116576 +0100
+--- a/drivers/isdn/hisax/asuscom.c
++++ b/drivers/isdn/hisax/asuscom.c
@@ -1,4 +1,4 @@
-/* $Id: asuscom.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: asuscom.c,v 1.14 2001/09/24 13:22:55 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-@@ -310,27 +309,6 @@
+@@ -310,27 +309,6 @@ Asus_card_msg(struct IsdnCardState *cs,
return(0);
}
int __init
setup_asuscom(struct IsdnCard *card)
{
-@@ -343,45 +321,7 @@
+@@ -343,45 +321,7 @@ setup_asuscom(struct IsdnCard *card)
printk(KERN_INFO "HiSax: Asuscom ISDNLink driver Rev. %s\n", HiSax_getrev(tmp));
if (cs->typ != ISDN_CTYPE_ASUSCOM)
return (0);
bytecnt = 8;
cs->hw.asus.cfg_reg = card->para[1];
cs->irq = card->para[0];
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_a1.c linux-2.4.29/drivers/isdn/hisax/avm_a1.c
---- linux-2.4.29.old/drivers/isdn/hisax/avm_a1.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/avm_a1.c 2005-03-22 15:06:45.904114296 +0100
+--- a/drivers/isdn/hisax/avm_a1.c
++++ b/drivers/isdn/hisax/avm_a1.c
@@ -1,4 +1,4 @@
-/* $Id: avm_a1.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: avm_a1.c,v 2.15 2001/09/24 13:22:55 kai Exp $
#define AVM_A1_STAT_ISAC 0x01
#define AVM_A1_STAT_HSCX 0x02
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_a1p.c linux-2.4.29/drivers/isdn/hisax/avm_a1p.c
---- linux-2.4.29.old/drivers/isdn/hisax/avm_a1p.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/avm_a1p.c 2005-03-22 15:06:45.919112016 +0100
+--- a/drivers/isdn/hisax/avm_a1p.c
++++ b/drivers/isdn/hisax/avm_a1p.c
@@ -1,4 +1,4 @@
-/* $Id: avm_a1p.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: avm_a1p.c,v 2.9 2001/09/24 13:22:55 kai Exp $
static inline u_char
ReadISAC(struct IsdnCardState *cs, u_char offset)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c linux-2.4.29/drivers/isdn/hisax/avm_pci.c
---- linux-2.4.29.old/drivers/isdn/hisax/avm_pci.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/avm_pci.c 2005-03-22 15:06:45.945108064 +0100
+--- a/drivers/isdn/hisax/avm_pci.c
++++ b/drivers/isdn/hisax/avm_pci.c
@@ -1,4 +1,4 @@
-/* $Id: avm_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: avm_pci.c,v 1.29 2001/09/24 13:22:55 kai Exp $
#define AVM_FRITZ_PCI 1
#define AVM_FRITZ_PNP 2
-@@ -291,8 +291,7 @@
+@@ -291,8 +291,7 @@ hdlc_empty_fifo(struct BCState *bcs, int
debugl1(cs, "hdlc_empty_fifo: incoming packet too large");
return;
}
bcs->hw.hdlc.rcvidx += count;
if (cs->subtyp == AVM_FRITZ_PCI) {
outl(idx, cs->hw.avm.cfg_reg + 4);
-@@ -353,8 +352,7 @@
+@@ -353,8 +352,7 @@ hdlc_fill_fifo(struct BCState *bcs)
}
if ((cs->debug & L1_DEB_HSCX) && !(cs->debug & L1_DEB_HSCX_FIFO))
debugl1(cs, "hdlc_fill_fifo %d/%ld", count, bcs->tx_skb->len);
skb_pull(bcs->tx_skb, count);
bcs->tx_cnt -= count;
bcs->hw.hdlc.count += count;
-@@ -766,10 +764,6 @@
+@@ -766,10 +764,6 @@ AVM_card_msg(struct IsdnCardState *cs, i
}
static struct pci_dev *dev_avm __initdata = NULL;
int __init
setup_avm_pcipnp(struct IsdnCard *card)
-@@ -783,47 +777,10 @@
+@@ -783,47 +777,10 @@ setup_avm_pcipnp(struct IsdnCard *card)
if (cs->typ != ISDN_CTYPE_FRITZPCI)
return (0);
if (card->para[1]) {
#if CONFIG_PCI
if (!pci_present()) {
printk(KERN_ERR "FritzPCI: no PCI bus present\n");
-@@ -838,7 +795,7 @@
+@@ -838,7 +795,7 @@ setup_avm_pcipnp(struct IsdnCard *card)
}
if (pci_enable_device(dev_avm))
return(0);
if (!cs->hw.avm.cfg_reg) {
printk(KERN_ERR "FritzPCI: No IO-Adr for PCI card found\n");
return(0);
-@@ -854,7 +811,6 @@
+@@ -854,7 +811,6 @@ setup_avm_pcipnp(struct IsdnCard *card)
return (0);
#endif /* CONFIG_PCI */
}
cs->hw.avm.isac = cs->hw.avm.cfg_reg + 0x10;
if (check_region((cs->hw.avm.cfg_reg), 32)) {
printk(KERN_WARNING
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a4t.c linux-2.4.29/drivers/isdn/hisax/bkm_a4t.c
---- linux-2.4.29.old/drivers/isdn/hisax/bkm_a4t.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/bkm_a4t.c 2005-03-22 15:06:45.962105480 +0100
+--- a/drivers/isdn/hisax/bkm_a4t.c
++++ b/drivers/isdn/hisax/bkm_a4t.c
@@ -1,4 +1,4 @@
-/* $Id: bkm_a4t.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: bkm_a4t.c,v 1.22 2001/09/24 13:22:55 kai Exp $
static inline u_char
-@@ -293,13 +294,13 @@
+@@ -293,13 +294,13 @@ setup_bkm_a4t(struct IsdnCard *card)
u16 sub_sys;
u16 sub_vendor;
cs->irq = dev_a4t->irq;
break;
}
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c linux-2.4.29/drivers/isdn/hisax/bkm_a8.c
---- linux-2.4.29.old/drivers/isdn/hisax/bkm_a8.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/bkm_a8.c 2005-03-22 15:06:45.982102440 +0100
+--- a/drivers/isdn/hisax/bkm_a8.c
++++ b/drivers/isdn/hisax/bkm_a8.c
@@ -1,4 +1,4 @@
-/* $Id: bkm_a8.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: bkm_a8.c,v 1.22 2001/09/24 13:22:55 kai Exp $
static const char *sct_quadro_subtypes[] =
{
-@@ -329,13 +330,13 @@
+@@ -329,13 +330,13 @@ setup_sct_quadro(struct IsdnCard *card)
while ((dev_a8 = pci_find_device(PCI_VENDOR_ID_PLX,
PCI_DEVICE_ID_PLX_9050, dev_a8))) {
pci_irq = dev_a8->irq;
pci_bus = dev_a8->bus->number;
pci_device_fn = dev_a8->devfn;
-@@ -365,7 +366,7 @@
+@@ -365,7 +366,7 @@ setup_sct_quadro(struct IsdnCard *card)
pci_ioaddr1 &= PCI_BASE_ADDRESS_IO_MASK;
pcibios_write_config_dword(pci_bus, pci_device_fn,
PCI_BASE_ADDRESS_1, pci_ioaddr1);
}
#endif /* End HACK */
}
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/bkm_ax.h linux-2.4.29/drivers/isdn/hisax/bkm_ax.h
---- linux-2.4.29.old/drivers/isdn/hisax/bkm_ax.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/bkm_ax.h 2005-03-22 15:06:46.010098184 +0100
+--- a/drivers/isdn/hisax/bkm_ax.h
++++ b/drivers/isdn/hisax/bkm_ax.h
@@ -1,4 +1,4 @@
-/* $Id: bkm_ax.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* low level decls for T-Berkom cards A4T and Scitel Quadro (4*S0, passive)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/callc.c linux-2.4.29/drivers/isdn/hisax/callc.c
---- linux-2.4.29.old/drivers/isdn/hisax/callc.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/callc.c 2005-03-22 15:06:46.027095600 +0100
+--- a/drivers/isdn/hisax/callc.c
++++ b/drivers/isdn/hisax/callc.c
@@ -1,4 +1,4 @@
-/* $Id: callc.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: callc.c,v 2.59 2002/02/09 21:19:11 keil Exp $
extern struct IsdnCard cards[];
extern int nrcards;
-@@ -145,9 +145,11 @@
+@@ -145,9 +145,11 @@ enum {
EV_PROCEED, /* 20 */
EV_ALERT, /* 21 */
EV_REDIR, /* 22 */
static char *strEvent[] =
{
-@@ -174,6 +176,8 @@
+@@ -174,6 +176,8 @@ static char *strEvent[] =
"EV_PROCEED",
"EV_ALERT",
"EV_REDIR",
};
-@@ -286,6 +290,22 @@
+@@ -286,6 +290,22 @@ lli_prep_dialout(struct FsmInst *fi, int
}
static void
lli_resume(struct FsmInst *fi, int event, void *arg)
{
struct Channel *chanp = fi->userdata;
-@@ -784,6 +804,8 @@
+@@ -784,6 +804,8 @@ static struct FsmNode fnlist[] __initdat
{ST_OUT_DIAL, EV_DISCONNECT_IND, lli_release_req},
{ST_OUT_DIAL, EV_RELEASE, lli_dhup_close},
{ST_OUT_DIAL, EV_NOSETUP_RSP, lli_no_setup_rsp},
{ST_OUT_DIAL, EV_SETUP_ERR, lli_error},
{ST_IN_WAIT_LL, EV_LEASED_REL, lli_failure_l},
{ST_IN_WAIT_LL, EV_ACCEPTD, lli_setup_rsp},
-@@ -925,7 +947,7 @@
+@@ -925,7 +947,7 @@ static void stat_redir_result(struct Isd
ic.driver = cs->myid;
ic.command = ISDN_STAT_REDIR;
ic.arg = chan;
cs->iif.statcallb(&ic);
} /* stat_redir_result */
-@@ -997,8 +1019,13 @@
+@@ -997,8 +1019,13 @@ dchan_l3l4(struct PStack *st, int pr, vo
FsmEvent(&chanp->fi, EV_RELEASE, NULL);
break;
case (CC_PROCEED_SEND | INDICATION):
case (CC_PROGRESS | INDICATION):
case (CC_NOTIFY | INDICATION):
break;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/cert.c linux-2.4.29/drivers/isdn/hisax/cert.c
---- linux-2.4.29.old/drivers/isdn/hisax/cert.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/cert.c 2005-03-22 15:06:46.042093320 +0100
+--- a/drivers/isdn/hisax/cert.c
++++ b/drivers/isdn/hisax/cert.c
@@ -1,4 +1,4 @@
-/* $Id: cert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: cert.c,v 2.6 2001/09/24 13:22:56 kai Exp $
*
* Author Karsten Keil
* Copyright by Karsten Keil <keil@isdn4linux.de>
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/config.c linux-2.4.29/drivers/isdn/hisax/config.c
---- linux-2.4.29.old/drivers/isdn/hisax/config.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/config.c 2005-03-22 15:06:46.077088000 +0100
+--- a/drivers/isdn/hisax/config.c
++++ b/drivers/isdn/hisax/config.c
@@ -1,4 +1,4 @@
-/* $Id: config.c,v 1.1.4.5 2001/12/09 19:19:26 kai Exp $
+/* $Id: config.c,v 2.84 2002/08/13 09:55:29 keil Exp $
*
* protocol can be either ISDN_PTYPE_EURO or ISDN_PTYPE_1TR6 or ISDN_PTYPE_NI1
*
-@@ -95,11 +99,17 @@
+@@ -95,11 +99,17 @@ const char *CardType[] = {
"Siemens I-Surf", "Acer P10", "HST Saphir", "Telekom A4T",
"Scitel Quadro", "Gazel", "HFC 2BDS0 PCI", "Winbond 6692",
"HFC 2BDS0 SX", "NETspider-U", "HFC-2BDS0-SP PCMCIA",
#ifdef CONFIG_HISAX_ELSA
#define DEFAULT_CARD ISDN_CTYPE_ELSA
#define DEFAULT_CFG {0,0,0,0}
-@@ -339,19 +349,27 @@
+@@ -339,19 +349,27 @@ EXPORT_SYMBOL(HiSax_closecard);
NULL, \
}
#undef IO0_IO1
#ifdef CONFIG_HISAX_16_3
#define IO0_IO1
-@@ -361,27 +379,23 @@
+@@ -361,27 +379,23 @@ static int io[HISAX_MAX_CARDS] __devinit
#define IO0_IO1
#endif
#ifdef IO0_IO1
#endif
#endif /* MODULE */
-@@ -432,6 +446,7 @@
+@@ -432,6 +446,7 @@ void __init HiSaxVersion(void)
}
#ifndef MODULE
#define MAX_ARG (HISAX_MAX_CARDS*5)
static int __init HiSax_setup(char *line)
{
-@@ -440,12 +455,16 @@
+@@ -440,12 +455,16 @@ static int __init HiSax_setup(char *line
char *str;
str = get_options(line, MAX_ARG, ints);
if (argc) {
cards[i].typ = ints[j];
j++;
-@@ -473,19 +492,21 @@
+@@ -473,19 +492,21 @@ static int __init HiSax_setup(char *line
}
i++;
}
#endif /* MODULES */
#if CARD_TELES0
-@@ -560,6 +581,10 @@
+@@ -560,6 +581,10 @@ extern int setup_hfcs(struct IsdnCard *c
extern int setup_hfcpci(struct IsdnCard *card);
#endif
#if CARD_HFC_SX
extern int setup_hfcsx(struct IsdnCard *card);
#endif
-@@ -604,10 +629,6 @@
+@@ -604,10 +629,6 @@ extern int setup_w6692(struct IsdnCard *
extern int setup_netjet_u(struct IsdnCard *card);
#endif
/*
* Find card with given driverId
*/
-@@ -899,7 +920,8 @@
+@@ -899,7 +920,8 @@ static int __devinit init_card(struct Is
return 3;
}
{
long flags;
int ret = 0;
-@@ -1093,6 +1115,12 @@
+@@ -1093,6 +1115,12 @@ static int __devinit checkcard(int cardn
ret = setup_hfcsx(card);
break;
#endif
#if CARD_NICCY
case ISDN_CTYPE_NICCY:
ret = setup_niccy(card);
-@@ -1143,11 +1171,6 @@
+@@ -1143,11 +1171,6 @@ static int __devinit checkcard(int cardn
ret = setup_netjet_u(card);
break;
#endif
case ISDN_CTYPE_DYNAMIC:
ret = 2;
break;
-@@ -1186,6 +1209,9 @@
+@@ -1186,6 +1209,9 @@ static int __devinit checkcard(int cardn
case ISDN_CTYPE_DYNAMIC:
ret = 0;
break;
default:
ret = init_card(cs);
break;
-@@ -1257,16 +1283,13 @@
+@@ -1257,16 +1283,13 @@ int __devinit HiSax_inithardware(int *bu
else
sprintf(ids, "%s%d", id, i);
}
HiSax_shiftcards(i);
nrcards--;
}
-@@ -1342,6 +1365,49 @@
+@@ -1342,6 +1365,49 @@ void HiSax_reportcard(int cardnr, int se
#endif
}
static int __init HiSax_init(void)
{
int i, retval;
-@@ -1408,8 +1474,6 @@
+@@ -1408,8 +1474,6 @@ static int __init HiSax_init(void)
if (protocol[i]) {
cards[j].protocol = protocol[i];
nzproto++;
}
switch (type[i]) {
case ISDN_CTYPE_16_0:
-@@ -1487,22 +1551,15 @@
+@@ -1487,22 +1551,15 @@ static int __init HiSax_init(void)
} else {
/* QUADRO is a 4 BRI card */
cards[j++].para[0] = 1;
}
break;
}
-@@ -1526,10 +1583,15 @@
+@@ -1526,10 +1583,15 @@ static int __init HiSax_init(void)
nrcards, (nrcards > 1) ? "s" : "");
/* Install only, if at least one card found */
out_tei:
TeiFree();
out_isdnl2:
-@@ -1576,8 +1638,6 @@
+@@ -1576,8 +1638,6 @@ int elsa_init_pcmcia(void *pcm_iob, int
cards[i].typ = type[i];
if (protocol[i]) {
cards[i].protocol = protocol[i];
}
}
cards[0].para[0] = pcm_irq;
-@@ -1595,8 +1655,7 @@
+@@ -1595,8 +1655,7 @@ int elsa_init_pcmcia(void *pcm_iob, int
printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
nrcards, (nrcards > 1) ? "s" : "");
printk(KERN_NOTICE "HiSax: module installed\n");
#endif
return 0;
-@@ -1619,8 +1678,6 @@
+@@ -1619,8 +1678,6 @@ int hfc_init_pcmcia(void *pcm_iob, int p
cards[i].typ = type[i];
if (protocol[i]) {
cards[i].protocol = protocol[i];
}
}
cards[0].para[0] = pcm_irq;
-@@ -1638,8 +1695,7 @@
+@@ -1638,8 +1695,7 @@ int hfc_init_pcmcia(void *pcm_iob, int p
printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
nrcards, (nrcards > 1) ? "s" : "");
printk(KERN_NOTICE "HiSax: module installed\n");
#endif
return 0;
-@@ -1662,8 +1718,6 @@
+@@ -1662,8 +1718,6 @@ int sedl_init_pcmcia(void *pcm_iob, int
cards[i].typ = type[i];
if (protocol[i]) {
cards[i].protocol = protocol[i];
}
}
cards[0].para[0] = pcm_irq;
-@@ -1681,8 +1735,7 @@
+@@ -1681,8 +1735,7 @@ int sedl_init_pcmcia(void *pcm_iob, int
printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
nrcards, (nrcards > 1) ? "s" : "");
printk(KERN_NOTICE "HiSax: module installed\n");
#endif
return 0;
-@@ -1705,8 +1758,6 @@
+@@ -1705,8 +1758,6 @@ int avm_a1_init_pcmcia(void *pcm_iob, in
cards[i].typ = type[i];
if (protocol[i]) {
cards[i].protocol = protocol[i];
}
}
cards[0].para[0] = pcm_irq;
-@@ -1724,8 +1775,7 @@
+@@ -1724,8 +1775,7 @@ int avm_a1_init_pcmcia(void *pcm_iob, in
printk(KERN_DEBUG "HiSax: Total %d card%s defined\n",
nrcards, (nrcards > 1) ? "s" : "");
printk(KERN_NOTICE "HiSax: module installed\n");
#endif
return 0;
-@@ -1743,7 +1793,7 @@
+@@ -1743,7 +1793,7 @@ int __devinit hisax_init_pcmcia(void *pc
sprintf(ids, "HiSax%d", nrcards);
else
sprintf(ids, "HiSax");
return -1;
}
ret = nrcards;
-@@ -1785,7 +1835,7 @@
+@@ -1785,7 +1835,7 @@ int hisax_register(struct hisax_d_if *hi
cards[i].protocol = protocol;
sprintf(id, "%s%d", name, i);
nrcards++;
if (retval == 0) { // yuck
cards[i].typ = 0;
nrcards--;
-@@ -2117,9 +2167,6 @@
+@@ -2117,9 +2167,6 @@ static struct pci_device_id hisax_pci_tb
{PCI_VENDOR_ID_EICON, PCI_DEVICE_ID_EICON_DIVA20, PCI_ANY_ID, PCI_ANY_ID},
{PCI_VENDOR_ID_EICON, PCI_DEVICE_ID_EICON_DIVA20_U, PCI_ANY_ID, PCI_ANY_ID},
{PCI_VENDOR_ID_EICON, PCI_DEVICE_ID_EICON_DIVA201, PCI_ANY_ID, PCI_ANY_ID},
#endif
#ifdef CONFIG_HISAX_ELSA
{PCI_VENDOR_ID_ELSA, PCI_DEVICE_ID_ELSA_MICROLINK, PCI_ANY_ID, PCI_ANY_ID},
-@@ -2178,11 +2225,3 @@
+@@ -2178,11 +2225,3 @@ MODULE_DEVICE_TABLE(pci, hisax_pci_tbl);
module_init(HiSax_init);
module_exit(HiSax_exit);
-EXPORT_SYMBOL(FsmInitTimer);
-EXPORT_SYMBOL(FsmDelTimer);
-EXPORT_SYMBOL(FsmRestartTimer);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/diva.c linux-2.4.29/drivers/isdn/hisax/diva.c
---- linux-2.4.29.old/drivers/isdn/hisax/diva.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/diva.c 2005-03-22 15:06:46.106083592 +0100
+--- a/drivers/isdn/hisax/diva.c
++++ b/drivers/isdn/hisax/diva.c
@@ -1,4 +1,4 @@
-/* $Id: diva.c,v 1.1.4.2 2002/08/30 11:21:00 keil Exp $
+/* $Id: diva.c,v 1.33 2001/09/24 13:22:56 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-@@ -51,7 +50,6 @@
+@@ -51,7 +50,6 @@ const char *Diva_revision = "$Revision:
#define DIVA_PCI 2
#define DIVA_IPAC_ISA 3
#define DIVA_IPAC_PCI 4
/* CTRL (Read) */
#define DIVA_IRQ_STAT 0x01
-@@ -71,12 +69,10 @@
+@@ -71,12 +69,10 @@ const char *Diva_revision = "$Revision:
#define PITA_MISC_REG 0x1c
#ifdef __BIG_ENDIAN
#define PITA_PARA_SOFTRESET 0x00000001
#define PITA_PARA_MPX_MODE 0x04000000
#define PITA_INT0_ENABLE 0x00020000
#endif
-@@ -244,47 +240,6 @@
+@@ -244,47 +240,6 @@ MemWriteHSCX(struct IsdnCardState *cs, i
memwritereg(cs->hw.diva.cfg_reg, offset + (hscx ? 0x40 : 0), value);
}
/*
* fast interrupt HSCX stuff goes here
*/
-@@ -595,7 +550,7 @@
+@@ -595,7 +550,7 @@ Memhscx_int_main(struct IsdnCardState *c
u_char exval;
struct BCState *bcs;
bcs = cs->bcs + 1;
exval = MemReadHSCX(cs, 1, HSCX_EXIR);
if (exval & 0x40) {
-@@ -622,7 +577,7 @@
+@@ -622,7 +577,7 @@ Memhscx_int_main(struct IsdnCardState *c
debugl1(cs, "HSCX B interrupt %x", val);
Memhscx_interrupt(cs, val, 1);
}
bcs = cs->bcs;
exval = MemReadHSCX(cs, 0, HSCX_EXIR);
if (exval & 0x40) {
-@@ -644,7 +599,7 @@
+@@ -644,7 +599,7 @@ Memhscx_int_main(struct IsdnCardState *c
} else if (cs->debug & L1_DEB_HSCX)
debugl1(cs, "HSCX A EXIR %x", exval);
}
exval = MemReadHSCX(cs, 0, HSCX_ISTA);
if (cs->debug & L1_DEB_HSCX)
debugl1(cs, "HSCX A interrupt %x", exval);
-@@ -705,31 +660,12 @@
+@@ -705,31 +660,12 @@ Start_IPACPCI:
memwritereg(cs->hw.diva.cfg_reg, IPAC_MASK, 0xC0);
}
u_int *cfg = (unsigned int *)cs->hw.diva.pci_cfg;
*cfg = 0; /* disable INT0/1 */
-@@ -776,16 +712,6 @@
+@@ -776,16 +712,6 @@ reset_diva(struct IsdnCardState *cs)
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout((10*HZ)/1000);
memwritereg(cs->hw.diva.cfg_reg, IPAC_MASK, 0xc0);
} else { /* DIVA 2.0 */
cs->hw.diva.ctrl_reg = 0; /* Reset On */
byteout(cs->hw.diva.ctrl, cs->hw.diva.ctrl_reg);
-@@ -814,9 +740,7 @@
+@@ -814,9 +740,7 @@ diva_led_handler(struct IsdnCardState *c
{
int blink = 0;
return;
del_timer(&cs->hw.diva.tl);
if (cs->hw.diva.status & DIVA_ASSIGN)
-@@ -859,12 +783,6 @@
+@@ -859,12 +783,6 @@ Diva_card_msg(struct IsdnCardState *cs,
release_io_diva(cs);
return(0);
case CARD_INIT:
if (cs->subtyp == DIVA_IPAC_PCI) {
ireg = (unsigned int *)cs->hw.diva.pci_cfg;
*ireg = PITA_INT0_ENABLE;
-@@ -901,9 +819,7 @@
+@@ -901,9 +819,7 @@ Diva_card_msg(struct IsdnCardState *cs,
}
break;
}
diva_led_handler(cs);
return(0);
}
-@@ -911,40 +827,11 @@
+@@ -911,40 +827,11 @@ Diva_card_msg(struct IsdnCardState *cs,
static struct pci_dev *dev_diva __initdata = NULL;
static struct pci_dev *dev_diva_u __initdata = NULL;
static struct pci_dev *dev_diva201 __initdata = NULL;
u_char val;
struct IsdnCardState *cs = card->cs;
char tmp[64];
-@@ -977,75 +864,8 @@
+@@ -977,75 +864,8 @@ setup_diva(struct IsdnCard *card)
cs->hw.diva.hscx_adr = card->para[1] + DIVA_HSCX_ADR;
}
cs->irq = card->para[0];
#if CONFIG_PCI
if (!pci_present()) {
printk(KERN_ERR "Diva: no PCI bus present\n");
-@@ -1059,14 +879,14 @@
+@@ -1059,14 +879,14 @@ setup_diva(struct IsdnCard *card)
return(0);
cs->subtyp = DIVA_PCI;
cs->irq = dev_diva->irq;
} else if ((dev_diva201 = pci_find_device(PCI_VENDOR_ID_EICON,
PCI_DEVICE_ID_EICON_DIVA201, dev_diva201))) {
if (pci_enable_device(dev_diva201))
-@@ -1074,19 +894,9 @@
+@@ -1074,19 +894,9 @@ setup_diva(struct IsdnCard *card)
cs->subtyp = DIVA_IPAC_PCI;
cs->irq = dev_diva201->irq;
cs->hw.diva.pci_cfg =
} else {
printk(KERN_WARNING "Diva: No PCI card found\n");
return(0);
-@@ -1107,8 +917,7 @@
+@@ -1107,8 +917,7 @@ setup_diva(struct IsdnCard *card)
printk(KERN_WARNING "Diva: unable to config DIVA PCI\n");
return (0);
#endif /* CONFIG_PCI */
cs->hw.diva.ctrl = 0;
cs->hw.diva.isac = 0;
cs->hw.diva.hscx = 0;
-@@ -1125,23 +934,18 @@
+@@ -1125,23 +934,18 @@ setup_diva(struct IsdnCard *card)
bytecnt = 32;
}
}
if (check_region(cs->hw.diva.cfg_reg, bytecnt)) {
printk(KERN_WARNING
"HiSax: %s config port %lx-%lx already in use\n",
-@@ -1177,17 +981,6 @@
+@@ -1177,17 +981,6 @@ ready:
cs->irq_func = &diva_irq_ipac_pci;
val = memreadreg(cs->hw.diva.cfg_reg, IPAC_ID);
printk(KERN_INFO "Diva: IPAC version %x\n", val);
} else { /* DIVA 2.0 */
cs->hw.diva.tl.function = (void *) diva_led_handler;
cs->hw.diva.tl.data = (long) cs;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa.c linux-2.4.29/drivers/isdn/hisax/elsa.c
---- linux-2.4.29.old/drivers/isdn/hisax/elsa.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/elsa.c 2005-03-22 15:06:46.123081008 +0100
+--- a/drivers/isdn/hisax/elsa.c
++++ b/drivers/isdn/hisax/elsa.c
@@ -1,4 +1,4 @@
-/* $Id: elsa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: elsa.c,v 2.32 2001/09/24 13:22:56 kai Exp $
const char *Elsa_Types[] =
{"None", "PC", "PCC-8", "PCC-16", "PCF", "PCF-Pro",
"PCMCIA", "QS 1000", "QS 3000", "Microlink PCI", "QS 3000 PCI",
-@@ -864,21 +864,6 @@
+@@ -864,21 +864,6 @@ probe_elsa(struct IsdnCardState *cs)
static struct pci_dev *dev_qs1000 __devinitdata = NULL;
static struct pci_dev *dev_qs3000 __devinitdata = NULL;
int __devinit
setup_elsa(struct IsdnCard *card)
{
-@@ -893,7 +878,6 @@
+@@ -893,7 +878,6 @@ setup_elsa(struct IsdnCard *card)
cs->hw.elsa.ctrl_reg = 0;
cs->hw.elsa.status = 0;
cs->hw.elsa.MFlag = 0;
if (cs->typ == ISDN_CTYPE_ELSA) {
cs->hw.elsa.base = card->para[0];
printk(KERN_INFO "Elsa: Microlink IO probing\n");
-@@ -955,60 +939,9 @@
+@@ -955,60 +939,9 @@ setup_elsa(struct IsdnCard *card)
return (0);
}
} else if (cs->typ == ISDN_CTYPE_ELSA_PNP) {
cs->hw.elsa.cfg = cs->hw.elsa.base + ELSA_CONFIG;
cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE;
cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC;
-@@ -1058,16 +991,16 @@
+@@ -1058,16 +991,16 @@ setup_elsa(struct IsdnCard *card)
return(0);
cs->subtyp = ELSA_QS1000PCI;
cs->irq = dev_qs1000->irq;
} else {
printk(KERN_WARNING "Elsa: No PCI card found\n");
return(0);
-@@ -1123,7 +1056,6 @@
+@@ -1123,7 +1056,6 @@ setup_elsa(struct IsdnCard *card)
break;
case ELSA_PCFPRO:
case ELSA_PCF:
case ELSA_QS3000PCI:
bytecnt = 16;
break;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa_cs.c linux-2.4.29/drivers/isdn/hisax/elsa_cs.c
---- linux-2.4.29.old/drivers/isdn/hisax/elsa_cs.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/elsa_cs.c 2005-03-22 15:06:46.138078728 +0100
-@@ -72,7 +72,7 @@
+--- a/drivers/isdn/hisax/elsa_cs.c
++++ b/drivers/isdn/hisax/elsa_cs.c
+@@ -72,7 +72,7 @@ static int pc_debug = PCMCIA_DEBUG;
MODULE_PARM(pc_debug, "i");
#define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args);
static char *version =
#else
#define DEBUG(n, args...)
#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/elsa_ser.c linux-2.4.29/drivers/isdn/hisax/elsa_ser.c
---- linux-2.4.29.old/drivers/isdn/hisax/elsa_ser.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/elsa_ser.c 2005-03-22 15:06:46.158075688 +0100
+--- a/drivers/isdn/hisax/elsa_ser.c
++++ b/drivers/isdn/hisax/elsa_ser.c
@@ -1,4 +1,4 @@
-/* $Id: elsa_ser.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: elsa_ser.c,v 2.14 2001/09/24 13:22:56 kai Exp $
*
* stuff for the serial modem on ELSA cards
*
-@@ -396,6 +396,74 @@
+@@ -396,6 +396,74 @@ static inline void transmit_chars(struct
}
}
static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs)
{
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/fsm.c linux-2.4.29/drivers/isdn/hisax/fsm.c
---- linux-2.4.29.old/drivers/isdn/hisax/fsm.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/fsm.c 2005-03-22 15:06:46.174073256 +0100
+--- a/drivers/isdn/hisax/fsm.c
++++ b/drivers/isdn/hisax/fsm.c
@@ -1,4 +1,4 @@
-/* $Id: fsm.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
int __init
FsmNew(struct Fsm *fsm, struct FsmNode *fnlist, int fncount)
{
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/fsm.h linux-2.4.29/drivers/isdn/hisax/fsm.h
---- linux-2.4.29.old/drivers/isdn/hisax/fsm.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/fsm.h 2005-03-22 15:06:46.189070976 +0100
+--- a/drivers/isdn/hisax/fsm.h
++++ b/drivers/isdn/hisax/fsm.h
@@ -1,4 +1,4 @@
-/* $Id: fsm.h,v 1.1.2.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* Finite state machine
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/gazel.c linux-2.4.29/drivers/isdn/hisax/gazel.c
---- linux-2.4.29.old/drivers/isdn/hisax/gazel.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/gazel.c 2005-03-22 15:06:46.205068544 +0100
+--- a/drivers/isdn/hisax/gazel.c
++++ b/drivers/isdn/hisax/gazel.c
@@ -1,4 +1,4 @@
-/* $Id: gazel.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: gazel.c,v 2.19 2001/09/24 13:22:56 kai Exp $
#define R647 1
#define R685 2
-@@ -563,8 +564,8 @@
+@@ -563,8 +564,8 @@ setup_gazelpci(struct IsdnCardState *cs)
if (pci_enable_device(dev_tel))
return 1;
pci_irq = dev_tel->irq;
found = 1;
}
if (found)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.c 2005-03-22 15:06:46.221066112 +0100
+--- a/drivers/isdn/hisax/hfc_2bds0.c
++++ b/drivers/isdn/hisax/hfc_2bds0.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bds0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bds0.c,v 1.18 2001/09/24 13:22:56 kai Exp $
*
* specific routines for CCD's HFC 2BDS0
*
-@@ -616,6 +616,17 @@
+@@ -616,6 +616,17 @@ hfcd_bh(struct IsdnCardState *cs)
*/
if (!cs)
return;
if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
switch (cs->dc.hfcd.ph_state) {
case (0):
-@@ -1090,6 +1101,32 @@
+@@ -1090,6 +1101,32 @@ HFCD_l1hw(struct PStack *st, int pr, voi
cs->hw.hfcD.mst_m |= HFCD_MASTER;
cs->writeisac(cs, HFCD_MST_MODE, cs->hw.hfcD.mst_m);
break;
default:
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "hfcd_l1hw unknown pr %4x", pr);
-@@ -1106,6 +1143,20 @@
+@@ -1106,6 +1143,20 @@ setstack_hfcd(struct PStack *st, struct
static void
hfc_dbusy_timer(struct IsdnCardState *cs)
{
}
unsigned int __init
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.h linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bds0.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bds0.h 2005-03-22 15:06:46.236063832 +0100
+--- a/drivers/isdn/hisax/hfc_2bds0.h
++++ b/drivers/isdn/hisax/hfc_2bds0.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bds0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bds0.h,v 1.6 2001/09/24 13:22:56 kai Exp $
*
* specific defines for CCD's HFC 2BDS0
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.c linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.c 2005-03-22 15:06:46.272058360 +0100
+--- a/drivers/isdn/hisax/hfc_2bs0.c
++++ b/drivers/isdn/hisax/hfc_2bs0.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bs0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bs0.c,v 1.20 2001/09/24 13:22:56 kai Exp $
*
* specific routines for CCD's HFC 2BS0
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.h linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_2bs0.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_2bs0.h 2005-03-22 15:06:46.288055928 +0100
+--- a/drivers/isdn/hisax/hfc_2bs0.h
++++ b/drivers/isdn/hisax/hfc_2bs0.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bs0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bs0.h,v 1.5 2001/09/24 13:22:56 kai Exp $
*
* specific defines for CCD's HFC 2BS0
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c linux-2.4.29/drivers/isdn/hisax/hfc_pci.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_pci.c 2005-03-22 15:06:46.305053344 +0100
+--- a/drivers/isdn/hisax/hfc_pci.c
++++ b/drivers/isdn/hisax/hfc_pci.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_pci.c,v 1.48 2001/09/24 13:22:56 kai Exp $
/* table entry in the PCI devices list */
typedef struct {
-@@ -76,8 +77,6 @@
+@@ -76,8 +77,6 @@ release_io_hfcpci(struct IsdnCardState *
{
unsigned long flags;
save_flags(flags);
cli();
cs->hw.hfcpci.int_m2 = 0; /* interrupt output off ! */
-@@ -88,11 +87,13 @@
+@@ -88,11 +87,13 @@ release_io_hfcpci(struct IsdnCardState *
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout((30 * HZ) / 1000); /* Timeout 30ms */
Write_hfc(cs, HFCPCI_CIRM, 0); /* Reset Off */
}
/********************************************************************************/
-@@ -687,10 +688,6 @@
+@@ -687,10 +688,6 @@ hfcpci_fill_fifo(struct BCState *bcs)
debugl1(cs, "hfcpci_fill_fifo_trans %d frame length %d discarded",
bcs->channel, bcs->tx_skb->len);
dev_kfree_skb_any(bcs->tx_skb);
cli();
bcs->tx_skb = skb_dequeue(&bcs->squeue); /* fetch next data */
-@@ -1146,6 +1143,20 @@
+@@ -1146,6 +1143,20 @@ hfcpci_interrupt(int intno, void *dev_id
static void
hfcpci_dbusy_timer(struct IsdnCardState *cs)
{
}
/*************************************/
-@@ -1550,6 +1561,17 @@
+@@ -1550,6 +1561,17 @@ hfcpci_bh(struct IsdnCardState *cs)
*/
if (!cs)
return;
if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
if (!cs->hw.hfcpci.nt_mode)
switch (cs->dc.hfcpci.ph_state) {
-@@ -1712,7 +1734,7 @@
+@@ -1712,7 +1734,7 @@ setup_hfcpci(struct IsdnCard *card)
if (pci_enable_device(tmp_hfcpci))
continue;
pci_set_master(tmp_hfcpci);
continue;
else
break;
-@@ -1729,7 +1751,7 @@
+@@ -1729,7 +1751,7 @@ setup_hfcpci(struct IsdnCard *card)
printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
return (0);
}
printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name);
} else {
printk(KERN_WARNING "HFC-PCI: No PCI card found\n");
-@@ -1746,7 +1768,7 @@
+@@ -1746,7 +1768,7 @@ setup_hfcpci(struct IsdnCard *card)
printk(KERN_WARNING "HFC-PCI: Error allocating memory for FIFO!\n");
return 0;
}
(((ulong) cs->hw.hfcpci.share_start) & ~0x7FFF) + 0x8000;
pcibios_write_config_dword(cs->hw.hfcpci.pci_bus,
cs->hw.hfcpci.pci_device_fn, 0x80,
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.h linux-2.4.29/drivers/isdn/hisax/hfc_pci.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_pci.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_pci.h 2005-03-22 15:06:46.320051064 +0100
+--- a/drivers/isdn/hisax/hfc_pci.h
++++ b/drivers/isdn/hisax/hfc_pci.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_pci.h,v 1.10 2001/09/24 13:22:56 kai Exp $
*
* specific defines for CCD's HFC 2BDS0 PCI chips
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c linux-2.4.29/drivers/isdn/hisax/hfc_sx.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_sx.c 2005-03-22 15:06:46.350046504 +0100
+--- a/drivers/isdn/hisax/hfc_sx.c
++++ b/drivers/isdn/hisax/hfc_sx.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_sx.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_sx.c,v 1.12 2001/09/24 13:22:56 kai Exp $
/***************************************/
/* IRQ-table for CCDs demo board */
-@@ -940,6 +939,20 @@
+@@ -940,6 +939,20 @@ hfcsx_interrupt(int intno, void *dev_id,
static void
hfcsx_dbusy_timer(struct IsdnCardState *cs)
{
}
/*************************************/
-@@ -1333,6 +1346,17 @@
+@@ -1333,6 +1346,17 @@ hfcsx_bh(struct IsdnCardState *cs)
*/
if (!cs)
return;
if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
if (!cs->hw.hfcsx.nt_mode)
switch (cs->dc.hfcsx.ph_state) {
-@@ -1461,17 +1485,7 @@
+@@ -1461,17 +1485,7 @@ hfcsx_card_msg(struct IsdnCardState *cs,
return (0);
}
int __devinit
setup_hfcsx(struct IsdnCard *card)
-@@ -1482,45 +1496,6 @@
+@@ -1482,45 +1496,6 @@ setup_hfcsx(struct IsdnCard *card)
strcpy(tmp, hfcsx_revision);
printk(KERN_INFO "HiSax: HFC-SX driver Rev. %s\n", HiSax_getrev(tmp));
cs->hw.hfcsx.base = card->para[1] & 0xfffe;
cs->irq = card->para[0];
cs->hw.hfcsx.int_s1 = 0;
-@@ -1603,3 +1578,7 @@
+@@ -1603,3 +1578,7 @@ setup_hfcsx(struct IsdnCard *card)
cs->auxcmd = &hfcsx_auxcmd;
return (1);
}
+
+
+
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.h linux-2.4.29/drivers/isdn/hisax/hfc_sx.h
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_sx.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_sx.h 2005-03-22 15:06:46.365044224 +0100
+--- a/drivers/isdn/hisax/hfc_sx.h
++++ b/drivers/isdn/hisax/hfc_sx.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_sx.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* specific defines for CCD's HFC 2BDS0 S+,SP chips
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_usb.c linux-2.4.29/drivers/isdn/hisax/hfc_usb.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_usb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_usb.c 2005-03-22 15:06:46.381041792 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hfc_usb.c
@@ -0,0 +1,1189 @@
+/* $Id: hfc_usb.c,v 2.3 2001/07/06 21:30:11 werner Exp $
+ *
+
+module_init(hfc_usb_init);
+module_exit(hfc_usb_exit);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfc_usbr.c linux-2.4.29/drivers/isdn/hisax/hfc_usbr.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfc_usbr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfc_usbr.c 2005-03-22 15:06:46.397039360 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hfc_usbr.c
@@ -0,0 +1,471 @@
+/* $Id: hfc_usbr.c,v 2.5 2001/07/06 21:30:11 werner Exp $
+
+ cs->cardmsg = &hfcusb_card_msg;
+ return (1); /* success */
+}
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c linux-2.4.29/drivers/isdn/hisax/hfcscard.c
---- linux-2.4.29.old/drivers/isdn/hisax/hfcscard.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hfcscard.c 2005-03-22 15:06:46.412037080 +0100
+--- a/drivers/isdn/hisax/hfcscard.c
++++ b/drivers/isdn/hisax/hfcscard.c
@@ -1,4 +1,4 @@
-/* $Id: hfcscard.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfcscard.c,v 1.10 2001/09/24 13:22:56 kai Exp $
static void
hfcs_interrupt(int intno, void *dev_id, struct pt_regs *regs)
-@@ -140,36 +139,6 @@
+@@ -140,36 +139,6 @@ hfcs_card_msg(struct IsdnCardState *cs,
return(0);
}
int __init
setup_hfcs(struct IsdnCard *card)
{
-@@ -178,46 +147,6 @@
+@@ -178,46 +147,6 @@ setup_hfcs(struct IsdnCard *card)
strcpy(tmp, hfcs_revision);
printk(KERN_INFO "HiSax: HFC-S driver Rev. %s\n", HiSax_getrev(tmp));
cs->hw.hfcD.addr = card->para[1] & 0xfffe;
cs->irq = card->para[0];
cs->hw.hfcD.cip = 0;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax.h linux-2.4.29/drivers/isdn/hisax/hisax.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax.h 2005-03-22 15:06:46.431034192 +0100
+--- a/drivers/isdn/hisax/hisax.h
++++ b/drivers/isdn/hisax/hisax.h
@@ -1,4 +1,4 @@
-/* $Id: hisax.h,v 1.1.4.2 2001/12/09 19:15:28 kai Exp $
+/* $Id: hisax.h,v 2.64 2001/09/24 13:22:56 kai Exp $
#define MDL_ASSIGN 0x0280
#define MDL_REMOVE 0x0284
#define MDL_ERROR 0x0288
-@@ -472,8 +471,6 @@
+@@ -472,8 +471,6 @@ struct amd7930_hw {
#define BC_FLG_FTI_RUN 13
#define BC_FLG_LL_OK 14
#define BC_FLG_LL_CONN 15
#define L1_MODE_NULL 0
#define L1_MODE_TRANS 1
-@@ -695,6 +692,13 @@
+@@ -695,6 +692,13 @@ struct hfcPCI_hw {
struct timer_list timer;
};
struct hfcSX_hw {
unsigned long base;
unsigned char cirm;
-@@ -838,17 +842,6 @@
+@@ -838,17 +842,6 @@ struct w6692_chip {
int ph_state;
};
struct icc_chip {
int ph_state;
u_char *mon_tx;
-@@ -902,6 +895,9 @@
+@@ -902,6 +895,9 @@ struct IsdnCardState {
struct njet_hw njet;
struct hfcD_hw hfcD;
struct hfcPCI_hw hfcpci;
struct hfcSX_hw hfcsx;
struct ix1_hw niccy;
struct isurf_hw isurf;
-@@ -945,7 +941,6 @@
+@@ -945,7 +941,6 @@ struct IsdnCardState {
struct hfcpci_chip hfcpci;
struct hfcsx_chip hfcsx;
struct w6692_chip w6692;
struct icc_chip icc;
} dc;
u_char *rcvbuf;
-@@ -967,6 +962,8 @@
+@@ -967,6 +962,8 @@ struct IsdnCardState {
#define MON0_TX 4
#define MON1_TX 8
#define ISDN_CTYPE_16_0 1
#define ISDN_CTYPE_8_0 2
#define ISDN_CTYPE_16_3 3
-@@ -1006,8 +1003,8 @@
+@@ -1006,8 +1003,8 @@ struct IsdnCardState {
#define ISDN_CTYPE_HFC_SX 37
#define ISDN_CTYPE_NETJET_U 38
#define ISDN_CTYPE_HFC_SP_PCMCIA 39
#define ISDN_CTYPE_COUNT 41
-@@ -1267,10 +1264,6 @@
+@@ -1267,10 +1264,6 @@ struct IsdnCardState {
#define CARD_NETJET_U 0
#endif
#define TEI_PER_CARD 1
/* L1 Debug */
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_debug.h linux-2.4.29/drivers/isdn/hisax/hisax_debug.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_debug.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_debug.h 2005-03-22 15:06:46.452031000 +0100
+--- a/drivers/isdn/hisax/hisax_debug.h
++++ b/drivers/isdn/hisax/hisax_debug.h
@@ -28,7 +28,7 @@
#define DBG(level, format, arg...) do { \
} while (0)
#define DBG_PACKET(level,data,count) \
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.c
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.c 2005-03-22 15:06:46.468028568 +0100
+--- a/drivers/isdn/hisax/hisax_fcpcipnp.c
++++ b/drivers/isdn/hisax/hisax_fcpcipnp.c
@@ -20,22 +20,19 @@
*
* o POWER PC
// debugging cruft
#define __debug_variable debug
-@@ -46,10 +43,14 @@
+@@ -46,10 +43,14 @@ static int debug = 0;
MODULE_PARM(debug, "i");
#endif
{ PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1 , PCI_ANY_ID, PCI_ANY_ID,
0, 0, (unsigned long) "Fritz!Card PCI" },
{ PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_A1_V2, PCI_ANY_ID, PCI_ANY_ID,
-@@ -58,7 +59,7 @@
+@@ -58,7 +59,7 @@ static struct pci_device_id fcpci_ids[]
};
MODULE_DEVICE_TABLE(pci, fcpci_ids);
{ ISAPNP_VENDOR('A', 'V', 'M'), ISAPNP_FUNCTION(0x0900),
ISAPNP_VENDOR('A', 'V', 'M'), ISAPNP_FUNCTION(0x0900),
(unsigned long) "Fritz!Card PnP" },
-@@ -68,7 +69,8 @@
+@@ -68,7 +69,8 @@ MODULE_DEVICE_TABLE(isapnp, fcpnp_ids);
static int protocol = 2; /* EURO-ISDN Default */
MODULE_PARM(protocol, "i");
// ----------------------------------------------------------------------
-@@ -147,7 +149,7 @@
+@@ -147,7 +149,7 @@ static unsigned char fcpci_read_isac(str
outb(idx, adapter->io + AVM_INDEX);
val = inb(adapter->io + AVM_DATA + (offset & 0xf));
spin_unlock_irqrestore(&adapter->hw_lock, flags);
offset, val);
return val;
}
-@@ -160,7 +162,7 @@
+@@ -160,7 +162,7 @@ static void fcpci_write_isac(struct isac
AVM_IDX_ISAC_REG_HIGH : AVM_IDX_ISAC_REG_LOW;
unsigned long flags;
offset, value);
spin_lock_irqsave(&adapter->hw_lock, flags);
outb(idx, adapter->io + AVM_INDEX);
-@@ -240,7 +242,7 @@
+@@ -240,7 +242,7 @@ static unsigned char fcpci2_read_isac(st
outl(offset, adapter->io + AVM_ISACSX_INDEX);
val = inl(adapter->io + AVM_ISACSX_DATA);
spin_unlock_irqrestore(&adapter->hw_lock, flags);
offset, val);
return val;
-@@ -252,7 +254,7 @@
+@@ -252,7 +254,7 @@ static void fcpci2_write_isac(struct isa
struct fritz_adapter *adapter = isac->priv;
unsigned long flags;
offset, value);
spin_lock_irqsave(&adapter->hw_lock, flags);
outl(offset, adapter->io + AVM_ISACSX_INDEX);
-@@ -375,6 +377,9 @@
+@@ -375,6 +377,9 @@ static void hdlc_fill_fifo(struct fritz_
DBG(0x40, "hdlc_fill_fifo");
if (skb->len == 0)
BUG();
-@@ -515,7 +520,6 @@
+@@ -515,7 +520,6 @@ static inline void hdlc_xdu_irq(struct f
}
skb_push(bcs->tx_skb, bcs->tx_cnt);
bcs->tx_cnt = 0;
}
static inline void hdlc_xpr_irq(struct fritz_bcs *bcs)
-@@ -536,7 +540,7 @@
+@@ -536,7 +540,7 @@ static inline void hdlc_xpr_irq(struct f
dev_kfree_skb_irq(skb);
}
{
DBG(0x10, "ch%d stat %#x", bcs->channel, stat);
if (stat & HDLC_INT_RPR) {
-@@ -553,7 +557,7 @@
+@@ -553,7 +557,7 @@ static void hdlc_irq_one(struct fritz_bc
}
}
{
int nr;
u32 stat;
-@@ -562,7 +566,7 @@
+@@ -562,7 +566,7 @@ static inline void hdlc_irq(struct fritz
stat = adapter->read_hdlc_status(adapter, nr);
DBG(0x10, "HDLC %c stat %#x", 'A' + nr, stat);
if (stat & HDLC_INT_MASK)
}
}
-@@ -584,14 +588,14 @@
+@@ -584,14 +588,14 @@ static void modehdlc(struct fritz_bcs *b
adapter->write_ctrl(bcs, 5);
break;
case L1_MODE_TRANS:
adapter->write_ctrl(bcs, 5);
bcs->ctrl.sr.cmd = HDLC_CMD_XRS;
adapter->write_ctrl(bcs, 1);
-@@ -645,10 +649,10 @@
+@@ -645,10 +649,10 @@ static void fcpci2_irq(int intno, void *
return;
DBG(2, "STATUS0 %#x", val);
if (val & AVM_STATUS0_IRQ_ISAC)
}
static void fcpci_irq(int intno, void *dev, struct pt_regs *regs)
-@@ -662,10 +666,10 @@
+@@ -662,10 +666,10 @@ static void fcpci_irq(int intno, void *d
return;
DBG(2, "sval %#x", sval);
if (!(sval & AVM_STATUS0_IRQ_ISAC))
}
// ----------------------------------------------------------------------
-@@ -681,11 +685,6 @@
+@@ -681,11 +685,6 @@ static inline void fcpci_init(struct fri
{
outb(AVM_STATUS0_DIS_TIMER | AVM_STATUS0_RES_TIMER |
AVM_STATUS0_ENA_IRQ, adapter->io + AVM_STATUS0);
}
// ----------------------------------------------------------------------
-@@ -693,6 +692,7 @@
+@@ -693,6 +692,7 @@ static inline void fcpci_init(struct fri
static int __devinit fcpcipnp_setup(struct fritz_adapter *adapter)
{
u32 val = 0;
int retval;
DBG(1,"");
-@@ -700,21 +700,21 @@
+@@ -700,21 +700,21 @@ static int __devinit fcpcipnp_setup(stru
isac_init(&adapter->isac); // FIXME is this okay now
retval = -EBUSY;
break;
}
if (retval)
-@@ -808,11 +808,23 @@
+@@ -808,11 +808,23 @@ static int __devinit fcpcipnp_setup(stru
static void __devexit fcpcipnp_release(struct fritz_adapter *adapter)
{
}
// ----------------------------------------------------------------------
-@@ -830,6 +842,8 @@
+@@ -830,6 +842,8 @@ new_adapter(struct pci_dev *pdev)
memset(adapter, 0, sizeof(struct fritz_adapter));
SET_MODULE_OWNER(&adapter->isac.hisax_d_if);
adapter->isac.hisax_d_if.ifc.priv = &adapter->isac;
adapter->isac.hisax_d_if.ifc.l2l1 = isac_d_l2l1;
-@@ -840,6 +854,7 @@
+@@ -840,6 +854,7 @@ new_adapter(struct pci_dev *pdev)
adapter->bcs[i].b_if.ifc.priv = &adapter->bcs[i];
adapter->bcs[i].b_if.ifc.l2l1 = fritz_b_l2l1;
}
pci_set_drvdata(pdev, adapter);
-@@ -854,6 +869,7 @@
+@@ -854,6 +869,7 @@ new_adapter(struct pci_dev *pdev)
static void delete_adapter(struct fritz_adapter *adapter)
{
hisax_unregister(&adapter->isac.hisax_d_if);
kfree(adapter);
}
-@@ -863,12 +879,15 @@
+@@ -863,12 +879,15 @@ static int __devinit fcpci_probe(struct
struct fritz_adapter *adapter;
int retval;
adapter->type = AVM_FRITZ_PCIV2;
else
adapter->type = AVM_FRITZ_PCI;
-@@ -876,12 +895,7 @@
+@@ -876,12 +895,7 @@ static int __devinit fcpci_probe(struct
retval = pci_enable_device(pdev);
if (retval)
goto err_free;
retval = fcpcipnp_setup(adapter);
if (retval)
-@@ -901,6 +915,9 @@
+@@ -901,6 +915,9 @@ static int __devinit fcpnp_probe(struct
struct fritz_adapter *adapter;
int retval;
retval = -ENOMEM;
adapter = new_adapter(pdev);
if (!adapter)
-@@ -912,11 +929,8 @@
+@@ -912,11 +929,8 @@ static int __devinit fcpnp_probe(struct
pdev->deactivate(pdev); // why?
pdev->activate(pdev);
adapter->io = pdev->resource[0].start;
retval = fcpcipnp_setup(adapter);
if (retval)
goto err_free;
-@@ -929,43 +943,35 @@
+@@ -929,43 +943,35 @@ static int __devinit fcpnp_probe(struct
return retval;
}
retval = pci_register_driver(&fcpci_driver);
if (retval < 0)
-@@ -976,15 +982,14 @@
+@@ -976,15 +982,14 @@ static int __init hisax_fcpcipnp_init(vo
if (retval < 0)
goto out_unregister_pci;
out_unregister_isapnp:
isapnp_unregister_driver(&fcpnp_driver);
#endif
-@@ -994,11 +999,15 @@
+@@ -994,11 +999,15 @@ static int __init hisax_fcpcipnp_init(vo
return retval;
}
+#ifdef __ISAPNP__
+#include "hisax_isapnp.c"
+#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.h linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_fcpcipnp.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_fcpcipnp.h 2005-03-22 15:06:46.484026136 +0100
-@@ -43,10 +43,12 @@
+--- a/drivers/isdn/hisax/hisax_fcpcipnp.h
++++ b/drivers/isdn/hisax/hisax_fcpcipnp.h
+@@ -43,10 +43,12 @@ struct fritz_bcs {
};
struct fritz_adapter {
struct isac isac;
struct fritz_bcs bcs[2];
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c linux-2.4.29/drivers/isdn/hisax/hisax_isac.c
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isac.c 2005-03-22 15:06:46.543017168 +0100
+--- a/drivers/isdn/hisax/hisax_isac.c
++++ b/drivers/isdn/hisax/hisax_isac.c
@@ -34,7 +34,7 @@
static int debug = 1;
MODULE_PARM(debug, "i");
"2086/2186 V1.1",
"2085 B1",
"2085 B2",
-@@ -42,10 +42,6 @@
+@@ -42,10 +42,6 @@ static char *ISACVer[] = {
};
#endif
#define DBG_WARN 0x0001
#define DBG_IRQ 0x0002
#define DBG_L1M 0x0004
-@@ -438,7 +434,7 @@
+@@ -438,7 +434,7 @@ static void l1m_debug(struct FsmInst *fi
va_end(args);
}
{
int val;
-@@ -602,7 +598,7 @@
+@@ -602,7 +598,7 @@ static inline void isac_exi_interrupt(st
}
}
{
unsigned char val;
-@@ -635,8 +631,6 @@
+@@ -635,8 +631,6 @@ void isac_irq(struct isac *isac)
if (val & ISAC_ISTA_SIN) {
DBG(DBG_WARN, "SIN");
}
}
// ======================================================================
-@@ -742,7 +736,7 @@
+@@ -742,7 +736,7 @@ static inline void isacsx_icd_interrupt(
}
}
{
unsigned char val;
-@@ -755,7 +749,7 @@
+@@ -755,7 +749,7 @@ void isacsx_irq(struct isac *isac)
isacsx_cic_interrupt(isac);
}
{
isac->tx_skb = NULL;
isac->l1m.fsm = &l1fsm;
-@@ -770,7 +764,7 @@
+@@ -770,7 +764,7 @@ void isac_init(struct isac *isac)
FsmInitTimer(&isac->l1m, &isac->timer);
}
{
int val, eval;
-@@ -781,7 +775,7 @@
+@@ -781,7 +775,7 @@ void isac_setup(struct isac *isac)
isac->write_isac(isac, ISAC_MASK, 0xff);
isac->mocr = 0xaa;
/* IOM 1 Mode */
isac->write_isac(isac, ISAC_ADF2, 0x0);
isac->write_isac(isac, ISAC_SPCR, 0xa);
-@@ -817,7 +811,7 @@
+@@ -817,7 +811,7 @@ void isac_setup(struct isac *isac)
FsmEvent(&isac->l1m, (val >> 2) & 0xf, NULL);
isac->write_isac(isac, ISAC_MASK, 0x0);
isac->write_isac(isac, ISAC_CMDR, ISAC_CMDR_XRES | ISAC_CMDR_RRES);
}
-@@ -888,10 +882,10 @@
+@@ -888,10 +882,10 @@ EXPORT_SYMBOL(isac_init);
EXPORT_SYMBOL(isac_d_l2l1);
EXPORT_SYMBOL(isacsx_setup);
module_init(hisax_isac_init);
module_exit(hisax_isac_exit);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.h linux-2.4.29/drivers/isdn/hisax/hisax_isac.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isac.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isac.h 2005-03-22 15:06:46.559014736 +0100
+--- a/drivers/isdn/hisax/hisax_isac.h
++++ b/drivers/isdn/hisax/hisax_isac.h
@@ -8,7 +8,7 @@
#define TIMER3_VALUE 7000
#define MAX_DFRAME_LEN_L1 300
struct isac {
void *priv;
-@@ -37,9 +37,9 @@
+@@ -37,9 +37,9 @@ void isac_init(struct isac *isac);
void isac_d_l2l1(struct hisax_if *hisax_d_if, int pr, void *arg);
void isac_setup(struct isac *isac);
+void isacsx_interrupt(struct isac *isac);
#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.c linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.c
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.c 2005-03-22 15:06:46.576012152 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hisax_isapnp.c
@@ -0,0 +1,105 @@
+// FIXME copied
+static const struct isapnp_device_id *
+ }
+}
+
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.h linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_isapnp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_isapnp.h 2005-03-22 15:06:46.590010024 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hisax_isapnp.h
@@ -0,0 +1,33 @@
+#ifndef __HISAX_ISAPNP_H__
+#define __HISAX_ISAPNP_H__
+#endif
+
+#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hisax_loadable.h linux-2.4.29/drivers/isdn/hisax/hisax_loadable.h
---- linux-2.4.29.old/drivers/isdn/hisax/hisax_loadable.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hisax_loadable.h 2005-03-22 15:06:46.606007592 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/hisax_loadable.h
@@ -0,0 +1,74 @@
+/* $Id: hisax_loadable.h,v 2.1 2001/06/08 22:19:16 werner Exp $
+ *
+/* definition of the register function */
+/***************************************/
+extern int hisax_register_hfcusb(struct hisax_drvreg *l1drv);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hscx.c linux-2.4.29/drivers/isdn/hisax/hscx.c
---- linux-2.4.29.old/drivers/isdn/hisax/hscx.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hscx.c 2005-03-22 15:06:46.621005312 +0100
+--- a/drivers/isdn/hisax/hscx.c
++++ b/drivers/isdn/hisax/hscx.c
@@ -1,4 +1,4 @@
-/* $Id: hscx.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: hscx.c,v 1.24 2001/09/24 13:22:56 kai Exp $
*
* HSCX specific routines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hscx.h linux-2.4.29/drivers/isdn/hisax/hscx.h
---- linux-2.4.29.old/drivers/isdn/hisax/hscx.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hscx.h 2005-03-22 15:06:46.640002424 +0100
+--- a/drivers/isdn/hisax/hscx.h
++++ b/drivers/isdn/hisax/hscx.h
@@ -1,4 +1,4 @@
-/* $Id: hscx.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: hscx.h,v 1.8 2001/09/24 13:22:56 kai Exp $
*
* HSCX specific defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/hscx_irq.c linux-2.4.29/drivers/isdn/hisax/hscx_irq.c
---- linux-2.4.29.old/drivers/isdn/hisax/hscx_irq.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/hscx_irq.c 2005-03-22 15:06:46.655999992 +0100
+--- a/drivers/isdn/hisax/hscx_irq.c
++++ b/drivers/isdn/hisax/hscx_irq.c
@@ -1,4 +1,4 @@
-/* $Id: hscx_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: hscx_irq.c,v 1.18 2001/09/24 13:22:56 kai Exp $
*
* low level b-channel stuff for Siemens HSCX
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/icc.c linux-2.4.29/drivers/isdn/hisax/icc.c
---- linux-2.4.29.old/drivers/isdn/hisax/icc.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/icc.c 2005-03-22 15:06:46.672997408 +0100
+--- a/drivers/isdn/hisax/icc.c
++++ b/drivers/isdn/hisax/icc.c
@@ -1,4 +1,4 @@
-/* $Id: icc.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: icc.c,v 1.8 2001/09/24 13:22:56 kai Exp $
*
* ICC specific routines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/icc.h linux-2.4.29/drivers/isdn/hisax/icc.h
---- linux-2.4.29.old/drivers/isdn/hisax/icc.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/icc.h 2005-03-22 15:06:46.687995128 +0100
+--- a/drivers/isdn/hisax/icc.h
++++ b/drivers/isdn/hisax/icc.h
@@ -1,4 +1,4 @@
-/* $Id: icc.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: icc.h,v 1.4 2001/09/24 13:22:56 kai Exp $
*
* ICC specific routines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ipac.h linux-2.4.29/drivers/isdn/hisax/ipac.h
---- linux-2.4.29.old/drivers/isdn/hisax/ipac.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/ipac.h 2005-03-22 15:06:46.702992848 +0100
+--- a/drivers/isdn/hisax/ipac.h
++++ b/drivers/isdn/hisax/ipac.h
@@ -1,4 +1,4 @@
-/* $Id: ipac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: ipac.h,v 1.7 2001/09/24 13:22:56 kai Exp $
*
* IPAC specific defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isac.c linux-2.4.29/drivers/isdn/hisax/isac.c
---- linux-2.4.29.old/drivers/isdn/hisax/isac.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isac.c 2005-03-22 15:06:46.844971264 +0100
+--- a/drivers/isdn/hisax/isac.c
++++ b/drivers/isdn/hisax/isac.c
@@ -1,4 +1,4 @@
-/* $Id: isac.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isac.c,v 1.31 2001/09/24 13:22:56 kai Exp $
*
* ISAC specific routines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isac.h linux-2.4.29/drivers/isdn/hisax/isac.h
---- linux-2.4.29.old/drivers/isdn/hisax/isac.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isac.h 2005-03-22 15:06:47.111930680 +0100
+--- a/drivers/isdn/hisax/isac.h
++++ b/drivers/isdn/hisax/isac.h
@@ -1,4 +1,4 @@
-/* $Id: isac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isac.h,v 1.9 2001/09/24 13:22:56 kai Exp $
*
* ISAC specific defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.c linux-2.4.29/drivers/isdn/hisax/isar.c
---- linux-2.4.29.old/drivers/isdn/hisax/isar.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isar.c 2005-03-22 15:06:47.302901648 +0100
+--- a/drivers/isdn/hisax/isar.c
++++ b/drivers/isdn/hisax/isar.c
@@ -1,4 +1,4 @@
-/* $Id: isar.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isar.c,v 1.22 2001/09/23 12:00:05 keil Exp $
void isar_setup(struct IsdnCardState *cs);
static void isar_pump_cmd(struct BCState *bcs, u_char cmd, u_char para);
-@@ -127,7 +125,7 @@
+@@ -127,7 +125,7 @@ get_irq_infos(struct IsdnCardState *cs,
ireg->clsb = cs->BC_Read_Reg(cs, 1, ISAR_CTRL_L);
#if DUMP_MBOXFRAME
if (cs->debug & L1_DEB_HSCX)
ireg->clsb);
#endif
}
-@@ -414,7 +412,6 @@
+@@ -414,7 +412,6 @@ isar_load_firmware(struct IsdnCardState
}
cs->debug = debug;
isar_setup(cs);
ret = 0;
reterrflg:
restore_flags(flags);
-@@ -428,21 +425,6 @@
+@@ -428,21 +425,6 @@ reterror:
return(ret);
}
extern void BChannel_bh(struct BCState *);
#define B_LL_NOCARRIER 8
#define B_LL_CONNECT 9
-@@ -599,6 +581,7 @@
+@@ -599,6 +581,7 @@ isar_rcv_frame(struct IsdnCardState *cs,
if (ireg->cmsb & SART_NMD) { /* ABORT */
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "isar_rcv_frame: no more data");
bcs->hw.isar.rcvidx = 0;
send_DLE_ETX(bcs);
sendmsg(cs, SET_DPS(bcs->hw.isar.dpath) |
-@@ -609,6 +592,7 @@
+@@ -609,6 +592,7 @@ isar_rcv_frame(struct IsdnCardState *cs,
}
} else {
printk(KERN_WARNING "HiSax: skb out of memory\n");
}
break;
}
-@@ -633,9 +617,8 @@
+@@ -633,9 +617,8 @@ isar_rcv_frame(struct IsdnCardState *cs,
bcs->hw.isar.rcvidx = 0;
cs->BC_Write_Reg(cs, 1, ISAR_IIA, 0);
} else {
ptr = bcs->hw.isar.rcvbuf + bcs->hw.isar.rcvidx;
bcs->hw.isar.rcvidx += ireg->clsb;
rcv_mbox(cs, ireg, ptr);
-@@ -646,8 +629,6 @@
+@@ -646,8 +629,6 @@ isar_rcv_frame(struct IsdnCardState *cs,
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "isar frame to short %d",
bcs->hw.isar.rcvidx);
} else if (!(skb = dev_alloc_skb(bcs->hw.isar.rcvidx))) {
printk(KERN_WARNING "ISAR: receive out of memory\n");
} else {
-@@ -658,7 +639,6 @@
+@@ -658,7 +639,6 @@ isar_rcv_frame(struct IsdnCardState *cs,
isar_sched_event(bcs, B_RCVBUFREADY);
send_DLE_ETX(bcs);
isar_sched_event(bcs, B_LL_OK);
}
bcs->hw.isar.rcvidx = 0;
}
-@@ -666,14 +646,13 @@
+@@ -666,14 +646,13 @@ isar_rcv_frame(struct IsdnCardState *cs,
if (ireg->cmsb & SART_NMD) { /* ABORT */
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "isar_rcv_frame: no more data");
}
break;
default:
-@@ -977,6 +956,21 @@
+@@ -977,6 +956,21 @@ isar_pump_statev_modem(struct BCState *b
}
}
static void
isar_pump_statev_fax(struct BCState *bcs, u_char devt) {
struct IsdnCardState *cs = bcs->cs;
-@@ -1081,22 +1075,19 @@
+@@ -1081,22 +1075,19 @@ isar_pump_statev_fax(struct BCState *bcs
if (cs->debug & L1_DEB_HSCX)
debugl1(cs, "pump stev RSP_DISC");
if (bcs->hw.isar.state == STFAX_ESCAPE) {
p1 = bcs->hw.isar.mod = bcs->hw.isar.newmod;
bcs->hw.isar.newmod = 0;
bcs->hw.isar.cmd = bcs->hw.isar.newcmd;
-@@ -1215,9 +1206,6 @@
+@@ -1215,9 +1206,6 @@ isar_int_main(struct IsdnCardState *cs)
isar_pump_statev_modem(bcs, ireg->cmsb);
} else if (bcs->mode == L1_MODE_FAX) {
isar_pump_statev_fax(bcs, ireg->cmsb);
} else {
if (cs->debug & L1_DEB_WARN)
debugl1(cs, "isar IIS_PSTEV pmode %d stat %x",
-@@ -1278,9 +1266,6 @@
+@@ -1278,9 +1266,6 @@ ftimer_handler(struct BCState *bcs) {
if (test_and_clear_bit(BC_FLG_LL_CONN, &bcs->Flag)) {
isar_sched_event(bcs, B_LL_CONNECT);
}
}
static void
-@@ -1303,7 +1288,7 @@
+@@ -1303,7 +1288,7 @@ setup_pump(struct BCState *bcs) {
} else {
param[5] = PV32P6_ATN;
}
param[1] = PV32P2_V23R | PV32P2_V22A | PV32P2_V22B |
PV32P2_V22C | PV32P2_V21 | PV32P2_BEL;
param[2] = PV32P3_AMOD | PV32P3_V32B | PV32P3_V23B;
-@@ -1319,7 +1304,7 @@
+@@ -1319,7 +1304,7 @@ setup_pump(struct BCState *bcs) {
} else {
param[1] = PFAXP2_ATN;
}
sendmsg(cs, dps | ISAR_HIS_PUMPCFG, ctrl, 2, param);
bcs->hw.isar.state = STFAX_NULL;
bcs->hw.isar.newcmd = 0;
-@@ -1348,6 +1333,7 @@
+@@ -1348,6 +1333,7 @@ setup_sart(struct BCState *bcs) {
"\0\0");
break;
case L1_MODE_HDLC:
param[0] = 0;
sendmsg(cs, dps | ISAR_HIS_SARTCFG, SMODE_HDLC, 1,
param);
-@@ -1359,9 +1345,6 @@
+@@ -1359,9 +1345,6 @@ setup_sart(struct BCState *bcs) {
sendmsg(cs, dps | ISAR_HIS_SARTCFG, ctrl, 2,
param);
break;
}
udelay(1000);
sendmsg(cs, dps | ISAR_HIS_BSTREQ, 0, 0, NULL);
-@@ -1465,7 +1448,6 @@
+@@ -1465,7 +1448,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
switch(cmd) {
case ISDN_FAX_CLASS1_FTM:
if (bcs->hw.isar.state == STFAX_READY) {
p1 = para;
ctrl = PCTRL_CMD_FTM;
-@@ -1489,7 +1471,6 @@
+@@ -1489,7 +1471,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
}
break;
case ISDN_FAX_CLASS1_FTH:
if (bcs->hw.isar.state == STFAX_READY) {
p1 = para;
ctrl = PCTRL_CMD_FTH;
-@@ -1513,7 +1494,6 @@
+@@ -1513,7 +1494,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
}
break;
case ISDN_FAX_CLASS1_FRM:
if (bcs->hw.isar.state == STFAX_READY) {
p1 = para;
ctrl = PCTRL_CMD_FRM;
-@@ -1537,7 +1517,6 @@
+@@ -1537,7 +1517,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
}
break;
case ISDN_FAX_CLASS1_FRH:
if (bcs->hw.isar.state == STFAX_READY) {
p1 = para;
ctrl = PCTRL_CMD_FRH;
-@@ -1560,11 +1539,6 @@
+@@ -1560,11 +1539,6 @@ isar_pump_cmd(struct BCState *bcs, u_cha
bcs->hw.isar.state = STFAX_ESCAPE;
}
break;
}
if (ctrl)
sendmsg(cs, dps | ISAR_HIS_PUMPCTRL, ctrl, nom, &p1);
-@@ -1658,15 +1632,6 @@
+@@ -1658,15 +1632,6 @@ isar_l2l1(struct PStack *st, int pr, voi
l1_msg_b(st, pr, arg);
break;
case (PH_DEACTIVATE | CONFIRM):
test_and_clear_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
test_and_clear_bit(BC_FLG_BUSY, &st->l1.bcs->Flag);
if (st->l1.bcs->cs->debug & L1_DEB_HSCX)
-@@ -1758,51 +1723,6 @@
+@@ -1758,51 +1723,6 @@ isar_auxcmd(struct IsdnCardState *cs, is
test_and_set_bit(BC_FLG_DLEETX,
&bcs->Flag);
break;
case ISDN_FAX_CLASS1_FRM:
case ISDN_FAX_CLASS1_FRH:
case ISDN_FAX_CLASS1_FTM:
-@@ -1815,24 +1735,16 @@
+@@ -1815,24 +1735,16 @@ isar_auxcmd(struct IsdnCardState *cs, is
cs->iif.statcallb(ic);
return(0);
} else if (ic->parm.aux.subcmd == AT_EQ_QUERY) {
test_bit(BC_FLG_INIT, &bcs->Flag)) {
isar_pump_cmd(bcs,
ic->parm.aux.cmd,
-@@ -1850,7 +1762,7 @@
+@@ -1850,7 +1762,7 @@ isar_auxcmd(struct IsdnCardState *cs, is
break;
case (ISDN_CMD_IOCTL):
switch (ic->arg) {
features = ISDN_FEATURE_L2_MODEM |
ISDN_FEATURE_L2_FAX |
ISDN_FEATURE_L3_FCLASS1;
-@@ -1860,26 +1772,6 @@
+@@ -1860,26 +1772,6 @@ isar_auxcmd(struct IsdnCardState *cs, is
else
ll_run(cs, features);
break;
default:
printk(KERN_DEBUG "HiSax: invalid ioctl %d\n",
(int) ic->arg);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isar.h linux-2.4.29/drivers/isdn/hisax/isar.h
---- linux-2.4.29.old/drivers/isdn/hisax/isar.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isar.h 2005-03-22 15:06:47.457878088 +0100
+--- a/drivers/isdn/hisax/isar.h
++++ b/drivers/isdn/hisax/isar.h
@@ -1,4 +1,4 @@
-/* $Id: isar.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isar.h,v 1.11 2001/09/24 13:22:56 kai Exp $
extern int ISARVersion(struct IsdnCardState *cs, char *s);
extern void isar_int_main(struct IsdnCardState *cs);
extern void initisar(struct IsdnCardState *cs);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl1.c linux-2.4.29/drivers/isdn/hisax/isdnl1.c
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl1.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl1.c 2005-03-22 15:06:47.582859088 +0100
+--- a/drivers/isdn/hisax/isdnl1.c
++++ b/drivers/isdn/hisax/isdnl1.c
@@ -1,4 +1,4 @@
-/* $Id: isdnl1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl1.c,v 2.46 2001/09/24 13:22:56 kai Exp $
#define __NO_VERSION__
#include <linux/init.h>
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl1.h linux-2.4.29/drivers/isdn/hisax/isdnl1.h
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl1.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl1.h 2005-03-22 15:06:47.615854072 +0100
+--- a/drivers/isdn/hisax/isdnl1.h
++++ b/drivers/isdn/hisax/isdnl1.h
@@ -1,4 +1,4 @@
-/* $Id: isdnl1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl1.h,v 2.12 2001/09/24 13:22:56 kai Exp $
*
* Layer 1 defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c linux-2.4.29/drivers/isdn/hisax/isdnl2.c
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl2.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl2.c 2005-03-22 15:06:47.631851640 +0100
+--- a/drivers/isdn/hisax/isdnl2.c
++++ b/drivers/isdn/hisax/isdnl2.c
@@ -1,4 +1,4 @@
-/* $Id: isdnl2.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl2.c,v 2.30 2001/09/24 13:22:56 kai Exp $
static void l2m_debug(struct FsmInst *fi, char *fmt, ...);
-@@ -1418,8 +1418,8 @@
+@@ -1418,8 +1418,8 @@ l2_st5_tei_remove(struct FsmInst *fi, in
freewin(st);
st->l2.tei = -1;
stop_t200(st, 17);
}
static void
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl2.h linux-2.4.29/drivers/isdn/hisax/isdnl2.h
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl2.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl2.h 2005-03-22 15:06:47.647849208 +0100
+--- a/drivers/isdn/hisax/isdnl2.h
++++ b/drivers/isdn/hisax/isdnl2.h
@@ -1,4 +1,4 @@
-/* $Id: isdnl2.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* Layer 2 defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl3.c linux-2.4.29/drivers/isdn/hisax/isdnl3.c
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl3.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl3.c 2005-03-22 15:06:47.663846776 +0100
+--- a/drivers/isdn/hisax/isdnl3.c
++++ b/drivers/isdn/hisax/isdnl3.c
@@ -1,4 +1,4 @@
-/* $Id: isdnl3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl3.c,v 2.22 2001/09/24 13:22:56 kai Exp $
static struct Fsm l3fsm;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isdnl3.h linux-2.4.29/drivers/isdn/hisax/isdnl3.h
---- linux-2.4.29.old/drivers/isdn/hisax/isdnl3.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isdnl3.h 2005-03-22 15:06:47.679844344 +0100
+--- a/drivers/isdn/hisax/isdnl3.h
++++ b/drivers/isdn/hisax/isdnl3.h
@@ -1,4 +1,4 @@
-/* $Id: isdnl3.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/isurf.c linux-2.4.29/drivers/isdn/hisax/isurf.c
---- linux-2.4.29.old/drivers/isdn/hisax/isurf.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/isurf.c 2005-03-22 15:06:47.699841304 +0100
+--- a/drivers/isdn/hisax/isurf.c
++++ b/drivers/isdn/hisax/isurf.c
@@ -1,4 +1,4 @@
-/* $Id: isurf.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isurf.c,v 1.12 2001/09/24 13:22:56 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-@@ -128,8 +127,10 @@
+@@ -128,8 +127,10 @@ void
release_io_isurf(struct IsdnCardState *cs)
{
release_region(cs->hw.isurf.reset, 1);
}
static void
-@@ -194,10 +195,6 @@
+@@ -194,10 +195,6 @@ isurf_auxcmd(struct IsdnCardState *cs, i
return(isar_auxcmd(cs, ic));
}
int __init
setup_isurf(struct IsdnCard *card)
{
-@@ -215,58 +212,9 @@
+@@ -215,58 +212,9 @@ setup_isurf(struct IsdnCard *card)
cs->hw.isurf.phymem = card->para[2];
cs->irq = card->para[0];
} else {
}
if (check_region(cs->hw.isurf.reset, 1)) {
printk(KERN_WARNING
-@@ -277,6 +225,7 @@
+@@ -277,6 +225,7 @@ setup_isurf(struct IsdnCard *card)
} else {
request_region(cs->hw.isurf.reset, 1, "isurf isdn");
}
if (check_mem_region(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE)) {
printk(KERN_WARNING
"HiSax: %s memory region %lx-%lx already in use\n",
-@@ -292,6 +241,10 @@
+@@ -292,6 +241,10 @@ setup_isurf(struct IsdnCard *card)
cs->hw.isurf.isar =
(unsigned long) ioremap(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE);
cs->hw.isurf.isac = cs->hw.isurf.isar + ISURF_ISAC_OFFSET;
printk(KERN_INFO
"ISurf: defined at 0x%x 0x%lx IRQ %d\n",
cs->hw.isurf.reset,
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c linux-2.4.29/drivers/isdn/hisax/ix1_micro.c
---- linux-2.4.29.old/drivers/isdn/hisax/ix1_micro.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/ix1_micro.c 2005-03-22 15:06:47.714839024 +0100
+--- a/drivers/isdn/hisax/ix1_micro.c
++++ b/drivers/isdn/hisax/ix1_micro.c
@@ -1,4 +1,4 @@
-/* $Id: ix1_micro.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: ix1_micro.c,v 2.12 2001/09/24 13:22:56 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-@@ -219,21 +218,6 @@
+@@ -219,21 +218,6 @@ ix1_card_msg(struct IsdnCardState *cs, i
return(0);
}
int __init
setup_ix1micro(struct IsdnCard *card)
-@@ -246,45 +230,6 @@
+@@ -246,45 +230,6 @@ setup_ix1micro(struct IsdnCard *card)
if (cs->typ != ISDN_CTYPE_IX1MICROR2)
return (0);
/* IO-Ports */
cs->hw.ix1.isac_ale = card->para[1] + ISAC_COMMAND_OFFSET;
cs->hw.ix1.hscx_ale = card->para[1] + HSCX_COMMAND_OFFSET;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/jade.c linux-2.4.29/drivers/isdn/hisax/jade.c
---- linux-2.4.29.old/drivers/isdn/hisax/jade.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/jade.c 2005-03-22 15:06:47.729836744 +0100
+--- a/drivers/isdn/hisax/jade.c
++++ b/drivers/isdn/hisax/jade.c
@@ -1,4 +1,4 @@
-/* $Id: jade.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: jade.c,v 1.9 2001/09/24 13:22:56 kai Exp $
*
* JADE stuff (derived from original hscx.c)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/jade.h linux-2.4.29/drivers/isdn/hisax/jade.h
---- linux-2.4.29.old/drivers/isdn/hisax/jade.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/jade.h 2005-03-22 15:06:47.745834312 +0100
+--- a/drivers/isdn/hisax/jade.h
++++ b/drivers/isdn/hisax/jade.h
@@ -1,4 +1,4 @@
-/* $Id: jade.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: jade.h,v 1.5 2001/09/24 13:22:56 kai Exp $
*
* JADE specific defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/jade_irq.c linux-2.4.29/drivers/isdn/hisax/jade_irq.c
---- linux-2.4.29.old/drivers/isdn/hisax/jade_irq.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/jade_irq.c 2005-03-22 15:06:47.760832032 +0100
+--- a/drivers/isdn/hisax/jade_irq.c
++++ b/drivers/isdn/hisax/jade_irq.c
@@ -1,4 +1,4 @@
-/* $Id: jade_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: jade_irq.c,v 1.7 2001/09/24 13:22:56 kai Exp $
*
* Low level JADE IRQ stuff (derived from original hscx_irq.c)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.c linux-2.4.29/drivers/isdn/hisax/l3_1tr6.c
---- linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3_1tr6.c 2005-03-22 15:06:47.777829448 +0100
+--- a/drivers/isdn/hisax/l3_1tr6.c
++++ b/drivers/isdn/hisax/l3_1tr6.c
@@ -1,4 +1,4 @@
-/* $Id: l3_1tr6.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: l3_1tr6.c,v 2.15 2001/09/24 13:22:56 kai Exp $
#define MsgHead(ptr, cref, mty, dis) \
*ptr++ = dis; \
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.h linux-2.4.29/drivers/isdn/hisax/l3_1tr6.h
---- linux-2.4.29.old/drivers/isdn/hisax/l3_1tr6.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3_1tr6.h 2005-03-22 15:06:47.796826560 +0100
+--- a/drivers/isdn/hisax/l3_1tr6.h
++++ b/drivers/isdn/hisax/l3_1tr6.h
@@ -1,4 +1,4 @@
-/* $Id: l3_1tr6.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* German 1TR6 D-channel protocol defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3dss1.c linux-2.4.29/drivers/isdn/hisax/l3dss1.c
---- linux-2.4.29.old/drivers/isdn/hisax/l3dss1.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3dss1.c 2005-03-22 15:06:47.822822608 +0100
+--- a/drivers/isdn/hisax/l3dss1.c
++++ b/drivers/isdn/hisax/l3dss1.c
@@ -1,4 +1,4 @@
-/* $Id: l3dss1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: l3dss1.c,v 2.32 2001/09/24 13:22:56 kai Exp $
#define EXT_BEARER_CAPS 1
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3dss1.h linux-2.4.29/drivers/isdn/hisax/l3dss1.h
---- linux-2.4.29.old/drivers/isdn/hisax/l3dss1.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3dss1.h 2005-03-22 15:06:47.842819568 +0100
+--- a/drivers/isdn/hisax/l3dss1.h
++++ b/drivers/isdn/hisax/l3dss1.h
@@ -1,4 +1,4 @@
-/* $Id: l3dss1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* DSS1 (Euro) D-channel protocol defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3ni1.c linux-2.4.29/drivers/isdn/hisax/l3ni1.c
---- linux-2.4.29.old/drivers/isdn/hisax/l3ni1.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3ni1.c 2005-03-22 15:06:47.859816984 +0100
+--- a/drivers/isdn/hisax/l3ni1.c
++++ b/drivers/isdn/hisax/l3ni1.c
@@ -1,4 +1,4 @@
-/* $Id: l3ni1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: l3ni1.c,v 2.8 2001/09/24 13:22:56 kai Exp $
#define EXT_BEARER_CAPS 1
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/l3ni1.h linux-2.4.29/drivers/isdn/hisax/l3ni1.h
---- linux-2.4.29.old/drivers/isdn/hisax/l3ni1.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/l3ni1.h 2005-03-22 15:06:47.877814248 +0100
+--- a/drivers/isdn/hisax/l3ni1.h
++++ b/drivers/isdn/hisax/l3ni1.h
@@ -1,4 +1,4 @@
-/* $Id: l3ni1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* NI1 D-channel protocol
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/lmgr.c linux-2.4.29/drivers/isdn/hisax/lmgr.c
---- linux-2.4.29.old/drivers/isdn/hisax/lmgr.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/lmgr.c 2005-03-22 15:06:47.895811512 +0100
+--- a/drivers/isdn/hisax/lmgr.c
++++ b/drivers/isdn/hisax/lmgr.c
@@ -1,4 +1,4 @@
-/* $Id: lmgr.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* Layermanagement module
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/md5sums.asc linux-2.4.29/drivers/isdn/hisax/md5sums.asc
---- linux-2.4.29.old/drivers/isdn/hisax/md5sums.asc 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/md5sums.asc 2005-03-22 15:06:47.910809232 +0100
+--- a/drivers/isdn/hisax/md5sums.asc
++++ b/drivers/isdn/hisax/md5sums.asc
@@ -1,33 +1,22 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-GIKgAEdRLzERmpt/bCCwAbY=
-=FaHw
------END PGP SIGNATURE-----
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/mic.c linux-2.4.29/drivers/isdn/hisax/mic.c
---- linux-2.4.29.old/drivers/isdn/hisax/mic.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/mic.c 2005-03-22 15:06:47.926806800 +0100
+--- a/drivers/isdn/hisax/mic.c
++++ b/drivers/isdn/hisax/mic.c
@@ -1,4 +1,4 @@
-/* $Id: mic.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: mic.c,v 1.12 2001/09/24 13:22:56 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.c linux-2.4.29/drivers/isdn/hisax/netjet.c
---- linux-2.4.29.old/drivers/isdn/hisax/netjet.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/netjet.c 2005-03-22 15:06:47.941804520 +0100
+--- a/drivers/isdn/hisax/netjet.c
++++ b/drivers/isdn/hisax/netjet.c
@@ -1,4 +1,4 @@
-/* $Id: netjet.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: netjet.c,v 1.29 2001/09/24 13:22:56 kai Exp $
/* Interface functions */
-@@ -135,7 +133,6 @@
+@@ -135,7 +133,6 @@ void
mode_tiger(struct BCState *bcs, int mode, int bc)
{
struct IsdnCardState *cs = bcs->cs;
if (cs->debug & L1_DEB_HSCX)
debugl1(cs, "Tiger mode %d bchan %d/%d",
-@@ -157,15 +154,6 @@
+@@ -157,15 +154,6 @@ mode_tiger(struct BCState *bcs, int mode
cs->hw.njet.dmactrl);
byteout(cs->hw.njet.base + NETJET_IRQMASK0, 0);
}
break;
case (L1_MODE_TRANS):
break;
-@@ -191,14 +179,6 @@
+@@ -191,14 +179,6 @@ mode_tiger(struct BCState *bcs, int mode
bcs->hw.tiger.sendp = bcs->hw.tiger.send;
bcs->hw.tiger.free = NETJET_DMA_TXSIZE;
test_and_set_bit(BC_FLG_EMPTY, &bcs->Flag);
break;
}
if (cs->debug & L1_DEB_HSCX)
-@@ -874,13 +854,9 @@
+@@ -874,13 +854,9 @@ tiger_l2l1(struct PStack *st, int pr, vo
case (PH_ACTIVATE | REQUEST):
test_and_set_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
mode_tiger(st->l1.bcs, st->l1.mode, st->l1.bc);
l1_msg_b(st, pr, arg);
break;
case (PH_DEACTIVATE | CONFIRM):
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/netjet.h linux-2.4.29/drivers/isdn/hisax/netjet.h
---- linux-2.4.29.old/drivers/isdn/hisax/netjet.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/netjet.h 2005-03-22 15:06:47.956802240 +0100
+--- a/drivers/isdn/hisax/netjet.h
++++ b/drivers/isdn/hisax/netjet.h
@@ -1,4 +1,4 @@
-/* $Id: netjet.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: netjet.h,v 2.8 2001/09/24 13:22:56 kai Exp $
*
* NETjet common header file
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/niccy.c linux-2.4.29/drivers/isdn/hisax/niccy.c
---- linux-2.4.29.old/drivers/isdn/hisax/niccy.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/niccy.c 2005-03-22 15:06:47.977799048 +0100
+--- a/drivers/isdn/hisax/niccy.c
++++ b/drivers/isdn/hisax/niccy.c
@@ -1,4 +1,4 @@
-/* $Id: niccy.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: niccy.c,v 1.21 2001/10/20 22:05:00 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-@@ -239,9 +239,6 @@
+@@ -239,9 +239,6 @@ niccy_card_msg(struct IsdnCardState *cs,
}
static struct pci_dev *niccy_dev __initdata = NULL;
int __init
setup_niccy(struct IsdnCard *card)
-@@ -253,39 +250,7 @@
+@@ -253,39 +250,7 @@ setup_niccy(struct IsdnCard *card)
printk(KERN_INFO "HiSax: Niccy driver Rev. %s\n", HiSax_getrev(tmp));
if (cs->typ != ISDN_CTYPE_NICCY)
return (0);
if (card->para[1]) {
cs->hw.niccy.isac = card->para[1] + ISAC_PNP;
cs->hw.niccy.hscx = card->para[1] + HSCX_PNP;
-@@ -331,12 +296,12 @@
+@@ -331,12 +296,12 @@ setup_niccy(struct IsdnCard *card)
return(0);
}
cs->irq = niccy_dev->irq;
if (!pci_ioaddr) {
printk(KERN_WARNING "Niccy: No IO-Adr for PCI card found\n");
return(0);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_s.c linux-2.4.29/drivers/isdn/hisax/nj_s.c
---- linux-2.4.29.old/drivers/isdn/hisax/nj_s.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/nj_s.c 2005-03-22 15:06:47.993796616 +0100
+--- a/drivers/isdn/hisax/nj_s.c
++++ b/drivers/isdn/hisax/nj_s.c
@@ -1,4 +1,4 @@
-/* $Id: nj_s.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: nj_s.c,v 2.13 2001/09/24 13:22:56 kai Exp $
static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
{
-@@ -130,7 +131,6 @@
+@@ -130,7 +131,6 @@ NETjet_S_card_msg(struct IsdnCardState *
release_io_netjet(cs);
return(0);
case CARD_INIT:
inittiger(cs);
clear_pending_isac_ints(cs);
initisac(cs);
-@@ -180,19 +180,11 @@
+@@ -180,19 +180,11 @@ setup_netjet_s(struct IsdnCard *card)
printk(KERN_WARNING "NETjet-S: No IRQ for PCI card found\n");
return(0);
}
} else {
printk(KERN_WARNING "NETjet-S: No PCI card found\n");
return(0);
-@@ -263,6 +255,7 @@
+@@ -263,6 +255,7 @@ setup_netjet_s(struct IsdnCard *card)
} else {
request_region(cs->hw.njet.base, bytecnt, "netjet-s isdn");
}
cs->readisac = &NETjet_ReadIC;
cs->writeisac = &NETjet_WriteIC;
cs->readisacfifo = &NETjet_ReadICfifo;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/nj_u.c linux-2.4.29/drivers/isdn/hisax/nj_u.c
---- linux-2.4.29.old/drivers/isdn/hisax/nj_u.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/nj_u.c 2005-03-22 15:06:48.008794336 +0100
+--- a/drivers/isdn/hisax/nj_u.c
++++ b/drivers/isdn/hisax/nj_u.c
@@ -1,4 +1,4 @@
-/* $Id: nj_u.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: nj_u.c,v 2.14 2001/09/24 13:22:56 kai Exp $
static u_char dummyrr(struct IsdnCardState *cs, int chan, u_char off)
{
-@@ -181,7 +182,7 @@
+@@ -181,7 +182,7 @@ setup_netjet_u(struct IsdnCard *card)
printk(KERN_WARNING "NETspider-U: No IRQ for PCI card found\n");
return(0);
}
if (!cs->hw.njet.base) {
printk(KERN_WARNING "NETspider-U: No IO-Adr for PCI card found\n");
return(0);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/q931.c linux-2.4.29/drivers/isdn/hisax/q931.c
---- linux-2.4.29.old/drivers/isdn/hisax/q931.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/q931.c 2005-03-22 15:06:48.032790688 +0100
+--- a/drivers/isdn/hisax/q931.c
++++ b/drivers/isdn/hisax/q931.c
@@ -1,4 +1,4 @@
-/* $Id: q931.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: q931.c,v 1.12 2001/09/24 13:22:56 kai Exp $
*
* code to decode ITU Q.931 call control messages
*
-@@ -197,6 +197,31 @@
+@@ -197,6 +197,31 @@ struct MessageType mt_n1[] =
#define MT_N1_LEN (sizeof(mt_n1) / sizeof(struct MessageType))
static int
prbits(char *dest, u_char b, int start, int len)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.c linux-2.4.29/drivers/isdn/hisax/rawhdlc.c
---- linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/rawhdlc.c 2005-03-22 15:06:48.047788408 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/rawhdlc.c
@@ -0,0 +1,543 @@
+/* $Id: rawhdlc.c,v 1.7 2001/09/24 13:22:57 kai Exp $
+ *
+}
+
+#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.h linux-2.4.29/drivers/isdn/hisax/rawhdlc.h
---- linux-2.4.29.old/drivers/isdn/hisax/rawhdlc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/rawhdlc.h 2005-03-22 15:06:48.076784000 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/rawhdlc.h
@@ -0,0 +1,28 @@
+/* $Id: rawhdlc.h,v 1.5 2001/09/24 13:22:57 kai Exp $
+ *
+ u_char *src, u_int slen, u_char *dst, u_int dsize);
+#define RAWHDLC_H
+#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/s0box.c linux-2.4.29/drivers/isdn/hisax/s0box.c
---- linux-2.4.29.old/drivers/isdn/hisax/s0box.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/s0box.c 2005-03-22 15:06:48.092781568 +0100
+--- a/drivers/isdn/hisax/s0box.c
++++ b/drivers/isdn/hisax/s0box.c
@@ -1,4 +1,4 @@
-/* $Id: s0box.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: s0box.c,v 2.6 2001/09/24 13:22:57 kai Exp $
static inline void
writereg(unsigned int padr, signed int addr, u_char off, u_char val) {
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/saphir.c linux-2.4.29/drivers/isdn/hisax/saphir.c
---- linux-2.4.29.old/drivers/isdn/hisax/saphir.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/saphir.c 2005-03-22 15:06:48.107779288 +0100
+--- a/drivers/isdn/hisax/saphir.c
++++ b/drivers/isdn/hisax/saphir.c
@@ -1,4 +1,4 @@
-/* $Id: saphir.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: saphir.c,v 1.10 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c linux-2.4.29/drivers/isdn/hisax/sedlbauer.c
---- linux-2.4.29.old/drivers/isdn/hisax/sedlbauer.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/sedlbauer.c 2005-03-22 15:06:48.123776856 +0100
+--- a/drivers/isdn/hisax/sedlbauer.c
++++ b/drivers/isdn/hisax/sedlbauer.c
@@ -1,4 +1,4 @@
-/* $Id: sedlbauer.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: sedlbauer.c,v 1.34 2002/02/09 21:00:57 keil Exp $
#define PCI_SUBVENDOR_SEDLBAUER_PCI 0x53
#define PCI_SUBVENDOR_SPEEDFAX_PCI 0x54
#define PCI_SUB_ID_SEDLBAUER 0x01
-@@ -72,6 +73,7 @@
+@@ -72,6 +73,7 @@ const char *Sedlbauer_Types[] =
#define SEDL_SPEED_PCI 6
#define SEDL_SPEEDFAX_PYRAMID 7
#define SEDL_SPEEDFAX_PCI 8
#define SEDL_CHIP_TEST 0
#define SEDL_CHIP_ISAC_HSCX 1
-@@ -531,21 +533,6 @@
+@@ -531,21 +533,6 @@ Sedl_card_msg(struct IsdnCardState *cs,
static struct pci_dev *dev_sedl __devinitdata = NULL;
int __devinit
setup_sedlbauer(struct IsdnCard *card)
{
-@@ -581,57 +568,6 @@
+@@ -581,57 +568,6 @@ setup_sedlbauer(struct IsdnCard *card)
bytecnt = 16;
}
} else {
/* Probe for Sedlbauer speed pci */
#if CONFIG_PCI
if (!pci_present()) {
-@@ -647,15 +583,15 @@
+@@ -647,15 +583,15 @@ setup_sedlbauer(struct IsdnCard *card)
printk(KERN_WARNING "Sedlbauer: No IRQ for PCI card found\n");
return(0);
}
printk(KERN_INFO "Sedlbauer: PCI subvendor:%x subid %x\n",
sub_vendor_id, sub_id);
printk(KERN_INFO "Sedlbauer: PCI base adr %#x\n",
-@@ -670,6 +606,9 @@
+@@ -670,6 +606,9 @@ setup_sedlbauer(struct IsdnCard *card)
} else if (sub_vendor_id == PCI_SUBVENDOR_SPEEDFAX_PCI) {
cs->hw.sedl.chip = SEDL_CHIP_ISAC_ISAR;
cs->subtyp = SEDL_SPEEDFAX_PCI;
} else if (sub_vendor_id == PCI_SUBVENDOR_SEDLBAUER_PCI) {
cs->hw.sedl.chip = SEDL_CHIP_IPAC;
cs->subtyp = SEDL_SPEED_PCI;
-@@ -683,8 +622,8 @@
+@@ -683,8 +622,8 @@ setup_sedlbauer(struct IsdnCard *card)
cs->hw.sedl.reset_off = SEDL_ISAR_PCI_ISAR_RESET_OFF;
byteout(cs->hw.sedl.cfg_reg, 0xff);
byteout(cs->hw.sedl.cfg_reg, 0x00);
byteout(cs->hw.sedl.cfg_reg +3, cs->hw.sedl.reset_on);
save_flags(flags);
sti();
-@@ -697,7 +636,7 @@
+@@ -697,7 +636,7 @@ setup_sedlbauer(struct IsdnCard *card)
return (0);
#endif /* CONFIG_PCI */
}
/* In case of the sedlbauer pcmcia card, this region is in use,
* reserved for us by the card manager. So we do not check it
* here, it would fail.
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/sportster.c linux-2.4.29/drivers/isdn/hisax/sportster.c
---- linux-2.4.29.old/drivers/isdn/hisax/sportster.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/sportster.c 2005-03-22 15:06:48.169769864 +0100
+--- a/drivers/isdn/hisax/sportster.c
++++ b/drivers/isdn/hisax/sportster.c
@@ -1,4 +1,4 @@
-/* $Id: sportster.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: sportster.c,v 1.16 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481-debug.h linux-2.4.29/drivers/isdn/hisax/st5481-debug.h
---- linux-2.4.29.old/drivers/isdn/hisax/st5481-debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481-debug.h 2005-03-22 15:06:48.184767584 +0100
+--- /dev/null
++++ b/drivers/isdn/hisax/st5481-debug.h
@@ -0,0 +1,103 @@
+#define ST5481_DEBUG 0x0
+
+
+
+
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481.h linux-2.4.29/drivers/isdn/hisax/st5481.h
---- linux-2.4.29.old/drivers/isdn/hisax/st5481.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481.h 2005-03-22 15:06:48.201765000 +0100
-@@ -219,15 +219,15 @@
+--- a/drivers/isdn/hisax/st5481.h
++++ b/drivers/isdn/hisax/st5481.h
+@@ -219,15 +219,15 @@ enum {
#define L1_EVENT_COUNT (EV_TIMER3 + 1)
#define ERR(format, arg...) \
#include "fsm.h"
#include "hisax_if.h"
#include <linux/skbuff.h>
-@@ -236,7 +236,7 @@
+@@ -236,7 +236,7 @@ printk(KERN_INFO "%s:%s: " format "\n" ,
* FIFO handling
*/
struct fifo {
u_char r,w,count,size;
spinlock_t lock;
-@@ -270,7 +270,7 @@
+@@ -270,7 +270,7 @@ static inline int fifo_add(struct fifo *
index = -1;
} else {
// Return index where to get the next data to add to the FIFO
fifo->count++;
}
spin_unlock_irqrestore(&fifo->lock, flags);
-@@ -289,13 +289,13 @@
+@@ -289,13 +289,13 @@ static inline int fifo_remove(struct fif
return -1;
}
fifo->count--;
}
spin_unlock_irqrestore(&fifo->lock, flags);
-@@ -309,7 +309,7 @@
+@@ -309,7 +309,7 @@ static inline int fifo_remove(struct fif
typedef void (*ctrl_complete_t)(void *);
typedef struct ctrl_msg {
ctrl_complete_t complete;
void *context;
} ctrl_msg;
-@@ -336,7 +336,7 @@
+@@ -336,7 +336,7 @@ struct st5481_intr {
};
struct st5481_d_out {
struct urb *urb[2]; /* double buffering */
unsigned long busy;
struct sk_buff *tx_skb;
-@@ -344,7 +344,7 @@
+@@ -344,7 +344,7 @@ struct st5481_d_out {
};
struct st5481_b_out {
struct urb *urb[2]; /* double buffering */
u_char flow_event;
u_long busy;
-@@ -352,7 +352,7 @@
+@@ -352,7 +352,7 @@ struct st5481_b_out {
};
struct st5481_in {
struct urb *urb[2]; /* double buffering */
int mode;
int bufsize;
-@@ -478,7 +478,7 @@
+@@ -478,7 +478,7 @@ extern int st5481_debug;
if (level & __debug_variable) dump_iso_packet(__FUNCTION__,urb)
static void __attribute__((unused))
{
int i,j;
int len,ofs;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c linux-2.4.29/drivers/isdn/hisax/st5481_b.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_b.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_b.c 2005-03-22 15:06:48.216762720 +0100
-@@ -67,28 +67,24 @@
+--- a/drivers/isdn/hisax/st5481_b.c
++++ b/drivers/isdn/hisax/st5481_b.c
+@@ -67,28 +67,24 @@ static void usb_b_out(struct st5481_bcs
bytes_sent = buf_size - len;
if (skb->len < bytes_sent)
bytes_sent = skb->len;
/* if (!(bcs->tx_skb = skb_dequeue(&bcs->sq))) { */
/* st5481B_sched_event(bcs, B_XMTBUFREADY); */
/* } */
-@@ -99,9 +95,9 @@
+@@ -99,9 +95,9 @@ static void usb_b_out(struct st5481_bcs
len = buf_size;
} else {
// Send flags
}
}
}
-@@ -213,7 +209,7 @@
+@@ -213,7 +209,7 @@ static void st5481B_mode(struct st5481_b
if (bcs->mode != L1_MODE_NULL) {
// Open the B channel
if (bcs->mode != L1_MODE_TRANS) {
}
st5481_usb_pipe_reset(adapter, (bcs->channel+1)*2, NULL, NULL);
-@@ -279,7 +275,7 @@
+@@ -279,7 +275,7 @@ static int __devinit st5481_setup_b_out(
usb_b_out_complete, bcs);
}
{
struct st5481_b_out *b_out = &bcs->b_out;
-@@ -320,7 +316,7 @@
+@@ -320,7 +316,7 @@ int __devinit st5481_setup_b(struct st54
/*
* Release buffers and URBs for the B channels
*/
{
DBG(4,"");
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c linux-2.4.29/drivers/isdn/hisax/st5481_d.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_d.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_d.c 2005-03-22 15:06:48.231760440 +0100
-@@ -162,8 +162,8 @@
+--- a/drivers/isdn/hisax/st5481_d.c
++++ b/drivers/isdn/hisax/st5481_d.c
+@@ -162,8 +162,8 @@ static struct FsmNode L1FnList[] __initd
{ST_L1_F8, EV_TIMER3, l1_timer3},
{ST_L1_F8, EV_IND_DP, l1_go_f3},
{ST_L1_F8, EV_IND_AP, l1_go_f6},
{ST_L1_F8, EV_IND_RSY, l1_ignore},
};
-@@ -297,7 +297,7 @@
+@@ -297,7 +297,7 @@ static void usb_d_out(struct st5481_adap
unsigned int num_packets, packet_offset;
int len, buf_size, bytes_sent;
struct sk_buff *skb;
if (d_out->fsm.state != ST_DOUT_NORMAL)
return;
-@@ -313,15 +313,15 @@
+@@ -313,15 +313,15 @@ static void usb_d_out(struct st5481_adap
buf_size = NUM_ISO_PACKETS_D * SIZE_ISO_PACKETS_D_OUT;
if (skb) {
}
if (len < buf_size) {
-@@ -413,7 +413,7 @@
+@@ -413,7 +413,7 @@ static void dout_start_xmit(struct FsmIn
DBG(2,"len=%d",skb->len);
if (test_and_set_bit(buf_nr, &d_out->busy)) {
WARN("ep %d urb %d busy %#lx", EP_D_OUT, buf_nr, d_out->busy);
-@@ -422,9 +422,9 @@
+@@ -422,9 +422,9 @@ static void dout_start_xmit(struct FsmIn
urb = d_out->urb[buf_nr];
DBG_SKB(0x10, skb);
skb_pull(skb, bytes_sent);
if(len < 16)
-@@ -673,7 +673,7 @@
+@@ -673,7 +673,7 @@ static int __devinit st5481_setup_d_out(
usb_d_out_complete, adapter);
}
{
struct st5481_d_out *d_out = &adapter->d_out;
-@@ -723,7 +723,7 @@
+@@ -723,7 +723,7 @@ int __devinit st5481_setup_d(struct st54
return retval;
}
{
DBG(2,"");
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_init.c linux-2.4.29/drivers/isdn/hisax/st5481_init.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_init.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_init.c 2005-03-22 15:06:48.268754816 +0100
+--- a/drivers/isdn/hisax/st5481_init.c
++++ b/drivers/isdn/hisax/st5481_init.c
@@ -14,6 +14,7 @@
* TODO:
*
* hotplug / unregister issues
* mod_inc/dec_use_count
* unify parts of d/b channel usb handling
-@@ -177,7 +178,7 @@
+@@ -177,7 +178,7 @@ MODULE_DEVICE_TABLE (usb, st5481_ids);
static struct usb_driver st5481_usb_driver = {
name: "st5481_usb",
probe: probe_st5481,
id_table: st5481_ids,
};
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c linux-2.4.29/drivers/isdn/hisax/st5481_usb.c
---- linux-2.4.29.old/drivers/isdn/hisax/st5481_usb.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/st5481_usb.c 2005-03-22 15:06:48.284752384 +0100
-@@ -41,9 +41,9 @@
+--- a/drivers/isdn/hisax/st5481_usb.c
++++ b/drivers/isdn/hisax/st5481_usb.c
+@@ -41,9 +41,9 @@ static void usb_next_ctrl_msg(struct urb
(unsigned char *)&ctrl->msg_fifo.data[r_index];
DBG(1,"request=0x%02x,value=0x%04x,index=%x",
// Prepare the URB
urb->dev = adapter->usb_dev;
-@@ -69,11 +69,11 @@
+@@ -69,11 +69,11 @@ void usb_ctrl_msg(struct st5481_adapter
}
ctrl_msg = &ctrl->msg_fifo.data[w_index];
ctrl_msg->complete = complete;
ctrl_msg->context = context;
-@@ -140,17 +140,17 @@
+@@ -140,17 +140,17 @@ static void usb_ctrl_complete(struct urb
ctrl_msg = (struct ctrl_msg *)urb->setup_packet;
0);
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ int __devinit st5481_setup_usb(struct st
struct usb_interface_descriptor *altsetting;
struct usb_endpoint_descriptor *endpoint;
int status;
u_char *buf;
DBG(1,"");
-@@ -307,7 +307,7 @@
+@@ -307,7 +307,7 @@ int __devinit st5481_setup_usb(struct st
* Release buffers and URBs for the interrupt and control
* endpoint.
*/
{
struct st5481_intr *intr = &adapter->intr;
struct st5481_ctrl *ctrl = &adapter->ctrl;
-@@ -443,7 +443,7 @@
+@@ -443,7 +443,7 @@ st5481_setup_isocpipes(struct urb* urb[2
return retval;
}
{
int j;
-@@ -484,18 +484,16 @@
+@@ -484,18 +484,16 @@ static void usb_in_complete(struct urb *
ptr = urb->transfer_buffer;
while (len > 0) {
if (in->mode == L1_MODE_TRANS) {
if (status > 0) {
// Good frame received
DBG(4,"count=%d",status);
-@@ -549,7 +547,7 @@
+@@ -549,7 +547,7 @@ int __devinit st5481_setup_in(struct st5
return retval;
}
{
DBG(2,"");
-@@ -562,8 +560,7 @@
+@@ -562,8 +560,7 @@ void st5481_release_in(struct st5481_in
*/
int st5481_isoc_flatten(struct urb *urb)
{
unsigned char *src,*dst;
unsigned int len;
-@@ -624,10 +621,15 @@
+@@ -624,10 +621,15 @@ void st5481_in_mode(struct st5481_in *in
if (in->mode != L1_MODE_NULL) {
if (in->mode != L1_MODE_TRANS)
st5481_usb_device_ctrl_msg(in->adapter, in->counter,
in->packet_size,
NULL, NULL);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/tei.c linux-2.4.29/drivers/isdn/hisax/tei.c
---- linux-2.4.29.old/drivers/isdn/hisax/tei.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/tei.c 2005-03-22 15:06:48.316747520 +0100
+--- a/drivers/isdn/hisax/tei.c
++++ b/drivers/isdn/hisax/tei.c
@@ -1,4 +1,4 @@
-/* $Id: tei.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: tei.c,v 2.20 2001/09/24 13:22:57 kai Exp $
#define ID_REQUEST 1
#define ID_ASSIGNED 2
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teleint.c linux-2.4.29/drivers/isdn/hisax/teleint.c
---- linux-2.4.29.old/drivers/isdn/hisax/teleint.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/teleint.c 2005-03-22 15:06:48.330745392 +0100
+--- a/drivers/isdn/hisax/teleint.c
++++ b/drivers/isdn/hisax/teleint.c
@@ -1,4 +1,4 @@
-/* $Id: teleint.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: teleint.c,v 1.16 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles0.c linux-2.4.29/drivers/isdn/hisax/teles0.c
---- linux-2.4.29.old/drivers/isdn/hisax/teles0.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/teles0.c 2005-03-22 15:06:48.348742656 +0100
+--- a/drivers/isdn/hisax/teles0.c
++++ b/drivers/isdn/hisax/teles0.c
@@ -1,4 +1,4 @@
-/* $Id: teles0.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: teles0.c,v 2.15 2001/09/24 13:22:57 kai Exp $
#define TELES_IOMEM_SIZE 0x400
#define byteout(addr,val) outb(val,addr)
-@@ -189,8 +189,10 @@
+@@ -189,8 +189,10 @@ release_io_teles0(struct IsdnCardState *
{
if (cs->hw.teles0.cfg_reg)
release_region(cs->hw.teles0.cfg_reg, 8);
}
static int
-@@ -327,6 +329,7 @@
+@@ -327,6 +329,7 @@ setup_teles0(struct IsdnCard *card)
/* 16.0 and 8.0 designed for IOM1 */
test_and_set_bit(HW_IOM1, &cs->HW_Flags);
cs->hw.teles0.phymem = card->para[1];
if (check_mem_region(cs->hw.teles0.phymem, TELES_IOMEM_SIZE)) {
printk(KERN_WARNING
"HiSax: %s memory region %lx-%lx already in use\n",
-@@ -342,6 +345,9 @@
+@@ -342,6 +345,9 @@ setup_teles0(struct IsdnCard *card)
}
cs->hw.teles0.membase =
(unsigned long) ioremap(cs->hw.teles0.phymem, TELES_IOMEM_SIZE);
printk(KERN_INFO
"HiSax: %s config irq:%d mem:0x%lX cfg:0x%X\n",
CardType[cs->typ], cs->irq,
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/teles3.c linux-2.4.29/drivers/isdn/hisax/teles3.c
---- linux-2.4.29.old/drivers/isdn/hisax/teles3.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/teles3.c 2005-03-22 15:06:48.367739768 +0100
+--- a/drivers/isdn/hisax/teles3.c
++++ b/drivers/isdn/hisax/teles3.c
@@ -1,4 +1,4 @@
-/* $Id: teles3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: teles3.c,v 2.19 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-@@ -255,24 +254,6 @@
+@@ -255,24 +254,6 @@ Teles_card_msg(struct IsdnCardState *cs,
return(0);
}
int __devinit
setup_teles3(struct IsdnCard *card)
{
-@@ -286,47 +267,6 @@
+@@ -286,47 +267,6 @@ setup_teles3(struct IsdnCard *card)
&& (cs->typ != ISDN_CTYPE_TELESPCMCIA) && (cs->typ != ISDN_CTYPE_COMPAQ_ISA))
return (0);
if (cs->typ == ISDN_CTYPE_16_3) {
cs->hw.teles3.cfg_reg = card->para[1];
switch (cs->hw.teles3.cfg_reg) {
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/telespci.c linux-2.4.29/drivers/isdn/hisax/telespci.c
---- linux-2.4.29.old/drivers/isdn/hisax/telespci.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/telespci.c 2005-03-22 15:06:48.382737488 +0100
+--- a/drivers/isdn/hisax/telespci.c
++++ b/drivers/isdn/hisax/telespci.c
@@ -1,4 +1,4 @@
-/* $Id: telespci.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: telespci.c,v 2.23 2001/09/24 13:22:57 kai Exp $
#define ZORAN_PO_RQ_PEN 0x02000000
#define ZORAN_PO_WR 0x00800000
-@@ -307,10 +308,10 @@
+@@ -307,10 +308,10 @@ setup_telespci(struct IsdnCard *card)
printk(KERN_WARNING "Teles: No IRQ for PCI card found\n");
return(0);
}
} else {
printk(KERN_WARNING "TelesPCI: No PCI card found\n");
return(0);
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.c linux-2.4.29/drivers/isdn/hisax/w6692.c
---- linux-2.4.29.old/drivers/isdn/hisax/w6692.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/w6692.c 2005-03-22 15:06:48.398735056 +0100
+--- a/drivers/isdn/hisax/w6692.c
++++ b/drivers/isdn/hisax/w6692.c
@@ -1,4 +1,4 @@
-/* $Id: w6692.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: w6692.c,v 1.18 2001/09/24 13:22:57 kai Exp $
/* table entry in the PCI devices list */
typedef struct {
-@@ -29,20 +30,14 @@
+@@ -29,20 +30,14 @@ typedef struct {
static const PCI_ENTRY id_list[] =
{
#define DBUSY_TIMER_VALUE 80
-@@ -675,6 +670,16 @@
+@@ -675,6 +670,16 @@ setstack_W6692(struct PStack *st, struct
static void
DC_Close_W6692(struct IsdnCardState *cs)
{
}
static void
-@@ -865,38 +870,31 @@
+@@ -865,38 +870,31 @@ setstack_w6692(struct PStack *st, struct
return (0);
}
ph_command(cs, W_L1CMD_RST);
cs->dc.w6692.ph_state = W_L1CMD_RST;
W6692_new_ph(cs);
-@@ -963,14 +961,9 @@
+@@ -963,14 +961,9 @@ w6692_card_msg(struct IsdnCardState *cs,
{
switch (mt) {
case CARD_RESET:
return (0);
case CARD_INIT:
initW6692(cs, 3);
-@@ -1013,7 +1006,6 @@
+@@ -1013,7 +1006,6 @@ setup_w6692(struct IsdnCard *card)
if (dev_w6692) {
if (pci_enable_device(dev_w6692))
continue;
break;
}
id_idx++;
-@@ -1023,14 +1015,7 @@
+@@ -1023,14 +1015,7 @@ setup_w6692(struct IsdnCard *card)
pci_irq = dev_w6692->irq;
/* I think address 0 is allways the configuration area */
/* and address 1 is the real IO space KKe 03.09.99 */
}
if (!found) {
printk(KERN_WARNING "W6692: No PCI card found\n");
-@@ -1047,18 +1032,18 @@
+@@ -1047,18 +1032,18 @@ setup_w6692(struct IsdnCard *card)
}
cs->hw.w6692.iobase = pci_ioaddr;
printk(KERN_INFO "Found: %s %s, I/O base: 0x%x, irq: %d\n",
}
#else
printk(KERN_WARNING "HiSax: W6692 and NO_PCI_BIOS\n");
-@@ -1068,7 +1053,7 @@
+@@ -1068,7 +1053,7 @@ setup_w6692(struct IsdnCard *card)
printk(KERN_INFO
"HiSax: %s config irq:%d I/O:%x\n",
cs->hw.w6692.iobase);
cs->readW6692 = &ReadW6692;
-diff -rNu linux-2.4.29.old/drivers/isdn/hisax/w6692.h linux-2.4.29/drivers/isdn/hisax/w6692.h
---- linux-2.4.29.old/drivers/isdn/hisax/w6692.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hisax/w6692.h 2005-03-22 15:06:48.414732624 +0100
+--- a/drivers/isdn/hisax/w6692.h
++++ b/drivers/isdn/hisax/w6692.h
@@ -1,4 +1,4 @@
-/* $Id: w6692.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: w6692.h,v 1.4 2001/09/24 13:22:57 kai Exp $
*
* Winbond W6692 specific defines
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c linux-2.4.29/drivers/isdn/hysdn/boardergo.c
---- linux-2.4.29.old/drivers/isdn/hysdn/boardergo.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/boardergo.c 2005-03-22 15:06:48.468724416 +0100
+--- a/drivers/isdn/hysdn/boardergo.c
++++ b/drivers/isdn/hysdn/boardergo.c
@@ -1,27 +1,41 @@
-/* $Id: boardergo.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
- *
#include "hysdn_defs.h"
#include "boardergo.h"
-@@ -45,11 +59,10 @@
+@@ -45,11 +59,10 @@ ergo_interrupt(int intno, void *dev_id,
if (!card->irq_enabled)
return; /* other device interrupting or irq switched off */
return; /* no interrupt requested by E1 */
}
/* clear any pending ints on the board */
-@@ -63,7 +76,7 @@
+@@ -63,7 +76,7 @@ ergo_interrupt(int intno, void *dev_id,
queue_task(&card->irq_queue, &tq_immediate);
mark_bh(IMMEDIATE_BH);
}
} /* ergo_interrupt */
/******************************************************************************/
-@@ -83,17 +96,15 @@
+@@ -83,17 +96,15 @@ ergo_irq_bh(hysdn_card * card)
return; /* invalid call */
dpr = card->dpram; /* point to DPRAM */
again = 0; /* assume loop not to be repeated */
if (!dpr->ToHyFlag) {
-@@ -113,15 +124,13 @@
+@@ -113,15 +124,13 @@ ergo_irq_bh(hysdn_card * card)
again = 1; /* restart loop */
}
} /* a message has arrived for us */
} /* ergo_irq_bh */
-@@ -138,8 +147,7 @@
+@@ -138,8 +147,7 @@ ergo_stopcard(hysdn_card * card)
#ifdef CONFIG_HYSDN_CAPI
hycapi_capi_stop(card);
#endif /* CONFIG_HYSDN_CAPI */
val = bytein(card->iobase + PCI9050_INTR_REG); /* get actual value */
val &= ~(PCI9050_INTR_REG_ENPCI | PCI9050_INTR_REG_EN1); /* mask irq */
byteout(card->iobase + PCI9050_INTR_REG, val);
-@@ -147,8 +155,7 @@
+@@ -147,8 +155,7 @@ ergo_stopcard(hysdn_card * card)
byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RESET); /* reset E1 processor */
card->state = CARD_STATE_UNUSED;
card->err_log_state = ERRLOG_STATE_OFF; /* currently no log active */
} /* ergo_stopcard */
/**************************************************************************/
-@@ -163,20 +170,17 @@
+@@ -163,20 +170,17 @@ ergo_set_errlog_state(hysdn_card * card,
card->err_log_state = ERRLOG_STATE_OFF; /* must be off */
return;
}
queue_task(&card->irq_queue, &tq_immediate);
mark_bh(IMMEDIATE_BH);
} /* ergo_set_errlog_state */
-@@ -245,9 +249,6 @@
+@@ -245,9 +249,6 @@ ergo_writebootimg(struct HYSDN_CARD *car
while (!dpram->ToHyNoDpramErrLog); /* reread volatile register to flush PCI */
byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RUN); /* start E1 processor */
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout((20 * HZ) / 1000); /* Timeout 20ms */
-@@ -282,7 +283,6 @@
+@@ -282,7 +283,6 @@ ergo_writebootseq(struct HYSDN_CARD *car
dst = sp->Data; /* point to data in spool structure */
buflen = sp->Len; /* maximum len of spooled data */
wr_mirror = sp->WrPtr; /* only once read */
/* try until all bytes written or error */
i = 0x1000; /* timeout value */
-@@ -358,9 +358,7 @@
+@@ -358,9 +358,7 @@ ergo_waitpofready(struct HYSDN_CARD *car
if (card->debug_flags & LOG_POF_RECORD)
hysdn_addlog(card, "ERGO: pof boot success");
card->state = CARD_STATE_RUN; /* now card is running */
/* enable the cards interrupt */
byteout(card->iobase + PCI9050_INTR_REG,
-@@ -371,8 +369,7 @@
+@@ -371,8 +369,7 @@ ergo_waitpofready(struct HYSDN_CARD *car
dpr->ToPcFlag = 0; /* reset data indicator */
dpr->ToHyInt = 1;
dpr->ToPcInt = 1; /* interrupt to E1 for all cards */
if ((hynet_enable & (1 << card->myid))
&& (i = hysdn_net_create(card)))
{
-@@ -387,7 +384,6 @@
+@@ -387,7 +384,6 @@ ergo_waitpofready(struct HYSDN_CARD *car
#endif /* CONFIG_HYSDN_CAPI */
return (0); /* success */
} /* data has arrived */
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout((50 * HZ) / 1000); /* Timeout 50ms */
} /* wait until timeout */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/boardergo.h linux-2.4.29/drivers/isdn/hysdn/boardergo.h
---- linux-2.4.29.old/drivers/isdn/hysdn/boardergo.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/boardergo.h 2005-03-22 15:06:48.485721832 +0100
+--- a/drivers/isdn/hysdn/boardergo.h
++++ b/drivers/isdn/hysdn/boardergo.h
@@ -1,4 +1,4 @@
-/* $Id: boardergo.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
/************************************************/
/* defines for the dual port memory of the card */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hycapi.c linux-2.4.29/drivers/isdn/hysdn/hycapi.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hycapi.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hycapi.c 2005-03-22 15:06:48.500719552 +0100
+--- a/drivers/isdn/hysdn/hycapi.c
++++ b/drivers/isdn/hysdn/hycapi.c
@@ -1,4 +1,4 @@
-/* $Id: hycapi.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
unsigned int hycapi_enable = 0xffffffff;
MODULE_PARM(hycapi_enable, "i");
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_boot.c linux-2.4.29/drivers/isdn/hysdn/hysdn_boot.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_boot.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_boot.c 2005-03-22 15:06:48.516717120 +0100
+--- a/drivers/isdn/hysdn/hysdn_boot.c
++++ b/drivers/isdn/hysdn/hysdn_boot.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_boot.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Linux driver for HYSDN cards
* specific routines for booting and pof handling
-@@ -143,7 +143,7 @@
+@@ -143,7 +143,7 @@ pof_handle_data(hysdn_card * card, int d
(boot->pof_recid == TAG_CABSDATA) ? "CABSDATA" : "ABSDATA",
datlen, boot->pof_recoffset);
return (boot->last_error); /* error writing data */
if (boot->pof_recoffset + datlen >= boot->pof_reclen)
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_defs.h linux-2.4.29/drivers/isdn/hysdn/hysdn_defs.h
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_defs.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_defs.h 2005-03-22 15:06:48.533714536 +0100
+--- a/drivers/isdn/hysdn/hysdn_defs.h
++++ b/drivers/isdn/hysdn/hysdn_defs.h
@@ -1,4 +1,4 @@
-/* $Id: hysdn_defs.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: hysdn_defs.h,v 1.10 2001/09/24 13:23:03 kai Exp $
/****************************/
/* storage type definitions */
-@@ -176,6 +181,7 @@
+@@ -176,6 +181,7 @@ typedef struct HYSDN_CARD {
struct tq_struct irq_queue; /* interrupt task queue */
uchar volatile irq_enabled; /* interrupt enabled if != 0 */
uchar volatile hw_lock; /* hardware is currently locked -> no access */
/* boot process */
void *boot; /* pointer to boot private data */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c linux-2.4.29/drivers/isdn/hysdn/hysdn_init.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_init.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_init.c 2005-03-22 15:06:48.551711800 +0100
+--- a/drivers/isdn/hysdn/hysdn_init.c
++++ b/drivers/isdn/hysdn/hysdn_init.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_init.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
static struct pci_device_id hysdn_pci_tbl[] __initdata = {
{PCI_VENDOR_ID_HYPERCOPE, PCI_DEVICE_ID_HYPERCOPE_PLX, PCI_ANY_ID, PCI_SUBDEVICE_ID_HYPERCOPE_METRO},
{PCI_VENDOR_ID_HYPERCOPE, PCI_DEVICE_ID_HYPERCOPE_PLX, PCI_ANY_ID, PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2},
-@@ -29,11 +30,12 @@
+@@ -29,11 +30,12 @@ static struct pci_device_id hysdn_pci_tb
{ } /* Terminating entry */
};
MODULE_DEVICE_TABLE(pci, hysdn_pci_tbl);
int cardmax; /* number of found cards */
hysdn_card *card_root = NULL; /* pointer to first card */
-@@ -91,11 +93,11 @@
+@@ -91,11 +93,11 @@ search_cards(void)
card->myid = cardmax; /* set own id */
card->bus = akt_pcidev->bus->number;
card->devfn = akt_pcidev->devfn; /* slot + function */
card->brdtype = BD_NONE; /* unknown */
card->debug_flags = DEF_DEB_FLAGS; /* set default debug */
card->faxchans = 0; /* default no fax channels */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c linux-2.4.29/drivers/isdn/hysdn/hysdn_net.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_net.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_net.c 2005-03-22 15:06:48.567709368 +0100
+--- a/drivers/isdn/hysdn/hysdn_net.c
++++ b/drivers/isdn/hysdn/hysdn_net.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_net.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Linux driver for HYSDN cards, net (ethernet type) handling routines.
*
-@@ -29,7 +29,7 @@
+@@ -29,7 +29,7 @@ unsigned int hynet_enable = 0xffffffff;
MODULE_PARM(hynet_enable, "i");
/* store the actual version for log reporting */
#define MAX_SKB_BUFFERS 20 /* number of buffers for keeping TX-data */
-@@ -45,6 +45,10 @@
+@@ -45,6 +45,10 @@ struct net_local {
/* additional vars may be added here */
char dev_name[9]; /* our own device name */
/* Tx control lock. This protects the transmit buffer ring
* state along with the "tx full" state of the driver. This
* means all netif_queue flow control actions are protected
-@@ -56,6 +60,7 @@
+@@ -56,6 +60,7 @@ struct net_local {
int sk_count; /* number of buffers currently in ring */
int is_open; /* flag controlling module locking */
}; /* net_local */
-@@ -83,11 +88,19 @@
+@@ -83,11 +88,19 @@ net_open(struct net_device *dev)
hysdn_card *card = dev->priv;
int i;
/* Fill in the MAC-level header (if not already set) */
if (!card->mac_addr[0]) {
-@@ -104,6 +117,7 @@
+@@ -104,6 +117,7 @@ net_open(struct net_device *dev)
return (0);
} /* net_open */
/*******************************************/
/* flush the currently occupied tx-buffers */
/* must only be called when device closed */
-@@ -119,6 +133,7 @@
+@@ -119,6 +133,7 @@ flush_tx_buffers(struct net_local *nl)
nl->sk_count--;
}
} /* flush_tx_buffers */
/*********************************************************************/
-@@ -129,6 +144,15 @@
+@@ -129,6 +144,15 @@ static int
net_close(struct net_device *dev)
{
netif_stop_queue(dev); /* disable queueing */
if (((struct net_local *) dev)->is_open)
-@@ -136,9 +160,52 @@
+@@ -136,9 +160,52 @@ net_close(struct net_device *dev)
((struct net_local *) dev)->is_open = 0;
flush_tx_buffers((struct net_local *) dev);
/************************************/
/* send a packet on this interface. */
/* new style for kernel >= 2.3.33 */
-@@ -176,6 +243,7 @@
+@@ -176,6 +243,7 @@ net_send_packet(struct sk_buff *skb, str
return (0); /* success */
} /* net_send_packet */
/***********************************************************************/
-@@ -190,6 +258,15 @@
+@@ -190,6 +258,15 @@ hysdn_tx_netack(hysdn_card * card)
if (!lp)
return; /* non existing device */
if (!lp->sk_count)
return; /* error condition */
-@@ -203,6 +280,7 @@
+@@ -203,6 +280,7 @@ hysdn_tx_netack(hysdn_card * card)
if (lp->sk_count-- == MAX_SKB_BUFFERS) /* dec usage count */
netif_start_queue((struct net_device *) lp);
} /* hysdn_tx_netack */
/*****************************************************/
-@@ -250,10 +328,15 @@
+@@ -250,10 +328,15 @@ hysdn_tx_netget(hysdn_card * card)
if (!lp)
return (NULL); /* non existing device */
} /* hysdn_tx_netget */
-@@ -296,15 +379,21 @@
+@@ -296,15 +379,21 @@ hysdn_net_create(hysdn_card * card)
}
memset(dev, 0, sizeof(struct net_local)); /* clean the structure */
if ((i = register_netdev(dev))) {
printk(KERN_WARNING "HYSDN: unable to create network device\n");
kfree(dev);
-@@ -333,7 +422,9 @@
+@@ -333,7 +422,9 @@ hysdn_net_release(hysdn_card * card)
card->netif = NULL; /* clear out pointer */
dev->stop(dev); /* close the device */
unregister_netdev(dev); /* release the device */
kfree(dev); /* release the memory allocated */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_pof.h linux-2.4.29/drivers/isdn/hysdn/hysdn_pof.h
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_pof.h 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_pof.h 2005-03-22 15:06:48.583706936 +0100
+--- a/drivers/isdn/hysdn/hysdn_pof.h
++++ b/drivers/isdn/hysdn/hysdn_pof.h
@@ -1,4 +1,4 @@
-/* $Id: hysdn_pof.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Linux driver for HYSDN cards, definitions used for handling pof-files.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c linux-2.4.29/drivers/isdn/hysdn/hysdn_procconf.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_procconf.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_procconf.c 2005-03-22 15:06:48.598704656 +0100
+--- a/drivers/isdn/hysdn/hysdn_procconf.c
++++ b/drivers/isdn/hysdn/hysdn_procconf.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_procconf.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
#define INFO_OUT_LEN 80 /* length of info line including lf */
-@@ -212,32 +214,29 @@
+@@ -212,32 +214,29 @@ hysdn_conf_write(struct file *file, cons
static ssize_t
hysdn_conf_read(struct file *file, char *buf, size_t count, loff_t * off)
{
return (i);
} /* hysdn_conf_read */
-@@ -254,7 +253,11 @@
+@@ -254,7 +253,11 @@ hysdn_conf_open(struct inode *ino, struc
char *cp, *tmp;
/* now search the addressed card */
card = card_root;
while (card) {
pd = card->procconf;
-@@ -263,7 +266,11 @@
+@@ -263,7 +266,11 @@ hysdn_conf_open(struct inode *ino, struc
card = card->next; /* search next entry */
}
if (!card) {
return (-ENODEV); /* device is unknown/invalid */
}
if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
-@@ -274,7 +281,11 @@
+@@ -274,7 +281,11 @@ hysdn_conf_open(struct inode *ino, struc
/* write only access -> write boot file or conf line */
if (!(cnf = kmalloc(sizeof(struct conf_writedata), GFP_KERNEL))) {
return (-EFAULT);
}
cnf->card = card;
-@@ -286,7 +297,11 @@
+@@ -286,7 +297,11 @@ hysdn_conf_open(struct inode *ino, struc
/* read access -> output card info data */
if (!(tmp = (char *) kmalloc(INFO_OUT_LEN * 2 + 2, GFP_KERNEL))) {
return (-EFAULT); /* out of memory */
}
filep->private_data = tmp; /* start of string */
-@@ -320,10 +335,16 @@
+@@ -320,10 +335,16 @@ hysdn_conf_open(struct inode *ino, struc
*cp++ = '\n';
*cp = 0; /* end of string */
} else { /* simultaneous read/write access forbidden ! */
return (0);
} /* hysdn_conf_open */
-@@ -338,7 +359,9 @@
+@@ -338,7 +359,9 @@ hysdn_conf_close(struct inode *ino, stru
int retval = 0;
struct proc_dir_entry *pd;
/* search the addressed card */
card = card_root;
while (card) {
-@@ -348,7 +371,9 @@
+@@ -348,7 +371,9 @@ hysdn_conf_close(struct inode *ino, stru
card = card->next; /* search next entry */
}
if (!card) {
return (-ENODEV); /* device is unknown/invalid */
}
if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
-@@ -371,7 +396,11 @@
+@@ -371,7 +396,11 @@ hysdn_conf_close(struct inode *ino, stru
if (filep->private_data)
kfree(filep->private_data); /* release memory */
}
return (retval);
} /* hysdn_conf_close */
-@@ -387,6 +416,9 @@
+@@ -387,6 +416,9 @@ static struct file_operations conf_fops
release: hysdn_conf_close,
};
/*****************************/
/* hysdn subdir in /proc/net */
/*****************************/
-@@ -415,8 +447,17 @@
+@@ -415,8 +447,17 @@ hysdn_procconf_init(void)
if ((card->procconf = (void *) create_proc_entry(conf_name,
S_IFREG | S_IRUGO | S_IWUSR,
hysdn_proc_entry)) != NULL) {
hysdn_proclog_init(card); /* init the log file entry */
}
card = card->next; /* next entry */
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c linux-2.4.29/drivers/isdn/hysdn/hysdn_proclog.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_proclog.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_proclog.c 2005-03-22 15:06:48.613702376 +0100
+--- a/drivers/isdn/hysdn/hysdn_proclog.c
++++ b/drivers/isdn/hysdn/hysdn_proclog.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_proclog.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
#include "hysdn_defs.h"
-@@ -115,8 +117,7 @@
+@@ -115,8 +117,7 @@ put_log_buffer(hysdn_card * card, char *
strcpy(ib->log_start, cp); /* set output string */
ib->next = NULL;
ib->proc_ctrl = pd; /* point to own control structure */
ib->usage_cnt = pd->if_used;
if (!pd->log_head)
pd->log_head = ib; /* new head */
-@@ -124,7 +125,7 @@
+@@ -124,7 +125,7 @@ put_log_buffer(hysdn_card * card, char *
pd->log_tail->next = ib; /* follows existing messages */
pd->log_tail = ib; /* new tail */
i = pd->del_lock++; /* get lock state */
/* delete old entrys */
if (!i)
-@@ -210,7 +211,6 @@
+@@ -210,7 +211,6 @@ hysdn_log_read(struct file *file, char *
word ino;
struct procdata *pd = NULL;
hysdn_card *card;
if (!*((struct log_data **) file->private_data)) {
if (file->f_flags & O_NONBLOCK)
-@@ -235,11 +235,11 @@
+@@ -235,11 +235,11 @@ hysdn_log_read(struct file *file, char *
return (0);
inf->usage_cnt--; /* new usage count */
return (len);
}
return (0);
-@@ -255,7 +255,11 @@
+@@ -255,7 +255,11 @@ hysdn_log_open(struct inode *ino, struct
struct procdata *pd = NULL;
ulong flags;
card = card_root;
while (card) {
pd = card->proclog;
-@@ -264,7 +268,11 @@
+@@ -264,7 +268,11 @@ hysdn_log_open(struct inode *ino, struct
card = card->next; /* search next entry */
}
if (!card) {
return (-ENODEV); /* device is unknown/invalid */
}
filep->private_data = card; /* remember our own card */
-@@ -274,19 +282,24 @@
+@@ -274,19 +282,24 @@ hysdn_log_open(struct inode *ino, struct
} else if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) {
/* read access -> log/debug read */
return (0);
} /* hysdn_log_open */
-@@ -306,7 +319,9 @@
+@@ -306,7 +319,9 @@ hysdn_log_close(struct inode *ino, struc
int flags, retval = 0;
if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_WRITE) {
/* write only access -> write debug level written */
retval = 0; /* success */
-@@ -314,8 +329,7 @@
+@@ -314,8 +329,7 @@ hysdn_log_close(struct inode *ino, struc
/* read access -> log/debug read, mark one further file as closed */
pd = NULL;
inf = *((struct log_data **) filep->private_data); /* get first log entry */
if (inf)
pd = (struct procdata *) inf->proc_ctrl; /* still entries there */
-@@ -338,7 +352,7 @@
+@@ -338,7 +352,7 @@ hysdn_log_close(struct inode *ino, struc
inf->usage_cnt--; /* decrement usage count for buffers */
inf = inf->next;
}
if (pd)
if (pd->if_used <= 0) /* delete buffers if last file closed */
-@@ -348,7 +362,11 @@
+@@ -348,7 +362,11 @@ hysdn_log_close(struct inode *ino, struc
kfree(inf);
}
} /* read access */
return (retval);
} /* hysdn_log_close */
-@@ -400,6 +418,9 @@
+@@ -400,6 +418,9 @@ static struct file_operations log_fops =
release: hysdn_log_close,
};
/***********************************************************************************/
/* hysdn_proclog_init is called when the module is loaded after creating the cards */
-@@ -414,10 +435,20 @@
+@@ -414,10 +435,20 @@ hysdn_proclog_init(hysdn_card * card)
if ((pd = (struct procdata *) kmalloc(sizeof(struct procdata), GFP_KERNEL)) != NULL) {
memset(pd, 0, sizeof(struct procdata));
}
init_waitqueue_head(&(pd->rd_queue));
-diff -rNu linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c linux-2.4.29/drivers/isdn/hysdn/hysdn_sched.c
---- linux-2.4.29.old/drivers/isdn/hysdn/hysdn_sched.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/hysdn/hysdn_sched.c 2005-03-22 15:06:48.630699792 +0100
+--- a/drivers/isdn/hysdn/hysdn_sched.c
++++ b/drivers/isdn/hysdn/hysdn_sched.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_sched.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: hysdn_sched.c,v 1.9 2001/09/24 13:23:03 kai Exp $
#include <asm/io.h>
#include "hysdn_defs.h"
-@@ -151,22 +149,19 @@
+@@ -151,22 +149,19 @@ hysdn_tx_cfgline(hysdn_card * card, ucha
if (card->debug_flags & LOG_SCHED_ASYN)
hysdn_addlog(card, "async tx-cfg chan=%d len=%d", chan, strlen(line) + 1);
} /* wait for buffer to become free */
strcpy(card->async_data, line);
-@@ -177,31 +172,26 @@
+@@ -177,31 +172,26 @@ hysdn_tx_cfgline(hysdn_card * card, ucha
/* now queue the task */
queue_task(&card->irq_queue, &tq_immediate);
mark_bh(IMMEDIATE_BH);
if (card->debug_flags & LOG_SCHED_ASYN)
hysdn_addlog(card, "async tx-cfg data send");
-diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.c linux-2.4.29/drivers/isdn/icn/icn.c
---- linux-2.4.29.old/drivers/isdn/icn/icn.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/icn/icn.c 2005-03-22 15:06:48.722685808 +0100
+--- a/drivers/isdn/icn/icn.c
++++ b/drivers/isdn/icn/icn.c
@@ -1,4 +1,4 @@
-/* $Id: icn.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* ISDN low-level module for the ICN active ISDN-Card.
*
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ MODULE_PARM_DESC(icn_id2, "ID-String of
#undef MAP_DEBUG
static char
static int icn_addcard(int, char *, char *);
-@@ -1634,6 +1634,7 @@
+@@ -1634,6 +1634,7 @@ icn_addcard(int port, char *id1, char *i
}
#ifndef MODULE
static int __init
icn_setup(char *line)
{
-@@ -1643,6 +1644,14 @@
+@@ -1643,6 +1644,14 @@ icn_setup(char *line)
static char sid2[20];
str = get_options(line, 2, ints);
if (ints[0])
portbase = ints[1];
if (ints[0] > 1)
-@@ -1656,9 +1665,13 @@
+@@ -1656,9 +1665,13 @@ icn_setup(char *line)
icn_id2 = sid2;
}
}
#endif /* MODULE */
static int __init icn_init(void)
-diff -rNu linux-2.4.29.old/drivers/isdn/icn/icn.h linux-2.4.29/drivers/isdn/icn/icn.h
---- linux-2.4.29.old/drivers/isdn/icn/icn.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/icn/icn.h 2005-03-22 15:06:48.752681248 +0100
+--- a/drivers/isdn/icn/icn.h
++++ b/drivers/isdn/icn/icn.h
@@ -1,4 +1,4 @@
-/* $Id: icn.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the ICN active ISDN-Card.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.c linux-2.4.29/drivers/isdn/isdn_audio.c
---- linux-2.4.29.old/drivers/isdn/isdn_audio.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_audio.c 2005-03-22 15:06:44.306357192 +0100
+--- a/drivers/isdn/isdn_audio.c
++++ b/drivers/isdn/isdn_audio.c
@@ -1,9 +1,9 @@
-/* $Id: isdn_audio.c,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+/* $Id: isdn_audio.c,v 1.24 2002/08/13 09:57:26 keil Exp $
/*
* Misc. lookup-tables.
-@@ -169,19 +169,39 @@
+@@ -169,19 +169,39 @@ static char isdn_audio_ulaw_to_alaw[] =
0x8a, 0x8a, 0x6a, 0x6a, 0xea, 0xea, 0x2a, 0x2a
};
};
static char dtmf_matrix[4][4] =
-@@ -208,7 +228,7 @@
+@@ -208,7 +228,7 @@ isdn_audio_tlookup(const u_char *table,
: "memory", "ax");
#else
while (n--)
#endif
}
-@@ -479,18 +499,6 @@
+@@ -479,18 +499,6 @@ isdn_audio_goertzel(int *sample, modem_i
sk2 = sk1;
sk1 = sk;
}
result[k] =
((sk * sk) >> AMP_BITS) -
((((cos2pik[k] * sk) >> 15) * sk2) >> AMP_BITS) +
-@@ -514,58 +522,28 @@
+@@ -514,58 +522,28 @@ isdn_audio_eval_dtmf(modem_info * info)
int grp[2];
char what;
char *p;
what = '.';
}
if ((what != s->last) && (what != ' ') && (what != '.')) {
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_audio.h linux-2.4.29/drivers/isdn/isdn_audio.h
---- linux-2.4.29.old/drivers/isdn/isdn_audio.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_audio.h 2005-03-22 15:06:44.321354912 +0100
+--- a/drivers/isdn/isdn_audio.h
++++ b/drivers/isdn/isdn_audio.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_audio.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_audio.h,v 1.10 2001/09/24 13:22:42 kai Exp $
*
* Linux ISDN subsystem, audio conversion and compression (linklevel).
*
-@@ -20,7 +20,6 @@
+@@ -20,7 +20,6 @@ typedef struct adpcm_state {
typedef struct dtmf_state {
char last;
int idx;
int buf[DTMF_NPOINTS];
} dtmf_state;
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c linux-2.4.29/drivers/isdn/isdn_bsdcomp.c
---- linux-2.4.29.old/drivers/isdn/isdn_bsdcomp.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_bsdcomp.c 2005-03-22 15:06:44.339352176 +0100
-@@ -105,6 +105,14 @@
+--- a/drivers/isdn/isdn_bsdcomp.c
++++ b/drivers/isdn/isdn_bsdcomp.c
+@@ -105,6 +105,14 @@ MODULE_LICENSE("Dual BSD/GPL");
#define DEBUG 1
/*
* A dictionary for doing BSD compress.
*/
-@@ -285,7 +293,7 @@
+@@ -285,7 +293,7 @@ static void bsd_free (void *state)
* Release the dictionary
*/
if (db->dict) {
db->dict = NULL;
}
-@@ -293,7 +301,7 @@
+@@ -293,7 +301,7 @@ static void bsd_free (void *state)
* Release the string buffer
*/
if (db->lens) {
db->lens = NULL;
}
-@@ -350,14 +358,19 @@
+@@ -350,14 +358,19 @@ static void *bsd_alloc (struct isdn_ppp_
* Allocate space for the dictionary. This may be more than one page in
* length.
*/
/*
* If this is the compression buffer then there is no length data.
* For decompression, the length information is needed as well.
-@@ -365,7 +378,7 @@
+@@ -365,7 +378,7 @@ static void *bsd_alloc (struct isdn_ppp_
if (!decomp)
db->lens = NULL;
else {
sizeof (db->lens[0]));
if (!db->lens) {
bsd_free (db); /* calls MOD_DEC_USE_COUNT; */
-@@ -478,7 +491,11 @@
+@@ -478,7 +491,11 @@ static int bsd_compress (void *state, st
int hval,disp,ilen,mxcode;
unsigned char *rptr = skb_in->data;
int isize = skb_in->len;
#define OUTPUT(ent) \
{ \
bitno -= n_bits; \
-@@ -490,17 +507,45 @@
+@@ -490,17 +507,45 @@ static int bsd_compress (void *state, st
bitno += 8; \
} while (bitno <= 24); \
}
db = (struct bsd_db *) state;
hshift = db->hshift;
-@@ -538,6 +583,9 @@
+@@ -538,6 +583,9 @@ static int bsd_compress (void *state, st
/* continue probing until a match or invalid entry */
disp = (hval == 0) ? 1 : hval;
do {
hval += disp;
-@@ -546,7 +594,15 @@
+@@ -546,7 +594,15 @@ static int bsd_compress (void *state, st
dictp = dict_ptr (db, hval);
if (dictp->codem1 >= max_ent)
goto nomatch;
ent = dictp->codem1 + 1; /* finally found (prefix,suffix) */
continue;
-@@ -669,6 +725,9 @@
+@@ -669,6 +725,9 @@ static int bsd_decompress (void *state,
int ilen;
int codelen;
int extra;
db = (struct bsd_db *) state;
max_ent = db->max_ent;
-@@ -677,7 +736,9 @@
+@@ -677,7 +736,9 @@ static int bsd_decompress (void *state,
n_bits = db->n_bits;
tgtbitno = 32 - n_bits; /* bitno when we have a code */
if(!skb_in || !skb_out) {
printk(KERN_ERR "bsd_decompress called with NULL parameter\n");
-@@ -795,7 +856,11 @@
+@@ -795,7 +856,11 @@ static int bsd_decompress (void *state,
p = skb_put(skb_out,codelen);
p += codelen;
struct bsd_dict *dictp2 = dict_ptr (db, finchar);
dictp = dict_ptr (db, dictp2->cptr);
-@@ -822,6 +887,12 @@
+@@ -822,6 +887,12 @@ static int bsd_decompress (void *state,
}
}
*--p = finchar;
#ifdef DEBUG
if (--codelen != 0)
-@@ -851,12 +922,23 @@
+@@ -851,12 +922,23 @@ static int bsd_decompress (void *state,
/* look for a free hash table entry */
if (dictp->codem1 < max_ent) {
disp = (hval == 0) ? 1 : hval;
}
/*
-@@ -895,11 +977,21 @@
+@@ -895,11 +977,21 @@ static int bsd_decompress (void *state,
db->comp_bytes += skb_in->len - BSD_OVHD;
db->uncomp_bytes += skb_out->len;
return skb_out->len;
}
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.c linux-2.4.29/drivers/isdn/isdn_common.c
---- linux-2.4.29.old/drivers/isdn/isdn_common.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_common.c 2005-03-22 15:06:44.359349136 +0100
+--- a/drivers/isdn/isdn_common.c
++++ b/drivers/isdn/isdn_common.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_common.c,v 1.137 2002/02/09 21:19:11 keil Exp $
/* Debugflags */
#undef ISDN_DEBUG_STATCALLB
-@@ -44,7 +47,7 @@
+@@ -44,7 +47,7 @@ MODULE_LICENSE("GPL");
isdn_dev *dev;
extern char *isdn_net_revision;
extern char *isdn_tty_revision;
-@@ -67,19 +70,19 @@
+@@ -67,19 +70,19 @@ static isdn_divert_if *divert_if; /* = N
static int isdn_writebuf_stub(int, int, const u_char *, int, int);
static void set_global_features(void);
cmd.driver = i;
cmd.arg = 0;
-@@ -101,10 +104,7 @@
+@@ -101,10 +104,7 @@ isdn_unlock_drivers(void)
{
int i;
if (dev->drv[i]->locks > 0) {
isdn_ctrl cmd;
-@@ -114,7 +114,6 @@
+@@ -114,7 +114,6 @@ isdn_unlock_drivers(void)
isdn_command(&cmd);
dev->drv[i]->locks--;
}
}
void
-@@ -473,6 +472,7 @@
+@@ -473,6 +472,7 @@ isdn_status_callback(isdn_ctrl * c)
dev->drv[di]->flags &= ~DRV_FLAG_RUNNING;
break;
case ISDN_STAT_ICALL:
if (i < 0)
return -1;
#ifdef ISDN_DEBUG_STATCALLB
-@@ -718,7 +718,9 @@
+@@ -718,7 +718,9 @@ isdn_status_callback(isdn_ctrl * c)
dev->drvmap[i] = -1;
dev->chanmap[i] = -1;
dev->usage[i] &= ~ISDN_USAGE_DISABLED;
}
dev->drivers--;
dev->channels -= dev->drv[di]->channels;
-@@ -755,6 +757,10 @@
+@@ -755,6 +757,10 @@ isdn_status_callback(isdn_ctrl * c)
if (divert_if)
return(divert_if->stat_callback(c));
#endif /* CONFIG_ISDN_DIVERSION */
default:
return -1;
}
-@@ -900,72 +906,239 @@
+@@ -900,72 +906,239 @@ isdn_minor2chan(int minor)
return (dev->chanmap[minor]);
}
static ssize_t
isdn_read(struct file *file, char *buf, size_t count, loff_t * off)
{
-@@ -976,37 +1149,16 @@
+@@ -976,37 +1149,16 @@ isdn_read(struct file *file, char *buf,
int chidx;
int retval;
char *p;
if (!dev->drivers) {
retval = -ENODEV;
goto out;
-@@ -1031,7 +1183,7 @@
+@@ -1031,7 +1183,7 @@ isdn_read(struct file *file, char *buf,
cli();
len = isdn_readbchan(drvidx, chidx, p, 0, count,
&dev->drv[drvidx]->rcv_waitq[chidx]);
restore_flags(flags);
if (copy_to_user(buf,p,len))
len = -EFAULT;
-@@ -1052,6 +1204,9 @@
+@@ -1052,6 +1204,9 @@ isdn_read(struct file *file, char *buf,
}
interruptible_sleep_on(&(dev->drv[drvidx]->st_waitq));
}
if (dev->drv[drvidx]->interface->readstat) {
if (count > dev->drv[drvidx]->stavail)
count = dev->drv[drvidx]->stavail;
-@@ -1061,6 +1216,9 @@
+@@ -1065,6 +1220,9 @@ isdn_read(struct file *file, char *buf,
} else {
len = 0;
}
save_flags(flags);
cli();
if (len)
-@@ -1068,7 +1226,7 @@
+@@ -1072,7 +1230,7 @@ isdn_read(struct file *file, char *buf,
else
dev->drv[drvidx]->stavail = 0;
restore_flags(flags);
retval = len;
goto out;
}
-@@ -1080,7 +1238,9 @@
+@@ -1084,7 +1242,9 @@ isdn_read(struct file *file, char *buf,
#endif
retval = -ENODEV;
out:
return retval;
}
-@@ -1092,15 +1252,18 @@
+@@ -1096,15 +1256,18 @@ isdn_write(struct file *file, const char
int chidx;
int retval;
if (minor <= ISDN_MINOR_BMAX) {
printk(KERN_WARNING "isdn_write minor %d obsolete!\n", minor);
drvidx = isdn_minor2drv(minor);
-@@ -1145,7 +1308,9 @@
+@@ -1149,7 +1312,9 @@ isdn_write(struct file *file, const char
#endif
retval = -ENODEV;
out:
return retval;
}
-@@ -1156,15 +1321,12 @@
+@@ -1160,15 +1325,12 @@ isdn_poll(struct file *file, poll_table
unsigned int minor = MINOR(file->f_dentry->d_inode->i_rdev);
int drvidx = isdn_minor2drv(minor - ISDN_MINOR_CTRL);
if (minor >= ISDN_MINOR_CTRL && minor <= ISDN_MINOR_CTRLMAX) {
if (drvidx < 0) {
/* driver deregistered while file open */
-@@ -1186,7 +1348,9 @@
+@@ -1190,7 +1352,9 @@ isdn_poll(struct file *file, poll_table
#endif
mask = POLLERR;
out:
return mask;
}
-@@ -1216,42 +1380,9 @@
+@@ -1220,42 +1384,9 @@ isdn_ioctl(struct inode *inode, struct f
#define phone iocpar.phone
#define cfg iocpar.cfg
if (!dev->drivers)
return -ENODEV;
if (minor <= ISDN_MINOR_BMAX) {
-@@ -1273,11 +1404,34 @@
+@@ -1277,11 +1408,34 @@ isdn_ioctl(struct inode *inode, struct f
*/
switch (cmd) {
case IIOCNETDWRSET:
#ifdef CONFIG_NETDEVICES
case IIOCNETAIF:
/* Add a network-interface */
-@@ -1650,22 +1804,12 @@
+@@ -1654,22 +1808,12 @@ isdn_open(struct inode *ino, struct file
int chidx;
int retval = -ENODEV;
}
if (!dev->channels)
goto out;
-@@ -1688,6 +1832,9 @@
+@@ -1692,6 +1836,9 @@ isdn_open(struct inode *ino, struct file
if (drvidx < 0)
goto out;
isdn_lock_drivers();
retval = 0;
goto out;
}
-@@ -1700,6 +1847,10 @@
+@@ -1704,6 +1851,10 @@ isdn_open(struct inode *ino, struct file
}
#endif
out:
return retval;
}
-@@ -1708,25 +1859,11 @@
+@@ -1712,25 +1863,11 @@ isdn_close(struct inode *ino, struct fil
{
uint minor = MINOR(ino->i_rdev);
}
isdn_unlock_drivers();
if (minor <= ISDN_MINOR_BMAX)
-@@ -1734,6 +1871,12 @@
+@@ -1738,6 +1875,12 @@ isdn_close(struct inode *ino, struct fil
if (minor <= ISDN_MINOR_CTRLMAX) {
if (dev->profd == current)
dev->profd = NULL;
goto out;
}
#ifdef CONFIG_ISDN_PPP
-@@ -1742,13 +1885,19 @@
+@@ -1746,13 +1889,19 @@ isdn_close(struct inode *ino, struct fil
#endif
out:
llseek: no_llseek,
read: isdn_read,
write: isdn_write,
-@@ -1801,6 +1950,15 @@
+@@ -1805,6 +1954,15 @@ isdn_get_free_channel(int usage, int l2_
if (USG_NONE(dev->usage[i]) &&
(dev->drvmap[i] != -1)) {
int d = dev->drvmap[i];
if ((dev->usage[i] & ISDN_USAGE_EXCLUSIVE) &&
((pre_dev != d) || (pre_chan != dev->chanmap[i])))
continue;
-@@ -1819,7 +1977,11 @@
+@@ -1823,7 +1981,11 @@ isdn_get_free_channel(int usage, int l2_
restore_flags(flags);
return i;
} else {
dev->usage[i] &= ISDN_USAGE_EXCLUSIVE;
dev->usage[i] |= usage;
isdn_info_update();
-@@ -2006,7 +2168,7 @@
+@@ -2010,7 +2172,7 @@ isdn_add_channels(driver *d, int drvidx,
if ((adding) && (d->rcverr))
kfree(d->rcverr);
printk(KERN_WARNING "register_isdn: Could not alloc rcverr\n");
return -1;
}
-@@ -2014,7 +2176,7 @@
+@@ -2018,7 +2180,7 @@ isdn_add_channels(driver *d, int drvidx,
if ((adding) && (d->rcvcount))
kfree(d->rcvcount);
printk(KERN_WARNING "register_isdn: Could not alloc rcvcount\n");
if (!adding) kfree(d->rcverr);
return -1;
-@@ -2026,7 +2188,8 @@
+@@ -2030,7 +2192,8 @@ isdn_add_channels(driver *d, int drvidx,
skb_queue_purge(&d->rpqueue[j]);
kfree(d->rpqueue);
}
printk(KERN_WARNING "register_isdn: Could not alloc rpqueue\n");
if (!adding) {
kfree(d->rcvcount);
-@@ -2040,7 +2203,8 @@
+@@ -2044,7 +2207,8 @@ isdn_add_channels(driver *d, int drvidx,
if ((adding) && (d->rcv_waitq))
kfree(d->rcv_waitq);
if (!d->rcv_waitq) {
printk(KERN_WARNING "register_isdn: Could not alloc rcv_waitq\n");
if (!adding) {
-@@ -2064,7 +2228,9 @@
+@@ -2068,7 +2232,9 @@ isdn_add_channels(driver *d, int drvidx,
if (dev->chanmap[k] < 0) {
dev->chanmap[k] = j;
dev->drvmap[k] = drvidx;
break;
}
restore_flags(flags);
-@@ -2128,6 +2294,7 @@
+@@ -2132,6 +2298,7 @@ int DIVERT_REG_NAME(isdn_divert_if *i_di
i_div->ll_cmd = isdn_command; /* set command function */
i_div->drv_to_name = map_drvname;
i_div->name_to_drv = map_namedrv;
MOD_INC_USE_COUNT;
divert_if = i_div; /* remember interface */
return(DIVERT_NO_ERR);
-@@ -2165,7 +2332,7 @@
+@@ -2169,7 +2336,7 @@ register_isdn(isdn_if * i)
printk(KERN_WARNING "register_isdn: No write routine given.\n");
return 0;
}
printk(KERN_WARNING "register_isdn: Could not alloc driver-struct\n");
return 0;
}
-@@ -2225,6 +2392,7 @@
+@@ -2229,6 +2396,7 @@ isdn_getrev(const char *revision)
return rev;
}
#ifdef CONFIG_DEVFS_FS
static devfs_handle_t devfs_handle;
-@@ -2314,6 +2482,7 @@
+@@ -2318,6 +2486,7 @@ static void isdn_cleanup_devfs(void)
}
#endif /* CONFIG_DEVFS_FS */
/*
* Allocate and initialize all data, register modem-devices
-@@ -2331,7 +2500,6 @@
+@@ -2335,7 +2504,6 @@ static int __init isdn_init(void)
init_timer(&dev->timer);
dev->timer.function = isdn_timer_funct;
init_MUTEX(&dev->sem);
for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
dev->drvmap[i] = -1;
dev->chanmap[i] = -1;
-@@ -2345,7 +2513,9 @@
+@@ -2349,7 +2517,9 @@ static int __init isdn_init(void)
vfree(dev);
return -EIO;
}
if ((i = isdn_tty_modem_init()) < 0) {
printk(KERN_WARNING "isdn: Could not register tty devices\n");
if (i == -3)
-@@ -2353,7 +2523,9 @@
+@@ -2357,7 +2527,9 @@ static int __init isdn_init(void)
if (i <= -2)
tty_unregister_driver(&dev->mdm.tty_modem);
vfree(dev);
devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
return -EIO;
}
-@@ -2364,7 +2536,9 @@
+@@ -2368,7 +2540,9 @@ static int __init isdn_init(void)
tty_unregister_driver(&dev->mdm.cua_modem);
for (i = 0; i < ISDN_MAX_CHANNELS; i++)
kfree(dev->mdm.info[i].xmit_buf - 4);
devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
vfree(dev);
return -EIO;
-@@ -2390,6 +2564,9 @@
+@@ -2394,6 +2568,9 @@ static int __init isdn_init(void)
printk("\n");
#endif
isdn_info_update();
return 0;
}
-@@ -2398,7 +2575,7 @@
+@@ -2402,7 +2579,7 @@ static int __init isdn_init(void)
*/
static void __exit isdn_exit(void)
{
int i;
#ifdef CONFIG_ISDN_PPP
-@@ -2432,13 +2609,18 @@
+@@ -2436,13 +2613,18 @@ static void __exit isdn_exit(void)
printk(KERN_WARNING "isdn: controldevice busy, remove cancelled\n");
restore_flags(flags);
} else {
}
module_init(isdn_init);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_common.h linux-2.4.29/drivers/isdn/isdn_common.h
---- linux-2.4.29.old/drivers/isdn/isdn_common.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_common.h 2005-03-22 15:06:44.374346856 +0100
+--- a/drivers/isdn/isdn_common.h
++++ b/drivers/isdn/isdn_common.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_common.h,v 1.22 2001/09/24 13:22:42 kai Exp $
/* Prototypes */
extern void isdn_MOD_INC_USE_COUNT(void);
extern void isdn_MOD_DEC_USE_COUNT(void);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_concap.c linux-2.4.29/drivers/isdn/isdn_concap.c
---- linux-2.4.29.old/drivers/isdn/isdn_concap.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_concap.c 2005-03-22 15:06:44.389344576 +0100
+--- a/drivers/isdn/isdn_concap.c
++++ b/drivers/isdn/isdn_concap.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_concap.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_concap.c,v 1.9 2001/09/24 13:22:42 kai Exp $
*
* Linux ISDN subsystem, protocol encapsulation
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_concap.h linux-2.4.29/drivers/isdn/isdn_concap.h
---- linux-2.4.29.old/drivers/isdn/isdn_concap.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_concap.h 2005-03-22 15:06:44.405342144 +0100
+--- a/drivers/isdn/isdn_concap.h
++++ b/drivers/isdn/isdn_concap.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_concap.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_concap.h,v 1.4 2001/09/24 13:22:42 kai Exp $
*
* Linux ISDN subsystem, protocol encapsulation
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_dwabc.c linux-2.4.29/drivers/isdn/isdn_dwabc.c
---- linux-2.4.29.old/drivers/isdn/isdn_dwabc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_dwabc.c 2005-03-22 15:06:44.421339712 +0100
+--- /dev/null
++++ b/drivers/isdn/isdn_dwabc.c
@@ -0,0 +1,1053 @@
+
+/* $Id: isdn_dwabc.c,v 1.27 2001/12/01 23:18:21 detabc Exp $
+{ return(skb); }
+#endif
+#endif
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.c linux-2.4.29/drivers/isdn/isdn_net.c
---- linux-2.4.29.old/drivers/isdn/isdn_net.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_net.c 2005-03-22 15:06:44.447335760 +0100
+--- a/drivers/isdn/isdn_net.c
++++ b/drivers/isdn/isdn_net.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_net.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_net.c,v 1.153 2002/08/17 18:35:23 detabc Exp $
/*
* Outline of new tbusy handling:
-@@ -79,7 +75,11 @@
+@@ -79,7 +75,11 @@ static __inline__ int isdn_net_device_st
dev = lp->master;
else
dev = &n->dev;
}
/*
-@@ -143,6 +143,10 @@
+@@ -143,6 +143,10 @@ static __inline__ void isdn_net_inc_fram
atomic_inc(&lp->frame_cnt);
if (isdn_net_device_busy(lp))
isdn_net_device_stop_queue(lp);
}
static __inline__ void isdn_net_dec_frame_cnt(isdn_net_local *lp)
-@@ -157,11 +161,19 @@
+@@ -157,11 +161,19 @@ static __inline__ void isdn_net_dec_fram
isdn_net_device_wake_queue(lp);
}
}
}
/* For 2.2.x we leave the transmitter busy timeout at 2 secs, just
-@@ -173,23 +185,101 @@
+@@ -173,23 +185,101 @@ static __inline__ void isdn_net_zero_fra
* which might rely on the tx timeout. If so, we'll find out this way...
*/
isdn_net_unreachable(struct net_device *dev, struct sk_buff *skb, char *reason)
{
if(skb) {
-@@ -297,6 +387,12 @@
+@@ -297,6 +387,12 @@ isdn_net_unbind_channel(isdn_net_local *
save_flags(flags);
cli();
skb_queue_purge(&lp->super_tx_queue);
if (!lp->master) { /* reset only master device */
-@@ -351,6 +447,26 @@
+@@ -351,6 +447,26 @@ isdn_net_autohup()
if ((l->flags & ISDN_NET_CONNECTED) && (!l->dialstate)) {
anymore = 1;
l->huptimer++;
/*
* if there is some dialmode where timeout-hangup
* should _not_ be done, check for that here
-@@ -465,8 +581,32 @@
+@@ -465,8 +581,32 @@ isdn_net_stat_callback(int idx, isdn_ctr
printk(KERN_INFO "%s: Chargesum is %d\n", lp->name,
lp->charge);
isdn_net_unbind_channel(lp);
break;
#ifdef CONFIG_ISDN_X25
case ISDN_STAT_BHUP:
-@@ -507,6 +647,19 @@
+@@ -507,6 +647,19 @@ isdn_net_stat_callback(int idx, isdn_ctr
}
}
printk(KERN_INFO "isdn_net: %s connected\n", lp->name);
/* If first Chargeinfo comes before B-Channel connect,
* we correct the timestamp here.
*/
-@@ -578,7 +731,6 @@
+@@ -578,7 +731,6 @@ isdn_net_dial(void)
int i;
unsigned long flags;
isdn_ctrl cmd;
while (p) {
isdn_net_local *lp = p->local;
-@@ -597,6 +749,47 @@
+@@ -597,6 +749,47 @@ isdn_net_dial(void)
*/
save_flags(flags);
cli();
lp->dial = lp->phone[1];
restore_flags(flags);
if (!lp->dial) {
-@@ -621,18 +814,69 @@
+@@ -621,18 +814,69 @@ isdn_net_dial(void)
cmd.arg = lp->isdn_channel;
cmd.command = ISDN_CMD_CLREAZ;
isdn_command(&cmd);
if(dev->global_flags & ISDN_GLOBAL_STOPPED || (ISDN_NET_DIALMODE(*lp) == ISDN_NET_DM_OFF)) {
char *s;
if (dev->global_flags & ISDN_GLOBAL_STOPPED)
-@@ -677,20 +921,7 @@
+@@ -677,20 +921,7 @@ isdn_net_dial(void)
break;
}
/*
* Switch to next number or back to start if at end of list.
*/
-@@ -710,17 +941,70 @@
+@@ -710,17 +941,70 @@ isdn_net_dial(void)
}
}
restore_flags(flags);
lp->dtimer = 0;
#ifdef ISDN_DEBUG_NET_DIAL
printk(KERN_DEBUG "dial: d=%d c=%d\n", lp->isdn_device,
-@@ -741,6 +1025,10 @@
+@@ -741,6 +1025,10 @@ isdn_net_dial(void)
lp->dialstate =
(lp->cbdelay &&
(lp->flags & ISDN_NET_CBOUT)) ? 12 : 4;
break;
case 4:
/* Wait for D-Channel-connect.
-@@ -890,6 +1178,15 @@
+@@ -890,6 +1178,15 @@ isdn_net_hangup(struct net_device *d)
isdn_command(&cmd);
printk(KERN_INFO "%s: Chargesum is %d\n", lp->name, lp->charge);
isdn_all_eaz(lp->isdn_device, lp->isdn_channel);
}
isdn_net_unbind_channel(lp);
}
-@@ -899,8 +1196,13 @@
+@@ -899,8 +1196,13 @@ typedef struct {
unsigned short dest;
} ip_ports;
{
u_char *p = skb->nh.raw; /* hopefully, this was set correctly */
unsigned short proto = ntohs(skb->protocol);
-@@ -972,7 +1274,13 @@
+@@ -972,7 +1274,13 @@ isdn_net_log_skb(struct sk_buff * skb, i
break;
}
printk(KERN_INFO
p[12], p[13], p[14], p[15],
p[16], p[17], p[18], p[19],
-@@ -980,7 +1288,13 @@
+@@ -980,7 +1288,13 @@ isdn_net_log_skb(struct sk_buff * skb, i
break;
case ETH_P_ARP:
printk(KERN_INFO
p[14], p[15], p[16], p[17],
p[24], p[25], p[26], p[27]);
break;
-@@ -1004,11 +1318,22 @@
+@@ -1004,11 +1318,22 @@ void isdn_net_write_super(isdn_net_local
}
spin_lock_bh(&lp->xmit_lock);
spin_unlock_bh(&lp->xmit_lock);
}
-@@ -1056,7 +1381,6 @@
+@@ -1056,7 +1381,6 @@ void isdn_net_writebuf_skb(isdn_net_loca
printk(KERN_WARNING "%s: HL driver queue full\n", lp->name);
goto error;
}
lp->transcount += len;
isdn_net_inc_frame_cnt(lp);
return;
-@@ -1064,9 +1388,19 @@
+@@ -1064,9 +1388,19 @@ void isdn_net_writebuf_skb(isdn_net_loca
error:
dev_kfree_skb(skb);
lp->stats.tx_errors++;
/*
* Helper function for isdn_net_start_xmit.
-@@ -1109,7 +1443,54 @@
+@@ -1109,7 +1443,54 @@ isdn_net_xmit(struct net_device *ndev, s
/* Reset hangup-timeout */
lp->huptimer = 0; // FIXME?
spin_unlock_bh(&lp->xmit_lock);
/* the following stuff is here for backwards compatibility.
-@@ -1143,6 +1524,69 @@
+@@ -1143,6 +1524,69 @@ isdn_net_xmit(struct net_device *ndev, s
return retv;
}
static void
-@@ -1161,6 +1605,7 @@
+@@ -1161,6 +1605,7 @@ isdn_net_adjust_hdr(struct sk_buff *skb,
}
void isdn_net_tx_timeout(struct net_device * ndev)
{
isdn_net_local *lp = (isdn_net_local *) ndev->priv;
-@@ -1188,19 +1633,206 @@
+@@ -1188,19 +1633,206 @@ void isdn_net_tx_timeout(struct net_devi
ndev->trans_start = jiffies;
netif_wake_queue(ndev);
}
#ifdef CONFIG_ISDN_X25
/* At this point hard_start_xmit() passes control to the encapsulation
protocol (if present).
-@@ -1220,6 +1852,40 @@
+@@ -1220,6 +1852,40 @@ isdn_net_start_xmit(struct sk_buff *skb,
} else
#endif
/* auto-dialing xmit function */
{
#ifdef ISDN_DEBUG_NET_DUMP
u_char *buf;
-@@ -1256,6 +1922,14 @@
+@@ -1256,6 +1922,14 @@ isdn_net_start_xmit(struct sk_buff *skb,
} else
lp->dialwait_timer = 0;
}
/* Grab a free ISDN-Channel */
if (((chi =
isdn_get_free_channel(
-@@ -1264,6 +1938,9 @@
+@@ -1264,6 +1938,9 @@ isdn_net_start_xmit(struct sk_buff *skb,
lp->l3_proto,
lp->pre_device,
lp->pre_channel,
lp->msn)
) < 0) &&
((chi =
-@@ -1273,6 +1950,9 @@
+@@ -1273,6 +1950,9 @@ isdn_net_start_xmit(struct sk_buff *skb,
lp->l3_proto,
lp->pre_device,
lp->pre_channel^1,
lp->msn)
) < 0)) {
restore_flags(flags);
-@@ -1296,16 +1976,6 @@
+@@ -1296,16 +1976,6 @@ isdn_net_start_xmit(struct sk_buff *skb,
restore_flags(flags);
return 0; /* STN (skb to nirvana) ;) */
}
restore_flags(flags);
isdn_net_dial(); /* Initiate dialing */
netif_stop_queue(ndev);
-@@ -1337,6 +2007,7 @@
+@@ -1337,6 +2007,7 @@ isdn_net_start_xmit(struct sk_buff *skb,
}
}
return 1;
}
/*
-@@ -1356,6 +2027,9 @@
+@@ -1356,6 +2027,9 @@ isdn_net_close(struct net_device *dev)
if( cprot && cprot -> pops ) cprot -> pops -> close( cprot );
#endif
netif_stop_queue(dev);
if ((p = (((isdn_net_local *) dev->priv)->slave))) {
/* If this interface has slaves, stop them also */
while (p) {
-@@ -1776,6 +2450,10 @@
+@@ -1776,6 +2450,10 @@ isdn_net_ciscohdlck_receive(isdn_net_loc
}
switch (type) {
case CISCO_TYPE_SLARP:
isdn_net_ciscohdlck_slarp_in(lp, skb);
goto out_free;
-@@ -1785,11 +2463,11 @@
+@@ -1785,11 +2463,11 @@ isdn_net_ciscohdlck_receive(isdn_net_loc
"\"no cdp enable\" on cisco.\n", lp->name);
goto out_free;
default:
out_free:
kfree_skb(skb);
-@@ -1803,9 +2481,19 @@
+@@ -1803,9 +2481,19 @@ isdn_net_receive(struct net_device *ndev
{
isdn_net_local *lp = (isdn_net_local *) ndev->priv;
isdn_net_local *olp = lp; /* original 'lp' */
lp->transcount += skb->len;
lp->stats.rx_packets++;
-@@ -1819,6 +2507,10 @@
+@@ -1819,6 +2507,10 @@ isdn_net_receive(struct net_device *ndev
lp->stats.rx_packets++;
lp->stats.rx_bytes += skb->len;
}
skb->dev = ndev;
skb->pkt_type = PACKET_HOST;
skb->mac.raw = skb->data;
-@@ -1840,9 +2532,40 @@
+@@ -1840,9 +2532,40 @@ isdn_net_receive(struct net_device *ndev
/* Fall through */
case ISDN_NET_ENCAP_RAWIP:
/* RAW-IP without MAC-Header */
break;
case ISDN_NET_ENCAP_CISCOHDLCK:
isdn_net_ciscohdlck_receive(lp, skb);
-@@ -1862,8 +2585,22 @@
+@@ -1862,8 +2585,22 @@ isdn_net_receive(struct net_device *ndev
break;
#ifdef CONFIG_ISDN_PPP
case ISDN_NET_ENCAP_SYNCPPP:
return;
#endif
-@@ -1873,6 +2610,15 @@
+@@ -1873,6 +2610,15 @@ isdn_net_receive(struct net_device *ndev
if(cprot) if(cprot -> pops)
if( cprot -> pops -> data_ind){
cprot -> pops -> data_ind(cprot,skb);
return;
};
#endif /* CONFIG_ISDN_X25 */
-@@ -1882,6 +2628,15 @@
+@@ -1882,6 +2628,15 @@ isdn_net_receive(struct net_device *ndev
return;
}
netif_rx(skb);
return;
}
-@@ -2160,8 +2915,10 @@
+@@ -2160,8 +2915,10 @@ isdn_net_find_icall(int di, int ch, int
isdn_net_phone *n;
ulong flags;
char nr[32];
/* Search name in netdev-chain */
save_flags(flags);
cli();
-@@ -2180,17 +2937,15 @@
+@@ -2180,17 +2937,15 @@ isdn_net_find_icall(int di, int ch, int
eaz = setup->eazmsn;
if (dev->net_verbose > 1)
printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", nr, si1, si2, eaz);
ematch = wret = swapped = 0;
#ifdef ISDN_DEBUG_NET_ICALL
printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=%d\n", di, ch, idx,
-@@ -2210,25 +2965,8 @@
+@@ -2210,25 +2965,8 @@ p = dev->netdev;
break;
}
swapped = 0;
/* Remember if more numbers eventually can match */
if (matchret > wret)
wret = matchret;
-@@ -2236,17 +2974,122 @@
+@@ -2236,17 +2974,122 @@ p = dev->netdev;
printk(KERN_DEBUG "n_fi: if='%s', l.msn=%s, l.flags=%d, l.dstate=%d\n",
lp->name, lp->msn, lp->flags, lp->dialstate);
#endif
if (dev->usage[idx] & ISDN_USAGE_EXCLUSIVE) {
if ((lp->pre_channel != ch) ||
(lp->pre_device != di)) {
-@@ -2375,6 +3218,12 @@
+@@ -2375,6 +3218,12 @@ p = dev->netdev;
continue;
}
}
if (lp->flags & ISDN_NET_CALLBACK) {
int chi;
/*
-@@ -2427,6 +3276,47 @@
+@@ -2427,6 +3276,47 @@ p = dev->netdev;
restore_flags(flags);
return 0;
} else {
printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
eaz);
/* if this interface is dialing, it does it probably on a different
-@@ -2516,7 +3406,11 @@
+@@ -2516,7 +3406,11 @@ isdn_net_force_dial_lp(isdn_net_local *
lp->l3_proto,
lp->pre_device,
lp->pre_channel,
) < 0) {
printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
restore_flags(flags);
-@@ -2599,7 +3493,11 @@
+@@ -2599,7 +3493,11 @@ isdn_net_new(char *name, struct net_devi
strcpy(netdev->local->name, " ");
else
strcpy(netdev->local->name, name);
netdev->dev.priv = netdev->local;
netdev->dev.init = isdn_net_init;
netdev->local->p_encap = ISDN_NET_ENCAP_RAWIP;
-@@ -2617,11 +3515,13 @@
+@@ -2617,11 +3515,13 @@ isdn_net_new(char *name, struct net_devi
((isdn_net_local *) q->priv)->slave = &(netdev->dev);
} else {
/* Device shall be a master */
if (register_netdev(&netdev->dev) != 0) {
printk(KERN_WARNING "isdn_net: Could not register net-device\n");
kfree(netdev->local);
-@@ -2658,6 +3558,9 @@
+@@ -2658,6 +3558,9 @@ isdn_net_new(char *name, struct net_devi
netdev->local->hupflags = ISDN_INHUP; /* Do hangup even on incoming calls */
netdev->local->onhtime = 10; /* Default hangup-time for saving costs
of those who forget configuring this */
netdev->local->dialmax = 1;
netdev->local->flags = ISDN_NET_CBHUP | ISDN_NET_DM_MANUAL; /* Hangup before Callback, manual dial */
netdev->local->cbdelay = 25; /* Wait 5 secs before Callback */
-@@ -2831,7 +3734,6 @@
+@@ -2831,7 +3734,6 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
/* If binding is exclusive, try to grab the channel */
save_flags(flags);
if ((i = isdn_get_free_channel(ISDN_USAGE_NET,
lp->l2_proto, lp->l3_proto, drvidx,
chidx, lp->msn)) < 0) {
-@@ -2859,6 +3761,9 @@
+@@ -2859,6 +3761,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
lp->pre_device = drvidx;
lp->pre_channel = chidx;
lp->onhtime = cfg->onhtime;
lp->charge = cfg->charge;
lp->l2_proto = cfg->l2_proto;
lp->l3_proto = cfg->l3_proto;
-@@ -2932,6 +3837,9 @@
+@@ -2932,6 +3837,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
}
}
lp->p_encap = cfg->p_encap;
return 0;
}
return -ENODEV;
-@@ -3007,6 +3915,9 @@
+@@ -3007,6 +3915,9 @@ isdn_net_addphone(isdn_net_ioctl_phone *
strcpy(n->num, phone->phone);
n->next = p->local->phone[phone->outgoing & 1];
p->local->phone[phone->outgoing & 1] = n;
return 0;
}
return -ENODEV;
-@@ -3100,6 +4011,9 @@
+@@ -3100,6 +4011,9 @@ isdn_net_delphone(isdn_net_ioctl_phone *
else
p->local->phone[inout] = n->next;
kfree(n);
restore_flags(flags);
return 0;
}
-@@ -3135,6 +4049,9 @@
+@@ -3135,6 +4049,9 @@ isdn_net_rmallphone(isdn_net_dev * p)
p->local->phone[i] = NULL;
}
p->local->dial = NULL;
restore_flags(flags);
return 0;
}
-@@ -3218,6 +4135,10 @@
+@@ -3218,6 +4135,10 @@ isdn_net_realrm(isdn_net_dev * p, isdn_n
/* If no more net-devices remain, disable auto-hangup timer */
if (dev->netdev == NULL)
isdn_timer_ctrl(ISDN_TIMER_NETHANGUP, 0);
restore_flags(flags);
kfree(p->local);
kfree(p);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_net.h linux-2.4.29/drivers/isdn/isdn_net.h
---- linux-2.4.29.old/drivers/isdn/isdn_net.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_net.h 2005-03-22 15:06:44.463333328 +0100
+--- a/drivers/isdn/isdn_net.h
++++ b/drivers/isdn/isdn_net.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_net.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_net.h,v 1.23 2001/11/07 22:35:48 kai Exp $
#define CISCO_TYPE_SLARP 0x8035
#define CISCO_SLARP_REQUEST 0
#define CISCO_SLARP_REPLY 1
-@@ -106,8 +107,6 @@
+@@ -106,8 +107,6 @@ static __inline__ void isdn_net_add_to_b
spin_lock_irqsave(&nd->queue_lock, flags);
lp = nd->queue;
nlp->last = lp->last;
lp->last->next = nlp;
lp->last = nlp;
-@@ -127,20 +126,12 @@
+@@ -127,20 +126,12 @@ static __inline__ void isdn_net_rm_from_
if (lp->master)
master_lp = (isdn_net_local *) lp->master->priv;
spin_unlock_irqrestore(&master_lp->netdev->queue_lock, flags);
}
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.c linux-2.4.29/drivers/isdn/isdn_ppp.c
---- linux-2.4.29.old/drivers/isdn/isdn_ppp.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ppp.c 2005-03-22 15:06:44.481330592 +0100
+--- a/drivers/isdn/isdn_ppp.c
++++ b/drivers/isdn/isdn_ppp.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_ppp.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ppp.c,v 1.94 2001/11/07 22:35:48 kai Exp $
#include "isdn_common.h"
#include "isdn_ppp.h"
-@@ -72,11 +69,19 @@
+@@ -72,11 +69,19 @@ static void isdn_ppp_mp_cleanup( isdn_ne
static int isdn_ppp_bundle(struct ippp_struct *, int unit);
#endif /* CONFIG_ISDN_MPP */
/*
* frame log (debug)
-@@ -110,11 +115,8 @@
+@@ -110,11 +115,8 @@ isdn_ppp_free(isdn_net_local * lp)
unsigned long flags;
struct ippp_struct *is;
save_flags(flags);
cli();
-@@ -130,12 +132,7 @@
+@@ -130,12 +132,7 @@ isdn_ppp_free(isdn_net_local * lp)
lp->netdev->pb->ref_ct--;
spin_unlock(&lp->netdev->pb->lock);
#endif /* CONFIG_ISDN_MPP */
is = ippp_table[lp->ppp_slot];
if ((is->state & IPPP_CONNECT))
isdn_ppp_closewait(lp->ppp_slot); /* force wakeup on ippp device */
-@@ -231,13 +228,12 @@
+@@ -231,13 +228,12 @@ isdn_ppp_bind(isdn_net_local * lp)
void
isdn_ppp_wakeup_daemon(isdn_net_local * lp)
{
}
/*
-@@ -250,14 +246,13 @@
+@@ -250,14 +246,13 @@ isdn_ppp_closewait(int slot)
{
struct ippp_struct *is;
is->state = IPPP_CLOSEWAIT;
return 1;
}
-@@ -295,9 +290,11 @@
+@@ -295,9 +290,11 @@ isdn_ppp_open(int min, struct file *file
return -EBUSY;
}
is = file->private_data = ippp_table[slot];
/* compression stuff */
is->link_compressor = is->compressor = NULL;
-@@ -327,10 +324,7 @@
+@@ -327,10 +324,7 @@ isdn_ppp_open(int min, struct file *file
*/
is->slcomp = slhc_init(16, 16); /* not necessary for 2. link in bundle */
#endif
is->state = IPPP_OPEN;
return 0;
-@@ -349,20 +343,12 @@
+@@ -349,20 +343,12 @@ isdn_ppp_release(int min, struct file *f
return;
is = file->private_data;
is->state &= ~IPPP_CONNECT; /* -> effect: no call of wakeup */
/*
* isdn_net_hangup() calls isdn_ppp_free()
-@@ -385,18 +371,8 @@
+@@ -385,18 +371,8 @@ isdn_ppp_release(int min, struct file *f
slhc_free(is->slcomp);
is->slcomp = NULL;
#endif
if(is->comp_stat)
is->compressor->free(is->comp_stat);
if(is->link_comp_stat)
-@@ -509,13 +485,15 @@
+@@ -509,13 +485,15 @@ isdn_ppp_ioctl(int min, struct file *fil
if (val & SC_ENABLE_IP && !(is->pppcfg & SC_ENABLE_IP) && (is->state & IPPP_CONNECT)) {
if (lp) {
/* OK .. we are ready to send buffers */
case PPPIOCGIDLE: /* get idle time information */
if (lp) {
struct ppp_idle pidle;
-@@ -604,39 +582,6 @@
+@@ -604,39 +582,6 @@ isdn_ppp_ioctl(int min, struct file *fil
}
return set_arg((void *)arg,&pci,sizeof(struct pppcallinfo));
}
default:
break;
}
-@@ -699,7 +644,7 @@
+@@ -699,7 +644,7 @@ isdn_ppp_fill_rq(unsigned char *buf, int
struct ippp_struct *is;
if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
return 0;
}
is = ippp_table[slot];
-@@ -976,8 +921,7 @@
+@@ -976,8 +921,7 @@ void isdn_ppp_receive(isdn_net_dev * net
slot = lp->ppp_slot;
if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
kfree_skb(skb);
return;
}
-@@ -1026,23 +970,19 @@
+@@ -1026,23 +970,19 @@ isdn_ppp_push_higher(isdn_net_dev * net_
{
struct net_device *dev = &net_dev->dev;
struct ippp_struct *is, *mis;
goto drop_packet;
}
}
-@@ -1076,11 +1016,6 @@
+@@ -1076,11 +1016,6 @@ isdn_ppp_push_higher(isdn_net_dev * net_
case PPP_VJC_UNCOMP:
if (is->debug & 0x20)
printk(KERN_DEBUG "isdn_ppp: VJC_UNCOMP\n");
if (slhc_remember(ippp_table[net_dev->local->ppp_slot]->slcomp, skb->data, skb->len) <= 0) {
printk(KERN_WARNING "isdn_ppp: received illegal VJC_UNCOMP frame!\n");
goto drop_packet;
-@@ -1102,11 +1037,6 @@
+@@ -1102,11 +1037,6 @@ isdn_ppp_push_higher(isdn_net_dev * net_
}
skb_put(skb, skb_old->len + 128);
memcpy(skb->data, skb_old->data, skb_old->len);
pkt_len = slhc_uncompress(ippp_table[net_dev->local->ppp_slot]->slcomp,
skb->data, skb_old->len);
kfree_skb(skb_old);
-@@ -1133,36 +1063,12 @@
+@@ -1133,36 +1063,12 @@ isdn_ppp_push_higher(isdn_net_dev * net_
return;
}
skb->dev = dev;
skb->mac.raw = skb->data;
netif_rx(skb);
-@@ -1199,6 +1105,7 @@
+@@ -1199,6 +1105,7 @@ static unsigned char *isdn_ppp_skb_push(
return skb_push(skb,len);
}
/*
* send ppp frame .. we expect a PIDCOMPressable proto --
* (here: currently always PPP_IP,PPP_VJC_COMP,PPP_VJC_UNCOMP)
-@@ -1214,25 +1121,23 @@
+@@ -1214,25 +1121,23 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
isdn_net_dev *nd;
unsigned int proto = PPP_IP; /* 0x21 */
struct ippp_struct *ipt,*ipts;
}
switch (ntohs(skb->protocol)) {
-@@ -1246,25 +1151,24 @@
+@@ -1246,25 +1151,24 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
printk(KERN_ERR "isdn_ppp: skipped unsupported protocol: %#x.\n",
skb->protocol);
dev_kfree_skb(skb);
/*
* after this line .. requeueing in the device queue is no longer allowed!!!
-@@ -1275,34 +1179,6 @@
+@@ -1275,34 +1179,6 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
*/
skb_pull(skb,IPPP_MAX_HEADER);
if (ipt->debug & 0x4)
printk(KERN_DEBUG "xmit skb, len %d\n", (int) skb->len);
if (ipts->debug & 0x40)
-@@ -1440,54 +1316,9 @@
+@@ -1440,54 +1316,9 @@ isdn_ppp_xmit(struct sk_buff *skb, struc
unlock:
spin_unlock_bh(&lp->xmit_lock);
#ifdef CONFIG_ISDN_MPP
/* this is _not_ rfc1990 header, but something we convert both short and long
-@@ -1537,15 +1368,8 @@
+@@ -1537,15 +1368,8 @@ static ippp_bundle * isdn_ppp_mp_bundle_
static int isdn_ppp_mp_init( isdn_net_local * lp, ippp_bundle * add_to )
{
if (add_to) {
if( lp->netdev->pb )
lp->netdev->pb->ref_ct--;
-@@ -1591,8 +1415,7 @@
+@@ -1591,8 +1415,7 @@ static void isdn_ppp_mp_receive(isdn_net
stats = &mp->stats;
slot = lp->ppp_slot;
if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
stats->frame_drops++;
dev_kfree_skb(skb);
spin_unlock_irqrestore(&mp->lock, flags);
-@@ -1628,8 +1451,7 @@
+@@ -1628,8 +1451,7 @@ static void isdn_ppp_mp_receive(isdn_net
for (lpq = net_dev->queue;;) {
slot = lpq->ppp_slot;
if (slot < 0 || slot > ISDN_MAX_CHANNELS) {
} else {
u32 lls = ippp_table[slot]->last_link_seqno;
if (MP_LT(lls, minseq))
-@@ -1861,14 +1683,9 @@
+@@ -1861,14 +1683,9 @@ void isdn_ppp_mp_reassembly( isdn_net_de
struct sk_buff * skb;
unsigned int tot_len;
"len %d\n", MP_SEQ(from), from->len );
skb = from;
skb_pull(skb, MP_HEADER_LEN);
-@@ -1987,10 +1804,8 @@
+@@ -1987,10 +1804,8 @@ isdn_ppp_dev_ioctl_stats(int slot, struc
memset(&t, 0, sizeof(struct ppp_stats));
if (dev->flags & IFF_UP) {
t.p.ppp_ipackets = lp->stats.rx_packets;
t.p.ppp_oerrors = lp->stats.tx_errors;
#ifdef CONFIG_ISDN_PPP_VJ
if (slot >= 0 && ippp_table[slot]->slcomp) {
-@@ -2018,6 +1833,9 @@
+@@ -2018,6 +1833,9 @@ isdn_ppp_dev_ioctl(struct net_device *de
int len;
isdn_net_local *lp = (isdn_net_local *) dev->priv;
if (lp->p_encap != ISDN_NET_ENCAP_SYNCPPP)
return -EINVAL;
-@@ -2431,7 +2249,7 @@
+@@ -2432,7 +2250,7 @@ static void isdn_ppp_ccp_reset_trans(str
return;
}
rs->state = CCPResetSentReq;
know better */
rs->expra = 1;
rs->dlen = 0;
-@@ -2582,7 +2400,13 @@
+@@ -2583,7 +2401,13 @@ static struct sk_buff *isdn_ppp_compress
}
if(type) { /* type=1 => Link compression */
}
else {
if(!master) {
-@@ -2630,31 +2454,18 @@
+@@ -2631,31 +2455,18 @@ static struct sk_buff *isdn_ppp_compress
static void isdn_ppp_receive_ccp(isdn_net_dev *net_dev, isdn_net_local *lp,
struct sk_buff *skb,int proto)
{
mis = is;
switch(skb->data[0]) {
-@@ -2806,18 +2617,13 @@
+@@ -2807,18 +2618,13 @@ static void isdn_ppp_receive_ccp(isdn_ne
static void isdn_ppp_send_ccp(isdn_net_dev *net_dev, isdn_net_local *lp, struct sk_buff *skb)
{
/* Daemon may send with or without address and control field comp */
data = skb->data;
if(!(is->pppcfg & SC_COMP_AC) && data[0] == 0xff && data[1] == 0x03) {
-@@ -2833,17 +2639,12 @@
+@@ -2834,17 +2640,12 @@ static void isdn_ppp_send_ccp(isdn_net_d
printk(KERN_DEBUG "Received CCP frame from daemon:\n");
isdn_ppp_frame_log("ccp-xmit", skb->data, skb->len, 32, is->unit,lp->ppp_slot);
printk(KERN_DEBUG "isdn_ppp: Ouch! Master CCP sends on slave slot!\n");
switch(data[2]) {
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ppp.h linux-2.4.29/drivers/isdn/isdn_ppp.h
---- linux-2.4.29.old/drivers/isdn/isdn_ppp.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ppp.h 2005-03-22 15:06:44.497328160 +0100
+--- a/drivers/isdn/isdn_ppp.h
++++ b/drivers/isdn/isdn_ppp.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_ppp.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ppp.h,v 1.18 2001/09/24 13:22:42 kai Exp $
*
* header for Linux ISDN subsystem, functions for synchronous PPP (linklevel).
*
-@@ -19,7 +19,6 @@
+@@ -19,7 +19,6 @@ extern int isdn_ppp_init(void);
extern void isdn_ppp_cleanup(void);
extern int isdn_ppp_free(isdn_net_local *);
extern int isdn_ppp_bind(isdn_net_local *);
extern int isdn_ppp_xmit(struct sk_buff *, struct net_device *);
extern void isdn_ppp_receive(isdn_net_dev *, isdn_net_local *, struct sk_buff *);
extern int isdn_ppp_dev_ioctl(struct net_device *, struct ifreq *, int);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.c linux-2.4.29/drivers/isdn/isdn_tty.c
---- linux-2.4.29.old/drivers/isdn/isdn_tty.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_tty.c 2005-03-22 15:06:44.524324056 +0100
+--- a/drivers/isdn/isdn_tty.c
++++ b/drivers/isdn/isdn_tty.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_tty.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_tty.c,v 1.104 2002/02/09 21:19:11 keil Exp $
*
* Linux ISDN subsystem, tty functions and AT-command emulator (linklevel).
*
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ static int bit2si[8] =
static int si2bit[8] =
{4, 1, 4, 4, 4, 4, 4, 4};
/* isdn_tty_try_read() is called from within isdn_tty_rcv_skb()
-@@ -321,7 +321,10 @@
+@@ -321,7 +321,10 @@ isdn_tty_tint(modem_info * info)
info->send_outstanding++;
info->msr &= ~UART_MSR_CTS;
info->lsr &= ~UART_LSR_TEMT;
return;
}
if (slen < 0) {
-@@ -1211,7 +1214,10 @@
+@@ -1211,7 +1214,10 @@ isdn_tty_write(struct tty_struct *tty, i
/* If DLE decoding results in zero-transmit, but
* c originally was non-zero, do a wakeup.
*/
info->msr |= UART_MSR_CTS;
info->lsr |= UART_LSR_TEMT;
}
-@@ -1232,6 +1238,7 @@
+@@ -1232,6 +1238,7 @@ isdn_tty_write(struct tty_struct *tty, i
}
}
} else
if (TTY_IS_FCLASS1(info)) {
int cc = isdn_tty_handleDLEdown(info, m, c);
-@@ -1252,6 +1259,7 @@
+@@ -1252,6 +1259,7 @@ isdn_tty_write(struct tty_struct *tty, i
info->xmit_count += cc;
} else
#endif
info->xmit_count += c;
} else {
info->msr |= UART_MSR_CTS;
-@@ -1329,7 +1337,10 @@
+@@ -1329,7 +1337,10 @@ isdn_tty_flush_buffer(struct tty_struct
isdn_tty_cleanup_xmit(info);
info->xmit_count = 0;
restore_flags(flags);
}
static void
-@@ -1858,7 +1869,8 @@
+@@ -1858,7 +1869,8 @@ isdn_tty_close(struct tty_struct *tty, s
isdn_tty_shutdown(info);
if (tty->driver.flush_buffer)
tty->driver.flush_buffer(tty);
info->tty = 0;
info->ncarrier = 0;
tty->closing = 0;
-@@ -2306,6 +2318,22 @@
+@@ -2306,6 +2318,22 @@ isdn_tty_stat_callback(int i, isdn_ctrl
isdn_tty_at_cout("\r\n", info);
}
return 1;
case ISDN_STAT_DCONN:
#ifdef ISDN_TTY_STAT_DEBUG
printk(KERN_DEBUG "tty_STAT_DCONN ttyI%d\n", info->line);
-@@ -2618,7 +2646,7 @@
+@@ -2618,7 +2646,7 @@ isdn_tty_modem_result(int code, modem_in
static char *msg[] =
{"OK", "CONNECT", "RING", "NO CARRIER", "ERROR",
"CONNECT 64000", "NO DIALTONE", "BUSY", "NO ANSWER",
ulong flags;
char s[ISDN_MSNLEN+10];
-@@ -2781,7 +2809,8 @@
+@@ -2781,7 +2809,8 @@ isdn_tty_modem_result(int code, modem_in
restore_flags(flags);
return;
}
if ((info->flags & ISDN_ASYNC_CHECK_CD) &&
(!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) &&
(info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) {
-@@ -3296,9 +3325,11 @@
+@@ -3296,9 +3325,11 @@ isdn_tty_cmd_PLUSF(char **p, modem_info
#ifdef CONFIG_ISDN_TTY_FAX
if (TTY_IS_FCLASS2(info))
sprintf(rs, "\r\n2");
isdn_tty_at_cout(rs, info);
break;
case '=':
-@@ -3313,6 +3344,7 @@
+@@ -3313,6 +3344,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info
m->mdmreg[REG_PSIZE] * 16;
break;
#ifdef CONFIG_ISDN_TTY_FAX
case '1':
p[0]++;
if (!(dev->global_features &
-@@ -3324,6 +3356,7 @@
+@@ -3324,6 +3356,7 @@ isdn_tty_cmd_PLUSF(char **p, modem_info
info->xmit_size =
m->mdmreg[REG_PSIZE] * 16;
break;
case '2':
p[0]++;
if (!(dev->global_features &
-@@ -3348,9 +3381,11 @@
+@@ -3348,9 +3381,11 @@ isdn_tty_cmd_PLUSF(char **p, modem_info
p[0]++;
strcpy(rs, "\r\n0,");
#ifdef CONFIG_ISDN_TTY_FAX
if (dev->global_features &
ISDN_FEATURE_L3_FCLASS2)
strcat(rs, "2,");
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_tty.h linux-2.4.29/drivers/isdn/isdn_tty.h
---- linux-2.4.29.old/drivers/isdn/isdn_tty.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_tty.h 2005-03-22 15:06:44.545320864 +0100
+--- a/drivers/isdn/isdn_tty.h
++++ b/drivers/isdn/isdn_tty.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_tty.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_tty.h,v 1.25 2002/02/09 21:19:11 keil Exp $
#define TTY_IS_FCLASS2(info) \
((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \
(info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS2))
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c linux-2.4.29/drivers/isdn/isdn_ttyfax.c
---- linux-2.4.29.old/drivers/isdn/isdn_ttyfax.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ttyfax.c 2005-03-22 15:06:44.561318432 +0100
+--- a/drivers/isdn/isdn_ttyfax.c
++++ b/drivers/isdn/isdn_ttyfax.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_ttyfax.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ttyfax.c,v 1.9 2001/09/24 13:22:43 kai Exp $
#define PARSE_ERROR1 { isdn_tty_fax_modem_result(1, info); return 1; }
-@@ -148,6 +148,7 @@
+@@ -148,6 +148,7 @@ isdn_tty_fax_modem_result(int code, mode
}
}
int
isdn_tty_fax_command1(modem_info * info, isdn_ctrl * c)
{
-@@ -186,6 +187,7 @@
+@@ -186,6 +187,7 @@ isdn_tty_fax_command1(modem_info * info,
}
return (0);
}
int
isdn_tty_fax_command(modem_info * info, isdn_ctrl * c)
-@@ -193,8 +195,10 @@
+@@ -193,8 +195,10 @@ isdn_tty_fax_command(modem_info * info,
T30_s *f = info->fax;
char rs[10];
#ifdef ISDN_TTY_FAX_CMD_DEBUG
printk(KERN_DEBUG "isdn_tty: Fax cmd %d on ttyI%d\n",
-@@ -312,6 +316,7 @@
+@@ -312,6 +316,7 @@ isdn_tty_fax_bitorder(modem_info * info,
}
}
/*
* Parse AT+F.. FAX class 1 commands
*/
-@@ -403,6 +408,7 @@
+@@ -403,6 +408,7 @@ isdn_tty_cmd_FCLASS1(char **p, modem_inf
}
return 1;
}
/*
* Parse AT+F.. FAX class 2 commands
-@@ -970,6 +976,70 @@
+@@ -970,6 +976,70 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
}
return 0;
}
/* MDL? - DCE Model */
if (!strncmp(p[0], "MDL?", 4)) {
-@@ -1049,6 +1119,38 @@
+@@ -1049,6 +1119,38 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
}
return 0;
}
/* REL=n - Phase C received EOL alignment */
if (!strncmp(p[0], "REL", 3)) {
-@@ -1091,6 +1193,38 @@
+@@ -1091,6 +1193,38 @@ isdn_tty_cmd_FCLASS2(char **p, modem_inf
isdn_tty_at_cout(rs, info);
return 0;
}
/* Phase C Transmit Data Block Size */
if (!strncmp(p[0], "TBC=", 4)) { /* dummy, not used */
-@@ -1116,7 +1250,9 @@
+@@ -1116,7 +1250,9 @@ isdn_tty_cmd_PLUSF_FAX(char **p, modem_i
{
if (TTY_IS_FCLASS2(info))
return (isdn_tty_cmd_FCLASS2(p, info));
+#endif
PARSE_ERROR1;
}
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_ttyfax.h linux-2.4.29/drivers/isdn/isdn_ttyfax.h
---- linux-2.4.29.old/drivers/isdn/isdn_ttyfax.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_ttyfax.h 2005-03-22 15:06:44.576316152 +0100
+--- a/drivers/isdn/isdn_ttyfax.h
++++ b/drivers/isdn/isdn_ttyfax.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_ttyfax.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ttyfax.h,v 1.3 2001/09/24 13:22:43 kai Exp $
*
* header for Linux ISDN subsystem, tty_fax related functions (linklevel).
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_v110.c linux-2.4.29/drivers/isdn/isdn_v110.c
---- linux-2.4.29.old/drivers/isdn/isdn_v110.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_v110.c 2005-03-22 15:06:44.593313568 +0100
+--- a/drivers/isdn/isdn_v110.c
++++ b/drivers/isdn/isdn_v110.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_v110.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_v110.c,v 1.8 2001/09/24 13:22:43 kai Exp $
#define V110_38400 255
#define V110_19200 15
-@@ -138,6 +138,14 @@
+@@ -138,6 +138,14 @@ isdn_v110_close(isdn_v110_stream * v)
return;
#ifdef ISDN_V110_DEBUG
printk(KERN_DEBUG "v110 close\n");
#endif
kfree(v->encodebuf);
kfree(v);
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_v110.h linux-2.4.29/drivers/isdn/isdn_v110.h
---- linux-2.4.29.old/drivers/isdn/isdn_v110.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_v110.h 2005-03-22 15:06:44.608311288 +0100
+--- a/drivers/isdn/isdn_v110.h
++++ b/drivers/isdn/isdn_v110.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_v110.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_v110.h,v 1.5 2001/09/24 13:22:43 kai Exp $
*
* Linux ISDN subsystem, V.110 related functions (linklevel).
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_x25iface.c linux-2.4.29/drivers/isdn/isdn_x25iface.c
---- linux-2.4.29.old/drivers/isdn/isdn_x25iface.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_x25iface.c 2005-03-22 15:06:44.626308552 +0100
+--- a/drivers/isdn/isdn_x25iface.c
++++ b/drivers/isdn/isdn_x25iface.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_x25iface.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_x25iface.c,v 1.10 2001/09/24 13:22:43 kai Exp $
*
* Linux ISDN subsystem, X.25 related functions
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdn_x25iface.h linux-2.4.29/drivers/isdn/isdn_x25iface.h
---- linux-2.4.29.old/drivers/isdn/isdn_x25iface.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdn_x25iface.h 2005-03-22 15:06:44.645305664 +0100
+--- a/drivers/isdn/isdn_x25iface.h
++++ b/drivers/isdn/isdn_x25iface.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_x25iface.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_x25iface.h,v 1.4 2001/09/24 13:22:43 kai Exp $
*
* header for Linux ISDN subsystem, x.25 related functions
*
-diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c linux-2.4.29/drivers/isdn/isdnloop/isdnloop.c
---- linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdnloop/isdnloop.c 2005-03-22 15:06:48.813671976 +0100
+--- a/drivers/isdn/isdnloop/isdnloop.c
++++ b/drivers/isdn/isdnloop/isdnloop.c
@@ -1,4 +1,4 @@
-/* $Id: isdnloop.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: isdnloop.c,v 1.17 2001/08/30 10:45:42 kai Exp $
static char *isdnloop_id;
MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card");
-@@ -22,8 +22,8 @@
+@@ -22,8 +22,8 @@ MODULE_AUTHOR("Fritz Elfert");
MODULE_LICENSE("GPL");
MODULE_PARM(isdnloop_id, "s");
MODULE_PARM_DESC(isdnloop_id, "ID-String of first card");
/*
* Free queue completely.
-@@ -1542,11 +1542,7 @@
+@@ -1542,11 +1542,7 @@ isdnloop_init(void)
} else
strcpy(rev, " ??? ");
printk(KERN_NOTICE "isdnloop-ISDN-driver Rev%s\n", rev);
}
static void __exit
-diff -rNu linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.h linux-2.4.29/drivers/isdn/isdnloop/isdnloop.h
---- linux-2.4.29.old/drivers/isdn/isdnloop/isdnloop.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/isdnloop/isdnloop.h 2005-03-22 15:06:48.834668784 +0100
+--- a/drivers/isdn/isdnloop/isdnloop.h
++++ b/drivers/isdn/isdnloop/isdnloop.h
@@ -1,4 +1,4 @@
-/* $Id: isdnloop.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Loopback lowlevel module for testing of linklevel.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/callbacks.c linux-2.4.29/drivers/isdn/pcbit/callbacks.c
---- linux-2.4.29.old/drivers/isdn/pcbit/callbacks.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/callbacks.c 2005-03-22 15:06:48.909657384 +0100
+--- a/drivers/isdn/pcbit/callbacks.c
++++ b/drivers/isdn/pcbit/callbacks.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/callbacks.h linux-2.4.29/drivers/isdn/pcbit/callbacks.h
---- linux-2.4.29.old/drivers/isdn/pcbit/callbacks.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/callbacks.h 2005-03-22 15:06:48.953650696 +0100
+--- a/drivers/isdn/pcbit/callbacks.h
++++ b/drivers/isdn/pcbit/callbacks.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.c linux-2.4.29/drivers/isdn/pcbit/capi.c
---- linux-2.4.29.old/drivers/isdn/pcbit/capi.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/capi.c 2005-03-22 15:06:49.042637168 +0100
+--- a/drivers/isdn/pcbit/capi.c
++++ b/drivers/isdn/pcbit/capi.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/capi.h linux-2.4.29/drivers/isdn/pcbit/capi.h
---- linux-2.4.29.old/drivers/isdn/pcbit/capi.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/capi.h 2005-03-22 15:06:49.071632760 +0100
+--- a/drivers/isdn/pcbit/capi.h
++++ b/drivers/isdn/pcbit/capi.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-@@ -63,7 +63,8 @@
+@@ -63,7 +63,8 @@ extern int capi_disc_resp(struct pcbit_c
extern int capi_decode_debug_188(u_char *hdr, ushort hdrlen);
#endif
capi_channel(struct pcbit_dev *dev, struct sk_buff *skb)
{
ushort callref;
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/drv.c linux-2.4.29/drivers/isdn/pcbit/drv.c
---- linux-2.4.29.old/drivers/isdn/pcbit/drv.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/drv.c 2005-03-22 15:06:49.091629720 +0100
+--- a/drivers/isdn/pcbit/drv.c
++++ b/drivers/isdn/pcbit/drv.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
#include "pcbit.h"
#include "edss1.h"
-@@ -89,6 +91,7 @@
+@@ -89,6 +91,7 @@ int pcbit_init_dev(int board, int mem_ba
if (mem_base >= 0xA0000 && mem_base <= 0xFFFFF ) {
dev->ph_mem = mem_base;
if (check_mem_region(dev->ph_mem, 4096)) {
printk(KERN_WARNING
"PCBIT: memory region %lx-%lx already in use\n",
-@@ -100,6 +103,9 @@
+@@ -100,6 +103,9 @@ int pcbit_init_dev(int board, int mem_ba
request_mem_region(dev->ph_mem, 4096, "PCBIT mem");
}
dev->sh_mem = (unsigned char*)ioremap(dev->ph_mem, 4096);
}
else
{
-@@ -112,8 +118,10 @@
+@@ -112,8 +118,10 @@ int pcbit_init_dev(int board, int mem_ba
dev->b1 = kmalloc(sizeof(struct pcbit_chan), GFP_KERNEL);
if (!dev->b1) {
printk("pcbit_init: couldn't malloc pcbit_chan struct\n");
kfree(dev);
return -ENOMEM;
}
-@@ -122,8 +130,10 @@
+@@ -122,8 +130,10 @@ int pcbit_init_dev(int board, int mem_ba
if (!dev->b2) {
printk("pcbit_init: couldn't malloc pcbit_chan struct\n");
kfree(dev->b1);
kfree(dev);
return -ENOMEM;
}
-@@ -144,8 +154,10 @@
+@@ -144,8 +154,10 @@ int pcbit_init_dev(int board, int mem_ba
{
kfree(dev->b1);
kfree(dev->b2);
kfree(dev);
dev_pcbit[board] = NULL;
return -EIO;
-@@ -166,8 +178,10 @@
+@@ -166,8 +178,10 @@ int pcbit_init_dev(int board, int mem_ba
free_irq(irq, dev);
kfree(dev->b1);
kfree(dev->b2);
kfree(dev);
dev_pcbit[board] = NULL;
return -EIO;
-@@ -197,8 +211,10 @@
+@@ -197,8 +211,10 @@ int pcbit_init_dev(int board, int mem_ba
free_irq(irq, dev);
kfree(dev->b1);
kfree(dev->b2);
kfree(dev);
dev_pcbit[board] = NULL;
return -EIO;
-@@ -235,8 +251,10 @@
+@@ -235,8 +251,10 @@ void pcbit_terminate(int board)
del_timer(&dev->b2->fsm_timer);
kfree(dev->b1);
kfree(dev->b2);
kfree(dev);
}
}
-@@ -430,7 +448,7 @@
+@@ -430,7 +448,7 @@ int pcbit_writecmd(const u_char* buf, in
switch(dev->l2_state) {
case L2_LWMODE:
/* check (size <= rdp_size); write buf into board */
{
printk("pcbit_writecmd: invalid length %d\n", len);
return -EINVAL;
-@@ -609,6 +627,20 @@
+@@ -609,6 +627,20 @@ void pcbit_l3_receive(struct pcbit_dev *
dev->b1->s_refnum,
dev->b2->s_refnum);
#endif
/* We just try to find a channel in the right state */
if (dev->b1->fsm_state == ST_CALL_INIT)
-@@ -622,6 +654,7 @@
+@@ -622,6 +654,7 @@ void pcbit_l3_receive(struct pcbit_dev *
break;
}
}
if (capi_decode_conn_conf(chan, skb, &complete)) {
printk(KERN_DEBUG "conn_conf indicates error\n");
pcbit_fsm_event(dev, chan, EV_ERROR, NULL);
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/edss1.c linux-2.4.29/drivers/isdn/pcbit/edss1.c
---- linux-2.4.29.old/drivers/isdn/pcbit/edss1.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/edss1.c 2005-03-22 15:06:49.119625464 +0100
+--- a/drivers/isdn/pcbit/edss1.c
++++ b/drivers/isdn/pcbit/edss1.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/edss1.h linux-2.4.29/drivers/isdn/pcbit/edss1.h
---- linux-2.4.29.old/drivers/isdn/pcbit/edss1.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/edss1.h 2005-03-22 15:06:49.161619080 +0100
+--- a/drivers/isdn/pcbit/edss1.h
++++ b/drivers/isdn/pcbit/edss1.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.c linux-2.4.29/drivers/isdn/pcbit/layer2.c
---- linux-2.4.29.old/drivers/isdn/pcbit/layer2.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/layer2.c 2005-03-22 15:06:49.195613912 +0100
+--- a/drivers/isdn/pcbit/layer2.c
++++ b/drivers/isdn/pcbit/layer2.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-@@ -369,11 +369,16 @@
+@@ -369,11 +369,16 @@ pcbit_receive(struct pcbit_dev *dev)
if (dev->read_frame) {
printk(KERN_DEBUG "pcbit_receive: Type 0 frame and read_frame != NULL\n");
}
frame = kmalloc(sizeof(struct frame_buf), GFP_ATOMIC);
-@@ -449,10 +454,14 @@
+@@ -449,10 +454,14 @@ pcbit_receive(struct pcbit_dev *dev)
if (!(frame = dev->read_frame)) {
printk("Type 1 frame and no frame queued\n");
return;
}
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/layer2.h linux-2.4.29/drivers/isdn/pcbit/layer2.h
---- linux-2.4.29.old/drivers/isdn/pcbit/layer2.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/layer2.h 2005-03-22 15:06:49.228608896 +0100
+--- a/drivers/isdn/pcbit/layer2.h
++++ b/drivers/isdn/pcbit/layer2.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/module.c linux-2.4.29/drivers/isdn/pcbit/module.c
---- linux-2.4.29.old/drivers/isdn/pcbit/module.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/module.c 2005-03-22 15:06:49.251605400 +0100
+--- a/drivers/isdn/pcbit/module.c
++++ b/drivers/isdn/pcbit/module.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-@@ -92,6 +92,7 @@
+@@ -92,6 +92,7 @@ static void __exit pcbit_exit(void)
}
#ifndef MODULE
#define MAX_PARA (MAX_PCBIT_CARDS * 2)
static int __init pcbit_setup(char *line)
{
-@@ -100,6 +101,11 @@
+@@ -100,6 +101,11 @@ static int __init pcbit_setup(char *line
int ints[MAX_PARA+1];
str = get_options(line, MAX_PARA, ints);
argc = ints[0];
i = 0;
j = 1;
-@@ -118,9 +124,13 @@
+@@ -118,9 +124,13 @@ static int __init pcbit_setup(char *line
i++;
}
#endif
module_init(pcbit_init);
-diff -rNu linux-2.4.29.old/drivers/isdn/pcbit/pcbit.h linux-2.4.29/drivers/isdn/pcbit/pcbit.h
---- linux-2.4.29.old/drivers/isdn/pcbit/pcbit.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/pcbit/pcbit.h 2005-03-22 15:06:49.284600384 +0100
+--- a/drivers/isdn/pcbit/pcbit.h
++++ b/drivers/isdn/pcbit/pcbit.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/card.h linux-2.4.29/drivers/isdn/sc/card.h
---- linux-2.4.29.old/drivers/isdn/sc/card.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/card.h 2005-03-22 15:06:49.333592936 +0100
+--- a/drivers/isdn/sc/card.h
++++ b/drivers/isdn/sc/card.h
@@ -1,4 +1,4 @@
-/* $Id: card.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Driver parameters for SpellCaster ISA ISDN adapters
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/command.c linux-2.4.29/drivers/isdn/sc/command.c
---- linux-2.4.29.old/drivers/isdn/sc/command.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/command.c 2005-03-22 15:06:49.348590656 +0100
+--- a/drivers/isdn/sc/command.c
++++ b/drivers/isdn/sc/command.c
@@ -1,4 +1,4 @@
-/* $Id: command.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-@@ -95,7 +95,7 @@
+@@ -95,7 +95,7 @@ int get_card_from_id(int driver)
if(adapter[i]->driverId == driver)
return i;
}
}
/*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/debug.c linux-2.4.29/drivers/isdn/sc/debug.c
---- linux-2.4.29.old/drivers/isdn/sc/debug.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/debug.c 2005-03-22 15:06:49.363588376 +0100
+--- a/drivers/isdn/sc/debug.c
++++ b/drivers/isdn/sc/debug.c
@@ -1,4 +1,4 @@
-/* $Id: debug.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/debug.h linux-2.4.29/drivers/isdn/sc/debug.h
---- linux-2.4.29.old/drivers/isdn/sc/debug.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/debug.h 2005-03-22 15:06:49.378586096 +0100
+--- a/drivers/isdn/sc/debug.h
++++ b/drivers/isdn/sc/debug.h
@@ -1,4 +1,4 @@
-/* $Id: debug.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/event.c linux-2.4.29/drivers/isdn/sc/event.c
---- linux-2.4.29.old/drivers/isdn/sc/event.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/event.c 2005-03-22 15:06:49.394583664 +0100
+--- a/drivers/isdn/sc/event.c
++++ b/drivers/isdn/sc/event.c
@@ -1,4 +1,4 @@
-/* $Id: event.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/init.c linux-2.4.29/drivers/isdn/sc/init.c
---- linux-2.4.29.old/drivers/isdn/sc/init.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/init.c 2005-03-22 15:06:49.432577888 +0100
-@@ -514,6 +514,15 @@
+--- a/drivers/isdn/sc/init.c
++++ b/drivers/isdn/sc/init.c
+@@ -514,6 +514,15 @@ int identify_board(unsigned long rambase
schedule_timeout(HZ);
sig = readl(rambase + SIG_OFFSET);
pr_debug("Looking for a signature, got 0x%x\n", sig);
if(sig == SIGNATURE)
return PRI_BOARD;
-@@ -525,6 +534,9 @@
+@@ -525,6 +534,9 @@ int identify_board(unsigned long rambase
schedule_timeout(HZ);
sig = readl(rambase + SIG_OFFSET);
pr_debug("Looking for a signature, got 0x%x\n", sig);
if(sig == SIGNATURE)
return BRI_BOARD;
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/interrupt.c linux-2.4.29/drivers/isdn/sc/interrupt.c
---- linux-2.4.29.old/drivers/isdn/sc/interrupt.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/interrupt.c 2005-03-22 15:06:49.447575608 +0100
+--- a/drivers/isdn/sc/interrupt.c
++++ b/drivers/isdn/sc/interrupt.c
@@ -1,4 +1,4 @@
-/* $Id: interrupt.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/ioctl.c linux-2.4.29/drivers/isdn/sc/ioctl.c
---- linux-2.4.29.old/drivers/isdn/sc/ioctl.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/ioctl.c 2005-03-22 15:06:49.463573176 +0100
-@@ -23,6 +23,9 @@
+--- a/drivers/isdn/sc/ioctl.c
++++ b/drivers/isdn/sc/ioctl.c
+@@ -23,6 +23,9 @@ extern int send_and_receive(int, unsigne
extern board *adapter[];
int GetStatus(int card, boardInfo *);
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/message.c linux-2.4.29/drivers/isdn/sc/message.c
---- linux-2.4.29.old/drivers/isdn/sc/message.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/message.c 2005-03-22 15:06:49.478570896 +0100
+--- a/drivers/isdn/sc/message.c
++++ b/drivers/isdn/sc/message.c
@@ -1,4 +1,4 @@
-/* $Id: message.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* functions for sending and receiving control messages
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/message.h linux-2.4.29/drivers/isdn/sc/message.h
---- linux-2.4.29.old/drivers/isdn/sc/message.h 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/message.h 2005-03-22 15:06:49.495568312 +0100
+--- a/drivers/isdn/sc/message.h
++++ b/drivers/isdn/sc/message.h
@@ -1,4 +1,4 @@
-/* $Id: message.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/packet.c linux-2.4.29/drivers/isdn/sc/packet.c
---- linux-2.4.29.old/drivers/isdn/sc/packet.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/packet.c 2005-03-22 15:06:49.514565424 +0100
+--- a/drivers/isdn/sc/packet.c
++++ b/drivers/isdn/sc/packet.c
@@ -1,4 +1,4 @@
-/* $Id: packet.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/shmem.c linux-2.4.29/drivers/isdn/sc/shmem.c
---- linux-2.4.29.old/drivers/isdn/sc/shmem.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/shmem.c 2005-03-22 15:06:49.560558432 +0100
+--- a/drivers/isdn/sc/shmem.c
++++ b/drivers/isdn/sc/shmem.c
@@ -1,4 +1,4 @@
-/* $Id: shmem.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/sc/timer.c linux-2.4.29/drivers/isdn/sc/timer.c
---- linux-2.4.29.old/drivers/isdn/sc/timer.c 2005-03-22 14:47:56.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/sc/timer.c 2005-03-22 15:06:49.575556152 +0100
+--- a/drivers/isdn/sc/timer.c
++++ b/drivers/isdn/sc/timer.c
@@ -1,4 +1,4 @@
-/* $Id: timer.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam.h linux-2.4.29/drivers/isdn/tpam/tpam.h
---- linux-2.4.29.old/drivers/isdn/tpam/tpam.h 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam.h 2005-03-22 15:06:49.648545056 +0100
+--- a/drivers/isdn/tpam/tpam.h
++++ b/drivers/isdn/tpam/tpam.h
@@ -1,4 +1,4 @@
-/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: tpam.h,v 1.3 2001/09/24 13:23:12 kai Exp $
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_commands.c linux-2.4.29/drivers/isdn/tpam/tpam_commands.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_commands.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_commands.c 2005-03-22 15:06:49.664542624 +0100
+--- a/drivers/isdn/tpam/tpam_commands.c
++++ b/drivers/isdn/tpam/tpam_commands.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_commands.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: tpam_commands.c,v 1.3 2001/09/24 13:23:12 kai Exp $
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - ISDN commands)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_crcpc.c linux-2.4.29/drivers/isdn/tpam/tpam_crcpc.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_crcpc.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_crcpc.c 2005-03-22 15:06:49.681540040 +0100
+--- a/drivers/isdn/tpam/tpam_crcpc.c
++++ b/drivers/isdn/tpam/tpam_crcpc.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_crcpc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - CRC encoding)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_hdlc.c linux-2.4.29/drivers/isdn/tpam/tpam_hdlc.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_hdlc.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_hdlc.c 2005-03-22 15:06:49.702536848 +0100
+--- a/drivers/isdn/tpam/tpam_hdlc.c
++++ b/drivers/isdn/tpam/tpam_hdlc.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_hdlc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: tpam_hdlc.c,v 1.3 2001/09/24 13:23:12 kai Exp $
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - HDLC encoding)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_main.c linux-2.4.29/drivers/isdn/tpam/tpam_main.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_main.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_main.c 2005-03-22 15:06:49.717534568 +0100
+--- a/drivers/isdn/tpam/tpam_main.c
++++ b/drivers/isdn/tpam/tpam_main.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_main.c,v 1.1.2.2 2001/12/09 18:45:14 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - main routines)
*
-@@ -254,7 +254,7 @@
+@@ -254,7 +254,7 @@ static struct pci_driver tpam_driver = {
name: "tpam",
id_table: tpam_pci_tbl,
probe: tpam_probe,
};
static int __init tpam_init(void) {
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_memory.c linux-2.4.29/drivers/isdn/tpam/tpam_memory.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_memory.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_memory.c 2005-03-22 15:06:49.734531984 +0100
+--- a/drivers/isdn/tpam/tpam_memory.c
++++ b/drivers/isdn/tpam/tpam_memory.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_memory.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - Board Memory Access)
*
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_nco.c linux-2.4.29/drivers/isdn/tpam/tpam_nco.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_nco.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_nco.c 2005-03-22 15:06:49.749529704 +0100
+--- a/drivers/isdn/tpam/tpam_nco.c
++++ b/drivers/isdn/tpam/tpam_nco.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_nco.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux.
* (Kernel Driver - Low Level NCO Manipulation)
-diff -rNu linux-2.4.29.old/drivers/isdn/tpam/tpam_queues.c linux-2.4.29/drivers/isdn/tpam/tpam_queues.c
---- linux-2.4.29.old/drivers/isdn/tpam/tpam_queues.c 2005-03-22 14:47:57.000000000 +0100
-+++ linux-2.4.29/drivers/isdn/tpam/tpam_queues.c 2005-03-22 15:06:49.764527424 +0100
+--- a/drivers/isdn/tpam/tpam_queues.c
++++ b/drivers/isdn/tpam/tpam_queues.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_queues.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver)
*
-@@ -146,7 +146,6 @@
+@@ -146,7 +146,6 @@ void tpam_irq(int irq, void *dev_id, str
do {
hpic = readl(card->bar0 + TPAM_HPIC_REGISTER);
if (waiting_too_long++ > 0xfffffff) {
spin_unlock(&card->lock);
printk(KERN_ERR "TurboPAM(tpam_irq): "
"waiting too long...\n");
-diff -rNu linux-2.4.29.old/include/linux/b1lli.h linux-2.4.29/include/linux/b1lli.h
---- linux-2.4.29.old/include/linux/b1lli.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/b1lli.h 2005-03-22 15:06:49.881509640 +0100
+--- a/include/linux/b1lli.h
++++ b/include/linux/b1lli.h
@@ -1,4 +1,4 @@
-/* $Id: b1lli.h,v 1.8.8.3 2001/09/23 22:25:05 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for AVM B1-card.
*
-diff -rNu linux-2.4.29.old/include/linux/b1pcmcia.h linux-2.4.29/include/linux/b1pcmcia.h
---- linux-2.4.29.old/include/linux/b1pcmcia.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/b1pcmcia.h 2005-03-22 15:06:49.862512528 +0100
+--- a/include/linux/b1pcmcia.h
++++ b/include/linux/b1pcmcia.h
@@ -1,4 +1,4 @@
-/* $Id: b1pcmcia.h,v 1.1.8.2 2001/09/23 22:25:05 kai Exp $
+/* $Id$
*
* Exported functions of module b1pcmcia to be called by
* avm_cs card services module.
-diff -rNu linux-2.4.29.old/include/linux/capi.h linux-2.4.29/include/linux/capi.h
---- linux-2.4.29.old/include/linux/capi.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/capi.h 2005-03-22 15:06:49.922503408 +0100
+--- a/include/linux/capi.h
++++ b/include/linux/capi.h
@@ -1,4 +1,4 @@
-/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
*
* CAPI 2.0 Interface for Linux
*
-diff -rNu linux-2.4.29.old/include/linux/concap.h linux-2.4.29/include/linux/concap.h
---- linux-2.4.29.old/include/linux/concap.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/concap.h 2005-03-22 15:06:49.906505840 +0100
+--- a/include/linux/concap.h
++++ b/include/linux/concap.h
@@ -1,4 +1,4 @@
-/* $Id: concap.h,v 1.2.8.1 2001/09/23 22:25:05 kai Exp $
+/* $Id: concap.h,v 1.3 2001/09/24 13:23:13 kai Exp $
/* Stuff to support encapsulation protocols genericly. The encapsulation
protocol is processed at the uppermost layer of the network interface.
-diff -rNu linux-2.4.29.old/include/linux/hysdn_if.h linux-2.4.29/include/linux/hysdn_if.h
---- linux-2.4.29.old/include/linux/hysdn_if.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/hysdn_if.h 2005-03-22 15:06:49.974495504 +0100
+--- a/include/linux/hysdn_if.h
++++ b/include/linux/hysdn_if.h
@@ -1,4 +1,4 @@
-/* $Id: hysdn_if.h,v 1.1.8.3 2001/09/23 22:25:05 kai Exp $
+/* $Id$
*
* Linux driver for HYSDN cards
* ioctl definitions shared by hynetmgr and driver.
-diff -rNu linux-2.4.29.old/include/linux/isdn/tpam.h linux-2.4.29/include/linux/isdn/tpam.h
---- linux-2.4.29.old/include/linux/isdn/tpam.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn/tpam.h 2005-03-22 15:06:49.947499608 +0100
+--- a/include/linux/isdn/tpam.h
++++ b/include/linux/isdn/tpam.h
@@ -1,4 +1,4 @@
-/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver)
*
-diff -rNu linux-2.4.29.old/include/linux/isdn.h linux-2.4.29/include/linux/isdn.h
---- linux-2.4.29.old/include/linux/isdn.h 2005-03-22 14:47:31.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn.h 2005-03-22 15:06:50.001491400 +0100
+--- a/include/linux/isdn.h
++++ b/include/linux/isdn.h
@@ -1,4 +1,4 @@
-/* $Id: isdn.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id: isdn.h,v 1.125 2001/12/01 23:18:21 detabc Exp $
#define INF_DV 0x01 /* Data version for /dev/isdninfo */
-@@ -187,6 +194,61 @@
+@@ -187,6 +194,61 @@ typedef struct {
#define ISDN_MINOR_PPPMAX (128 + (ISDN_MAX_CHANNELS-1))
#define ISDN_MINOR_STATUS 255
#ifdef CONFIG_ISDN_PPP
#ifdef CONFIG_ISDN_PPP_VJ
-@@ -204,9 +266,11 @@
+@@ -204,9 +266,11 @@ typedef struct {
# include <linux/concap.h>
#endif
#include <linux/isdnif.h>
-@@ -272,6 +336,12 @@
+@@ -272,6 +336,12 @@ typedef struct {
#define ISDN_NET_CALLBACK 0x04 /* activate callback */
#define ISDN_NET_CBHUP 0x08 /* hangup before callback */
#define ISDN_NET_CBOUT 0x10 /* remote machine does callback */
#define ISDN_NET_MAGIC 0x49344C02 /* for paranoia-checking */
-@@ -386,6 +456,38 @@
+@@ -386,6 +456,38 @@ typedef struct isdn_net_local_s {
char cisco_debserint; /* debugging flag of cisco hdlc with slarp */
struct timer_list cisco_timer;
struct tq_struct tqueue;
} isdn_net_local;
/* the interface itself */
-@@ -608,12 +710,13 @@
+@@ -608,12 +710,13 @@ typedef struct isdn_devt {
int tflags; /* Timer-Flags: */
/* see ISDN_TIMER_..defines */
int global_flags;
char num[ISDN_MAX_CHANNELS][ISDN_MSNLEN];
/* Remote number of active ch.*/
int m_idx[ISDN_MAX_CHANNELS]; /* Index for mdm.... */
-@@ -631,6 +734,7 @@
+@@ -631,6 +734,7 @@ typedef struct isdn_devt {
isdn_v110_stream *v110[ISDN_MAX_CHANNELS]; /* V.110 private data */
struct semaphore sem; /* serialize list access*/
unsigned long global_features;
#ifdef CONFIG_DEVFS_FS
devfs_handle_t devfs_handle_isdninfo;
devfs_handle_t devfs_handle_isdnctrl;
-@@ -640,10 +744,41 @@
+@@ -640,10 +744,41 @@ typedef struct isdn_devt {
devfs_handle_t devfs_handle_ipppX[ISDN_MAX_CHANNELS];
#endif
#endif /* CONFIG_DEVFS_FS */
#endif /* __KERNEL__ */
-diff -rNu linux-2.4.29.old/include/linux/isdn_compat.h linux-2.4.29/include/linux/isdn_compat.h
---- linux-2.4.29.old/include/linux/isdn_compat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_compat.h 2005-03-22 15:06:50.017488968 +0100
+--- /dev/null
++++ b/include/linux/isdn_compat.h
@@ -0,0 +1,261 @@
+/* $Id: isdn_compat.h,v 1.53 2001/09/24 13:23:13 kai Exp $
+ *
+
+#endif /* __KERNEL__ */
+#endif /* _LINUX_ISDN_COMPAT_H */
-diff -rNu linux-2.4.29.old/include/linux/isdn_divertif.h linux-2.4.29/include/linux/isdn_divertif.h
---- linux-2.4.29.old/include/linux/isdn_divertif.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_divertif.h 2005-03-22 15:06:50.032486688 +0100
+--- a/include/linux/isdn_divertif.h
++++ b/include/linux/isdn_divertif.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_divertif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
#define DIVERT_CMD_REG 0x00 /* register command */
#define DIVERT_CMD_REL 0x01 /* release command */
#define DIVERT_NO_ERR 0x00 /* return value no error */
-@@ -34,6 +34,7 @@
+@@ -34,6 +34,7 @@ typedef struct
int (*ll_cmd)(isdn_ctrl *); /* supplied by hl on return */
char * (*drv_to_name)(int); /* map a driver id to name, supplied by hl */
int (*name_to_drv)(char *); /* map a driver id to name, supplied by hl */
} isdn_divert_if;
/*********************/
-diff -rNu linux-2.4.29.old/include/linux/isdn_dwabc.h linux-2.4.29/include/linux/isdn_dwabc.h
---- linux-2.4.29.old/include/linux/isdn_dwabc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_dwabc.h 2005-03-22 15:06:50.048484256 +0100
+--- /dev/null
++++ b/include/linux/isdn_dwabc.h
@@ -0,0 +1,84 @@
+/* $Id: isdn_dwabc.h,v 1.9 2001/09/26 20:32:08 detabc Exp $
+ *
+};
+
+#endif
-diff -rNu linux-2.4.29.old/include/linux/isdn_lzscomp.h linux-2.4.29/include/linux/isdn_lzscomp.h
---- linux-2.4.29.old/include/linux/isdn_lzscomp.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_lzscomp.h 2005-03-22 15:06:50.089478024 +0100
+--- a/include/linux/isdn_lzscomp.h
++++ b/include/linux/isdn_lzscomp.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_lzscomp.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
*
* Header for isdn_lzscomp.c
* Concentrated here to not mess up half a dozen kernel headers with code
-diff -rNu linux-2.4.29.old/include/linux/isdn_ppp.h linux-2.4.29/include/linux/isdn_ppp.h
---- linux-2.4.29.old/include/linux/isdn_ppp.h 2005-03-22 14:47:31.000000000 +0100
-+++ linux-2.4.29/include/linux/isdn_ppp.h 2005-03-22 15:06:50.116473920 +0100
+--- a/include/linux/isdn_ppp.h
++++ b/include/linux/isdn_ppp.h
@@ -8,6 +8,7 @@
#ifndef _LINUX_ISDN_PPP_H
#define _LINUX_ISDN_PPP_H
#define CALLTYPE_INCOMING 0x1
#define CALLTYPE_OUTGOING 0x2
-@@ -33,6 +34,11 @@
+@@ -33,6 +34,11 @@ struct pppcallinfo
#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
#define PPPIOCGIFNAME _IOR('t',136, char [IFNAMSIZ] )
#define SC_MP_PROT 0x00000200
#define SC_REJ_MP_PROT 0x00000400
-@@ -65,9 +71,6 @@
+@@ -65,9 +71,6 @@ struct isdn_ppp_comp_data {
#include <linux/config.h>
#define DECOMP_ERR_NOMEM (-10)
-@@ -226,10 +229,6 @@
+@@ -226,10 +229,6 @@ struct ippp_struct {
unsigned char *cbuf;
struct slcompress *slcomp;
#endif
unsigned long debug;
struct isdn_ppp_compressor *compressor,*decompressor;
struct isdn_ppp_compressor *link_compressor,*link_decompressor;
-diff -rNu linux-2.4.29.old/include/linux/isdnif.h linux-2.4.29/include/linux/isdnif.h
---- linux-2.4.29.old/include/linux/isdnif.h 2005-03-22 14:47:31.000000000 +0100
-+++ linux-2.4.29/include/linux/isdnif.h 2005-03-22 15:06:50.132471488 +0100
+--- a/include/linux/isdnif.h
++++ b/include/linux/isdnif.h
@@ -1,4 +1,4 @@
-/* $Id: isdnif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id: isdnif.h,v 1.43 2002/02/09 21:19:11 keil Exp $
/*
* Values for general protocol-selection
-@@ -213,6 +214,8 @@
+@@ -213,6 +214,8 @@ typedef struct
#define ISDN_STAT_FAXIND 276 /* FAX indications from HL-driver */
#define ISDN_STAT_AUDIO 277 /* DTMF, DSP indications */
#define ISDN_STAT_DISCH 278 /* Disable/Enable channel usage */
/*
* Audio commands
-diff -rNu linux-2.4.29.old/include/linux/kernelcapi.h linux-2.4.29/include/linux/kernelcapi.h
---- linux-2.4.29.old/include/linux/kernelcapi.h 2005-03-22 14:47:32.000000000 +0100
-+++ linux-2.4.29/include/linux/kernelcapi.h 2005-03-22 15:06:50.147469208 +0100
+--- a/include/linux/kernelcapi.h
++++ b/include/linux/kernelcapi.h
@@ -1,12 +1,10 @@
-/* $Id: kernelcapi.h,v 1.1.4.2 2002/01/28 18:25:10 kai Exp $
+/*