Lines Matching refs:consumer

82 		if (link->consumer == con)  in fwnode_link_add()
93 link->consumer = con; in fwnode_link_add()
115 link->consumer, link->supplier); in __fwnode_link_del()
302 if (link->consumer == target) in device_is_dependent()
305 ret = device_is_dependent(link->consumer, target); in device_is_dependent()
313 struct device *consumer, in device_link_init_status() argument
318 switch (consumer->links.status) { in device_link_init_status()
335 switch (consumer->links.status) { in device_link_init_status()
375 device_reorder_to_tail(link->consumer, NULL); in device_reorder_to_tail()
491 put_device(link->consumer); in device_link_release_fn()
524 struct device *con = link->consumer; in devlink_add_symlinks()
573 struct device *con = link->consumer; in devlink_remove_symlinks()
685 struct device_link *device_link_add(struct device *consumer, in device_link_add() argument
690 if (!consumer || !supplier || consumer == supplier || in device_link_add()
722 device_is_dependent(consumer, supplier))) { in device_link_add()
732 consumer->links.status != DL_DEV_NO_DRIVER && in device_link_add()
733 consumer->links.status != DL_DEV_PROBING) { in device_link_add()
747 if (link->consumer != consumer) in device_link_add()
756 pm_runtime_new_link(consumer); in device_link_add()
792 device_link_init_status(link, consumer, supplier); in device_link_add()
812 get_device(consumer); in device_link_add()
813 link->consumer = consumer; in device_link_add()
822 dev_bus_name(consumer), dev_name(consumer)); in device_link_add()
824 put_device(consumer); in device_link_add()
835 pm_runtime_new_link(consumer); in device_link_add()
842 device_link_init_status(link, consumer, supplier); in device_link_add()
853 list_add_tail_rcu(&link->c_node, &consumer->links.suppliers); in device_link_add()
856 dev_dbg(consumer, in device_link_add()
870 device_reorder_to_tail(consumer, NULL); in device_link_add()
872 dev_dbg(consumer, "Linked as a consumer to %s\n", dev_name(supplier)); in device_link_add()
889 dev_dbg(link->consumer, "Dropping the link to %s\n", in __device_link_del()
902 else if (!device_is_registered(link->consumer)) in device_link_put_kref()
933 void device_link_remove(void *consumer, struct device *supplier) in device_link_remove() argument
937 if (WARN_ON(consumer == supplier)) in device_link_remove()
943 if (link->consumer == consumer) { in device_link_remove()
1272 driver_deferred_probe_add(link->consumer); in device_links_driver_bound()
1513 struct device *consumer = link->consumer; in device_links_unbind_consumers() local
1515 get_device(consumer); in device_links_unbind_consumers()
1519 device_release_driver_internal(consumer, NULL, in device_links_unbind_consumers()
1520 consumer->parent); in device_links_unbind_consumers()
1521 put_device(consumer); in device_links_unbind_consumers()
1637 dev_dbg(link->consumer, "Relaxing link with %s\n", in fw_devlink_relax_link()
1704 if (!fw_devlink_relax_cycle(link->consumer, sup)) in fw_devlink_relax_cycle()
1865 con_dev = get_dev_from_fwnode(link->consumer); in __fw_devlink_link_to_consumers()
1877 con_dev = fwnode_get_next_parent_dev(link->consumer); in __fw_devlink_link_to_consumers()