summaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia
diff options
context:
space:
mode:
authorDominik Brodowski2005-06-28 01:28:07 +0200
committerLinus Torvalds2005-06-28 03:03:06 +0200
commitea7b38825bba66a81745a706da70a1c81adc95bd (patch)
treee4a55eb31a250cfc5465d17cc89450e0b5445862 /drivers/pcmcia
parent[PATCH] pcmcia: check for invalid crc32 hashes in id_tables (diff)
downloadkernel-qcow2-linux-ea7b38825bba66a81745a706da70a1c81adc95bd.tar.gz
kernel-qcow2-linux-ea7b38825bba66a81745a706da70a1c81adc95bd.tar.xz
kernel-qcow2-linux-ea7b38825bba66a81745a706da70a1c81adc95bd.zip
[PATCH] pcmcia: match for fake CIS
Add another match flag for devices needing a CIS override. The driver will only probe/attach if the CIS has been replaced before. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r--drivers/pcmcia/ds.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 3ac7a443f668..c0611d56eab2 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -733,6 +733,14 @@ static inline int pcmcia_devmatch(struct pcmcia_device *dev,
return 0;
}
+ if (did->match_flags & PCMCIA_DEV_ID_MATCH_FAKE_CIS) {
+ if (!dev->socket->fake_cis) {
+ /* FIXME: evaluate using firmware helpers to
+ * automagically load it from userspace */
+ return 0;
+ }
+ }
+
dev->dev.driver_data = (void *) did;
return 1;