33,8 → 33,7 |
__u32 model_id; |
__u32 specifier_id; |
__u32 version; |
kernel_ulong_t driver_data |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
kernel_ulong_t driver_data; |
}; |
|
|
147,8 → 146,7 |
__u16 group; |
__u32 vendor; |
__u32 product; |
kernel_ulong_t driver_data |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
kernel_ulong_t driver_data; |
}; |
|
/* s390 CCW devices */ |
172,8 → 170,6 |
struct ap_device_id { |
__u16 match_flags; /* which fields to match against */ |
__u8 dev_type; /* device type */ |
__u8 pad1; |
__u32 pad2; |
kernel_ulong_t driver_info; |
}; |
|
183,13 → 179,10 |
struct css_device_id { |
__u8 match_flags; |
__u8 type; /* subchannel type */ |
__u16 pad2; |
__u32 pad3; |
kernel_ulong_t driver_data; |
}; |
|
#define ACPI_ID_LEN 16 /* only 9 bytes needed here, 16 bytes are used */ |
/* to workaround crosscompile issues */ |
#define ACPI_ID_LEN 9 |
|
struct acpi_device_id { |
__u8 id[ACPI_ID_LEN]; |
230,11 → 223,7 |
char name[32]; |
char type[32]; |
char compatible[128]; |
#ifdef __KERNEL__ |
const void *data; |
#else |
kernel_ulong_t data; |
#endif |
}; |
|
/* VIO */ |
259,24 → 248,14 |
/* for pseudo multi-function devices */ |
__u8 device_no; |
|
__u32 prod_id_hash[4] |
__attribute__((aligned(sizeof(__u32)))); |
__u32 prod_id_hash[4]; |
|
/* not matched against in kernelspace*/ |
#ifdef __KERNEL__ |
const char * prod_id[4]; |
#else |
kernel_ulong_t prod_id[4] |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
#endif |
|
/* not matched against */ |
kernel_ulong_t driver_info; |
#ifdef __KERNEL__ |
char * cisfile; |
#else |
kernel_ulong_t cisfile; |
#endif |
}; |
|
#define PCMCIA_DEV_ID_MATCH_MANF_ID 0x0001 |
372,8 → 351,7 |
__u8 class; /* Standard interface or SDIO_ANY_ID */ |
__u16 vendor; /* Vendor or SDIO_ANY_ID */ |
__u16 device; /* Device ID or SDIO_ANY_ID */ |
kernel_ulong_t driver_data /* Data private to the driver */ |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
kernel_ulong_t driver_data; /* Data private to the driver */ |
}; |
|
/* SSB core, see drivers/ssb/ */ |
381,7 → 359,8 |
__u16 vendor; |
__u16 coreid; |
__u8 revision; |
}; |
__u8 __pad; |
} __attribute__((packed, aligned(2))); |
#define SSB_DEVICE(_vendor, _coreid, _revision) \ |
{ .vendor = _vendor, .coreid = _coreid, .revision = _revision, } |
#define SSB_DEVTABLE_END \ |
397,7 → 376,7 |
__u16 id; |
__u8 rev; |
__u8 class; |
}; |
} __attribute__((packed,aligned(2))); |
#define BCMA_CORE(_manuf, _id, _rev, _class) \ |
{ .manuf = _manuf, .id = _id, .rev = _rev, .class = _class, } |
#define BCMA_CORETABLE_END \ |
414,6 → 393,23 |
}; |
#define VIRTIO_DEV_ANY_ID 0xffffffff |
|
/* |
* For Hyper-V devices we use the device guid as the id. |
*/ |
struct hv_vmbus_device_id { |
__u8 guid[16]; |
kernel_ulong_t driver_data; /* Data private to the driver */ |
}; |
|
/* rpmsg */ |
|
#define RPMSG_NAME_SIZE 32 |
#define RPMSG_DEVICE_MODALIAS_FMT "rpmsg:%s" |
|
struct rpmsg_device_id { |
char name[RPMSG_NAME_SIZE]; |
}; |
|
/* i2c */ |
|
#define I2C_NAME_SIZE 20 |
421,8 → 417,7 |
|
struct i2c_device_id { |
char name[I2C_NAME_SIZE]; |
kernel_ulong_t driver_data /* Data private to the driver */ |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
kernel_ulong_t driver_data; /* Data private to the driver */ |
}; |
|
/* spi */ |
432,8 → 427,7 |
|
struct spi_device_id { |
char name[SPI_NAME_SIZE]; |
kernel_ulong_t driver_data /* Data private to the driver */ |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
kernel_ulong_t driver_data; /* Data private to the driver */ |
}; |
|
/* dmi */ |
461,20 → 455,12 |
}; |
|
struct dmi_strmatch { |
unsigned char slot; |
unsigned char slot:7; |
unsigned char exact_match:1; |
char substr[79]; |
}; |
|
#ifndef __KERNEL__ |
struct dmi_system_id { |
kernel_ulong_t callback; |
kernel_ulong_t ident; |
struct dmi_strmatch matches[4]; |
kernel_ulong_t driver_data |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
}; |
#else |
struct dmi_system_id { |
int (*callback)(const struct dmi_system_id *); |
const char *ident; |
struct dmi_strmatch matches[4]; |
487,9 → 473,9 |
* error: storage size of '__mod_dmi_device_table' isn't known |
*/ |
#define dmi_device_id dmi_system_id |
#endif |
|
#define DMI_MATCH(a, b) { a, b } |
#define DMI_MATCH(a, b) { .slot = a, .substr = b } |
#define DMI_EXACT_MATCH(a, b) { .slot = a, .substr = b, .exact_match = 1 } |
|
#define PLATFORM_NAME_SIZE 20 |
#define PLATFORM_MODULE_PREFIX "platform:" |
496,8 → 482,7 |
|
struct platform_device_id { |
char name[PLATFORM_NAME_SIZE]; |
kernel_ulong_t driver_data |
__attribute__((aligned(sizeof(kernel_ulong_t)))); |
kernel_ulong_t driver_data; |
}; |
|
#define MDIO_MODULE_PREFIX "mdio:" |
542,4 → 527,74 |
kernel_ulong_t driver_data; /* data private to the driver */ |
}; |
|
/** |
* struct amba_id - identifies a device on an AMBA bus |
* @id: The significant bits if the hardware device ID |
* @mask: Bitmask specifying which bits of the id field are significant when |
* matching. A driver binds to a device when ((hardware device ID) & mask) |
* == id. |
* @data: Private data used by the driver. |
*/ |
struct amba_id { |
unsigned int id; |
unsigned int mask; |
void *data; |
}; |
|
/* |
* Match x86 CPUs for CPU specific drivers. |
* See documentation of "x86_match_cpu" for details. |
*/ |
|
struct x86_cpu_id { |
__u16 vendor; |
__u16 family; |
__u16 model; |
__u16 feature; /* bit index */ |
kernel_ulong_t driver_data; |
}; |
|
#define X86_FEATURE_MATCH(x) \ |
{ X86_VENDOR_ANY, X86_FAMILY_ANY, X86_MODEL_ANY, x } |
|
#define X86_VENDOR_ANY 0xffff |
#define X86_FAMILY_ANY 0 |
#define X86_MODEL_ANY 0 |
#define X86_FEATURE_ANY 0 /* Same as FPU, you can't test for that */ |
|
#define IPACK_ANY_FORMAT 0xff |
#define IPACK_ANY_ID (~0) |
struct ipack_device_id { |
__u8 format; /* Format version or IPACK_ANY_ID */ |
__u32 vendor; /* Vendor ID or IPACK_ANY_ID */ |
__u32 device; /* Device ID or IPACK_ANY_ID */ |
}; |
|
#define MEI_CL_MODULE_PREFIX "mei:" |
#define MEI_CL_NAME_SIZE 32 |
|
struct mei_cl_device_id { |
char name[MEI_CL_NAME_SIZE]; |
kernel_ulong_t driver_info; |
}; |
|
/* RapidIO */ |
|
#define RIO_ANY_ID 0xffff |
|
/** |
* struct rio_device_id - RIO device identifier |
* @did: RapidIO device ID |
* @vid: RapidIO vendor ID |
* @asm_did: RapidIO assembly device ID |
* @asm_vid: RapidIO assembly vendor ID |
* |
* Identifies a RapidIO device based on both the device/vendor IDs and |
* the assembly device/vendor IDs. |
*/ |
struct rio_device_id { |
__u16 did, vid; |
__u16 asm_did, asm_vid; |
}; |
|
#endif /* LINUX_MOD_DEVICETABLE_H */ |