blob: c6cd2e8fa7c134b40ce15fae15277fef11455684 [file] [log] [blame]
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +08001/* FIXME
2 * move this to include/linux/mod_devicetable.h when merging
3 */
4
5#ifndef __LINUX_GREYBUS_ID_H
6#define __LINUX_GREYBUS_ID_H
7
8#include <linux/types.h>
9#include <linux/mod_devicetable.h>
10
11
Greg Kroah-Hartman6584c8a2014-09-01 13:31:31 -070012struct greybus_module_id {
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080013 __u16 match_flags;
Greg Kroah-Hartman6dca7b92014-09-01 13:42:43 -070014 __u16 vendor;
15 __u16 product;
Alex Elder63cc9322014-10-02 12:30:02 -050016 __u64 unique_id;
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080017
Greg Kroah-Hartmanc4f37c62014-10-06 20:37:08 -070018 kernel_ulong_t driver_info __aligned(sizeof(kernel_ulong_t));
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080019};
20
Alex Elder778c69c2014-09-22 19:19:03 -050021/* Used to match the greybus_module_id */
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080022#define GREYBUS_DEVICE_ID_MATCH_VENDOR BIT(0)
23#define GREYBUS_DEVICE_ID_MATCH_PRODUCT BIT(1)
24#define GREYBUS_DEVICE_ID_MATCH_SERIAL BIT(2)
25
26#endif /* __LINUX_GREYBUS_H */