From: Russell King <rmk@arm.linux.org.uk>
To: Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: [CFT] 5/6 (6): Introduce CONFIG_PCMCIA_PROBE
Date: Wed, 12 Mar 2003 21:02:09 +0000 [thread overview]
Message-ID: <20030312210209.H27656@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20030312205659.C27656@flint.arm.linux.org.uk>; from rmk@arm.linux.org.uk on Wed, Mar 12, 2003 at 08:56:59PM +0000
pcmcia-6.diff
Remove the dependence of the PCMCIA layer on CONFIG_ISA - introduce
CONFIG_PCMCIA_PROBE to determine whether we need the resource
handling code. This prevents oopsen on SA11x0 and similar platforms
which use statically mapped, non-windowed sockets.
diff -ur orig/drivers/pcmcia/Kconfig linux/drivers/pcmcia/Kconfig
--- orig/drivers/pcmcia/Kconfig Tue Feb 11 16:10:23 2003
+++ linux/drivers/pcmcia/Kconfig Mon Feb 10 23:30:30 2003
@@ -86,6 +86,10 @@
config PCMCIA_SA1111
tristate "SA1111 support"
depends on PCMCIA_SA1100 && SA1111
+
+config PCMCIA_PROBE
+ bool
+ default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X
endmenu
diff -ur orig/drivers/pcmcia/cs.c linux/drivers/pcmcia/cs.c
--- orig/drivers/pcmcia/cs.c Sun Mar 2 17:05:18 2003
+++ linux/drivers/pcmcia/cs.c Sun Mar 2 17:45:53 2003
@@ -1621,7 +1621,7 @@
free_irq(req->AssignedIRQ, req->Instance);
}
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
if (req->AssignedIRQ != s->cap.pci_irq)
undo_irq(req->Attributes, req->AssignedIRQ);
#endif
@@ -1883,7 +1883,7 @@
if (!s->cap.irq_mask) {
irq = s->cap.pci_irq;
ret = (irq) ? 0 : CS_IN_USE;
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
} else if (s->irq.AssignedIRQ != 0) {
/* If the interrupt is already assigned, it must match */
irq = s->irq.AssignedIRQ;
diff -ur orig/drivers/pcmcia/rsrc_mgr.c linux/drivers/pcmcia/rsrc_mgr.c
--- orig/drivers/pcmcia/rsrc_mgr.c Sun Mar 2 17:34:55 2003
+++ linux/drivers/pcmcia/rsrc_mgr.c Sat Mar 1 19:09:21 2003
@@ -62,7 +62,7 @@
#define INT_MODULE_PARM(n, v) static int n = v; MODULE_PARM(n, "i")
INT_MODULE_PARM(probe_mem, 1); /* memory probe? */
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
INT_MODULE_PARM(probe_io, 1); /* IO port probe? */
INT_MODULE_PARM(mem_limit, 0x10000);
#endif
@@ -87,7 +87,7 @@
static DECLARE_MUTEX(rsrc_sem);
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
typedef struct irq_info_t {
u_int Attributes;
@@ -273,7 +273,7 @@
======================================================================*/
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
static void do_io_probe(ioaddr_t base, ioaddr_t num)
{
@@ -378,7 +378,7 @@
return (num - bad);
}
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
static u_long inv_probe(int (*is_valid)(u_long),
int (*do_cksum)(u_long),
@@ -442,7 +442,7 @@
up(&rsrc_sem);
}
-#else /* CONFIG_ISA */
+#else /* CONFIG_PCMCIA_PROBE */
void validate_mem(int (*is_valid)(u_long), int (*do_cksum)(u_long),
int force_low, socket_info_t *s)
@@ -459,7 +459,7 @@
}
}
-#endif /* CONFIG_ISA */
+#endif /* CONFIG_PCMCIA_PROBE */
/*======================================================================
@@ -545,7 +545,7 @@
======================================================================*/
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
static void fake_irq(int i, void *d, struct pt_regs *r) { }
static inline int check_irq(int irq)
@@ -634,7 +634,7 @@
/*====================================================================*/
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
void undo_irq(u_int Attributes, int irq)
{
@@ -725,7 +725,7 @@
ret = CS_IN_USE;
break;
}
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
if (probe_io)
do_io_probe(base, num);
#endif
@@ -747,7 +747,7 @@
static int adjust_irq(adjust_t *adj)
{
int ret = CS_SUCCESS;
-#ifdef CONFIG_ISA
+#ifdef CONFIG_PCMCIA_PROBE
int irq;
irq_info_t *info;
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
next prev parent reply other threads:[~2003-03-12 20:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-12 20:56 [CFT] PCMCIA patches Russell King
2003-03-12 20:58 ` [CFT] 1/6 (2) kill get_*_map Russell King
2003-03-12 20:59 ` [CFT] 2/6 (3): Remove bus_* abstractions Russell King
2003-03-12 21:00 ` [CFT] 3/6 (4): add SOCKET_CARDBUS_CONFIG flag Russell King
2003-03-12 21:01 ` [CFT] 4/6 (5): Add some locking to rsrc_mgr.c Russell King
2003-03-12 21:02 ` Russell King [this message]
2003-03-12 21:03 ` [CFT] 6/6 (7): Remove support for old cardbus clients Russell King
2003-03-24 11:30 ` [CFT] PCMCIA patches Paul Mackerras
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030312210209.H27656@flint.arm.linux.org.uk \
--to=rmk@arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.