Lines Matching refs:module
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(struct_size(module, interfaces, num_interfaces), in gb_module_create()
98 if (!module) in gb_module_create()
101 module->hd = hd; in gb_module_create()
102 module->module_id = module_id; in gb_module_create()
103 module->num_interfaces = num_interfaces; in gb_module_create()
105 module->dev.parent = &hd->dev; in gb_module_create()
106 module->dev.bus = &greybus_bus_type; in gb_module_create()
107 module->dev.type = &greybus_module_type; in gb_module_create()
108 module->dev.groups = module_groups; in gb_module_create()
109 module->dev.dma_mask = hd->dev.dma_mask; in gb_module_create()
110 device_initialize(&module->dev); in gb_module_create()
111 dev_set_name(&module->dev, "%d-%u", hd->bus_id, module_id); in gb_module_create()
113 trace_gb_module_create(module); in gb_module_create()
116 intf = gb_interface_create(module, module_id + i); in gb_module_create()
118 dev_err(&module->dev, "failed to create interface %u\n", in gb_module_create()
122 module->interfaces[i] = intf; in gb_module_create()
125 return module; in gb_module_create()
129 gb_interface_put(module->interfaces[i]); in gb_module_create()
131 put_device(&module->dev); in gb_module_create()
141 struct gb_module *module = intf->module; in gb_module_register_interface() local
150 dev_err(&module->dev, in gb_module_register_interface()
165 dev_err(&module->dev, "failed to enable interface %u: %d\n", in gb_module_register_interface()
183 if (intf->module->disconnected) in gb_module_deregister_interface()
196 int gb_module_add(struct gb_module *module) in gb_module_add() argument
201 ret = device_add(&module->dev); in gb_module_add()
203 dev_err(&module->dev, "failed to register module: %d\n", ret); in gb_module_add()
207 trace_gb_module_add(module); in gb_module_add()
209 for (i = 0; i < module->num_interfaces; ++i) in gb_module_add()
210 gb_module_register_interface(module->interfaces[i]); in gb_module_add()
216 void gb_module_del(struct gb_module *module) in gb_module_del() argument
220 for (i = 0; i < module->num_interfaces; ++i) in gb_module_del()
221 gb_module_deregister_interface(module->interfaces[i]); in gb_module_del()
223 trace_gb_module_del(module); in gb_module_del()
225 device_del(&module->dev); in gb_module_del()
228 void gb_module_put(struct gb_module *module) in gb_module_put() argument
232 for (i = 0; i < module->num_interfaces; ++i) in gb_module_put()
233 gb_interface_put(module->interfaces[i]); in gb_module_put()
235 put_device(&module->dev); in gb_module_put()