blob: a3c1de81832f35b64536050e4c4e6522fc390450 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef LINUX_MOD_DEVICETABLE_H
13#define LINUX_MOD_DEVICETABLE_H
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015#define PCI_ANY_ID (~0)
Ben Cheng4b29af02012-03-07 16:14:53 -080016
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017struct pci_device_id {
18 __u32 vendor, device;
19 __u32 subvendor, subdevice;
20 __u32 class, class_mask;
21 kernel_ulong_t driver_data;
22};
Ben Cheng4b29af02012-03-07 16:14:53 -080023
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#define IEEE1394_MATCH_VENDOR_ID 0x0001
25#define IEEE1394_MATCH_MODEL_ID 0x0002
26#define IEEE1394_MATCH_SPECIFIER_ID 0x0004
27#define IEEE1394_MATCH_VERSION 0x0008
Ben Cheng4b29af02012-03-07 16:14:53 -080028
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029struct ieee1394_device_id {
30 __u32 match_flags;
31 __u32 vendor_id;
32 __u32 model_id;
33 __u32 specifier_id;
34 __u32 version;
35 kernel_ulong_t driver_data
36 __attribute__((aligned(sizeof(kernel_ulong_t))));
37};
Ben Cheng4b29af02012-03-07 16:14:53 -080038
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039struct usb_device_id {
Ben Cheng4b29af02012-03-07 16:14:53 -080040
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041 __u16 match_flags;
Ben Cheng4b29af02012-03-07 16:14:53 -080042
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080043 __u16 idVendor;
44 __u16 idProduct;
45 __u16 bcdDevice_lo;
46 __u16 bcdDevice_hi;
Ben Cheng4b29af02012-03-07 16:14:53 -080047
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080048 __u8 bDeviceClass;
49 __u8 bDeviceSubClass;
50 __u8 bDeviceProtocol;
Ben Cheng4b29af02012-03-07 16:14:53 -080051
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080052 __u8 bInterfaceClass;
53 __u8 bInterfaceSubClass;
54 __u8 bInterfaceProtocol;
Ben Cheng4b29af02012-03-07 16:14:53 -080055
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080056 kernel_ulong_t driver_info;
57};
Ben Cheng4b29af02012-03-07 16:14:53 -080058
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#define USB_DEVICE_ID_MATCH_VENDOR 0x0001
60#define USB_DEVICE_ID_MATCH_PRODUCT 0x0002
61#define USB_DEVICE_ID_MATCH_DEV_LO 0x0004
62#define USB_DEVICE_ID_MATCH_DEV_HI 0x0008
63#define USB_DEVICE_ID_MATCH_DEV_CLASS 0x0010
64#define USB_DEVICE_ID_MATCH_DEV_SUBCLASS 0x0020
65#define USB_DEVICE_ID_MATCH_DEV_PROTOCOL 0x0040
66#define USB_DEVICE_ID_MATCH_INT_CLASS 0x0080
67#define USB_DEVICE_ID_MATCH_INT_SUBCLASS 0x0100
68#define USB_DEVICE_ID_MATCH_INT_PROTOCOL 0x0200
Ben Cheng4b29af02012-03-07 16:14:53 -080069
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080070struct ccw_device_id {
71 __u16 match_flags;
Ben Cheng4b29af02012-03-07 16:14:53 -080072
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080073 __u16 cu_type;
74 __u16 dev_type;
75 __u8 cu_model;
76 __u8 dev_model;
Ben Cheng4b29af02012-03-07 16:14:53 -080077
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080078 kernel_ulong_t driver_info;
79};
Ben Cheng4b29af02012-03-07 16:14:53 -080080
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080081#define CCW_DEVICE_ID_MATCH_CU_TYPE 0x01
82#define CCW_DEVICE_ID_MATCH_CU_MODEL 0x02
83#define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04
84#define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08
Ben Cheng4b29af02012-03-07 16:14:53 -080085
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080086#define PNP_ID_LEN 8
87#define PNP_MAX_DEVICES 8
Ben Cheng4b29af02012-03-07 16:14:53 -080088
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089struct pnp_device_id {
90 __u8 id[PNP_ID_LEN];
91 kernel_ulong_t driver_data;
92};
Ben Cheng4b29af02012-03-07 16:14:53 -080093
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094struct pnp_card_device_id {
95 __u8 id[PNP_ID_LEN];
96 kernel_ulong_t driver_data;
97 struct {
98 __u8 id[PNP_ID_LEN];
99 } devs[PNP_MAX_DEVICES];
100};
Ben Cheng4b29af02012-03-07 16:14:53 -0800101
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800102#define SERIO_ANY 0xff
Ben Cheng4b29af02012-03-07 16:14:53 -0800103
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104struct serio_device_id {
105 __u8 type;
106 __u8 extra;
107 __u8 id;
108 __u8 proto;
109};
Ben Cheng4b29af02012-03-07 16:14:53 -0800110
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800111struct of_device_id
112{
113 char name[32];
114 char type[32];
115 char compatible[128];
116 kernel_ulong_t data;
117};
Ben Cheng4b29af02012-03-07 16:14:53 -0800118
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119struct vio_device_id {
120 char type[32];
121 char compat[32];
122};
Ben Cheng4b29af02012-03-07 16:14:53 -0800123
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124struct pcmcia_device_id {
125 __u16 match_flags;
Ben Cheng4b29af02012-03-07 16:14:53 -0800126
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800127 __u16 manf_id;
128 __u16 card_id;
Ben Cheng4b29af02012-03-07 16:14:53 -0800129
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800130 __u8 func_id;
Ben Cheng4b29af02012-03-07 16:14:53 -0800131
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800132 __u8 function;
Ben Cheng4b29af02012-03-07 16:14:53 -0800133
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134 __u8 device_no;
Ben Cheng4b29af02012-03-07 16:14:53 -0800135
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800136 __u32 prod_id_hash[4]
137 __attribute__((aligned(sizeof(__u32))));
Ben Cheng4b29af02012-03-07 16:14:53 -0800138
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139 kernel_ulong_t prod_id[4]
140 __attribute__((aligned(sizeof(kernel_ulong_t))));
Ben Cheng4b29af02012-03-07 16:14:53 -0800141
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800142 kernel_ulong_t driver_info;
143 kernel_ulong_t cisfile;
144};
Ben Cheng4b29af02012-03-07 16:14:53 -0800145
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800146#define PCMCIA_DEV_ID_MATCH_MANF_ID 0x0001
147#define PCMCIA_DEV_ID_MATCH_CARD_ID 0x0002
148#define PCMCIA_DEV_ID_MATCH_FUNC_ID 0x0004
149#define PCMCIA_DEV_ID_MATCH_FUNCTION 0x0008
150#define PCMCIA_DEV_ID_MATCH_PROD_ID1 0x0010
151#define PCMCIA_DEV_ID_MATCH_PROD_ID2 0x0020
152#define PCMCIA_DEV_ID_MATCH_PROD_ID3 0x0040
153#define PCMCIA_DEV_ID_MATCH_PROD_ID4 0x0080
154#define PCMCIA_DEV_ID_MATCH_DEVICE_NO 0x0100
155#define PCMCIA_DEV_ID_MATCH_FAKE_CIS 0x0200
156#define PCMCIA_DEV_ID_MATCH_ANONYMOUS 0x0400
Ben Cheng4b29af02012-03-07 16:14:53 -0800157
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800158struct i2c_device_id {
159 __u16 id;
160};
Ben Cheng4b29af02012-03-07 16:14:53 -0800161
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800162#define INPUT_DEVICE_ID_EV_MAX 0x1f
163#define INPUT_DEVICE_ID_KEY_MAX 0x1ff
164#define INPUT_DEVICE_ID_REL_MAX 0x0f
165#define INPUT_DEVICE_ID_ABS_MAX 0x3f
166#define INPUT_DEVICE_ID_MSC_MAX 0x07
167#define INPUT_DEVICE_ID_LED_MAX 0x0f
168#define INPUT_DEVICE_ID_SND_MAX 0x07
169#define INPUT_DEVICE_ID_FF_MAX 0x7f
170#define INPUT_DEVICE_ID_SW_MAX 0x0f
Ben Cheng4b29af02012-03-07 16:14:53 -0800171
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800172#define INPUT_DEVICE_ID_MATCH_BUS 1
173#define INPUT_DEVICE_ID_MATCH_VENDOR 2
174#define INPUT_DEVICE_ID_MATCH_PRODUCT 4
175#define INPUT_DEVICE_ID_MATCH_VERSION 8
Ben Cheng4b29af02012-03-07 16:14:53 -0800176
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800177#define INPUT_DEVICE_ID_MATCH_EVBIT 0x0010
178#define INPUT_DEVICE_ID_MATCH_KEYBIT 0x0020
179#define INPUT_DEVICE_ID_MATCH_RELBIT 0x0040
180#define INPUT_DEVICE_ID_MATCH_ABSBIT 0x0080
181#define INPUT_DEVICE_ID_MATCH_MSCIT 0x0100
182#define INPUT_DEVICE_ID_MATCH_LEDBIT 0x0200
183#define INPUT_DEVICE_ID_MATCH_SNDBIT 0x0400
184#define INPUT_DEVICE_ID_MATCH_FFBIT 0x0800
185#define INPUT_DEVICE_ID_MATCH_SWBIT 0x1000
Ben Cheng4b29af02012-03-07 16:14:53 -0800186
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800187struct input_device_id {
Ben Cheng4b29af02012-03-07 16:14:53 -0800188
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800189 kernel_ulong_t flags;
Ben Cheng4b29af02012-03-07 16:14:53 -0800190
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800191 __u16 bustype;
192 __u16 vendor;
193 __u16 product;
194 __u16 version;
Ben Cheng4b29af02012-03-07 16:14:53 -0800195
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800196 kernel_ulong_t evbit[INPUT_DEVICE_ID_EV_MAX / BITS_PER_LONG + 1];
197 kernel_ulong_t keybit[INPUT_DEVICE_ID_KEY_MAX / BITS_PER_LONG + 1];
198 kernel_ulong_t relbit[INPUT_DEVICE_ID_REL_MAX / BITS_PER_LONG + 1];
199 kernel_ulong_t absbit[INPUT_DEVICE_ID_ABS_MAX / BITS_PER_LONG + 1];
200 kernel_ulong_t mscbit[INPUT_DEVICE_ID_MSC_MAX / BITS_PER_LONG + 1];
201 kernel_ulong_t ledbit[INPUT_DEVICE_ID_LED_MAX / BITS_PER_LONG + 1];
202 kernel_ulong_t sndbit[INPUT_DEVICE_ID_SND_MAX / BITS_PER_LONG + 1];
203 kernel_ulong_t ffbit[INPUT_DEVICE_ID_FF_MAX / BITS_PER_LONG + 1];
204 kernel_ulong_t swbit[INPUT_DEVICE_ID_SW_MAX / BITS_PER_LONG + 1];
Ben Cheng4b29af02012-03-07 16:14:53 -0800205
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800206 kernel_ulong_t driver_info;
207};
Ben Cheng4b29af02012-03-07 16:14:53 -0800208
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800209#endif