summaryrefslogtreecommitdiff
path: root/include/linux/mod_devicetable.h
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2005-06-28 03:28:06 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-28 05:03:06 +0400
commit1ad275e3e7d253d44f03868e85977c908e334fed (patch)
tree82f0a1fc070f32c015be14596c50c681d90d4c1a /include/linux/mod_devicetable.h
parent3ee13937525f6044d769b1a84d5db5669ac1959e (diff)
downloadlinux-1ad275e3e7d253d44f03868e85977c908e334fed.tar.xz
[PATCH] pcmcia: device and driver matching
The actual matching of pcmcia drivers and pcmcia devices. The original version of this was written by David Woodhouse. 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 'include/linux/mod_devicetable.h')
-rw-r--r--include/linux/mod_devicetable.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index d6eb7b2efc04..e9651cd8310c 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -175,4 +175,37 @@ struct serio_device_id {
};
+/* PCMCIA */
+
+struct pcmcia_device_id {
+ __u16 match_flags;
+
+ __u16 manf_id;
+ __u16 card_id;
+
+ __u8 func_id;
+
+ /* for real multi-function devices */
+ __u8 function;
+
+ /* for pseude multi-function devices */
+ __u8 device_no;
+
+ const char * prod_id[4];
+ __u32 prod_id_hash[4];
+
+ /* not matched against */
+ kernel_ulong_t driver_info;
+};
+
+#define PCMCIA_DEV_ID_MATCH_MANF_ID 0x0001
+#define PCMCIA_DEV_ID_MATCH_CARD_ID 0x0002
+#define PCMCIA_DEV_ID_MATCH_FUNC_ID 0x0004
+#define PCMCIA_DEV_ID_MATCH_FUNCTION 0x0008
+#define PCMCIA_DEV_ID_MATCH_PROD_ID1 0x0010
+#define PCMCIA_DEV_ID_MATCH_PROD_ID2 0x0020
+#define PCMCIA_DEV_ID_MATCH_PROD_ID3 0x0040
+#define PCMCIA_DEV_ID_MATCH_PROD_ID4 0x0080
+#define PCMCIA_DEV_ID_MATCH_DEVICE_NO 0x0100
+
#endif /* LINUX_MOD_DEVICETABLE_H */