[PATCH] pcmcia: match "anonymous" cards
If a card doesn't provide _any_ information about itself, assume it is a so-called "anonymous" card. pcmciamtd will bind to it if it is configured to do so. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
ff1fa9ef3c
commit
f602ff7eb4
@@ -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;
|
dev->dev.driver_data = (void *) did;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
@@ -209,5 +209,6 @@ struct pcmcia_device_id {
|
|||||||
#define PCMCIA_DEV_ID_MATCH_PROD_ID4 0x0080
|
#define PCMCIA_DEV_ID_MATCH_PROD_ID4 0x0080
|
||||||
#define PCMCIA_DEV_ID_MATCH_DEVICE_NO 0x0100
|
#define PCMCIA_DEV_ID_MATCH_DEVICE_NO 0x0100
|
||||||
#define PCMCIA_DEV_ID_MATCH_FAKE_CIS 0x0200
|
#define PCMCIA_DEV_ID_MATCH_FAKE_CIS 0x0200
|
||||||
|
#define PCMCIA_DEV_ID_MATCH_ANONYMOUS 0x0400
|
||||||
|
|
||||||
#endif /* LINUX_MOD_DEVICETABLE_H */
|
#endif /* LINUX_MOD_DEVICETABLE_H */
|
||||||
|
Reference in New Issue
Block a user