aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-10-22 02:46:36 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2010-10-22 02:46:36 -0400
commitff10fca5ceacf7bc59636f5ab808e775d1717167 (patch)
treea76795dbaaf7099c3accac1acc884e9e55aeea2e
parentd4429f608abde89e8bc1e24b43cd503feb95c496 (diff)
pcmcia: IOCARD is also required for using IRQs
Dave Hinds pointed out to me that 37979e1546a7 will break b43 and ray_cs, as IOCARD is not -- as the name would suggest -- only needed for cards using IO ports. Instead, as it re-deines several pins, it is also required for using interrupts. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
-rw-r--r--drivers/pcmcia/pcmcia_resource.c4
-rw-r--r--include/pcmcia/ds.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index a9af0d784426..0bdda5b3ed55 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -514,7 +514,9 @@ int pcmcia_enable_device(struct pcmcia_device *p_dev)
514 } 514 }
515 515
516 /* Pick memory or I/O card, DMA mode, interrupt */ 516 /* Pick memory or I/O card, DMA mode, interrupt */
517 if (p_dev->_io) 517 if (p_dev->_io || flags & CONF_ENABLE_IRQ)
518 flags |= CONF_ENABLE_IOCARD;
519 if (flags & CONF_ENABLE_IOCARD)
518 s->socket.flags |= SS_IOCARD; 520 s->socket.flags |= SS_IOCARD;
519 if (flags & CONF_ENABLE_SPKR) { 521 if (flags & CONF_ENABLE_SPKR) {
520 s->socket.flags |= SS_SPKR_ENA; 522 s->socket.flags |= SS_SPKR_ENA;
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index d830c87ff0a7..8479b66c067b 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -259,6 +259,8 @@ void pcmcia_disable_device(struct pcmcia_device *p_dev);
259#define CONF_ENABLE_SPKR 0x0002 259#define CONF_ENABLE_SPKR 0x0002
260#define CONF_ENABLE_PULSE_IRQ 0x0004 260#define CONF_ENABLE_PULSE_IRQ 0x0004
261#define CONF_ENABLE_ESR 0x0008 261#define CONF_ENABLE_ESR 0x0008
262#define CONF_ENABLE_IOCARD 0x0010 /* auto-enabled if IO resources or IRQ
263 * (CONF_ENABLE_IRQ) in use */
262 264
263/* flags used by pcmcia_loop_config() autoconfiguration */ 265/* flags used by pcmcia_loop_config() autoconfiguration */
264#define CONF_AUTO_CHECK_VCC 0x0100 /* check for matching Vcc? */ 266#define CONF_AUTO_CHECK_VCC 0x0100 /* check for matching Vcc? */