ENUM DEVICE_LINK_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so this is a page straight out of the Kernel API Manual, and it's all about enum device_link_state, which is literally the vibe-check system for device links. no cap, it's giving "relationship status but for drivers" 🌈


✨ NAME ✨

enum device_link_state β€” Device link states. that's it, that's the whole name section, she's concise πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole enum, copy it exactly bestie, don't you dare typo it:

enum device_link_state {
    DL_STATE_NONE ,
    DL_STATE_DORMANT ,
    DL_STATE_AVAILABLE ,
    DL_STATE_CONSUMER_PROBE ,
    DL_STATE_ACTIVE ,
    DL_STATE_SUPPLIER_UNBIND

};

🌸 Constants 🌸

okay these are the six states and each one is a whole personality, let's go one by one 🫢

  • DL_STATE_NONE β€” The presence of the drivers is not being tracked. nobody's watching, nobody's keeping score, it's giving ghost mode πŸ‘»
  • DL_STATE_DORMANT β€” None of the supplier/consumer drivers is present. literally nobody showed up to the party 😭
  • DL_STATE_AVAILABLE β€” The supplier driver is present, but the consumer is not. one half of the duo is here and the other one is on read πŸ’€
  • DL_STATE_CONSUMER_PROBE β€” The consumer is probing (supplier driver present). the consumer is doing its little investigation arc, and the supplier is right there watching πŸ”₯
  • DL_STATE_ACTIVE β€” Both the supplier and consumer drivers are present. both besties showed up, the link is thriving, main character energy fr fr πŸ‘‘
  • DL_STATE_SUPPLIER_UNBIND β€” The supplier driver is unbinding. the supplier is packing up and heading out, exit music playing πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

so many cross-refs, she's popular, iykyk ✨

Kernel file ./include/linux/device.h and then the whole squad:

struct subsys_interface(9), struct device_attribute(9), struct dev_ext_attribute(9), DEVICE_ATTR(9), DEVICE_ATTR_RW(9), DEVICE_ATTR_ADMIN_RW(9), DEVICE_ATTR_RW_NAMED(9), DEVICE_ATTR_RO(9), DEVICE_ATTR_ADMIN_RO(9), DEVICE_ATTR_RO_NAMED(9), DEVICE_ATTR_WO(9), DEVICE_ATTR_WO_NAMED(9), DEVICE_ULONG_ATTR(9), DEVICE_INT_ATTR(9), DEVICE_BOOL_ATTR(9), DEVICE_STRING_ATTR_RO(9), enum dl_dev_state(9), enum device_removable(9), struct dev_links_info(9), struct dev_msi_info(9), enum device_physical_location_panel(9), enum device_physical_location_vertical_position(9), enum device_physical_location_horizontal_position(9), struct device_physical_location(9), enum struct_device_flags(9), struct device(9), struct device_link(9), device_set_driver_override(9), device_has_driver_override(9), device_match_driver_override(9), device_iommu_mapped(9), dev_name(9), dev_bus_name(9), device_find_child_by_name(9), device_find_any_child(9), device_lock_set_class(9), device_lock_reset_class(9)


πŸ’– and that's the page!! sourced from ./include/linux, stamped October 2026, filed under enum device_link_state(9). go read the actual kernel docs bestie, mwah πŸŽ€βœ¨
πŸ“¦ where this page comes from