STRUCT MVEBU_PINCTRL_SOC_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mvebu_pinctrl_soc_info(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” this is the page for struct mvebu_pinctrl_soc_info, and it's literally the little info-bundle that gets passed into pinctrl-mvebu. it's giving "backstage pass for one specific SoC" energy πŸŽ€


✨ NAME ✨

struct mvebu_pinctrl_soc_info β€” the SoC-specific info that gets handed over to pinctrl-mvebu, no cap 🫢


🌸 SYNOPSIS 🌸

struct mvebu_pinctrl_soc_info {
    u8 variant;
    const struct mvebu_mpp_ctrl *controls;
    struct mvebu_mpp_ctrl_data *control_data;
    int ncontrols;
    struct mvebu_mpp_mode *modes;
    int nmodes;
    struct pinctrl_gpio_range *gpioranges;
    int ngpioranges;
 };

like, that's the whole shape of it. every field matters, bestie, don't skip any πŸ’–


πŸ¦‹ Members πŸ¦‹

  • variant β€” the variant mask of soc_info. yes, it's a mask. iconic behavior honestly ⭐
  • controls β€” the list of available mvebu_mpp_ctrls. this is the roster πŸ‘‘
  • control_data β€” an optional array, with one entry for each control. optional!! so you can leave it out 🌈
  • ncontrols β€” the number of available mvebu_mpp_ctrls. gotta know how many you got πŸ’…
  • modes β€” the list of available mvebu_mpp_modes. the whole mood board πŸ”₯
  • nmodes β€” the number of available mvebu_mpp_modes. counting them, fr fr πŸ“
  • gpioranges β€” the list of pinctrl_gpio_ranges. gpio ranges, slay 🧚
  • ngpioranges β€” the number of available pinctrl_gpio_ranges. kept it consistent πŸ’œ

πŸ’€ Description πŸ’€

so this struct is literally the description of all the pinctrl-related information for one specific SoC. one struct, one SoC, main character energy ✨

and here's the tea β˜•: if variant is unequal to 0, it gets matched (AND) with the variant of each setting β€” which is what lets you tell apart different revisions of the same SoC. it's giving "same girl, different era" πŸ™ˆ

lowkey important: the match is an AND, and the whole revision-distinguishing thing only kicks in when variant isn't 0. keep that in mind, bestie 🫢

🌟 SEE ALSO 🌟

  • the kernel file ./drivers/pinctrl/mvebu/pinctrl-mvebu.h
  • struct mvebu_mpp_ctrl_data(9)
  • struct mvebu_mpp_ctrl(9)
  • struct mvebu_mpp_ctrl_setting(9)
  • struct mvebu_mpp_mode(9)

go read those too, iykyk πŸ’…


and that's the page!! πŸŽ€ this one came from ./drivers/pinctrl/mvebu, dated October 2026, and it's filed under struct mveb...trl_soc_info(9) in the Kernel API Manual β€” ok bye, go forth and pin some muxes, bestie πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from