]>
Commit | Line | Data |
---|---|---|
b15d97d7 JH |
1 | /* |
2 | * Greybus Module code | |
3 | * | |
4 | * Copyright 2016 Google Inc. | |
5 | * Copyright 2016 Linaro Ltd. | |
6 | * | |
7 | * Released under the GPLv2 only. | |
8 | */ | |
9 | ||
10 | #ifndef __MODULE_H | |
11 | #define __MODULE_H | |
12 | ||
13 | struct gb_module { | |
14 | struct device dev; | |
15 | struct gb_host_device *hd; | |
16 | ||
17 | struct list_head hd_node; | |
18 | ||
19 | u8 module_id; | |
20 | size_t num_interfaces; | |
21 | ||
22 | bool disconnected; | |
23 | ||
24 | struct gb_interface *interfaces[0]; | |
25 | }; | |
26 | #define to_gb_module(d) container_of(d, struct gb_module, dev) | |
27 | ||
28 | struct gb_module *gb_module_create(struct gb_host_device *hd, u8 module_id, | |
29 | size_t num_interfaces); | |
30 | int gb_module_add(struct gb_module *module); | |
31 | void gb_module_del(struct gb_module *module); | |
32 | void gb_module_put(struct gb_module *module); | |
33 | ||
34 | #endif /* __MODULE_H */ |