Lines Matching refs:consumer
84 if (link->consumer == con) in fwnode_link_add()
95 link->consumer = con; in fwnode_link_add()
117 link->consumer, link->supplier); in __fwnode_link_del()
304 if (link->consumer == target) in device_is_dependent()
307 ret = device_is_dependent(link->consumer, target); in device_is_dependent()
315 struct device *consumer, in device_link_init_status() argument
320 switch (consumer->links.status) { in device_link_init_status()
337 switch (consumer->links.status) { in device_link_init_status()
377 device_reorder_to_tail(link->consumer, NULL); in device_reorder_to_tail()
503 put_device(link->consumer); in device_link_release_fn()
536 struct device *con = link->consumer; in devlink_add_symlinks()
585 struct device *con = link->consumer; in devlink_remove_symlinks()
697 struct device_link *device_link_add(struct device *consumer, in device_link_add() argument
702 if (!consumer || !supplier || consumer == supplier || in device_link_add()
734 device_is_dependent(consumer, supplier))) { in device_link_add()
744 consumer->links.status != DL_DEV_NO_DRIVER && in device_link_add()
745 consumer->links.status != DL_DEV_PROBING) { in device_link_add()
759 if (link->consumer != consumer) in device_link_add()
768 pm_runtime_new_link(consumer); in device_link_add()
804 device_link_init_status(link, consumer, supplier); in device_link_add()
824 get_device(consumer); in device_link_add()
825 link->consumer = consumer; in device_link_add()
834 dev_bus_name(consumer), dev_name(consumer)); in device_link_add()
845 pm_runtime_new_link(consumer); in device_link_add()
852 device_link_init_status(link, consumer, supplier); in device_link_add()
863 list_add_tail_rcu(&link->c_node, &consumer->links.suppliers); in device_link_add()
866 dev_dbg(consumer, in device_link_add()
880 device_reorder_to_tail(consumer, NULL); in device_link_add()
882 dev_dbg(consumer, "Linked as a consumer to %s\n", dev_name(supplier)); in device_link_add()
899 dev_dbg(link->consumer, "Dropping the link to %s\n", in __device_link_del()
912 else if (!device_is_registered(link->consumer)) in device_link_put_kref()
943 void device_link_remove(void *consumer, struct device *supplier) in device_link_remove() argument
947 if (WARN_ON(consumer == supplier)) in device_link_remove()
953 if (link->consumer == consumer) { in device_link_remove()
1302 driver_deferred_probe_add(link->consumer); in device_links_driver_bound()
1555 struct device *consumer = link->consumer; in device_links_unbind_consumers() local
1557 get_device(consumer); in device_links_unbind_consumers()
1561 device_release_driver_internal(consumer, NULL, in device_links_unbind_consumers()
1562 consumer->parent); in device_links_unbind_consumers()
1563 put_device(consumer); in device_links_unbind_consumers()
1679 dev_dbg(link->consumer, "Relaxing link with %s\n", in fw_devlink_relax_link()
1802 if (!fw_devlink_relax_cycle(link->consumer, sup)) in fw_devlink_relax_cycle()
1963 con_dev = get_dev_from_fwnode(link->consumer); in __fw_devlink_link_to_consumers()
1975 con_dev = fwnode_get_next_parent_dev(link->consumer); in __fw_devlink_link_to_consumers()