STRUCT RZG3S_PCIE_SOC_DATA(9)
π NAME π
okay so bestie, this page is struct rzg3s_pcie_soc_data(9) from the Kernel API Manual, and the whole personality of this struct is literally right there in the name: it's the SoC specific data. that's the vibe. that's the assignment. π«Ά
β¨ SYNOPSIS β¨
no cap, here's the whole shape of it, character for character:
struct rzg3s_pcie_soc_data {
int (*init_phy)(struct rzg3s_pcie_host *host);
void (*config_pre_init)(struct rzg3s_pcie_host *host);
int (*config_post_init)(struct rzg3s_pcie_host *host);
int (*config_deinit)(struct rzg3s_pcie_host *host);
int (*setup_lanes)(struct rzg3s_pcie_host *host);
const char * const *power_resets;
const char * const *cfg_resets;
struct rzg3s_sysc_info sysc_info[RZG3S_PCIE_CONTROLLER_ID_MAX];
u8 num_power_resets;
u8 num_cfg_resets;
u8 num_pcie_controllers;
};
π MEMBERS π
like. there are a LOT of them. but every single one is iconic in its own way, so let's go π
init_phyβ the PHY initialization function. it does the PHY init thing.config_pre_initβ optional callback for SoC-specific pre-configuration. yes bestie, optional β it's giving "i'll be there if you need me" πΈconfig_post_initβ callback for SoC-specific post-configuration. it comes after. main character timing.config_deinitβ callback for SoC-specific de-initialization. the goodbye arc πsetup_lanesβ callback for setting up the number of lanes. lane count glow-up.power_resetsβ array with the resets that need to be de-asserted after power-on. de-assert, don't come for me.cfg_resetsβ array with the resets that need to be de-asserted after configuration. same energy, different moment βsysc_infoβ System Controller info for each controller. one per controller,RZG3S_PCIE_CONTROLLER_ID_MAXof them, and yes it's an array okay.num_power_resetsβ number of power resets. it's au8. tiny but mighty.num_cfg_resetsβ number of configuration resets. also au8. also thriving.num_pcie_controllersβ number of PCIe controllers. the finalu8. the trinity is complete π
ngl, every field here isconst-coded into the struct's whole aesthetic β the pointer arrays areconst char * const *, so nobody's out here sneaking edits. respect.
π SEE ALSO π
go read these next, bestie, they're the friend group:
- Kernel file
./drivers/pci/controller/pcie-rzg3s-host.cenumrzg3s_sysc_link_mode(9) struct rzg3s_sysc_function(9)enum rzg3s_sysc_func_id(9)struct rzg3s_sysc_info(9)struct rzg3s_sysc(9)struct rzg3s_pcie_msi(9)enum rzg3s_pcie_controller_id(9)struct rzg3s_pcie_port(9)struct rzg3s_pcie_host(9)
and that's the whole page, periodt. π¦ this little drop came from source ./drivers/pci/controller, dated October 2026, and the footer was tagging it struct rzg3s_pcie_soc_data(9) the entire time β so now you know where it lives and when it said hi. mwah πβ¨
π¦ 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