1/**************************************************************************** 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 14 15#define PCI_ANY_ID (~0) 16 17struct pci_device_id { 18 __u32 vendor, device; 19 __u32 subvendor, subdevice; 20 __u32 class, class_mask; 21 kernel_ulong_t driver_data; 22}; 23 24#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 28 29struct 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}; 38 39struct usb_device_id { 40 41 __u16 match_flags; 42 43 __u16 idVendor; 44 __u16 idProduct; 45 __u16 bcdDevice_lo; 46 __u16 bcdDevice_hi; 47 48 __u8 bDeviceClass; 49 __u8 bDeviceSubClass; 50 __u8 bDeviceProtocol; 51 52 __u8 bInterfaceClass; 53 __u8 bInterfaceSubClass; 54 __u8 bInterfaceProtocol; 55 56 kernel_ulong_t driver_info; 57}; 58 59#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 69 70struct ccw_device_id { 71 __u16 match_flags; 72 73 __u16 cu_type; 74 __u16 dev_type; 75 __u8 cu_model; 76 __u8 dev_model; 77 78 kernel_ulong_t driver_info; 79}; 80 81#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 85 86#define PNP_ID_LEN 8 87#define PNP_MAX_DEVICES 8 88 89struct pnp_device_id { 90 __u8 id[PNP_ID_LEN]; 91 kernel_ulong_t driver_data; 92}; 93 94struct 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}; 101 102#define SERIO_ANY 0xff 103 104struct serio_device_id { 105 __u8 type; 106 __u8 extra; 107 __u8 id; 108 __u8 proto; 109}; 110 111struct of_device_id 112{ 113 char name[32]; 114 char type[32]; 115 char compatible[128]; 116 kernel_ulong_t data; 117}; 118 119struct vio_device_id { 120 char type[32]; 121 char compat[32]; 122}; 123 124struct pcmcia_device_id { 125 __u16 match_flags; 126 127 __u16 manf_id; 128 __u16 card_id; 129 130 __u8 func_id; 131 132 __u8 function; 133 134 __u8 device_no; 135 136 __u32 prod_id_hash[4] 137 __attribute__((aligned(sizeof(__u32)))); 138 139 kernel_ulong_t prod_id[4] 140 __attribute__((aligned(sizeof(kernel_ulong_t)))); 141 142 kernel_ulong_t driver_info; 143 kernel_ulong_t cisfile; 144}; 145 146#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 157 158struct i2c_device_id { 159 __u16 id; 160}; 161 162#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 171 172#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 176 177#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 186 187struct input_device_id { 188 189 kernel_ulong_t flags; 190 191 __u16 bustype; 192 __u16 vendor; 193 __u16 product; 194 __u16 version; 195 196 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]; 205 206 kernel_ulong_t driver_info; 207}; 208 209#endif 210