111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef LINUX_MOD_DEVICETABLE_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LINUX_MOD_DEVICETABLE_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCI_ANY_ID (~0)
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct pci_device_id {
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 vendor, device;
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 subvendor, subdevice;
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 class, class_mask;
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_data;
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IEEE1394_MATCH_VENDOR_ID 0x0001
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IEEE1394_MATCH_MODEL_ID 0x0002
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IEEE1394_MATCH_SPECIFIER_ID 0x0004
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IEEE1394_MATCH_VERSION 0x0008
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ieee1394_device_id {
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 match_flags;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 vendor_id;
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 model_id;
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 specifier_id;
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 version;
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_data
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __attribute__((aligned(sizeof(kernel_ulong_t))));
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct usb_device_id {
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 match_flags;
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 idVendor;
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 idProduct;
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 bcdDevice_lo;
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 bcdDevice_hi;
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bDeviceClass;
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bDeviceSubClass;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bDeviceProtocol;
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bInterfaceClass;
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bInterfaceSubClass;
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bInterfaceProtocol;
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_info;
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_VENDOR 0x0001
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_PRODUCT 0x0002
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_DEV_LO 0x0004
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_DEV_HI 0x0008
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_DEV_CLASS 0x0010
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_DEV_SUBCLASS 0x0020
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_DEV_PROTOCOL 0x0040
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_INT_CLASS 0x0080
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_INT_SUBCLASS 0x0100
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define USB_DEVICE_ID_MATCH_INT_PROTOCOL 0x0200
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ccw_device_id {
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 match_flags;
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 cu_type;
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 dev_type;
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 cu_model;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 dev_model;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_info;
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CCW_DEVICE_ID_MATCH_CU_TYPE 0x01
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CCW_DEVICE_ID_MATCH_CU_MODEL 0x02
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PNP_ID_LEN 8
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PNP_MAX_DEVICES 8
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct pnp_device_id {
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 id[PNP_ID_LEN];
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_data;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct pnp_card_device_id {
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 id[PNP_ID_LEN];
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_data;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct {
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 id[PNP_ID_LEN];
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } devs[PNP_MAX_DEVICES];
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SERIO_ANY 0xff
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct serio_device_id {
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 type;
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 extra;
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 id;
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 proto;
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct of_device_id
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[32];
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char type[32];
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char compatible[128];
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t data;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct vio_device_id {
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char type[32];
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char compat[32];
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct pcmcia_device_id {
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 match_flags;
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 manf_id;
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 card_id;
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 func_id;
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 function;
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 device_no;
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 prod_id_hash[4]
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __attribute__((aligned(sizeof(__u32))));
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t prod_id[4]
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __attribute__((aligned(sizeof(kernel_ulong_t))));
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_info;
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t cisfile;
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_MANF_ID 0x0001
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_CARD_ID 0x0002
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_FUNC_ID 0x0004
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_FUNCTION 0x0008
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_PROD_ID1 0x0010
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_PROD_ID2 0x0020
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_PROD_ID3 0x0040
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_PROD_ID4 0x0080
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_DEVICE_NO 0x0100
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_FAKE_CIS 0x0200
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PCMCIA_DEV_ID_MATCH_ANONYMOUS 0x0400
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct i2c_device_id {
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 id;
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_EV_MAX 0x1f
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_KEY_MAX 0x1ff
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_REL_MAX 0x0f
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_ABS_MAX 0x3f
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MSC_MAX 0x07
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_LED_MAX 0x0f
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_SND_MAX 0x07
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_FF_MAX 0x7f
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_SW_MAX 0x0f
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_BUS 1
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_VENDOR 2
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_PRODUCT 4
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_VERSION 8
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_EVBIT 0x0010
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_KEYBIT 0x0020
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_RELBIT 0x0040
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_ABSBIT 0x0080
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_MSCIT 0x0100
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_LEDBIT 0x0200
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_SNDBIT 0x0400
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_FFBIT 0x0800
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INPUT_DEVICE_ID_MATCH_SWBIT 0x1000
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct input_device_id {
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t flags;
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 bustype;
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 vendor;
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 product;
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 version;
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t evbit[INPUT_DEVICE_ID_EV_MAX / BITS_PER_LONG + 1];
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t keybit[INPUT_DEVICE_ID_KEY_MAX / BITS_PER_LONG + 1];
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t relbit[INPUT_DEVICE_ID_REL_MAX / BITS_PER_LONG + 1];
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t absbit[INPUT_DEVICE_ID_ABS_MAX / BITS_PER_LONG + 1];
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t mscbit[INPUT_DEVICE_ID_MSC_MAX / BITS_PER_LONG + 1];
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t ledbit[INPUT_DEVICE_ID_LED_MAX / BITS_PER_LONG + 1];
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t sndbit[INPUT_DEVICE_ID_SND_MAX / BITS_PER_LONG + 1];
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t ffbit[INPUT_DEVICE_ID_FF_MAX / BITS_PER_LONG + 1];
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t swbit[INPUT_DEVICE_ID_SW_MAX / BITS_PER_LONG + 1];
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert kernel_ulong_t driver_info;
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
210