diff options
| -rw-r--r-- | drivers/net/pcmcia/smc91c92_cs.c | 1 | ||||
| -rw-r--r-- | drivers/pcmcia/ds.c | 1 | ||||
| -rw-r--r-- | drivers/pcmcia/yenta_socket.c | 19 |
3 files changed, 11 insertions, 10 deletions
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c index 7b6fe89f9db0..64e6a84bbbbe 100644 --- a/drivers/net/pcmcia/smc91c92_cs.c +++ b/drivers/net/pcmcia/smc91c92_cs.c | |||
| @@ -322,6 +322,7 @@ static int smc91c92_probe(struct pcmcia_device *link) | |||
| 322 | return -ENOMEM; | 322 | return -ENOMEM; |
| 323 | smc = netdev_priv(dev); | 323 | smc = netdev_priv(dev); |
| 324 | smc->p_dev = link; | 324 | smc->p_dev = link; |
| 325 | link->priv = dev; | ||
| 325 | 326 | ||
| 326 | spin_lock_init(&smc->lock); | 327 | spin_lock_init(&smc->lock); |
| 327 | link->io.NumPorts1 = 16; | 328 | link->io.NumPorts1 = 16; |
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 7ef7adee5e4f..9fc339845538 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c | |||
| @@ -671,6 +671,7 @@ static void pcmcia_requery(struct pcmcia_socket *s) | |||
| 671 | if (old_funcs != new_funcs) { | 671 | if (old_funcs != new_funcs) { |
| 672 | /* we need to re-start */ | 672 | /* we need to re-start */ |
| 673 | pcmcia_card_remove(s, NULL); | 673 | pcmcia_card_remove(s, NULL); |
| 674 | s->functions = 0; | ||
| 674 | pcmcia_card_add(s); | 675 | pcmcia_card_add(s); |
| 675 | } | 676 | } |
| 676 | } | 677 | } |
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c index 424e576f3acb..f1d41374eea7 100644 --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c | |||
| @@ -880,6 +880,12 @@ static struct cardbus_type cardbus_type[] = { | |||
| 880 | .restore_state = ti_restore_state, | 880 | .restore_state = ti_restore_state, |
| 881 | .sock_init = ti_init, | 881 | .sock_init = ti_init, |
| 882 | }, | 882 | }, |
| 883 | [CARDBUS_TYPE_ENE] = { | ||
| 884 | .override = ene_override, | ||
| 885 | .save_state = ti_save_state, | ||
| 886 | .restore_state = ti_restore_state, | ||
| 887 | .sock_init = ti_init, | ||
| 888 | }, | ||
| 883 | #endif | 889 | #endif |
| 884 | #ifdef CONFIG_YENTA_RICOH | 890 | #ifdef CONFIG_YENTA_RICOH |
| 885 | [CARDBUS_TYPE_RICOH] = { | 891 | [CARDBUS_TYPE_RICOH] = { |
| @@ -902,14 +908,6 @@ static struct cardbus_type cardbus_type[] = { | |||
| 902 | .restore_state = o2micro_restore_state, | 908 | .restore_state = o2micro_restore_state, |
| 903 | }, | 909 | }, |
| 904 | #endif | 910 | #endif |
| 905 | #ifdef CONFIG_YENTA_TI | ||
| 906 | [CARDBUS_TYPE_ENE] = { | ||
| 907 | .override = ene_override, | ||
| 908 | .save_state = ti_save_state, | ||
| 909 | .restore_state = ti_restore_state, | ||
| 910 | .sock_init = ti_init, | ||
| 911 | }, | ||
| 912 | #endif | ||
| 913 | }; | 911 | }; |
| 914 | 912 | ||
| 915 | 913 | ||
| @@ -975,7 +973,7 @@ static irqreturn_t yenta_probe_handler(int irq, void *dev_id) | |||
| 975 | /* probes the PCI interrupt, use only on override functions */ | 973 | /* probes the PCI interrupt, use only on override functions */ |
| 976 | static int yenta_probe_cb_irq(struct yenta_socket *socket) | 974 | static int yenta_probe_cb_irq(struct yenta_socket *socket) |
| 977 | { | 975 | { |
| 978 | u8 reg; | 976 | u8 reg = 0; |
| 979 | 977 | ||
| 980 | if (!socket->cb_irq) | 978 | if (!socket->cb_irq) |
| 981 | return -1; | 979 | return -1; |
| @@ -989,7 +987,8 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket) | |||
| 989 | } | 987 | } |
| 990 | 988 | ||
| 991 | /* generate interrupt, wait */ | 989 | /* generate interrupt, wait */ |
| 992 | reg = exca_readb(socket, I365_CSCINT); | 990 | if (!socket->dev->irq) |
| 991 | reg = exca_readb(socket, I365_CSCINT); | ||
| 993 | exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG); | 992 | exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG); |
| 994 | cb_writel(socket, CB_SOCKET_EVENT, -1); | 993 | cb_writel(socket, CB_SOCKET_EVENT, -1); |
| 995 | cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK); | 994 | cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK); |
