Lines Matching refs:supplier
80 link->supplier = sup; in __fwnode_link_add()
113 link->consumer, link->supplier); in __fwnode_link_del()
128 link->consumer, link->supplier); in __fwnode_link_cycle()
333 struct device *supplier) in device_link_init_status() argument
335 switch (supplier->links.status) { in device_link_init_status()
515 pm_runtime_put_noidle(link->supplier); in device_link_release_fn()
517 pm_request_idle(link->supplier); in device_link_release_fn()
520 put_device(link->supplier); in device_link_release_fn()
549 struct device *sup = link->supplier; in devlink_add_symlinks()
597 struct device *sup = link->supplier; in devlink_remove_symlinks()
712 struct device *supplier, u32 flags) in device_link_add() argument
716 if (!consumer || !supplier || consumer == supplier || in device_link_add()
725 if (pm_runtime_get_sync(supplier) < 0) { in device_link_add()
726 pm_runtime_put_noidle(supplier); in device_link_add()
748 if (!device_pm_initialized(supplier) in device_link_add()
750 device_is_dependent(consumer, supplier))) { in device_link_add()
774 list_for_each_entry(link, &supplier->links.consumers, s_node) { in device_link_add()
820 device_link_init_status(link, consumer, supplier); in device_link_add()
837 get_device(supplier); in device_link_add()
838 link->supplier = supplier; in device_link_add()
849 dev_bus_name(supplier), dev_name(supplier), in device_link_add()
868 device_link_init_status(link, consumer, supplier); in device_link_add()
876 pm_runtime_resume(supplier); in device_link_add()
878 list_add_tail_rcu(&link->s_node, &supplier->links.consumers); in device_link_add()
884 dev_name(supplier)); in device_link_add()
898 dev_dbg(consumer, "Linked as a consumer to %s\n", dev_name(supplier)); in device_link_add()
905 pm_runtime_put(supplier); in device_link_add()
916 dev_name(link->supplier)); in __device_link_del()
959 void device_link_remove(void *consumer, struct device *supplier) in device_link_remove() argument
963 if (WARN_ON(consumer == supplier)) in device_link_remove()
968 list_for_each_entry(link, &supplier->links.consumers, s_node) { in device_link_remove()
987 if (link->supplier->links.status == DL_DEV_DRIVER_BOUND) { in device_links_missing_supplier()
1012 return link->supplier; in fwnode_links_check_suppliers()
1069 !link->supplier->can_match) { in device_links_check_suppliers()
1077 dev_name(link->supplier)); in device_links_check_suppliers()
1345 struct device *supplier; in device_links_driver_bound() local
1350 supplier = link->supplier; in device_links_driver_bound()
1361 !link->supplier->can_match) { in device_links_driver_bound()
1382 __device_links_supplier_defer_sync(supplier); in device_links_driver_bound()
1384 __device_links_queue_sync_state(supplier, &sync_list); in device_links_driver_bound()
1423 if (link->supplier->links.status == DL_DEV_DRIVER_BOUND) { in __device_links_no_driver()
1742 dev_name(link->supplier)); in fw_devlink_relax_link()
1749 if (!link->supplier->can_match) in fw_devlink_no_driver()
1767 struct device *sup = link->supplier; in fw_devlink_dev_sync_state()
1961 if (__fw_devlink_relax_cycles(con, link->supplier)) { in __fw_devlink_relax_cycles()
1992 dev_link->supplier->fwnode)) { in __fw_devlink_relax_cycles()
2217 struct fwnode_handle *sup = link->supplier; in __fw_devlink_link_to_suppliers()