Lines Matching full:module

3  * Greybus Module code
16 struct gb_module *module = to_gb_module(dev); in eject_store() local
29 for (i = 0; i < module->num_interfaces; ++i) { in eject_store()
30 intf = module->interfaces[i]; in eject_store()
41 ret = gb_svc_intf_eject(module->hd->svc, module->module_id); in eject_store()
52 struct gb_module *module = to_gb_module(dev); in module_id_show() local
54 return sprintf(buf, "%u\n", module->module_id); in module_id_show()
61 struct gb_module *module = to_gb_module(dev); in num_interfaces_show() local
63 return sprintf(buf, "%zu\n", module->num_interfaces); in num_interfaces_show()
73 ATTRIBUTE_GROUPS(module);
77 struct gb_module *module = to_gb_module(dev); in gb_module_release() local
79 trace_gb_module_release(module); in gb_module_release()
81 kfree(module); in gb_module_release()
93 struct gb_module *module; in gb_module_create() local
96 module = kzalloc_flex(*module, interfaces, num_interfaces); in gb_module_create()
97 if (!module) in gb_module_create()
100 module->hd = hd; in gb_module_create()
101 module->module_id = module_id; in gb_module_create()
102 module->num_interfaces = num_interfaces; in gb_module_create()
104 module->dev.parent = &hd->dev; in gb_module_create()
105 module->dev.bus = &greybus_bus_type; in gb_module_create()
106 module->dev.type = &greybus_module_type; in gb_module_create()
107 module->dev.groups = module_groups; in gb_module_create()
108 module->dev.dma_mask = hd->dev.dma_mask; in gb_module_create()
109 device_initialize(&module->dev); in gb_module_create()
110 dev_set_name(&module->dev, "%d-%u", hd->bus_id, module_id); in gb_module_create()
112 trace_gb_module_create(module); in gb_module_create()
115 intf = gb_interface_create(module, module_id + i); in gb_module_create()
117 dev_err(&module->dev, "failed to create interface %u\n", in gb_module_create()
121 module->interfaces[i] = intf; in gb_module_create()
124 return module; in gb_module_create()
128 gb_interface_put(module->interfaces[i]); in gb_module_create()
130 put_device(&module->dev); in gb_module_create()
140 struct gb_module *module = intf->module; in gb_module_register_interface() local
149 dev_err(&module->dev, in gb_module_register_interface()
164 dev_err(&module->dev, "failed to enable interface %u: %d\n", in gb_module_register_interface()
182 if (intf->module->disconnected) in gb_module_deregister_interface()
194 /* Register a module and its interfaces. */
195 int gb_module_add(struct gb_module *module) in gb_module_add() argument
200 ret = device_add(&module->dev); in gb_module_add()
202 dev_err(&module->dev, "failed to register module: %d\n", ret); in gb_module_add()
206 trace_gb_module_add(module); in gb_module_add()
208 for (i = 0; i < module->num_interfaces; ++i) in gb_module_add()
209 gb_module_register_interface(module->interfaces[i]); in gb_module_add()
214 /* Deregister a module and its interfaces. */
215 void gb_module_del(struct gb_module *module) in gb_module_del() argument
219 for (i = 0; i < module->num_interfaces; ++i) in gb_module_del()
220 gb_module_deregister_interface(module->interfaces[i]); in gb_module_del()
222 trace_gb_module_del(module); in gb_module_del()
224 device_del(&module->dev); in gb_module_del()
227 void gb_module_put(struct gb_module *module) in gb_module_put() argument
231 for (i = 0; i < module->num_interfaces; ++i) in gb_module_put()
232 gb_interface_put(module->interfaces[i]); in gb_module_put()
234 put_device(&module->dev); in gb_module_put()