diff options
Diffstat (limited to 'drivers/isdn/hisax/config.c')
| -rw-r--r-- | drivers/isdn/hisax/config.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c index 84d75a3f5d17..ded9d0baf607 100644 --- a/drivers/isdn/hisax/config.c +++ b/drivers/isdn/hisax/config.c | |||
| @@ -1213,7 +1213,7 @@ static void HiSax_shiftcards(int idx) | |||
| 1213 | memcpy(&cards[i], &cards[i + 1], sizeof(cards[i])); | 1213 | memcpy(&cards[i], &cards[i + 1], sizeof(cards[i])); |
| 1214 | } | 1214 | } |
| 1215 | 1215 | ||
| 1216 | static int HiSax_inithardware(int *busy_flag) | 1216 | static int __init HiSax_inithardware(int *busy_flag) |
| 1217 | { | 1217 | { |
| 1218 | int foundcards = 0; | 1218 | int foundcards = 0; |
| 1219 | int i = 0; | 1219 | int i = 0; |
| @@ -1542,7 +1542,9 @@ static void __exit HiSax_exit(void) | |||
| 1542 | printk(KERN_INFO "HiSax module removed\n"); | 1542 | printk(KERN_INFO "HiSax module removed\n"); |
| 1543 | } | 1543 | } |
| 1544 | 1544 | ||
| 1545 | int hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card) | 1545 | #ifdef CONFIG_HOTPLUG |
| 1546 | |||
| 1547 | int __devinit hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card) | ||
| 1546 | { | 1548 | { |
| 1547 | u_char ids[16]; | 1549 | u_char ids[16]; |
| 1548 | int ret = -1; | 1550 | int ret = -1; |
| @@ -1563,6 +1565,8 @@ error: | |||
| 1563 | } | 1565 | } |
| 1564 | 1566 | ||
| 1565 | EXPORT_SYMBOL(hisax_init_pcmcia); | 1567 | EXPORT_SYMBOL(hisax_init_pcmcia); |
| 1568 | #endif | ||
| 1569 | |||
| 1566 | EXPORT_SYMBOL(HiSax_closecard); | 1570 | EXPORT_SYMBOL(HiSax_closecard); |
| 1567 | 1571 | ||
| 1568 | #include "hisax_if.h" | 1572 | #include "hisax_if.h" |
| @@ -1580,6 +1584,11 @@ static void hisax_bc_close(struct BCState *bcs); | |||
| 1580 | static void hisax_bh(struct work_struct *work); | 1584 | static void hisax_bh(struct work_struct *work); |
| 1581 | static void EChannel_proc_rcv(struct hisax_d_if *d_if); | 1585 | static void EChannel_proc_rcv(struct hisax_d_if *d_if); |
| 1582 | 1586 | ||
| 1587 | static int hisax_setup_card_dynamic(struct IsdnCard *card) | ||
| 1588 | { | ||
| 1589 | return 2; | ||
| 1590 | } | ||
| 1591 | |||
| 1583 | int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], | 1592 | int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], |
| 1584 | char *name, int protocol) | 1593 | char *name, int protocol) |
| 1585 | { | 1594 | { |
| @@ -1599,7 +1608,8 @@ int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], | |||
| 1599 | cards[i].protocol = protocol; | 1608 | cards[i].protocol = protocol; |
| 1600 | sprintf(id, "%s%d", name, i); | 1609 | sprintf(id, "%s%d", name, i); |
| 1601 | nrcards++; | 1610 | nrcards++; |
| 1602 | retval = checkcard(i, id, NULL, hisax_d_if->owner, hisax_cs_setup_card); | 1611 | retval = checkcard(i, id, NULL, hisax_d_if->owner, |
| 1612 | hisax_setup_card_dynamic); | ||
| 1603 | if (retval == 0) { // yuck | 1613 | if (retval == 0) { // yuck |
| 1604 | cards[i].typ = 0; | 1614 | cards[i].typ = 0; |
| 1605 | nrcards--; | 1615 | nrcards--; |
