tb_switch_alloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ tb_switch_alloc(9) β€” straight from the Kernel API Manual πŸ¦‹

okay so bestie, welcome to the page for tb_switch_alloc(9) β€” it's giving kernel API manual, but make it make sense πŸ’–


πŸ’– NAME πŸ’–

tb_switch_alloc β€” allocate a switch, periodt ✨


🌸 SYNOPSIS 🌸

struct tb_switch * tb_switch_alloc (struct tb *tb , struct device
       *parent , u64 route );

πŸŽ€ ARGUMENTS πŸŽ€

  • tb β€” pointer to the owning domain, iykyk 🌸
  • parent β€” parent device for this switch 🫢
  • route β€” route string for this switch πŸ¦‹

✨ DESCRIPTION ✨

Okay so it allocates and initializes a switch. The tea β˜•: it will not upload configuration to the switch. For that you need to call tb_switch_configure separately. And the returned switch should be released by calling tb_switch_put β€” that's the whole vibe, bestie πŸ’…


🌈 RETURN 🌈

Pointer to struct tb_switch, or ERR_PTR in case of failure πŸ˜­πŸ’€


πŸ”₯ SEE ALSO πŸ”₯

Kernel file: ./drivers/thunderbolt/switch.c πŸ’–

Also the whole friend group, no cap: 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_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) ✨


sign-off, bestie: source/version ./drivers/thunderbolt, date October 2026, page tb_switch_alloc(9) πŸ’–βœ¨

πŸ“¦ where this page comes from