__fw_devlink...to_consumers(9)
πΈ NAME πΈ
okay so __fw_devlink_link_to_consumers is the main character here, and this page is from the Kernel API Manual, section 9. Its whole job? Create device links to consumers of a device. π
β¨ SYNOPSIS β¨
void __fw_devlink_link_to_consumers (struct device *dev );
π ARGUMENTS π
devβ the device that needs to be linked to its consumers. π«Ά
π DESCRIPTION π
okay so bestie, this function looks at all the consumer fwnodes of dev and creates device links between the consumer device and dev (the supplier). No cap, that's the whole vibe.
If the consumer device has not been added yet, then this function creates a SYNC_STATE_ONLY link between dev (supplier) and the closest ancestor device of the consumer fwnode. This is necessary to make sure dev doesn't get a sync_state callback before the real consumer device gets to be added and then probed. Important β it's guarding the callback timing, periodt.
Once device links are created from the real consumer to dev (supplier), the fwnode links are deleted. β¨
π¦ SEE ALSO π¦
Kernel file ./drivers/base/core.c is home base for the whole related-posse situation. The SEE ALSO besties are:
__fwnode_link_add(9)__fwnode_link_del(9)__fwnode_link_cycle(9)fwnode_links_purge_suppliers(9)fwnode_links_purge_consumers(9)fwnode_links_purge(9)__fwnode_links_move_consumers(9)__fw_devlink_pickup_dangling_consumers(9)fw_devlink_refresh_fwnode(9)device_is_dependent(9)device_pm_move_to_tail(9)device_link_wait_removal(9)device_link_add(9)device_link_del(9)device_link_remove(9)device_links_check_suppliers(9)__device_links_queue_sync_state(9)device_links_flush_sync_list(9)device_links_force_bind(9)device_links_driver_bound(9)__device_links_no_driver(9)device_links_no_driver(9)device_links_driver_cleanup(9)device_links_busy(9)device_links_unbind_consumers(9)device_links_purge(9)wait_for_init_devices_probe(9)fwnode_is_ancestor_of(9)fwnode_get_next_parent_dev(9)__fw_devlink_relax_cycles(9)fw_devlink_create_devlink(9)__fw_devlink_link_to_suppliers(9)dev_driver_string(9)device_release(9)devm_device_add_group(9)devices_kset_move_before(9)devices_kset_move_after(9)devices_kset_move_last(9)device_create_file(9)device_remove_file(9)device_remove_file_self(9)device_create_bin_file(9)device_remove_bin_file(9)device_initialize(9)kobject_has_children(9)dev_set_name(9)device_add(9)device_register(9)get_device(9)put_device(9)device_del(9)device_unregister(9)device_get_devnode(9)device_for_each_child(9)device_for_each_child_reverse(9)device_for_each_child_reverse_from(9)device_find_child(9)device_offline(9)device_online(9)__root_device_register(9)root_device_unregister(9)device_create(9)device_create_with_groups(9)device_destroy(9)device_rename(9)device_move(9)device_change_owner(9)device_shutdown(9)dev_err_probe(9)dev_warn_probe(9)set_primary_fwnode(9)set_secondary_fwnode(9)device_remove_of_node(9)device_add_of_node(9)device_set_of_node_from_dev(9)get_dev_from_fwnode(9)
xoxo, this page is from the ./drivers/base source/version tag, dated October 2026 β the __fw_devlink...to_consumers(9) page, out. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms