]> git.hungrycats.org Git - linux/commitdiff
[PCMCIA] Disable IRQ steering and don't change the IRQ MUX register.
authorRussell King <rmk@flint.arm.linux.org.uk>
Thu, 7 Aug 2003 01:00:41 +0000 (02:00 +0100)
committerRussell King <rmk@arm.linux.org.uk>
Thu, 7 Aug 2003 01:00:41 +0000 (02:00 +0100)
The IRQ steering code operates too early at present, and actually
prevents us detecting ISA interrupts.

We should not touch the IRQ MUX register on TI bridges - only the
machine itself knows the right value for this.  The kernel doesn't
have the knowledge to know what function the cardbus controllers
multi-function pins have been assigned by the hardware manufacturer.

drivers/pcmcia/ti113x.h

index ab1a9d3edc22d0451ae9373e28822d8dfd737374..ca7516217dcb3b6b946f1faf69a7d5bf89ff08c8 100644 (file)
@@ -258,6 +258,7 @@ static int ti_override(struct yenta_socket *socket)
        if (new != reg)
                exca_writeb(socket, I365_INTCTL, new);
 
+#if 0
        /*
         * If ISA interrupts don't work, then fall back to routing card
         * interrupts to the PCI interrupt of the socket.
@@ -282,6 +283,7 @@ static int ti_override(struct yenta_socket *socket)
                        config_writeb(socket, TI113X_DEVICE_CONTROL, devctl);
                }
        }
+#endif
 
        socket->socket.ops->init = ti_init;
        return 0;
@@ -327,9 +329,11 @@ static int ti1250_init(struct pcmcia_socket *sock)
        struct yenta_socket *socket = container_of(sock, struct yenta_socket, socket);
        ti113x_init(sock);
        ti_irqmux(socket) = config_readl(socket, TI122X_IRQMUX);
+#if 0
        ti_irqmux(socket) = (ti_irqmux(socket) & ~0x0f) | 0x02; /* route INTA */
        if (!(ti_sysctl(socket) & TI122X_SCR_INTRTIE))
                ti_irqmux(socket) |= 0x20; /* route INTB */
+#endif
        
        config_writel(socket, TI122X_IRQMUX, ti_irqmux(socket));