Lines Matching refs:component
19 struct component;
25 struct component *component; member
45 struct component { struct
80 match->compare[i].component ? in component_devices_show()
144 static struct component *find_component(struct master *master, in find_component()
147 struct component *c; in find_component()
172 struct component *c; in find_components()
176 if (match->compare[i].component) in find_components()
189 match->compare[i].component = c; in find_components()
196 static void remove_component(struct master *master, struct component *c) in remove_component()
202 if (master->match->compare[i].component == c) in remove_component()
203 master->match->compare[i].component = NULL; in remove_component()
214 struct component *component) in try_to_bring_up_master() argument
225 if (component && component->master != master) { in try_to_bring_up_master()
227 dev_name(component->dev)); in try_to_bring_up_master()
246 static int try_to_bring_up_masters(struct component *component) in try_to_bring_up_masters() argument
253 ret = try_to_bring_up_master(m, component); in try_to_bring_up_masters()
356 match->compare[match->num].component = NULL; in component_match_add_release()
371 struct component *c = match->compare[i].component; in free_master()
431 static void component_unbind(struct component *component, in component_unbind() argument
434 WARN_ON(!component->bound); in component_unbind()
436 component->ops->unbind(component->dev, master->dev, data); in component_unbind()
437 component->bound = false; in component_unbind()
440 devres_release_group(component->dev, component); in component_unbind()
446 struct component *c; in component_unbind_all()
458 c = master->match->compare[i].component; in component_unbind_all()
464 static int component_bind(struct component *component, struct master *master, in component_bind() argument
482 if (!devres_open_group(component->dev, component, GFP_KERNEL)) { in component_bind()
488 dev_name(component->dev), component->ops); in component_bind()
490 ret = component->ops->bind(component->dev, master->dev, data); in component_bind()
492 component->bound = true; in component_bind()
500 devres_close_group(component->dev, NULL); in component_bind()
504 dev_name(component->dev), component->ops); in component_bind()
506 devres_release_group(component->dev, NULL); in component_bind()
510 dev_name(component->dev), component->ops, ret); in component_bind()
519 struct component *c; in component_bind_all()
532 c = master->match->compare[i].component; in component_bind_all()
541 c = master->match->compare[i].component; in component_bind_all()
552 struct component *component; in component_add() local
555 component = kzalloc(sizeof(*component), GFP_KERNEL); in component_add()
556 if (!component) in component_add()
559 component->ops = ops; in component_add()
560 component->dev = dev; in component_add()
565 list_add_tail(&component->node, &component_list); in component_add()
567 ret = try_to_bring_up_masters(component); in component_add()
569 if (component->master) in component_add()
570 remove_component(component->master, component); in component_add()
571 list_del(&component->node); in component_add()
573 kfree(component); in component_add()
583 struct component *c, *component = NULL; in component_del() local
589 component = c; in component_del()
593 if (component && component->master) { in component_del()
594 take_down_master(component->master); in component_del()
595 remove_component(component->master, component); in component_del()
600 WARN_ON(!component); in component_del()
601 kfree(component); in component_del()