Lines Matching refs:bundle
15 struct gb_bundle *bundle = to_gb_bundle(dev); in bundle_class_show() local
17 return sprintf(buf, "0x%02x\n", bundle->class); in bundle_class_show()
24 struct gb_bundle *bundle = to_gb_bundle(dev); in bundle_id_show() local
26 return sprintf(buf, "%u\n", bundle->id); in bundle_id_show()
33 struct gb_bundle *bundle = to_gb_bundle(dev); in state_show() local
35 if (!bundle->state) in state_show()
38 return sprintf(buf, "%s\n", bundle->state); in state_show()
44 struct gb_bundle *bundle = to_gb_bundle(dev); in state_store() local
46 kfree(bundle->state); in state_store()
47 bundle->state = kstrdup(buf, GFP_KERNEL); in state_store()
48 if (!bundle->state) in state_store()
52 sysfs_notify(&bundle->dev.kobj, NULL, "state"); in state_store()
65 ATTRIBUTE_GROUPS(bundle);
70 struct gb_bundle *bundle; in gb_bundle_find() local
72 list_for_each_entry(bundle, &intf->bundles, links) { in gb_bundle_find()
73 if (bundle->id == bundle_id) in gb_bundle_find()
74 return bundle; in gb_bundle_find()
82 struct gb_bundle *bundle = to_gb_bundle(dev); in gb_bundle_release() local
84 trace_gb_bundle_release(bundle); in gb_bundle_release()
86 kfree(bundle->state); in gb_bundle_release()
87 kfree(bundle->cport_desc); in gb_bundle_release()
88 kfree(bundle); in gb_bundle_release()
92 static void gb_bundle_disable_all_connections(struct gb_bundle *bundle) in gb_bundle_disable_all_connections() argument
96 list_for_each_entry(connection, &bundle->connections, bundle_links) in gb_bundle_disable_all_connections()
100 static void gb_bundle_enable_all_connections(struct gb_bundle *bundle) in gb_bundle_enable_all_connections() argument
104 list_for_each_entry(connection, &bundle->connections, bundle_links) in gb_bundle_enable_all_connections()
110 struct gb_bundle *bundle = to_gb_bundle(dev); in gb_bundle_suspend() local
115 ret = pm->runtime_suspend(&bundle->dev); in gb_bundle_suspend()
119 gb_bundle_disable_all_connections(bundle); in gb_bundle_suspend()
122 ret = gb_control_bundle_suspend(bundle->intf->control, bundle->id); in gb_bundle_suspend()
127 gb_bundle_enable_all_connections(bundle); in gb_bundle_suspend()
137 struct gb_bundle *bundle = to_gb_bundle(dev); in gb_bundle_resume() local
141 ret = gb_control_bundle_resume(bundle->intf->control, bundle->id); in gb_bundle_resume()
150 gb_bundle_enable_all_connections(bundle); in gb_bundle_resume()
183 struct gb_bundle *bundle; in gb_bundle_create() local
200 bundle = kzalloc(sizeof(*bundle), GFP_KERNEL); in gb_bundle_create()
201 if (!bundle) in gb_bundle_create()
204 bundle->intf = intf; in gb_bundle_create()
205 bundle->id = bundle_id; in gb_bundle_create()
206 bundle->class = class; in gb_bundle_create()
207 INIT_LIST_HEAD(&bundle->connections); in gb_bundle_create()
209 bundle->dev.parent = &intf->dev; in gb_bundle_create()
210 bundle->dev.bus = &greybus_bus_type; in gb_bundle_create()
211 bundle->dev.type = &greybus_bundle_type; in gb_bundle_create()
212 bundle->dev.groups = bundle_groups; in gb_bundle_create()
213 bundle->dev.dma_mask = intf->dev.dma_mask; in gb_bundle_create()
214 device_initialize(&bundle->dev); in gb_bundle_create()
215 dev_set_name(&bundle->dev, "%s.%d", dev_name(&intf->dev), bundle_id); in gb_bundle_create()
217 list_add(&bundle->links, &intf->bundles); in gb_bundle_create()
219 trace_gb_bundle_create(bundle); in gb_bundle_create()
221 return bundle; in gb_bundle_create()
224 int gb_bundle_add(struct gb_bundle *bundle) in gb_bundle_add() argument
228 ret = device_add(&bundle->dev); in gb_bundle_add()
230 dev_err(&bundle->dev, "failed to register bundle: %d\n", ret); in gb_bundle_add()
234 trace_gb_bundle_add(bundle); in gb_bundle_add()
242 void gb_bundle_destroy(struct gb_bundle *bundle) in gb_bundle_destroy() argument
244 trace_gb_bundle_destroy(bundle); in gb_bundle_destroy()
246 if (device_is_registered(&bundle->dev)) in gb_bundle_destroy()
247 device_del(&bundle->dev); in gb_bundle_destroy()
249 list_del(&bundle->links); in gb_bundle_destroy()
251 put_device(&bundle->dev); in gb_bundle_destroy()