device_create_bin_file(9)
π device_create_bin_file(9) β Kernel API Manual, bestie edition
okay so picture this: it's the kernel API manual, the page is literally device_create_bin_file(9), and today we're learning how to drop a binary attribute file into sysfs for a device. that's the whole vibe. let's go π¦
β¨ NAME β¨
device_create_bin_file β create sysfs binary attribute file for device. yes that's it, that's the whole job, and it does it iconically π
πΈ SYNOPSIS πΈ
int device_create_bin_file (struct device *dev , const struct
bin_attribute *attr );
like, it returns an int (iykyk, check it), takes a struct device *dev, and a const struct bin_attribute *attr. that's the whole signature, no notes, ate. β¨
π ARGUMENTS π
devβ the device. bestie, this is the device, the main character of the operation π«Άattrβ device binary attribute descriptor. this is the description of the binary attribute you're bringing into the world π§
π SEE ALSO π
okay so the kernel file this lives in is ./drivers/base/core.c, and here's the full squad of friends it wants you to know about β no skipping, I promised, every single one is here:
__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_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, that's a whole friend group and we love every single one of them ππ
lowkey reminder bestie: this page gives you theNAME, theSYNOPSIS, theARGUMENTS, and theSEE ALSOβ nothing extra invented, periodt. π
and that's the page!! this drop is from ./drivers/base, dated October 2026, and it's literally device_create_bin_file(9), signed off with so much love πππ
π¦ 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