686 lines
32 KiB
Plaintext
686 lines
32 KiB
Plaintext
<HTML>
|
|
|
|
<!-- Generated by c2html-1.0, Copyright 1998 by Dave Whittington -->
|
|
<HEAD>
|
|
<TITLE>config.c</TITLE>
|
|
<!--#include virtual="/ssi/js.shtml" -->
|
|
<!--#include virtual="/ssi/buttondefs.shtml" -->
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF">
|
|
<TABLE WIDTH="100%">
|
|
<TR>
|
|
<TD ALIGN=LEFT WIDTH="90"><!--#include virtual="/ssi/b_home.shtml" --></TD>
|
|
<TD ALIGN=RIGHT WIDTH="90"><!--#include virtual="/ssi/b_index.shtml" --></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<CENTER><H1>config.c</H1></CENTER>
|
|
|
|
<HR>
|
|
<PRE>
|
|
<FONT COLOR=#0000FF>/* $Id$
|
|
|
|
* Author Karsten Keil (keil@temic-ech.spacenet.de)
|
|
* based on the teles driver from Jan den Ouden
|
|
*
|
|
*
|
|
* $Log$
|
|
* Revision 2.16 1998/05/25 14:10:03 keil
|
|
* HiSax 3.0
|
|
* X.75 and leased are working again.
|
|
*
|
|
* Revision 2.15 1998/05/25 12:57:43 keil
|
|
* HiSax golden code from certification, Don't use !!!
|
|
* No leased lines, no X75, but many changes.
|
|
*
|
|
* Revision 2.14 1998/04/15 16:38:25 keil
|
|
* Add S0Box and Teles PCI support
|
|
*
|
|
* Revision 2.13 1998/03/09 23:19:23 keil
|
|
* Changes for PCMCIA
|
|
*
|
|
* Revision 2.12 1998/02/11 17:28:02 keil
|
|
* Niccy PnP/PCI support
|
|
*
|
|
* Revision 2.11 1998/02/09 21:26:13 keil
|
|
* fix export module for 2.1
|
|
*
|
|
* Revision 2.10 1998/02/09 18:46:05 keil
|
|
* Support for Sedlbauer PCMCIA (Marcus Niemann)
|
|
*
|
|
* Revision 2.9 1998/02/03 23:31:28 keil
|
|
* add AMD7930 support
|
|
*
|
|
* Revision 2.8 1998/02/02 13:32:59 keil
|
|
* New card support
|
|
*
|
|
* Revision 2.7 1998/01/31 21:41:44 keil
|
|
* changes for newer 2.1 kernels
|
|
*
|
|
* Revision 2.6 1997/11/08 21:35:43 keil
|
|
* new l1 init
|
|
*
|
|
* Revision 2.5 1997/11/06 17:15:08 keil
|
|
* New 2.1 init; PCMCIA wrapper changes
|
|
*
|
|
* Revision 2.4 1997/10/29 19:07:52 keil
|
|
* changes for 2.1
|
|
*
|
|
* Revision 2.3 1997/10/01 09:21:33 fritz
|
|
* Removed old compatibility stuff for 2.0.X kernels.
|
|
* From now on, this code is for 2.1.X ONLY!
|
|
* Old stuff is still in the separate branch.
|
|
*
|
|
* Revision 2.2 1997/09/11 17:24:46 keil
|
|
* Add new cards
|
|
*
|
|
* Revision 2.1 1997/07/27 21:41:35 keil
|
|
* version change
|
|
*
|
|
* Revision 2.0 1997/06/26 11:06:28 keil
|
|
* New card and L1 interface.
|
|
* Eicon.Diehl Diva and Dynalink IS64PH support
|
|
*
|
|
* old changes removed /KKe
|
|
*
|
|
*/</FONT>
|
|
<FONT COLOR=#A521F7>#include</FONT> <linux/types.h>
|
|
<FONT COLOR=#A521F7>#include</FONT> <linux/stddef.h>
|
|
<FONT COLOR=#A521F7>#include</FONT> <linux/timer.h>
|
|
<FONT COLOR=#A521F7>#include</FONT> <linux/config.h>
|
|
<FONT COLOR=#A521F7>#include</FONT> <FONT COLOR="#FF0000">"hisax.h"</FONT>
|
|
|
|
<FONT COLOR=#0000FF>/*
|
|
* This structure array contains one entry per card. An entry looks
|
|
* like this:
|
|
*
|
|
* { type, protocol, p0, p1, p2, NULL }
|
|
*
|
|
* type
|
|
* 1 Teles 16.0 p0=irq p1=membase p2=iobase
|
|
* 2 Teles 8.0 p0=irq p1=membase
|
|
* 3 Teles 16.3 p0=irq p1=iobase
|
|
* 4 Creatix PNP p0=irq p1=IO0 (ISAC) p2=IO1 (HSCX)
|
|
* 5 AVM A1 (Fritz) p0=irq p1=iobase
|
|
* 6 ELSA PC [p0=iobase] or nothing (autodetect)
|
|
* 7 ELSA Quickstep p0=irq p1=iobase
|
|
* 8 Teles PCMCIA p0=irq p1=iobase
|
|
* 9 ITK ix1-micro p0=irq p1=iobase
|
|
* 10 ELSA PCMCIA p0=irq p1=iobase
|
|
* 11 Eicon.Diehl Diva p0=irq p1=iobase
|
|
* 12 Asuscom ISDNLink p0=irq p1=iobase
|
|
* 13 Teleint p0=irq p1=iobase
|
|
* 14 Teles 16.3c p0=irq p1=iobase
|
|
* 15 Sedlbauer speed p0=irq p1=iobase
|
|
* 16 USR Sportster internal p0=irq p1=iobase
|
|
* 17 MIC card p0=irq p1=iobase
|
|
* 18 ELSA Quickstep 1000PCI no parameter
|
|
* 19 Compaq ISDN S0 ISA card p0=irq p1=IO0 (HSCX) p2=IO1 (ISAC) p3=IO2
|
|
* 20 Travers Technologies NETjet PCI card
|
|
* 21 reserved TELES PCI
|
|
* 22 Sedlbauer Speed Star p0=irq p1=iobase
|
|
* 23 reserved
|
|
* 24 Dr Neuhaus Niccy PnP/PCI card p0=irq p1=IO0 p2=IO1 (PnP only)
|
|
*
|
|
*
|
|
* protocol can be either ISDN_PTYPE_EURO or ISDN_PTYPE_1TR6 or ISDN_PTYPE_NI1
|
|
*
|
|
*
|
|
*/</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_ELSA
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_ELSA">ISDN_CTYPE_ELSA</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="DEFAULT_CFG">DEFAULT_CFG</A> {0,0,0,0}
|
|
<FONT COLOR="#298C52">int</FONT> <A HREF="#elsa_init_pcmcia">elsa_init_pcmcia</A>(<FONT COLOR="#298C52">void</FONT>*, <FONT COLOR="#298C52">int</FONT>, <FONT COLOR="#298C52">int</FONT>*, <FONT COLOR="#298C52">int</FONT>);
|
|
EXPORT_SYMBOL(<A HREF="#elsa_init_pcmcia">elsa_init_pcmcia</A>);
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_AVM_A1
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_A1">ISDN_CTYPE_A1</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {10,0x340,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_16_3
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_16_3">ISDN_CTYPE_16_3</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {15,0x180,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_S0BOX
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_S0BOX">ISDN_CTYPE_S0BOX</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {7,0x378,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_16_0
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_16_0">ISDN_CTYPE_16_0</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {15,0xd0000,0xd80,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_TELESPCI
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELESPCI">ISDN_CTYPE_TELESPCI</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {0,0,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_IX1MICROR2
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_IX1MICROR2">ISDN_CTYPE_IX1MICROR2</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {5,0x390,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_DIEHLDIVA
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_DIEHLDIVA">ISDN_CTYPE_DIEHLDIVA</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {0,0x0,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_ASUSCOM
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_ASUSCOM">ISDN_CTYPE_ASUSCOM</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {5,0x200,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_TELEINT
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELEINT">ISDN_CTYPE_TELEINT</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {5,0x300,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_SEDLBAUER
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_SEDLBAUER">ISDN_CTYPE_SEDLBAUER</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {11,0x270,0,0}
|
|
<FONT COLOR="#298C52">int</FONT> <A HREF="#sedl_init_pcmcia">sedl_init_pcmcia</A>(<FONT COLOR="#298C52">void</FONT>*, <FONT COLOR="#298C52">int</FONT>, <FONT COLOR="#298C52">int</FONT>*, <FONT COLOR="#298C52">int</FONT>);
|
|
EXPORT_SYMBOL(<A HREF="#sedl_init_pcmcia">sedl_init_pcmcia</A>);
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_SPORTSTER
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_SPORTSTER">ISDN_CTYPE_SPORTSTER</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {7,0x268,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_MIC
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_MIC">ISDN_CTYPE_MIC</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {12,0x3e0,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_NETJET
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_NETJET">ISDN_CTYPE_NETJET</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {0,0,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_TELES3C
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELES3C">ISDN_CTYPE_TELES3C</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {5,0x500,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_AMD7930
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_AMD7930">ISDN_CTYPE_AMD7930</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {12,0x3e0,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_NICCY
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A> <A HREF="hisax.h.shtml#ISDN_CTYPE_NICCY">ISDN_CTYPE_NICCY</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_CFG">DEFAULT_CFG</A> {0,0x0,0,0}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_1TR6
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="DEFAULT_PROTO">DEFAULT_PROTO</A> ISDN_PTYPE_1TR6
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A> <FONT COLOR="#FF0000">"1TR6"</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_EURO
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A> ISDN_PTYPE_EURO
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A> <FONT COLOR="#FF0000">"EURO"</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_NI1
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A> ISDN_PTYPE_NI1
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A> <FONT COLOR="#FF0000">"NI1"</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifndef</FONT> <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A> ISDN_PTYPE_UNKNOWN
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A> <FONT COLOR="#FF0000">"UNKNOWN"</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifndef</FONT> <A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>
|
|
<FONT COLOR=#A521F7>#error</FONT> <FONT COLOR="#FF0000">"HiSax: No cards configured"</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="FIRST_CARD">FIRST_CARD</A> { \
|
|
<A HREF="#DEFAULT_CARD">DEFAULT_CARD</A>, \
|
|
<A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A>, \
|
|
<A HREF="#DEFAULT_CFG">DEFAULT_CFG</A>, \
|
|
NULL, \
|
|
}
|
|
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="EMPTY_CARD">EMPTY_CARD</A> {0, <A HREF="#DEFAULT_PROTO">DEFAULT_PROTO</A>, {0, 0, 0, 0}, NULL}
|
|
|
|
<FONT COLOR="#298C52">struct</FONT> IsdnCard cards[] =
|
|
{
|
|
<A HREF="#FIRST_CARD">FIRST_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
<A HREF="#EMPTY_CARD">EMPTY_CARD</A>,
|
|
};
|
|
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">char</FONT> HiSaxID[64] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> = <FONT COLOR="#FF0000">"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"</FONT> \
|
|
<FONT COLOR="#FF0000">"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"</FONT> \
|
|
<FONT COLOR="#FF0000">"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"</FONT>;
|
|
<FONT COLOR="#298C52">char</FONT> *HiSax_id <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> = HiSaxID;
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> MODULE
|
|
<FONT COLOR=#0000FF>/* Variables for insmod */</FONT>
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> type[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> protocol[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> io[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#IO0_IO1">IO0_IO1</A>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_16_3
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="IO0_IO1">IO0_IO1</A>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_NICCY
|
|
<FONT COLOR=#A521F7>#undef</FONT> <A HREF="#IO0_IO1">IO0_IO1</A>
|
|
<FONT COLOR=#A521F7>#define</FONT> <A HREF="#IO0_IO1">IO0_IO1</A>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> <A HREF="#IO0_IO1">IO0_IO1</A>
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> io0[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> io1[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> irq[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">int</FONT> mem[] <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> =
|
|
{0, 0, 0, 0, 0, 0, 0, 0};
|
|
<FONT COLOR="#298C52">static</FONT> <FONT COLOR="#298C52">char</FONT> *id <A HREF="hisax.h.shtml#HISAX_INITDATA">HISAX_INITDATA</A> = HiSaxID;
|
|
|
|
MODULE_AUTHOR(<FONT COLOR="#FF0000">"Karsten Keil"</FONT>);
|
|
MODULE_PARM(type, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
MODULE_PARM(protocol, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
MODULE_PARM(io, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
MODULE_PARM(irq, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
MODULE_PARM(mem, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
MODULE_PARM(id, <FONT COLOR="#FF0000">"s"</FONT>);
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_16_3 <FONT COLOR=#0000FF>/* For Creatix/Teles PnP */</FONT>
|
|
MODULE_PARM(io0, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
MODULE_PARM(io1, <FONT COLOR="#FF0000">"1-8i"</FONT>);
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<FONT COLOR="#298C52">int</FONT> nrcards;
|
|
|
|
<FONT COLOR="#298C52">extern</FONT> <FONT COLOR="#298C52">char</FONT> *l1_revision;
|
|
<FONT COLOR="#298C52">extern</FONT> <FONT COLOR="#298C52">char</FONT> *l2_revision;
|
|
<FONT COLOR="#298C52">extern</FONT> <FONT COLOR="#298C52">char</FONT> *l3_revision;
|
|
<FONT COLOR="#298C52">extern</FONT> <FONT COLOR="#298C52">char</FONT> *lli_revision;
|
|
<FONT COLOR="#298C52">extern</FONT> <FONT COLOR="#298C52">char</FONT> *tei_revision;
|
|
|
|
<A HREF="callc.c.shtml#HISAX_INITFUNC">HISAX_INITFUNC</A>(<FONT COLOR="#298C52">char</FONT> *
|
|
HiSax_getrev(<FONT COLOR="#298C52">const</FONT> <FONT COLOR="#298C52">char</FONT> *revision))
|
|
{
|
|
<FONT COLOR="#298C52">char</FONT> *rev;
|
|
<FONT COLOR="#298C52">char</FONT> *p;
|
|
|
|
<FONT COLOR="#298C52">if</FONT> ((p = strchr(revision, <FONT COLOR="#FF0000">':'</FONT>))) {
|
|
rev = p + 2;
|
|
p = strchr(rev, <FONT COLOR="#FF0000">'$'</FONT>);
|
|
*--p = 0;
|
|
} <FONT COLOR="#298C52">else</FONT>
|
|
rev = <FONT COLOR="#FF0000">"???"</FONT>;
|
|
<FONT COLOR="#298C52">return</FONT> rev;
|
|
}
|
|
|
|
<A HREF="callc.c.shtml#HISAX_INITFUNC">HISAX_INITFUNC</A>(<FONT COLOR="#298C52">void</FONT>
|
|
HiSaxVersion(<FONT COLOR="#298C52">void</FONT>))
|
|
{
|
|
<FONT COLOR="#298C52">char</FONT> tmp[64];
|
|
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: Linux Driver for passive ISDN cards\n"</FONT>);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: Version 3.0\n"</FONT>);
|
|
strcpy(tmp, l1_revision);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: Layer1 Revision %s\n"</FONT>, HiSax_getrev(tmp));
|
|
strcpy(tmp, l2_revision);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: Layer2 Revision %s\n"</FONT>, HiSax_getrev(tmp));
|
|
strcpy(tmp, tei_revision);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: TeiMgr Revision %s\n"</FONT>, HiSax_getrev(tmp));
|
|
strcpy(tmp, l3_revision);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: Layer3 Revision %s\n"</FONT>, HiSax_getrev(tmp));
|
|
strcpy(tmp, lli_revision);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: LinkLayer Revision %s\n"</FONT>, HiSax_getrev(tmp));
|
|
}
|
|
|
|
<FONT COLOR="#298C52">void</FONT>
|
|
<A NAME="HiSax_mod_dec_use_count">HiSax_mod_dec_use_count</A>(<FONT COLOR="#298C52">void</FONT>)
|
|
{
|
|
MOD_DEC_USE_COUNT;
|
|
}
|
|
|
|
<FONT COLOR="#298C52">void</FONT>
|
|
<A NAME="HiSax_mod_inc_use_count">HiSax_mod_inc_use_count</A>(<FONT COLOR="#298C52">void</FONT>)
|
|
{
|
|
MOD_INC_USE_COUNT;
|
|
}
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> MODULE
|
|
<FONT COLOR=#A521F7>#define</FONT> <A NAME="HiSax_init">HiSax_init</A> init_module
|
|
<FONT COLOR=#A521F7>#else</FONT>
|
|
<A HREF="asuscom.c.shtml#__initfunc">__initfunc</A>(<FONT COLOR="#298C52">void</FONT>
|
|
HiSax_setup(<FONT COLOR="#298C52">char</FONT> *str, <FONT COLOR="#298C52">int</FONT> *ints))
|
|
{
|
|
<FONT COLOR="#298C52">int</FONT> i, j, argc;
|
|
|
|
argc = ints[0];
|
|
i = 0;
|
|
j = 1;
|
|
<FONT COLOR="#298C52">while</FONT> (argc && (i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>)) {
|
|
<FONT COLOR="#298C52">if</FONT> (argc) {
|
|
cards[i].typ = ints[j];
|
|
j++;
|
|
argc--;
|
|
}
|
|
<FONT COLOR="#298C52">if</FONT> (argc) {
|
|
cards[i].protocol = ints[j];
|
|
j++;
|
|
argc--;
|
|
}
|
|
<FONT COLOR="#298C52">if</FONT> (argc) {
|
|
cards[i].para[0] = ints[j];
|
|
j++;
|
|
argc--;
|
|
}
|
|
<FONT COLOR="#298C52">if</FONT> (argc) {
|
|
cards[i].para[1] = ints[j];
|
|
j++;
|
|
argc--;
|
|
}
|
|
<FONT COLOR="#298C52">if</FONT> (argc) {
|
|
cards[i].para[2] = ints[j];
|
|
j++;
|
|
argc--;
|
|
}
|
|
i++;
|
|
}
|
|
<FONT COLOR="#298C52">if</FONT> (strlen(str)) {
|
|
strcpy(HiSaxID, str);
|
|
HiSax_id = HiSaxID;
|
|
} <FONT COLOR="#298C52">else</FONT> {
|
|
strcpy(HiSaxID, <FONT COLOR="#FF0000">"HiSax"</FONT>);
|
|
HiSax_id = HiSaxID;
|
|
}
|
|
}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
|
|
<A HREF="asuscom.c.shtml#__initfunc">__initfunc</A>(<FONT COLOR="#298C52">int</FONT>
|
|
<A HREF="#HiSax_init">HiSax_init</A>(<FONT COLOR="#298C52">void</FONT>))
|
|
{
|
|
<FONT COLOR="#298C52">int</FONT> i;
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> MODULE
|
|
<FONT COLOR="#298C52">int</FONT> nzproto = 0;
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_ELSA
|
|
<FONT COLOR="#298C52">if</FONT> (type[0] == <A HREF="hisax.h.shtml#ISDN_CTYPE_ELSA_PCMCIA">ISDN_CTYPE_ELSA_PCMCIA</A>) {
|
|
<FONT COLOR=#0000FF>/* we have exported and return in this case */</FONT>
|
|
<FONT COLOR="#298C52">return</FONT> 0;
|
|
}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_SEDLBAUER
|
|
<FONT COLOR="#298C52">if</FONT> (type[0] == <A HREF="hisax.h.shtml#ISDN_CTYPE_SEDLBAUER_PCMCIA">ISDN_CTYPE_SEDLBAUER_PCMCIA</A>) {
|
|
<FONT COLOR=#0000FF>/* we have to export and return in this case */</FONT>
|
|
<FONT COLOR="#298C52">return</FONT> 0;
|
|
}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
nrcards = 0;
|
|
HiSaxVersion();
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> MODULE
|
|
<FONT COLOR="#298C52">if</FONT> (id) <FONT COLOR=#0000FF>/* If id= string used */</FONT>
|
|
HiSax_id = id;
|
|
<FONT COLOR="#298C52">for</FONT> (i = 0; i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>; i++) {
|
|
cards[i].typ = type[i];
|
|
<FONT COLOR="#298C52">if</FONT> (protocol[i]) {
|
|
cards[i].protocol = protocol[i];
|
|
nzproto++;
|
|
}
|
|
<FONT COLOR="#298C52">switch</FONT> (type[i]) {
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_16_0">ISDN_CTYPE_16_0</A>:
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = mem[i];
|
|
cards[i].para[2] = io[i];
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_8_0">ISDN_CTYPE_8_0</A>:
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = mem[i];
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> <A HREF="#IO0_IO1">IO0_IO1</A>
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_PNP">ISDN_CTYPE_PNP</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_NICCY">ISDN_CTYPE_NICCY</A>:
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = io0[i];
|
|
cards[i].para[2] = io1[i];
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_COMPAQ_ISA">ISDN_CTYPE_COMPAQ_ISA</A>:
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = io0[i];
|
|
cards[i].para[2] = io1[i];
|
|
cards[i].para[3] = io[i];
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_ELSA">ISDN_CTYPE_ELSA</A>:
|
|
cards[i].para[0] = io[i];
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_16_3">ISDN_CTYPE_16_3</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELESPCMCIA">ISDN_CTYPE_TELESPCMCIA</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_A1">ISDN_CTYPE_A1</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_ELSA_PNP">ISDN_CTYPE_ELSA_PNP</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_ELSA_PCMCIA">ISDN_CTYPE_ELSA_PCMCIA</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_IX1MICROR2">ISDN_CTYPE_IX1MICROR2</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_DIEHLDIVA">ISDN_CTYPE_DIEHLDIVA</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_ASUSCOM">ISDN_CTYPE_ASUSCOM</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELEINT">ISDN_CTYPE_TELEINT</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_SEDLBAUER">ISDN_CTYPE_SEDLBAUER</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_SEDLBAUER_PCMCIA">ISDN_CTYPE_SEDLBAUER_PCMCIA</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_SPORTSTER">ISDN_CTYPE_SPORTSTER</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_MIC">ISDN_CTYPE_MIC</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELES3C">ISDN_CTYPE_TELES3C</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_S0BOX">ISDN_CTYPE_S0BOX</A>:
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = io[i];
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_ELSA_PCI">ISDN_CTYPE_ELSA_PCI</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_NETJET">ISDN_CTYPE_NETJET</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_AMD7930">ISDN_CTYPE_AMD7930</A>:
|
|
<FONT COLOR="#298C52">case</FONT> <A HREF="hisax.h.shtml#ISDN_CTYPE_TELESPCI">ISDN_CTYPE_TELESPCI</A>:
|
|
<FONT COLOR="#298C52">break</FONT>;
|
|
}
|
|
}
|
|
<FONT COLOR="#298C52">if</FONT> (!nzproto) {
|
|
printk(KERN_WARNING <FONT COLOR="#FF0000">"HiSax: Warning - no protocol specified\n"</FONT>);
|
|
printk(KERN_WARNING <FONT COLOR="#FF0000">"HiSax: Note! module load syntax has changed.\n"</FONT>);
|
|
printk(KERN_WARNING <FONT COLOR="#FF0000">"HiSax: using protocol %s\n"</FONT>, <A HREF="#DEFAULT_PROTO_NAME">DEFAULT_PROTO_NAME</A>);
|
|
}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR="#298C52">if</FONT> (!HiSax_id)
|
|
HiSax_id = HiSaxID;
|
|
<FONT COLOR="#298C52">if</FONT> (!HiSaxID[0])
|
|
strcpy(HiSaxID, <FONT COLOR="#FF0000">"HiSax"</FONT>);
|
|
<FONT COLOR="#298C52">for</FONT> (i = 0; i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>; i++)
|
|
<FONT COLOR="#298C52">if</FONT> (cards[i].typ > 0)
|
|
nrcards++;
|
|
printk(KERN_DEBUG <FONT COLOR="#FF0000">"HiSax: Total %d card%s defined\n"</FONT>,
|
|
nrcards, (nrcards > 1) ? <FONT COLOR="#FF0000">"s"</FONT> : <FONT COLOR="#FF0000">""</FONT>);
|
|
|
|
CallcNew();
|
|
Isdnl3New();
|
|
Isdnl2New();
|
|
TeiNew();
|
|
Isdnl1New();
|
|
<FONT COLOR="#298C52">if</FONT> (HiSax_inithardware(NULL)) {
|
|
<FONT COLOR=#0000FF>/* Install only, if at least one card found */</FONT>
|
|
<FONT COLOR=#0000FF>/* No symbols to export, hide all symbols */</FONT>
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> MODULE
|
|
EXPORT_NO_SYMBOLS;
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax: module installed\n"</FONT>);
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR="#298C52">return</FONT> (0);
|
|
} <FONT COLOR="#298C52">else</FONT> {
|
|
<A HREF="isdnl1.c.shtml#Isdnl1Free">Isdnl1Free</A>();
|
|
<A HREF="tei.c.shtml#TeiFree">TeiFree</A>();
|
|
<A HREF="isdnl2.c.shtml#Isdnl2Free">Isdnl2Free</A>();
|
|
<A HREF="isdnl3.c.shtml#Isdnl3Free">Isdnl3Free</A>();
|
|
<A HREF="callc.c.shtml#CallcFree">CallcFree</A>();
|
|
<FONT COLOR="#298C52">return</FONT> -EIO;
|
|
}
|
|
}
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> MODULE
|
|
<FONT COLOR="#298C52">void</FONT>
|
|
<A NAME="cleanup_module">cleanup_module</A>(<FONT COLOR="#298C52">void</FONT>)
|
|
{
|
|
<FONT COLOR="#298C52">int</FONT> cardnr = nrcards -1;
|
|
<FONT COLOR="#298C52">long</FONT> flags;
|
|
|
|
save_flags(flags);
|
|
cli();
|
|
<FONT COLOR="#298C52">while</FONT>(cardnr>=0)
|
|
<A HREF="isdnl1.c.shtml#HiSax_closecard">HiSax_closecard</A>(cardnr--);
|
|
<A HREF="isdnl1.c.shtml#Isdnl1Free">Isdnl1Free</A>();
|
|
<A HREF="tei.c.shtml#TeiFree">TeiFree</A>();
|
|
<A HREF="isdnl2.c.shtml#Isdnl2Free">Isdnl2Free</A>();
|
|
<A HREF="isdnl3.c.shtml#Isdnl3Free">Isdnl3Free</A>();
|
|
<A HREF="callc.c.shtml#CallcFree">CallcFree</A>();
|
|
restore_flags(flags);
|
|
printk(KERN_INFO <FONT COLOR="#FF0000">"HiSax module removed\n"</FONT>);
|
|
}
|
|
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_ELSA
|
|
<FONT COLOR="#298C52">int</FONT> <A HREF="#elsa_init_pcmcia">elsa_init_pcmcia</A>(<FONT COLOR="#298C52">void</FONT> *pcm_iob, <FONT COLOR="#298C52">int</FONT> pcm_irq, <FONT COLOR="#298C52">int</FONT> *busy_flag, <FONT COLOR="#298C52">int</FONT> prot)
|
|
{
|
|
<FONT COLOR="#298C52">int</FONT> i;
|
|
<FONT COLOR="#298C52">int</FONT> nzproto = 0;
|
|
|
|
nrcards = 0;
|
|
HiSaxVersion();
|
|
<FONT COLOR="#298C52">if</FONT> (id) <FONT COLOR=#0000FF>/* If id= string used */</FONT>
|
|
HiSax_id = id;
|
|
<FONT COLOR=#0000FF>/* Initialize all 8 structs, even though we only accept
|
|
two pcmcia cards
|
|
*/</FONT>
|
|
<FONT COLOR="#298C52">for</FONT> (i = 0; i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>; i++) {
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = io[i];
|
|
cards[i].typ = type[i];
|
|
<FONT COLOR="#298C52">if</FONT> (protocol[i]) {
|
|
cards[i].protocol = protocol[i];
|
|
nzproto++;
|
|
}
|
|
}
|
|
cards[0].para[0] = pcm_irq;
|
|
cards[0].para[1] = (<FONT COLOR="#298C52">int</FONT>)pcm_iob;
|
|
cards[0].protocol = prot;
|
|
cards[0].typ = 10;
|
|
nzproto = 1;
|
|
|
|
<FONT COLOR="#298C52">if</FONT> (!HiSax_id)
|
|
HiSax_id = HiSaxID;
|
|
<FONT COLOR="#298C52">if</FONT> (!HiSaxID[0])
|
|
strcpy(HiSaxID, <FONT COLOR="#FF0000">"HiSax"</FONT>);
|
|
<FONT COLOR="#298C52">for</FONT> (i = 0; i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>; i++)
|
|
<FONT COLOR="#298C52">if</FONT> (cards[i].typ > 0)
|
|
nrcards++;
|
|
printk(KERN_DEBUG <FONT COLOR="#FF0000">"HiSax: Total %d card%s defined\n"</FONT>,
|
|
nrcards, (nrcards > 1) ? <FONT COLOR="#FF0000">"s"</FONT> : <FONT COLOR="#FF0000">""</FONT>);
|
|
|
|
Isdnl1New();
|
|
CallcNew();
|
|
Isdnl3New();
|
|
Isdnl2New();
|
|
TeiNew();
|
|
HiSax_inithardware(busy_flag);
|
|
printk(KERN_NOTICE <FONT COLOR="#FF0000">"HiSax: module installed\n"</FONT>);
|
|
<FONT COLOR="#298C52">return</FONT> (0);
|
|
}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#ifdef</FONT> CONFIG_HISAX_SEDLBAUER
|
|
<FONT COLOR="#298C52">int</FONT> <A HREF="#sedl_init_pcmcia">sedl_init_pcmcia</A>(<FONT COLOR="#298C52">void</FONT> *pcm_iob, <FONT COLOR="#298C52">int</FONT> pcm_irq, <FONT COLOR="#298C52">int</FONT> *busy_flag, <FONT COLOR="#298C52">int</FONT> prot)
|
|
{
|
|
<FONT COLOR="#298C52">int</FONT> i;
|
|
<FONT COLOR="#298C52">int</FONT> nzproto = 0;
|
|
|
|
nrcards = 0;
|
|
HiSaxVersion();
|
|
<FONT COLOR="#298C52">if</FONT> (id) <FONT COLOR=#0000FF>/* If id= string used */</FONT>
|
|
HiSax_id = id;
|
|
<FONT COLOR=#0000FF>/* Initialize all 8 structs, even though we only accept
|
|
two pcmcia cards
|
|
*/</FONT>
|
|
<FONT COLOR="#298C52">for</FONT> (i = 0; i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>; i++) {
|
|
cards[i].para[0] = irq[i];
|
|
cards[i].para[1] = io[i];
|
|
cards[i].typ = type[i];
|
|
<FONT COLOR="#298C52">if</FONT> (protocol[i]) {
|
|
cards[i].protocol = protocol[i];
|
|
nzproto++;
|
|
}
|
|
}
|
|
cards[0].para[0] = pcm_irq;
|
|
cards[0].para[1] = (<FONT COLOR="#298C52">int</FONT>)pcm_iob;
|
|
cards[0].protocol = prot;
|
|
cards[0].typ = <A HREF="hisax.h.shtml#ISDN_CTYPE_SEDLBAUER_PCMCIA">ISDN_CTYPE_SEDLBAUER_PCMCIA</A>;
|
|
nzproto = 1;
|
|
|
|
<FONT COLOR="#298C52">if</FONT> (!HiSax_id)
|
|
HiSax_id = HiSaxID;
|
|
<FONT COLOR="#298C52">if</FONT> (!HiSaxID[0])
|
|
strcpy(HiSaxID, <FONT COLOR="#FF0000">"HiSax"</FONT>);
|
|
<FONT COLOR="#298C52">for</FONT> (i = 0; i < <A HREF="hisax.h.shtml#HISAX_MAX_CARDS">HISAX_MAX_CARDS</A>; i++)
|
|
<FONT COLOR="#298C52">if</FONT> (cards[i].typ > 0)
|
|
nrcards++;
|
|
printk(KERN_DEBUG <FONT COLOR="#FF0000">"HiSax: Total %d card%s defined\n"</FONT>,
|
|
nrcards, (nrcards > 1) ? <FONT COLOR="#FF0000">"s"</FONT> : <FONT COLOR="#FF0000">""</FONT>);
|
|
|
|
Isdnl1New();
|
|
CallcNew();
|
|
Isdnl3New();
|
|
Isdnl2New();
|
|
TeiNew();
|
|
HiSax_inithardware(busy_flag);
|
|
printk(KERN_NOTICE <FONT COLOR="#FF0000">"HiSax: module installed\n"</FONT>);
|
|
<FONT COLOR="#298C52">return</FONT> (0);
|
|
}
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
<FONT COLOR=#A521F7>#endif</FONT>
|
|
</BODY>
|
|
|
|
</HTML>
|