xref: /linux/include/linux/device-id/pcmcia.h (revision d2c9a99135da931377240942d44f3dea104cedb8)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_DEVICE_ID_PCMCIA_H
3 #define LINUX_DEVICE_ID_PCMCIA_H
4 
5 #ifdef __KERNEL__
6 #include <linux/types.h>
7 typedef unsigned long kernel_ulong_t;
8 #endif
9 
10 /* PCMCIA */
11 
12 #define PCMCIA_DEV_ID_MATCH_MANF_ID	0x0001
13 #define PCMCIA_DEV_ID_MATCH_CARD_ID	0x0002
14 #define PCMCIA_DEV_ID_MATCH_FUNC_ID	0x0004
15 #define PCMCIA_DEV_ID_MATCH_FUNCTION	0x0008
16 #define PCMCIA_DEV_ID_MATCH_PROD_ID1	0x0010
17 #define PCMCIA_DEV_ID_MATCH_PROD_ID2	0x0020
18 #define PCMCIA_DEV_ID_MATCH_PROD_ID3	0x0040
19 #define PCMCIA_DEV_ID_MATCH_PROD_ID4	0x0080
20 #define PCMCIA_DEV_ID_MATCH_DEVICE_NO	0x0100
21 #define PCMCIA_DEV_ID_MATCH_FAKE_CIS	0x0200
22 #define PCMCIA_DEV_ID_MATCH_ANONYMOUS	0x0400
23 
24 struct pcmcia_device_id {
25 	__u16		match_flags;
26 
27 	__u16		manf_id;
28 	__u16		card_id;
29 
30 	__u8		func_id;
31 
32 	/* for real multi-function devices */
33 	__u8		function;
34 
35 	/* for pseudo multi-function devices */
36 	__u8		device_no;
37 
38 	__u32		prod_id_hash[4];
39 
40 	/* not matched against in kernelspace */
41 	const char *	prod_id[4];
42 
43 	/* not matched against */
44 	kernel_ulong_t	driver_info;
45 	char *		cisfile;
46 };
47 
48 #endif /* ifndef LINUX_DEVICE_ID_PCMCIA_H */
49