device_link_del(9)
π
device_link_del(9) β Kernel API Manual β¨
okay so bestie, buckle up, because this is the page for device_link_del, from the Kernel API Manual. yes, the whole manual. it's giving "small function, big responsibilities" energy and honestly? iconic. π
πΈ NAME πΈ
device_link_del β Delete a stateless link between two devices.
like, the breakup function for device links. no cap. π
β¨ SYNOPSIS β¨
void device_link_del (struct device_link *link );
that's it. that's the whole signature. returns nothing, because it's a void girlie and it has nothing to prove. π«Ά
π¦ ARGUMENTS π¦
linkβ Device link to delete. the one you're breaking up with. that's it, that's the whole argument. π
π₯ DESCRIPTION π₯
so here's the tea, and please actually read this part because it's not just vibes:
The caller must ensure proper synchronization of this function with runtime PM. like, you, the caller, are responsible for that sync. it's not coming from this function, it's coming from you. main character responsibility energy, ngl. π
If the link was added multiple times, it needs to be deleted as often. so if you stacked it up, you unwind it the same number of times. one-for-one. no shortcuts. π₯
Care is required for hotplugged devices: Their links are purged on removal and calling device_link_del is then no longer allowed.
π¨ bestie please read that again. for hotplugged devices, the links get purged when the device is removed β and after that, calling device_link_del is no longer allowed. not "discouraged", not "kinda rude", not allowed. don't do it. π
π SEE ALSO π
Kernel file ./drivers/base/core.c β and here's the whole friend group, literally everyone this page hangs out with:
__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_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)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)
yeah that's a lot of links. it's giving group chat with 78 members and every single one of them is relevant. πβ¨
π§ sign-off π§
this little icon lives in ./drivers/base, brought to you by the Kernel API Manual, dated October 2026, with the kernel file being ./drivers/base/core.c. go forth and delete your links responsibly, bestie. slay. ππβ
π¦ 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