Lines Matching refs:consumer
130 if (link->consumer == target) in device_is_dependent()
133 ret = device_is_dependent(link->consumer, target); in device_is_dependent()
141 struct device *consumer, in device_link_init_status() argument
146 switch (consumer->links.status) { in device_link_init_status()
163 switch (consumer->links.status) { in device_link_init_status()
200 device_reorder_to_tail(link->consumer, NULL); in device_reorder_to_tail()
288 struct device_link *device_link_add(struct device *consumer, in device_link_add() argument
293 if (!consumer || !supplier || flags & ~DL_ADD_VALID_FLAGS || in device_link_add()
319 || device_is_dependent(consumer, supplier)) { in device_link_add()
333 if (link->consumer != consumer) in device_link_add()
338 pm_runtime_new_link(consumer); in device_link_add()
368 device_link_init_status(link, consumer, supplier); in device_link_add()
383 pm_runtime_new_link(consumer); in device_link_add()
389 get_device(consumer); in device_link_add()
390 link->consumer = consumer; in device_link_add()
399 device_link_init_status(link, consumer, supplier); in device_link_add()
416 device_reorder_to_tail(consumer, NULL); in device_link_add()
419 list_add_tail_rcu(&link->c_node, &consumer->links.suppliers); in device_link_add()
421 dev_dbg(consumer, "Linked as a consumer to %s\n", dev_name(supplier)); in device_link_add()
439 put_device(link->consumer); in device_link_free()
454 dev_dbg(link->consumer, "Dropping the link to %s\n", in __device_link_del()
458 pm_runtime_drop_link(link->consumer); in __device_link_del()
469 dev_info(link->consumer, "Dropping the link to %s\n", in __device_link_del()
473 pm_runtime_drop_link(link->consumer); in __device_link_del()
516 void device_link_remove(void *consumer, struct device *supplier) in device_link_remove() argument
520 if (WARN_ON(consumer == supplier)) in device_link_remove()
527 if (link->consumer == consumer) { in device_link_remove()
622 driver_deferred_probe_add(link->consumer); in device_links_driver_bound()
828 struct device *consumer = link->consumer; in device_links_unbind_consumers() local
830 get_device(consumer); in device_links_unbind_consumers()
834 device_release_driver_internal(consumer, NULL, in device_links_unbind_consumers()
835 consumer->parent); in device_links_unbind_consumers()
836 put_device(consumer); in device_links_unbind_consumers()