From 7536ccb546ca3b26f1b950965a5b0684fde465b1 Mon Sep 17 00:00:00 2001 From: Dominik Brodowski Date: Mon, 27 Jun 2005 16:28:09 -0700 Subject: [PATCH] --- yaml --- r: 3749 b: refs/heads/master c: f602ff7eb4e44e7245bfeeba4d078144703fcd76 h: refs/heads/master i: 3747: 6de93ac7ecef1724331f3ac0e2f7f0827f8931ca v: v3 --- [refs] | 2 +- trunk/drivers/pcmcia/ds.c | 9 +++++++++ trunk/include/linux/mod_devicetable.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d7f8352233cc..18f02c13bd73 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ff1fa9ef3c9fb23a6baa06b63f4bdf3de089b29a +refs/heads/master: f602ff7eb4e44e7245bfeeba4d078144703fcd76 diff --git a/trunk/drivers/pcmcia/ds.c b/trunk/drivers/pcmcia/ds.c index f657a2a77b2b..66680699e913 100644 --- a/trunk/drivers/pcmcia/ds.c +++ b/trunk/drivers/pcmcia/ds.c @@ -746,6 +746,15 @@ static inline int pcmcia_devmatch(struct pcmcia_device *dev, } } + if (did->match_flags & PCMCIA_DEV_ID_MATCH_ANONYMOUS) { + int i; + for (i=0; i<4; i++) + if (dev->prod_id[i]) + return 0; + if (dev->has_manf_id || dev->has_card_id || dev->has_func_id) + return 0; + } + dev->dev.driver_data = (void *) did; return 1; diff --git a/trunk/include/linux/mod_devicetable.h b/trunk/include/linux/mod_devicetable.h index c0106d68bb6d..8a8dc82a941d 100644 --- a/trunk/include/linux/mod_devicetable.h +++ b/trunk/include/linux/mod_devicetable.h @@ -209,5 +209,6 @@ struct pcmcia_device_id { #define PCMCIA_DEV_ID_MATCH_PROD_ID4 0x0080 #define PCMCIA_DEV_ID_MATCH_DEVICE_NO 0x0100 #define PCMCIA_DEV_ID_MATCH_FAKE_CIS 0x0200 +#define PCMCIA_DEV_ID_MATCH_ANONYMOUS 0x0400 #endif /* LINUX_MOD_DEVICETABLE_H */