tb_switch_xhci_disconnect(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

tb_switch_xhci_disconnect β€” bestie, this is the one that disconnects the internal xHCI 😌


✨ SYNOPSIS ✨

void tb_switch_xhci_disconnect (struct tb_switch *sw );

🌸 ARGUMENTS 🌸

  • sw β€” the router whose xHCI we're disconnecting 🫢 like, this router, right here, the one you're passing in.

πŸ’– DESCRIPTION πŸ’–

Okay so. You know tb_switch_xhci_connect? This is literally the opposite of that. Not metaphorically β€” that's the actual description: it's the opposite of tb_switch_xhci_connect. πŸ”₯

It disconnects xHCI on both ports. Both of them. Not one. Both. πŸ’€ That's the whole vibe.

Return value? Nothing, bestie β€” it's void. It just does the thing and dips. ✨


πŸ¦‹ SEE ALSO πŸ¦‹

If you wanna go deeper (and honestly, icon behaviour), the kernel file lives at ./drivers/thunderbolt/switch.c, and here's the whole friend group πŸ‘‘:

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_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).

That's the whole list β€” every single one, no skips, no cap. 🧚


Lowkey the most important part: this is the disconnect. If you wanted the connect, that's tb_switch_xhci_connect(9). Don't mix them up, bestie, I'm begging πŸ™ˆ

That's the whole page, mwah πŸ’‹ β€” brought to you by the source tree at ./drivers/thunderbolt, dated October 2026, and the manual named right there in the title: tb_switch_xhci_disconnect(9). Slay, go disconnect something. πŸŽ€βœ¨

πŸ“¦ where this page comes from