<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Received: from mnm [127.0.0.1]
	by localhost with POP3 (fetchmail-5.9.0)
	for akpm@localhost (single-drop); Mon, 23 Jun 2003 16:03:17 -0700 (PDT)
Received: from digeo-e2k04.digeo.com ([192.168.2.24]) by pao-ex01.pao.digeo.com with Microsoft SMTPSVC(5.0.2195.5329);
	 Mon, 23 Jun 2003 16:00:39 -0700
Received: from digeo-nav01.digeo.com ([192.168.1.233]) by digeo-e2k04.digeo.com with Microsoft SMTPSVC(5.0.2195.5329);
	 Mon, 23 Jun 2003 16:00:38 -0700
Received: from packet.digeo.com ([192.168.17.15])
 by digeo-nav01.digeo.com (SAVSMTP 3.1.1.32) with SMTP id M2003062316025516204
 for &lt;akpm@digeo.com&gt;; Mon, 23 Jun 2003 16:02:55 -0700
Received: from caramon.arm.linux.org.uk (caramon.arm.linux.org.uk [212.18.232.186])
	by packet.digeo.com (8.12.8/8.12.8) with ESMTP id h5NN0agk013878
	for &lt;akpm@digeo.com&gt;; Mon, 23 Jun 2003 16:00:37 -0700 (PDT)
Received: from flint.arm.linux.org.uk ([3ffe:8260:2002:1:201:2ff:fe14:8fad])
	by caramon.arm.linux.org.uk with asmtp (TLSv1:DES-CBC3-SHA:168)
	(Exim 4.14)
	id 19UaIc-0006FK-9E
	for akpm@digeo.com; Tue, 24 Jun 2003 00:00:34 +0100
Received: from rmk by flint.arm.linux.org.uk with local (Exim 4.14)
	id 19UaIb-0005wN-1L
	for akpm@digeo.com; Tue, 24 Jun 2003 00:00:33 +0100
Date: Tue, 24 Jun 2003 00:00:32 +0100
From: Russell King &lt;rmk@arm.linux.org.uk&gt;
To: Andrew Morton &lt;akpm@digeo.com&gt;
Subject: other pcmcia patches
Message-ID: &lt;20030624000032.J28325@flint.arm.linux.org.uk&gt;
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.2.5.1i
X-Message-Flag: Your copy of Microsoft Outlook is vulnerable to viruses. See www.mutt.org for more details.
Sender: Russell King &lt;rmk@arm.linux.org.uk&gt;
X-Scanned-By: MIMEDefang 2.30 (www . roaringpenguin . com / mimedefang)
Return-Path: rmk@arm.linux.org.uk
X-OriginalArrivalTime: 23 Jun 2003 23:00:38.0779 (UTC) FILETIME=[43648CB0:01C339DB]
X-Spam-Status: No, hits=-15.6 required=6.0
	tests=BAYES_00,PATCH_UNIFIED_DIFF,USER_AGENT_MUTT
	autolearn=ham version=2.53
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.53 (1.174.2.15-2003-03-30-exp)

Andrew,

If you're putting those 6 patches in, this should go before those 6
patches.  Linus should be pulling this tonight.

I think you may already have some of this though.

# 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.1372  -&gt; 1.1374 
#	drivers/pcmcia/ti113x.h	1.6     -&gt; 1.8    
#	include/linux/pci_ids.h	1.105   -&gt; 1.106  
#	drivers/pcmcia/yenta_socket.c	1.28    -&gt; 1.29   
#	drivers/ide/legacy/ide-cs.c	1.10    -&gt; 1.11   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/06/22	rmk@flint.arm.linux.org.uk	1.1373
# Merge flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5
# into flint.arm.linux.org.uk:/usr/src/linux-bk-2.5/linux-2.5-pcmcia
# --------------------------------------------
# 03/06/23	rmk@flint.arm.linux.org.uk	1.1374
# [PCMCIA] Fix ide-cs driver name (for PCMCIA binding)
# 
# Problem noticed by Eivind Tagseth.
# 
# We seem to have resurected the "ide_cs" driver name for the ide-cs module.
# Restore the driver name to "ide-cs".
# --------------------------------------------
#
diff -Nru a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c
--- a/drivers/ide/legacy/ide-cs.c	Mon Jun 23 23:58:26 2003
+++ b/drivers/ide/legacy/ide-cs.c	Mon Jun 23 23:58:26 2003
@@ -473,7 +473,7 @@
 static struct pcmcia_driver ide_cs_driver = {
 	.owner		= THIS_MODULE,
 	.drv		= {
-		.name	= "ide_cs",
+		.name	= "ide-cs",
 	},
 	.attach		= ide_attach,
 	.detach		= ide_detach,
diff -Nru a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
--- a/drivers/pcmcia/ti113x.h	Mon Jun 23 23:58:26 2003
+++ b/drivers/pcmcia/ti113x.h	Mon Jun 23 23:58:26 2003
@@ -175,6 +175,27 @@
 	new = reg &amp; ~I365_INTR_ENA;
 	if (new != reg)
 		exca_writeb(socket, I365_INTCTL, new);
+
+	/*
+	 * If ISA interrupts don't work, then fall back to routing card
+	 * interrupts to the PCI interrupt of the socket.
+	 */
+	if (!socket-&gt;socket.irq_mask) {
+		int irqmux, devctl;
+
+		printk (KERN_INFO "ti113x: Routing card interrupts to PCI\n");
+
+		devctl = config_readb(socket, TI113X_DEVICE_CONTROL);
+		devctl &amp;= ~TI113X_DCR_IMODE_MASK;
+
+		irqmux = config_readl(socket, TI122X_IRQMUX);
+		irqmux = (irqmux &amp; ~0x0f) | 0x02; /* route INTA */
+		irqmux = (irqmux &amp; ~0xf0) | 0x20; /* route INTB */
+
+		config_writel(socket, TI122X_IRQMUX, irqmux);
+		config_writeb(socket, TI113X_DEVICE_CONTROL, devctl);
+	}
+
 	socket-&gt;socket.ss_entry-&gt;init = ti_init;
 	return 0;
 }
