set_secondary_fwnode(9)
π set_secondary_fwnode(9) π
okay bestie, welcome to the set_secondary_fwnode page, straight out of the Kernel API Manual β¨ this one's short and sweet, so grab your iced coffee and let's go π
πΈ NAME πΈ
set_secondary_fwnode β literally just changes the secondary firmware node of a device you hand it. that's the whole gig π
π SYNOPSIS π
void set_secondary_fwnode (struct device *dev , struct fwnode_handle *fwnode );
no return value, it's a void situation, she just does the thing and leaves π
π¦ ARGUMENTS π¦
devβ the device you're handling. the main character of this function, the one getting a new secondary node π«Άfwnodeβ the new secondary firmware node for that device. the shiny new accessory β¨
π DESCRIPTION π
here's the vibe check, and it's honestly a little "it depends" moment:
- if the device already has a primary firmware node, then this function sets that primary node's secondary pointer to
fwnodeβ like giving the primary node a plus-one π - otherwise (no primary node present), it sets the device's own firmware node pointer to
fwnodeinstead. no primary? thenfwnodetakes the spotlight directly π
that's it. that's the whole description. short king behavior, no cap π
ngl there's no return value and no error list here, so no surprises lurk in the shadows β but remember the branch above, because which pointer gets written totally depends on whether a primary firmware node exists π
β SEE ALSO β
buckle up bestie, this list is LONG and it's giving "family reunion group chat" π every single one of these is in the kernel file ./drivers/base/core.c:
__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_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)device_remove_of_node(9)device_add_of_node(9)device_set_of_node_from_dev(9)get_dev_from_fwnode(9)
also yes, set_primary_fwnode(9) is right there in the list β her sister function, go read that one next, iykyk π
okay that's the whole page, you ate that π«Ά this gem lives under the path ./drivers/base, the version stamp says October 2026, and the page signs itself set_secondary_fwnode(9) at the bottom like a little autograph π mwah, go forth and set those secondary firmware nodes, bestie π
β¨
π¦ 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