aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/cs.c
diff options
context:
space:
mode:
authorRussell King <rmk+pcmcia@arm.linux.org.uk>2005-07-07 20:59:07 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-07 21:24:07 -0400
commit5bc6b68a103a6f4055890b5127ddca3a322751b0 (patch)
tree57195b4d7c6f0f97b111605f8eef6dccda83e0b8 /drivers/pcmcia/cs.c
parent4230dfc9c3f708f4765736b862aa313aa97e3c2e (diff)
[PATCH] yenta: no CardBus if IRQ fails
If probing for the correct interrupt fails on yenta bridges, the driver falls back to polling for interrupt actions. However, CardBus cards cannot be used then. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pcmcia/cs.c')
-rw-r--r--drivers/pcmcia/cs.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c
index 4d1cc5304e17..e39178fc59d0 100644
--- a/drivers/pcmcia/cs.c
+++ b/drivers/pcmcia/cs.c
@@ -215,6 +215,13 @@ int pcmcia_register_socket(struct pcmcia_socket *socket)
215 list_add_tail(&socket->socket_list, &pcmcia_socket_list); 215 list_add_tail(&socket->socket_list, &pcmcia_socket_list);
216 up_write(&pcmcia_socket_list_rwsem); 216 up_write(&pcmcia_socket_list_rwsem);
217 217
218#ifndef CONFIG_CARDBUS
219 /*
220 * If we do not support Cardbus, ensure that
221 * the Cardbus socket capability is disabled.
222 */
223 socket->features &= ~SS_CAP_CARDBUS;
224#endif
218 225
219 /* set proper values in socket->dev */ 226 /* set proper values in socket->dev */
220 socket->dev.class_data = socket; 227 socket->dev.class_data = socket;
@@ -448,11 +455,11 @@ static int socket_setup(struct pcmcia_socket *skt, int initial_delay)
448 } 455 }
449 456
450 if (status & SS_CARDBUS) { 457 if (status & SS_CARDBUS) {
458 if (!(skt->features & SS_CAP_CARDBUS)) {
459 cs_err(skt, "cardbus cards are not supported.\n");
460 return CS_BAD_TYPE;
461 }
451 skt->state |= SOCKET_CARDBUS; 462 skt->state |= SOCKET_CARDBUS;
452#ifndef CONFIG_CARDBUS
453 cs_err(skt, "cardbus cards are not supported.\n");
454 return CS_BAD_TYPE;
455#endif
456 } 463 }
457 464
458 /* 465 /*