blob: 8e76d4218c14b0093905c5a63ab447425c67fe72 [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
Viresh Kumar9f5f30e7122015-04-01 20:32:04 +053012struct greybus_bundle_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;
Viresh Kumar88e6d372015-04-06 15:49:36 +053016 __u8 class;
Alex Elder63cc9322014-10-02 12:30:02 -050017 __u64 unique_id;
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080018
Greg Kroah-Hartmanc4f37c62014-10-06 20:37:08 -070019 kernel_ulong_t driver_info __aligned(sizeof(kernel_ulong_t));
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080020};
21
Viresh Kumar9f5f30e7122015-04-01 20:32:04 +053022/* Used to match the greybus_bundle_id */
Greg Kroah-Hartman2f0c8aa2014-12-11 17:11:02 -050023#define GREYBUS_ID_MATCH_VENDOR BIT(0)
Greg Kroah-Hartman0e510322014-12-19 14:56:34 -080024#define GREYBUS_ID_MATCH_PRODUCT BIT(1)
Greg Kroah-Hartman2f0c8aa2014-12-11 17:11:02 -050025#define GREYBUS_ID_MATCH_SERIAL BIT(2)
Viresh Kumar88e6d372015-04-06 15:49:36 +053026#define GREYBUS_ID_MATCH_CLASS BIT(3)
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080027
Greg Kroah-Hartman0e510322014-12-19 14:56:34 -080028#endif /* __LINUX_GREYBUS_ID_H */