device_remove_file(9)
π device_remove_file β or, how to yeet a sysfs attribute file (kernel API manual, bestie edition)
okay so this is device_remove_file(9) from the Kernel API Manual, and it's genuinely one of the shorter ones, which honestly? a little slay. it just does one thing and does it. let's get into it π
β¨ NAME β¨
device_remove_file β remove sysfs attribute file. that's it. that's the whole gig. she removes a file from sysfs. icon behavior π
πΈ SYNOPSIS πΈ
void device_remove_file (struct device *dev , const struct
device_attribute *attr );
note the void β she returns nothing, she says nothing, she simply acts. main character energy, no receipts.
π¦ ARGUMENTS π¦
devβ device. (yes bestie, that's the whole description. the manpage is being mysterious. it's astruct device *, that's your target.)attrβ device attribute descriptor. this is yourconst struct device_attribute *β the thing telling everyone which attribute file is getting removed.
so like, dev says whose sysfs we're talking about, and attr says which file inside it. two besties, one job π«Ά
π SEE ALSO π
okay this part is LOWKEY A LOT. like, the entire device/fwnode/devlink cinematic universe showed up. no cap, here's everyone:
From 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_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)
likeβ¦ 76 entries. she said "you want the whole friend group? you're getting the whole friend group." π
pro tip tho: if you're looking for the other half of this duo, device_create_file(9) is right there in the list. and if you need the self-removing variant, that's device_remove_file_self(9). iykyk β¨
quick vibe check: nothing on this page is marked dangerous, deprecated or undefined β it's just a plainvoidfunction with two arguments. but PLEASE still read the argument types properly,const struct device_attribute *is not the same asstruct device_attribute *, bestie π«Ά
πΈ and that's the page!! source/version and date, as promised: this one comes from ./drivers/base, dated October 2026, and it's page device_remove_file(9) in the Kernel API Manual. go remove that file, you absolute legend πβ¨π
π¦ 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