tb_usb3_port_enable(9)
π tb_usb3_port_enable(9) β from the Kernel API Manual, bestie π
okay so picture this: it's a kernel API manual page, right, and it's literally all about one little function that flips a USB3 port on or off. that's it. that's the whole vibe. i'm obsessed actually.
β¨ NAME β¨
tb_usb3_port_enable β the one where we enable a USB3 adapter port π
πΈ SYNOPSIS πΈ
int tb_usb3_port_enable (struct tb_port *port , bool enable );
like, look at her. two args, one int coming back. main character energy fr fr.
π¦ ARGUMENTS π¦
portβ the USB3 adapter port you wanna enable. this is your girl. π«Άenableβ turns the USB3 adapter on or off. like a light switch but for hardware and honestly more iconic. β¨
β RETURN β
0 on success, negative errno otherwise. that's it. if you get a negative errno it's giving "something went wrong" and you should lowkey pay attention. π
π SEE ALSO π
this is the part where i hold your hand, bestie, because it's a long list and we're getting through all of it. no skipping, no cap. π
Kernel file ./drivers/thunderbolt/switch.c
and then, in the order they appear:
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_in_hopid(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_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) π
that's the whole friend group right there. iykyk. π₯
pro tip from me to you: yeah this page is short, but the SEE ALSO list is not. read it. your future self will thank you. π§
and that's a wrap on our little kernel field trip, babe π this one lives over in ./drivers/thunderbolt and it's dated October 2026 β so like, future girlboss energy fr fr. slay, stay safe, and don't forget your errno checks. periodt. π
β¨π
π¦ 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