typec_mux_register(9)
π typec_mux_register β like, the kernel API manual, but make it make sense
okay so bestie, welcome to the typec_mux_register(9) page, part of the Kernel API Manual β¨ this one's short and sweet and honestly kind of iconic β it's the function that gets your Type-C pin-routing switches into the system. let's get into it π
β¨ NAME β¨
typec_mux_register β register a Multiplexer routing USB Type-C pins π¦
like, that's the whole vibe. you're registering a mux. the mux routes pins. on USB Type-C. slay.
πΈ SYNOPSIS πΈ
struct typec_mux_dev * typec_mux_register (struct device *parent , const
struct typec_mux_desc *desc );
no cap, that's the exact signature. two args, returns a struct typec_mux_dev *. copy it character for character and you're golden π
π ARGUMENTS π
parentβ the Parent device π you know, the device that's gonna be this mux's parent. everyone needs a parent figure, even kernel objects.descβ the Multiplexer description π the little descriptor that tells the kernel what this mux actually is. it's giving "here's my whole personality in a struct."
π§ DESCRIPTION π§
okay so here's the lore π USB Type-C connectors can be used for alternate modes of operation besides USB β but only when Accessory/Alternate Modes are supported. with some of those modes, the pins on the connector need to be reconfigured. that's the whole reason this function exists, fr fr.
so what does typec_mux_register do? it registers multiplexer switches routing the pins on the connector π₯ that's it. that's the function. it's the main character that makes the pin-routing happen π
π«Ά SEE ALSO π«Ά
- Kernel file
./drivers/usb/typec/mux.cπ (yes, that's the file, go read it, iykyk) fwnode_typec_switch_get(9)typec_switch_put(9)typec_switch_register(9)typec_switch_unregister(9)fwnode_typec_mux_get(9)typec_mux_put(9)typec_mux_unregister(9)
the whole switch/mux family, all linked up like a little found family π go say hi to all of them.
β friendly reminder bestie: this page is straight from./drivers/usb/typec, dated October 2026, and it's literally namedtypec_mux_register(9). that's the source, the version-date vibe, and the title all in one β keep them close π
okay that's the page!! go register some multiplexers, you absolute icon ππ
π¦ 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