[PATCH] CONFIG_PCMCIA_PROBE fix

From: Andres Salomon
Date: Mon Dec 22 2003 - 00:52:44 EST


Some time ago, Russell King submitted a patch to use CONFIG_PCMCIA_PROBE
instead of CONFIG_ISA in pcmcia probing code. Unfortunately,
CONFIG_PCMCIA_PROBE still is only set if CONFIG_ISA is set. This means
that if ISA isn't enabled, certain things break in 2.6; for example, my
pcmcia nic/modem (using pcnet_cs/serial_cs). These worked fine in 2.4;
I tracked the behavior to the fact that if irq_mask is set on a pcmcia
socket (instead of pci_irq), and PCMCIA_PROBE isn't set,
pcmcia_request_irq refuses to assign an irq. Most of the pcmcia bridges
appear to set an irq_mask, so the attached patch changes Kconfig to set
CONFIG_PCMCIA_PROBE if any of those bridges are selected.

Please apply this (or an alternative fix), as it fixes a 2.6 regression
in pcmcia functionality.

Revision: linux--mainline--2.6--patch-2
Archive: dilinger@xxxxxxxxxxxxxxxxxxxxxx
Creator: Andres Salomon <dilinger@xxxxxxxxx>
Date: Sun Dec 21 03:05:27 EST 2003
Standard-date: 2003-12-21 08:05:27 GMT
Modified-files: drivers/pcmcia/Kconfig
New-patches: dilinger@xxxxxxxxxxxxxxxxxxxxxx/linux--mainline--2.6--patch-2
Summary: Enable PCMCIA_PROBE on pcmcia bridges
Keywords:

Current behavior only enables CONFIG_PCMCIA_PROBE if CONFIG_ISA is set. Some
bridges (for example, yenta) break badly w/out PCMCIA_PROBE; w/out it,
pcmcia_request_irq() fails if an irq_mask is set. The idea is to decouple
CONFIG_ISA from CONFIG_PCMCIA_PROBE; so, what I've done is to enable
PCMCIA_PROBE for bridges that set irq_masks for their sockets.

* added files

{arch}/linux/linux--mainline/linux--mainline--2.6/dilinger@xxxxxxxxxxxxxxxxxxxxxx/patch-log/patch-2

* modified files

--- orig/drivers/pcmcia/Kconfig
+++ mod/drivers/pcmcia/Kconfig
@@ -103,7 +103,7 @@

config PCMCIA_PROBE
bool
- default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X
+ default y if !ARCH_SA1100 && !ARCH_CLPS711X && (ISA || YENTA || TCIC || HD64465_PCMCIA || I82365)

endmenu




Attachment: signature.asc
Description: This is a digitally signed message part