merge from KERNEL_2_4

This commit is contained in:
Kai Germaschewski 2001-07-19 21:22:29 +00:00
parent 028b0f5570
commit fd1a3f457e
1 changed files with 217 additions and 232 deletions

View File

@ -80,25 +80,19 @@
*
*/
const char *CardType[] =
{ "No Card", "Teles 16.0", "Teles 8.0", "Teles 16.3",
"Creatix/Teles PnP",
"AVM A1", "Elsa ML", "Elsa Quickstep", "Teles PCMCIA",
"ITK ix1-micro Rev.2",
"Elsa PCMCIA", "Eicon.Diehl Diva", "ISDNLink", "TeleInt",
"Teles 16.3c",
const char *CardType[] = {
"No Card", "Teles 16.0", "Teles 8.0", "Teles 16.3",
"Creatix/Teles PnP", "AVM A1", "Elsa ML", "Elsa Quickstep",
"Teles PCMCIA", "ITK ix1-micro Rev.2", "Elsa PCMCIA",
"Eicon.Diehl Diva", "ISDNLink", "TeleInt", "Teles 16.3c",
"Sedlbauer Speed Card", "USR Sportster", "ith mic Linux",
"Elsa PCI",
"Compaq ISA", "NETjet-S", "Teles PCI",
"Sedlbauer Speed Star (PCMCIA)",
"AMD 7930", "NICCY", "S0Box", "AVM A1 (PCMCIA)",
"AVM Fritz PnP/PCI",
"Sedlbauer Speed Fax +", "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", "HFC-S USB",
"ST5481 ISDN USB modem",
"Elsa PCI", "Compaq ISA", "NETjet-S", "Teles PCI",
"Sedlbauer Speed Star (PCMCIA)", "AMD 7930", "NICCY", "S0Box",
"AVM A1 (PCMCIA)", "AVM Fritz PnP/PCI", "Sedlbauer Speed Fax +",
"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",
"HFC-S USB", "ST5481 ISDN USB modem",
};
void HiSax_closecard(int cardnr);
@ -653,34 +647,29 @@ extern int setup_st5481(struct IsdnCard *card);
/*
* Find card with given driverId
*/
static inline struct IsdnCardState
*
hisax_findcard(int driverid)
static inline struct IsdnCardState *hisax_findcard(int driverid)
{
int i;
for (i = 0; i < nrcards; i++)
if (cards[i].cs)
if (cards[i].cs->myid == driverid)
return (cards[i].cs);
return (NULL);
return cards[i].cs;
return NULL;
}
/*
* Find card with given card number
*/
struct IsdnCardState
*
hisax_get_card(int cardnr)
struct IsdnCardState *hisax_get_card(int cardnr)
{
if ((cardnr <= nrcards) && (cardnr > 0))
if (cards[cardnr - 1].cs)
return (cards[cardnr - 1].cs);
return (NULL);
return cards[cardnr - 1].cs;
return NULL;
}
int
HiSax_readstatus(u_char * buf, int len, int user, int id, int channel)
int HiSax_readstatus(u_char * buf, int len, int user, int id, int channel)
{
int count, cnt;
u_char *p = buf;
@ -931,22 +920,21 @@ static int __devinit init_card(struct IsdnCardState *cs)
CardType[cs->typ], cs->irq, 4 - cnt);
if (cnt == 1) {
free_irq(cs->irq, cs);
return (2);
return 2;
} else {
cs->cardmsg(cs, CARD_RESET, NULL);
cnt--;
}
} else {
cs->cardmsg(cs, CARD_TEST, NULL);
return (0);
return 0;
}
}
restore_flags(flags);
return (3);
return 3;
}
static int __devinit
checkcard(int cardnr, char *id, int *busy_flag, void *load_drv)
static int __devinit checkcard(int cardnr, char *id, int *busy_flag, void *load_drv)
{
long flags;
int ret = 0;
@ -1226,6 +1214,7 @@ checkcard(int cardnr, char *id, int *busy_flag, void *load_drv)
skb_queue_head_init(&cs->rq);
skb_queue_head_init(&cs->sq);
init_bcstate(cs, 0);
init_bcstate(cs, 1);
@ -1480,8 +1469,7 @@ hisax_register_hfcusb(struct hisax_drvreg *l1drv)
} /* hisax_register_hfcusb */
#endif
static int __init
HiSax_init(void)
static int __init HiSax_init(void)
{
int i, retval;
#ifdef MODULE
@ -1629,16 +1617,13 @@ HiSax_init(void)
} else {
/* QUADRO is a 4 BRI card */
cards[j++].para[0] = 1;
cards[j].typ =
ISDN_CTYPE_SCT_QUADRO;
cards[j].typ = ISDN_CTYPE_SCT_QUADRO;
cards[j].protocol = protocol[i];
cards[j++].para[0] = 2;
cards[j].typ =
ISDN_CTYPE_SCT_QUADRO;
cards[j].typ = ISDN_CTYPE_SCT_QUADRO;
cards[j].protocol = protocol[i];
cards[j++].para[0] = 3;
cards[j].typ =
ISDN_CTYPE_SCT_QUADRO;
cards[j].typ = ISDN_CTYPE_SCT_QUADRO;
cards[j].protocol = protocol[i];
cards[j].para[0] = 4;
}
@ -1926,7 +1911,7 @@ hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card)
}
ret = nrcards;
nrcards++;
return (ret);
return ret;
}
#ifndef COMPAT_HAS_2_2_PCI