fwnode_get_next_parent_dev(9)
π¦ fwnode_get_next_parent_dev π¦
okay so welcome to the Kernel API Manual bestie, we're doing a little ancestry hunt today π
β¨ NAME β¨
fwnode_get_next_parent_dev β Find device of closest ancestor fwnode π§
πΈ SYNOPSIS πΈ
struct device * fwnode_get_next_parent_dev (const struct fwnode_handle
*fwnode );
π ARGUMENTS π
fwnodeβ firmware node π«Ά
π DESCRIPTION π
so basically, you hand this function a firmware node (a fwnode), and it goes looking up the family tree π β it finds the closest ancestor firmware node that actually has a corresponding struct device chilling with it, and hands you back that struct device. no cap, that's it, that's the whole vibe β¨
β οΈ bestie listen β the caller is responsible for calling put_device on the returned device pointer. like, you got the reference, you give it back. don't be that person π
π₯ RETURN π₯
a pointer to the device of the fwnode's closest ancestor π
β SEE ALSO β
Kernel file ./drivers/base/core.c β okay so here's the entire squad, and yes we're listing every single one because they all ate π
:
__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),__fw_devlink_relax_cycles(9),fw_devlink_create_devlink(9),__fw_devlink_link_to_consumers(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)
and that's the whole page, bestie β no skips, no cuts, we kept every single reference because we respect the lore π«Ά
this cutie lives under ./drivers/base and the date on it is October 2026, and it's filed under fwnode_get_next_parent_dev(9) β go forth and put_device responsibly πβ¨π
π¦ 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