snd_soc_dapm_enable_pin(9)
β¨ snd_soc_dapm_enable_pin β¨
okay so bestie, we're in the Kernel API Manual today and the function we're stanning is snd_soc_dapm_enable_pin π
πΈ NAME πΈ
snd_soc_dapm_enable_pin β enable pin. that's it. that's the whole name. it enables a pin π
π¦ SYNOPSIS π¦
int snd_soc_dapm_enable_pin (struct snd_soc_dapm_context *dapm , const
char *pin );
like, it returns an int and takes two things. that's the vibe β¨
π ARGUMENTS π
dapmβ the DAPM context. yes queen, the whole context πpinβ the pin name. just the name, as aconst char *π
π₯ DESCRIPTION π₯
so what does it actually do? it enables an input/output pin and its parents or children widgets β but only iff there's a valid audio route and an active audio stream π like, it's conditional, it's not just gonna enable stuff for free. no cap.
π NOTE π
β οΈ bestie listen to me:snd_soc_dapm_syncneeds to be called after this, otherwise DAPM does not do any widget power switching. like, none. zero. zilch. the pin will just be sitting there π so please, for the love of everything, callsnd_soc_dapm_syncafter. it's giving prerequisites, it's giving "read the docs first" π«Ά
π SEE ALSO π
kernel file ./sound/soc/soc-dapm.c and like, the entire 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_dai_get_connected_widgets(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_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)
okay that's the whole page, mwah π this lil guy lives in ./sound/soc, it's from October 2026, and it's part of the Kernel API Manual β go forth and enable those pins responsibly, bestie π§ββοΈπ
π¦ 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