snd_soc_dapm...cted_widgets(9)
π snd_soc_dapm_dai_get_connected_widgets (and the Kernel API Manual, bestie) β¨
okay so picture this: you're deep in the kernel, it's giving "Kernel API Manual" energy, and you need to know what audio widgets are actually alive rn. That's this function. Her full government name is snd_soc_dapm_dai_get_connected_widgets. Iconic, long, slays.
πΈ NAME πΈ
snd_soc_dapm_dai_get_connected_widgets β query audio path and it's widgets. π (yes the original said "it's", we don't fix it, we respect the text fr fr)
π SYNOPSIS π
int snd_soc_dapm_dai_get_connected_widgets (struct snd_soc_dai *dai ,
int stream , struct snd_soc_dapm_widget_list **list , bool
(*custom_stop_condition)(struct snd_soc_dapm_widget *, enum
snd_soc_dapm_direction) );
β¨ ARGUMENTS β¨
daiβ the soc DAI. that's the main character right there πstreamβ stream direction. which way the vibes flow π¦listβ list of active widgets for this stream. the guest list, basically πcustom_stop_conditionβ (optional) a function meant to stop the widget graph walk based on custom logic. like your bestie grabbing your arm at the mall going "girl we're done here" π
π DESCRIPTION π
So what does she do? She queries the DAPM graph as to whether a valid audio stream path exists for the initial stream specified by name. This takes into account current mixer and mux kcontrol settings. Then she creates a list of valid widgets. Obsessed. β¨
Optionally, she can be supplied with a function acting as a stopping condition. This function takes the dapm widget currently being examined and the walk direction as an arguments, and it should return true if the walk should be stopped and false otherwise. Very demure, very "know when to leave the party" energy π
Returns the number of valid paths or negative error. So like β positive number = we ate π, negative = it's giving π.
π«Ά SEE ALSO π«Ά
Kernel file ./sound/soc/soc-dapm.c and honestly the whole friend group:
snd_soc_dapm_kcontrol_to_widget(9)snd_soc_dapm_kcontrol_to_dapm(9)snd_soc_dapm_kcontrol_to_component(9)snd_soc_dapm_force_bias_level(9)snd_soc_dapm_init_bias_level(9)snd_soc_dapm_set_bias_level(9)snd_soc_dapm_get_bias_level(9)snd_soc_dapm_free_widget(9)snd_soc_dapm_sync_unlocked(9)snd_soc_dapm_sync(9)snd_soc_dapm_add_routes(9)snd_soc_dapm_del_routes(9)snd_soc_dapm_new_widgets(9)snd_soc_dapm_get_volsw(9)snd_soc_dapm_put_volsw(9)snd_soc_dapm_get_enum_double(9)snd_soc_dapm_put_enum_double(9)snd_soc_dapm_info_pin_switch(9)snd_soc_dapm_get_pin_switch(9)snd_soc_dapm_get_component_pin_switch(9)snd_soc_dapm_put_pin_switch(9)snd_soc_dapm_put_component_pin_switch(9)snd_soc_dapm_new_control(9)snd_soc_dapm_new_controls(9)snd_soc_dapm_new_dai_widgets(9)snd_soc_dapm_stream_event(9)snd_soc_dapm_enable_pin_unlocked(9)snd_soc_dapm_enable_pin(9)snd_soc_dapm_force_enable_pin_unlocked(9)snd_soc_dapm_force_enable_pin(9)snd_soc_dapm_disable_pin_unlocked(9)snd_soc_dapm_disable_pin(9)snd_soc_dapm_get_pin_status(9)snd_soc_dapm_ignore_suspend(9)snd_soc_dapm_pin_has_prefix(9)snd_soc_dapm_free(9)
and that's the whole page, no cap π this lil baddie lives in ./sound/soc, and the manual itself is dated October 2026 β yeah, from the future, main character energy only. byeee π§ββοΈβ
π¦ 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