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)
16 #define GB_INTERFACE_QUIRK_FORCED_DISABLE BIT(3)
20 struct gb_control *control;
22 struct list_head bundles;
23 struct list_head module_node;
24 struct list_head manifest_descs;
25 u8 interface_id; /* Physical location within the Endo */
27 u8 features; /* Feature flags set in the manifest */
29 u32 ddbl1_manufacturer_id;
35 struct gb_host_device *hd;
36 struct gb_module *module;
47 #define to_gb_interface(d) container_of(d, struct gb_interface, dev)
49 struct gb_interface *gb_interface_create(struct gb_module *module,
51 int gb_interface_activate(struct gb_interface *intf);
52 void gb_interface_deactivate(struct gb_interface *intf);
53 int gb_interface_enable(struct gb_interface *intf);
54 void gb_interface_disable(struct gb_interface *intf);
55 int gb_interface_add(struct gb_interface *intf);
56 void gb_interface_del(struct gb_interface *intf);
57 void gb_interface_put(struct gb_interface *intf);
59 #endif /* __INTERFACE_H */