tb_port_alloc_in_hopid(9)
π tb_port_alloc_in_hopid β the Kernel API Manual, bestie edition π
okay so real talk, this is a page from the Kernel API Manual (tb_port_alloc_in_hopid(9)) and it's literally about getting yourself an input HopID off a port. tiny page, but it eats. let's go β¨
πΈ NAME πΈ
tb_port_alloc_in_hopid β allocate an input HopID from a port π«Ά
β¨ SYNOPSIS β¨
int tb_port_alloc_in_hopid (struct tb_port *port , int min_hopid , int
max_hopid );
like, that's the whole vibe check right there π
π ARGUMENTS π
portβ the port you're allocating the HopID for, bestie πmin_hopidβ the minimum acceptable input HopID, like your floor, your bare minimum, no capmax_hopidβ the maximum acceptable input HopID, aka the ceiling, the limit, the "don't push it" line π
β RETURN β
you get a HopID between min_hopid and max_hopid β slay β or a negative errno if something goes wrong π that's it, that's the deal, periodt.
π SEE ALSO π
okay this list is long long, so buckle up bestie, we're going through all of them, no skipping, iykyk π
it all lives in the kernel file ./drivers/thunderbolt/switch.c, and the crew is:
tb_switch_nvm_read(9)tb_port_state(9)tb_wait_for_port(9)tb_port_add_nfc_credits(9)tb_port_clear_counter(9)tb_port_unlock(9)tb_port_enable(9)tb_port_disable(9)tb_port_reset(9)tb_port_alloc_out_hopid(9)tb_port_release_in_hopid(9)tb_port_release_out_hopid(9)tb_next_port_on_path(9)tb_port_get_link_speed(9)tb_port_get_link_generation(9)tb_port_get_link_width(9)tb_port_width_supported(9)tb_port_set_link_width(9)tb_port_set_lane_bonding(9)tb_port_lane_bonding_enable(9)tb_port_lane_bonding_disable(9)tb_port_wait_for_link_width(9)tb_port_update_credits(9)tb_port_is_enabled(9)tb_usb3_port_is_enabled(9)tb_usb3_port_enable(9)tb_pci_port_is_enabled(9)tb_pci_port_enable(9)tb_dp_port_hpd_is_active(9)tb_dp_port_hpd_clear(9)tb_dp_port_set_hops(9)tb_dp_port_is_enabled(9)tb_dp_port_enable(9)tb_switch_reset(9)tb_switch_wait_for_bit(9)tb_switch_alloc(9)tb_switch_alloc_safe_mode(9)tb_switch_configure(9)tb_switch_configuration_valid(9)tb_switch_lane_bonding_enable(9)tb_switch_lane_bonding_disable(9)tb_switch_set_link_width(9)tb_switch_configure_link(9)tb_switch_unconfigure_link(9)tb_switch_add(9)tb_switch_remove(9)tb_sw_set_unplugged(9)tb_switch_resume(9)tb_switch_suspend(9)tb_switch_query_dp_resource(9)tb_switch_alloc_dp_resource(9)tb_switch_dealloc_dp_resource(9)tb_switch_find_by_link_depth(9)tb_switch_find_by_uuid(9)tb_switch_find_by_route(9)tb_switch_find_port(9)tb_switch_pcie_l1_enable(9)tb_switch_xhci_connect(9)tb_switch_xhci_disconnect(9)
ngl that's a lot of switches and ports, but you asked, and i delivered π
and that's the page!! source location is ./drivers/thunderbolt, dated October 2026, and the whole thing goes out under tb_port_alloc_in_hopid(9) β mwah, bye bestie, go allocate something iconic π
β¨π¦
π¦ 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