pcmcia: IOCARD is also required for using IRQs

Dave Hinds pointed out to me that 37979e1546 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>
This commit is contained in:
Dominik Brodowski 2010-10-22 08:46:36 +02:00
parent d4429f608a
commit ff10fca5ce
2 changed files with 5 additions and 1 deletions

View File

@ -514,7 +514,9 @@ int pcmcia_enable_device(struct pcmcia_device *p_dev)
} }
/* Pick memory or I/O card, DMA mode, interrupt */ /* Pick memory or I/O card, DMA mode, interrupt */
if (p_dev->_io) if (p_dev->_io || flags & CONF_ENABLE_IRQ)
flags |= CONF_ENABLE_IOCARD;
if (flags & CONF_ENABLE_IOCARD)
s->socket.flags |= SS_IOCARD; s->socket.flags |= SS_IOCARD;
if (flags & CONF_ENABLE_SPKR) { if (flags & CONF_ENABLE_SPKR) {
s->socket.flags |= SS_SPKR_ENA; s->socket.flags |= SS_SPKR_ENA;

View File

@ -259,6 +259,8 @@ void pcmcia_disable_device(struct pcmcia_device *p_dev);
#define CONF_ENABLE_SPKR 0x0002 #define CONF_ENABLE_SPKR 0x0002
#define CONF_ENABLE_PULSE_IRQ 0x0004 #define CONF_ENABLE_PULSE_IRQ 0x0004
#define CONF_ENABLE_ESR 0x0008 #define CONF_ENABLE_ESR 0x0008
#define CONF_ENABLE_IOCARD 0x0010 /* auto-enabled if IO resources or IRQ
* (CONF_ENABLE_IRQ) in use */
/* flags used by pcmcia_loop_config() autoconfiguration */ /* flags used by pcmcia_loop_config() autoconfiguration */
#define CONF_AUTO_CHECK_VCC 0x0100 /* check for matching Vcc? */ #define CONF_AUTO_CHECK_VCC 0x0100 /* check for matching Vcc? */