Lines Matching refs:consumer

116 		if (link->consumer == target)  in device_is_dependent()
119 ret = device_is_dependent(link->consumer, target); in device_is_dependent()
142 device_reorder_to_tail(link->consumer, NULL); in device_reorder_to_tail()
195 struct device_link *device_link_add(struct device *consumer, in device_link_add() argument
200 if (!consumer || !supplier || in device_link_add()
214 || device_is_dependent(consumer, supplier)) { in device_link_add()
220 if (link->consumer == consumer) { in device_link_add()
239 pm_runtime_new_link(consumer); in device_link_add()
245 if (consumer->links.status == DL_DEV_PROBING) in device_link_add()
251 get_device(consumer); in device_link_add()
252 link->consumer = consumer; in device_link_add()
263 switch (consumer->links.status) { in device_link_add()
299 device_reorder_to_tail(consumer, NULL); in device_link_add()
302 list_add_tail_rcu(&link->c_node, &consumer->links.suppliers); in device_link_add()
304 dev_info(consumer, "Linked as a consumer to %s\n", dev_name(supplier)); in device_link_add()
315 put_device(link->consumer); in device_link_free()
330 dev_info(link->consumer, "Dropping the link to %s\n", in __device_link_del()
334 pm_runtime_drop_link(link->consumer); in __device_link_del()
345 dev_info(link->consumer, "Dropping the link to %s\n", in __device_link_del()
349 pm_runtime_drop_link(link->consumer); in __device_link_del()
384 void device_link_remove(void *consumer, struct device *supplier) in device_link_remove() argument
388 if (WARN_ON(consumer == supplier)) in device_link_remove()
395 if (link->consumer == consumer) { in device_link_remove()
645 struct device *consumer = link->consumer; in device_links_unbind_consumers() local
647 get_device(consumer); in device_links_unbind_consumers()
651 device_release_driver_internal(consumer, NULL, in device_links_unbind_consumers()
652 consumer->parent); in device_links_unbind_consumers()
653 put_device(consumer); in device_links_unbind_consumers()