2 * Greybus Interface Block code
4 * Copyright 2014 Google Inc.
5 * Copyright 2014 Linaro Ltd.
7 * Released under the GPLv2 only.
13 #define GB_INTERFACE_QUIRK_NO_CPORT_FEATURES BIT(0)
14 #define GB_INTERFACE_QUIRK_NO_INIT_STATUS BIT(1)
15 #define GB_INTERFACE_QUIRK_NO_ARA_IDS BIT(2)
19 struct gb_control *control;
21 struct list_head bundles;
22 struct list_head module_node;
23 struct list_head manifest_descs;
24 u8 interface_id; /* Physical location within the Endo */
26 u8 features; /* Feature flags set in the manifest */
28 u32 ddbl1_manufacturer_id;
34 struct gb_host_device *hd;
35 struct gb_module *module;
46 #define to_gb_interface(d) container_of(d, struct gb_interface, dev)
48 struct gb_interface *gb_interface_create(struct gb_module *module,
50 int gb_interface_activate(struct gb_interface *intf);
51 void gb_interface_deactivate(struct gb_interface *intf);
52 int gb_interface_enable(struct gb_interface *intf);
53 void gb_interface_disable(struct gb_interface *intf);
54 int gb_interface_add(struct gb_interface *intf);
55 void gb_interface_del(struct gb_interface *intf);
56 void gb_interface_put(struct gb_interface *intf);
58 #endif /* __INTERFACE_H */