@@ -239,6 +260,17 @@
 	ti113x_override(socket);
 	socket-&gt;socket.ss_entry-&gt;init = ti1250_init;
 	return 0;
+}
+
+
+static int ti12xx_override(struct yenta_socket *socket)
+{
+	/* make sure that memory burst is active */
+	ti_sysctl(socket) = config_readl(socket, TI113X_SYSTEM_CONTROL);
+	ti_sysctl(socket) |= TI122X_SCR_MRBURSTUP;
+	config_writel(socket, TI113X_SYSTEM_CONTROL, ti_sysctl(socket));
+
+	return ti113x_override(socket);
 }
 
 #endif /* CONFIG_CARDBUS */
diff -Nru a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
--- a/drivers/pcmcia/yenta_socket.c	Mon Jun 23 23:58:26 2003
+++ b/drivers/pcmcia/yenta_socket.c	Mon Jun 23 23:58:26 2003
@@ -807,22 +807,29 @@
 	unsigned short device;
 	int (*override) (struct yenta_socket *socket);
 } cardbus_override[] = {
-	{ PD(TI,1130),	&amp;ti113x_override },
 	{ PD(TI,1031),	&amp;ti_override },
-	{ PD(TI,1131),	&amp;ti113x_override },
-	{ PD(TI,1250),	&amp;ti1250_override },
-	{ PD(TI,1220),	&amp;ti_override },
-	{ PD(TI,1221),	&amp;ti_override },
+
+	/* TBD: Check if these TI variants can use more
+	 * advanced overrides instead */
 	{ PD(TI,1210),	&amp;ti_override },
-	{ PD(TI,1450),	&amp;ti_override },
-	{ PD(TI,1225),	&amp;ti_override },
-	{ PD(TI,1251A),	&amp;ti_override },
 	{ PD(TI,1211),	&amp;ti_override },
+	{ PD(TI,1251A),	&amp;ti_override },
 	{ PD(TI,1251B),	&amp;ti_override },
-	{ PD(TI,1410),	ti1250_override },
 	{ PD(TI,1420),	&amp;ti_override },
+	{ PD(TI,1450),	&amp;ti_override },
 	{ PD(TI,4410),	&amp;ti_override },
 	{ PD(TI,4451),	&amp;ti_override },
+
+	{ PD(TI,1130),	&amp;ti113x_override },
+	{ PD(TI,1131),	&amp;ti113x_override },
+
+	{ PD(TI,1220),	&amp;ti12xx_override },
+	{ PD(TI,1221),	&amp;ti12xx_override },
+	{ PD(TI,1225),	&amp;ti12xx_override },
+	{ PD(TI,1520),  &amp;ti12xx_override },
+
+	{ PD(TI,1250),	&amp;ti1250_override },
+	{ PD(TI,1410),	&amp;ti1250_override },
 
 	{ PD(RICOH,RL5C465), &amp;ricoh_override },
 	{ PD(RICOH,RL5C466), &amp;ricoh_override },
diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h	Mon Jun 23 23:58:26 2003
+++ b/include/linux/pci_ids.h	Mon Jun 23 23:58:26 2003
@@ -668,7 +668,6 @@
 #define PCI_DEVICE_ID_TI_1220		0xac17
 #define PCI_DEVICE_ID_TI_1221		0xac19
 #define PCI_DEVICE_ID_TI_1210		0xac1a
-#define PCI_DEVICE_ID_TI_1410		0xac50
 #define PCI_DEVICE_ID_TI_1450		0xac1b
 #define PCI_DEVICE_ID_TI_1225		0xac1c
 #define PCI_DEVICE_ID_TI_1251A		0xac1d
@@ -676,7 +675,9 @@
 #define PCI_DEVICE_ID_TI_1251B		0xac1f
 #define PCI_DEVICE_ID_TI_4410		0xac41
 #define PCI_DEVICE_ID_TI_4451		0xac42
+#define PCI_DEVICE_ID_TI_1410		0xac50
 #define PCI_DEVICE_ID_TI_1420		0xac51
+#define PCI_DEVICE_ID_TI_1520		0xac55
 
 #define PCI_VENDOR_ID_SONY		0x104d
 #define PCI_DEVICE_ID_SONY_CXD3222	0x8039

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

</pre></body></html>