zynqmp_pinct..._func_groups(9)
๐
zynqmp_pinct..._func_groups(9) โ like, the Kernel API Manual page, bestie ๐
okay so. hi. you found the manpage for zynqmp_pinctrl_prepare_func_groups, from the Kernel API Manual, and honestly? it's a little baddie. it's the โจ setup โจ step โ the get-ready-with-me of the pinctrl world. let's get into it ๐ซถ
๐ธ NAME ๐ธ
zynqmp_pinctrl_prepare_func_groups โ prepares the function and groups data. that's it. that's the whole vibe. it's giving backstage-pass energy ๐
โญ SYNOPSIS โญ
int zynqmp_pinctrl_prepare_func_groups (struct device *dev , u32 fid ,
struct zynqmp_pmux_function *func , struct zynqmp_pctrl_group *groups );
she takes four things and returns an int. iconic signature, no notes ๐ฅ
๐ฆ ARGUMENTS ๐ฆ
devโ Device pointer. the device in question. she's the main character ๐fidโ Function ID. literally just which function we're talking about, as au32๐funcโ Function data. the function's whole deal gets written into here โจgroupsโ Groups data. the group names land in here too, bestie ๐
๐ DESCRIPTION ๐
So here's the tea โ: this function queries the firmware to get the group IDs for each function. firmwares out here handing back group IDs like it's nothing, and we're like "slay, thank you."
Then, based on the group index for the function, the group names inside the function get stored. Example time, because examples ate:
the first group in the"eth0"function is named"eth0_0", and the second group is named"eth0_1", and so on. fr fr. it just keeps going."eth0_2","eth0_3"โฆ you get the pattern ๐
And based on the group ID received from the firmware, the function stores the name of the group for that group ID. another example, because we're generous:
if the"eth0"first group ID isx, thengroups[x]'s name will be stored as"eth0_0". yes.groups[x]. notgroups[0].groups[x]. iykyk ๐ธ
Once this is done for each function, every function has its group names, and every group also has its own name. mutual naming. everyone's got a name tag. it's a whole party ๐
lowkey the cutest part is that it's just bookkeeping โ no cap, it's setting everything up so the actual pinmuxing later doesn't have to guess who's who ๐ง
๐ RETURN ๐
0 on success, else an error code. that's the whole return section. go off, king ๐
โ ๏ธ heads up: 0 means it worked. anything else is the universe telling you something went sideways โ check the error code, bestie.
๐ฎ SEE ALSO ๐ฎ
- the Kernel file
./drivers/pinctrl/pinctrl-zynqmp.cโ go read the source, it's right there ๐ฆ struct zynqmp_pmux_function(9)struct zynqmp_pinctrl(9)struct zynqmp_pctrl_group(9)zynqmp_pmux_get_function_groups(9)zynqmp_pinmux_set_mux(9)zynqmp_pinconf_cfg_get(9)zynqmp_pinconf_cfg_set(9)zynqmp_pinconf_group_set(9)zynqmp_pinctrl_create_pin_groups(9)zynqmp_pinctrl_prepare_group_pins(9)zynqmp_pinctrl_prepare_function_info(9)zynqmp_pinctrl_prepare_pin_desc(9)
like, the whole friend group is linked. go say hi ๐
and that's the page!! mwah ๐ this one came to you from the ./drivers/pinctrl source, dated October 2026, and zynqmp_pinct..._func_groups(9) is out here living her best life in the Kernel API Manual. periodt. ๐โจ
๐ฆ 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