Lines Matching refs:supplier
83 link->supplier = sup; in __fwnode_link_add()
114 link->consumer, link->supplier); in __fwnode_link_del()
129 link->consumer, link->supplier); in __fwnode_link_cycle()
336 struct device *supplier) in device_link_init_status() argument
338 switch (supplier->links.status) { in device_link_init_status()
518 pm_runtime_put_noidle(link->supplier); in device_link_release_fn()
520 pm_request_idle(link->supplier); in device_link_release_fn()
523 put_device(link->supplier); in device_link_release_fn()
566 struct device *sup = link->supplier; in devlink_add_symlinks()
613 struct device *sup = link->supplier; in devlink_remove_symlinks()
729 struct device *supplier, u32 flags) in device_link_add() argument
733 if (!consumer || !supplier || consumer == supplier || in device_link_add()
742 if (pm_runtime_get_sync(supplier) < 0) { in device_link_add()
743 pm_runtime_put_noidle(supplier); in device_link_add()
765 if (!device_pm_initialized(supplier) in device_link_add()
767 device_is_dependent(consumer, supplier))) { in device_link_add()
791 list_for_each_entry(link, &supplier->links.consumers, s_node) { in device_link_add()
837 device_link_init_status(link, consumer, supplier); in device_link_add()
854 get_device(supplier); in device_link_add()
855 link->supplier = supplier; in device_link_add()
866 dev_bus_name(supplier), dev_name(supplier), in device_link_add()
885 device_link_init_status(link, consumer, supplier); in device_link_add()
893 pm_runtime_resume(supplier); in device_link_add()
895 list_add_tail_rcu(&link->s_node, &supplier->links.consumers); in device_link_add()
901 dev_name(supplier)); in device_link_add()
915 dev_dbg(consumer, "Linked as a consumer to %s\n", dev_name(supplier)); in device_link_add()
922 pm_runtime_put(supplier); in device_link_add()
933 dev_name(link->supplier)); in __device_link_del()
976 void device_link_remove(void *consumer, struct device *supplier) in device_link_remove() argument
980 if (WARN_ON(consumer == supplier)) in device_link_remove()
985 list_for_each_entry(link, &supplier->links.consumers, s_node) { in device_link_remove()
1004 if (link->supplier->links.status == DL_DEV_DRIVER_BOUND) { in device_links_missing_supplier()
1030 return link->supplier; in fwnode_links_check_suppliers()
1083 !link->supplier->can_match) { in device_links_check_suppliers()
1090 "supplier %s not ready\n", dev_name(link->supplier)); in device_links_check_suppliers()
1358 struct device *supplier; in device_links_driver_bound() local
1363 supplier = link->supplier; in device_links_driver_bound()
1374 !link->supplier->can_match) { in device_links_driver_bound()
1395 __device_links_supplier_defer_sync(supplier); in device_links_driver_bound()
1397 __device_links_queue_sync_state(supplier, &sync_list); in device_links_driver_bound()
1436 if (link->supplier->links.status == DL_DEV_DRIVER_BOUND) { in __device_links_no_driver()
1755 dev_name(link->supplier)); in fw_devlink_relax_link()
1762 if (!link->supplier->can_match) in fw_devlink_no_driver()
1780 struct device *sup = link->supplier; in fw_devlink_dev_sync_state()
2036 if (__fw_devlink_relax_cycles(con, link->supplier)) { in __fw_devlink_relax_cycles()
2070 dev_link->supplier->fwnode)) { in __fw_devlink_relax_cycles()
2072 dev_link->supplier->fwnode); in __fw_devlink_relax_cycles()
2306 struct fwnode_handle *sup = link->supplier; in __fw_devlink_link_to_suppliers()