Skip to contentSkip to conversation

PCMCIA IRQ stuff

PATCH In review Russell King 2 participants 2 messages Aug 6, 2003 – Aug 7, 2003 Pcmcia

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PCMCIA IRQ stuff

Ok, this is what's going to Linus shortly. I have some further changes which cleans up the whole override stuff, but I haven't had time to sort those out cleanly, and probably won't do until the weekend now.

Enjoy.

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.1612 -> 1.1616
# drivers/pcmcia/ti113x.h 1.13 -> 1.14
# drivers/pcmcia/yenta_socket.c 1.35 -> 1.37
# drivers/pcmcia/i82365.c 1.41 -> 1.42
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/08/06 [email protected].(none) 1.1613
# [PCMCIA] Fix PnP Probing in i82365.c
#

# pnp_x_valid returns 1 if valid.  Therefore we should be using
# !pnp_port_valid.  Also cleans up some formatting issues.
# --------------------------------------------
# 03/08/06	[email protected]	1.1614
# [PCMCIA] Fix cardbus init failure paths.
# 
# Currently, yenta does not try to clean up after an error occurs while
# initialising a cardbus socket.  This cset ensures that we release
# resources.  We also claim the cardbus MMIO memory resource.
# --------------------------------------------
# 03/08/07	[email protected]	1.1615
# [PCMCIA] Disable IRQ steering and don't change the IRQ MUX register.
# 
# 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.
# --------------------------------------------
# 03/08/07	[email protected]	1.1616
# [PCMCIA] Report subsystem vendor/device IDs
# 
# In order to properly track down who needs to program the IRQ MUX
# register, add the subsystem vendor and device IDs to the kernel
# message indicating discovery of the cardbus bridge.
# --------------------------------------------
#
diff -Nru a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c
--- a/drivers/pcmcia/i82365.c	Thu Aug  7 00:17:42 2003
+++ b/drivers/pcmcia/i82365.c	Thu Aug  7 00:17:42 2003
@@ -795,16 +795,14 @@

if (pnp_device_attach(dev) < 0)
continue;
-
- printk("PNP ");
-
+
if (pnp_activate_dev(dev) < 0) {
printk("activate failed\n");
pnp_device_detach(dev);
break;
}

- if (pnp_port_valid(dev, 0)) {
+ if (!pnp_port_valid(dev, 0)) {
printk("invalid resources ?\n");
pnp_device_detach(dev);
break;

drivers/pcmcia/ti113x.h +4 -0
diff -Nru a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
@@ -258,6 +258,7 @@
 	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 @@
 			config_writeb(socket, TI113X_DEVICE_CONTROL, devctl);
 		}
 	}
+#endif
 
 	socket->socket.ops->init = ti_init;
 	return 0;
@@ -327,9 +329,11 @@
 	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));
 		
drivers/pcmcia/yenta_socket.c +41 -9

88 lines not on this page · raw message

Signature · 2 lines
Russell King ([email protected])                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html
#1 lore raw
Quoted 3 lines · Russell King

Ok, this is what's going to Linus shortly. I have some further changes which cleans up the whole override stuff, but I haven't had time to sort those out cleanly, and probably won't do until the weekend now.

Works fine for me :-)