rio_setup_device(9)
okay bestie, welcome to the Kernel API Manual β todayβs main character is rio_setup_device(9), and weβre gonna get you fully caught up. πβ¨
β¨ NAME β¨
rio_setup_device β literally allocates and sets up a RIO device. π«Ά
π¦ SYNOPSIS π¦
struct rio_dev * rio_setup_device (struct rio_net *net , struct
rio_mport *port , u16 destid , u8 hopcount , int do_enum );
π ARGUMENTS π
netβ the RIO network. πportβ the master port to send transactions. π€destidβ the current destination ID. π―hopcountβ the current hopcount. π¦do_enumβ the enumeration/discovery mode flag. π
π DESCRIPTION π
okay so hereβs the tea: this function allocates a RIO device and configures fields based on configuration space contents. π§β¨
If the device has a destination ID register, a destination ID is either assigned in enumeration mode or read from configuration space in discovery mode. No cap. π
And if the device has switch capabilities, then a switch is allocated and configured appropriately. slay. π₯
Returns a pointer to a RIO device on success or NULL on failure. Thatβs the whole plot. π
π SEE ALSO π
Also peep the Kernel file ./drivers/rapidio/rio-scan.c and the whole icon squad: rio_destid_alloc(9), rio_destid_reserve(9), rio_destid_free(9), rio_destid_first(9), rio_destid_next(9), rio_get_device_id(9), rio_set_device_id(9), rio_clear_locks(9), rio_enum_host(9), rio_device_has_destid(9), rio_release_dev(9), rio_is_switch(9), rio_sport_is_active(9), rio_get_host_deviceid_lock(9), rio_enum_peer(9), rio_enum_complete(9), rio_disc_peer(9), rio_mport_is_active(9), rio_update_route_tables(9), rio_init_em(9), rio_enum_mport(9), rio_build_route_tables(9), rio_disc_mport(9), rio_basic_attach(9).
okay thatβs the whole vibe β brought to you from ./drivers/rapidio, dated October 2026. π«Άπ
π¦ 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