snd_soc_dapm...pin_unlocked(9)
β¨ NAME β¨
okay so welcome to the Kernel API Manual, bestie β today's main character is snd_soc_dapm_force_enable_pin_unlocked, and its whole vibe is: force a pin to be enabled. that's it, that's the job π
πΈ SYNOPSIS πΈ
int snd_soc_dapm_force_enable_pin_unlocked (struct snd_soc_dapm_context
*dapm , const char *pin );
π ARGUMENTS π
dapmβ the DAPM context, aka the little world this pin lives in π«Άpinβ the pin name, literally just the name of the pin you're about to force-enable β¨
π DESCRIPTION π
so what does it actually do? it enables an input/output pin regardless of any other state β like, no matter what else is going on, this pin is getting enabled, periodt π₯
it's intended for use with microphone bias supplies used in microphone jack detection β that's the exact use case, iykyk π€
and the big caveat: this one requires external locking π like, the _unlocked in the name is not a cute nickname β you gotta bring your own locks, fr fr.
π NOTE π
not me reminding you again β but yes, snd_soc_dapm_sync needs to be called after this for DAPM to do any widget power switching π so don't just force the pin and dip, bestie. sync after, or the widgets ain't switching. π
π¦ SEE ALSO π¦
Kernel file: ./sound/soc/soc-dapm.c β and here's the whole squad, no cap:
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_enable_pin(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)
xoxo, that's the whole page, bestie π source: ./sound/soc, dated October 2026, page snd_soc_dapm...pin_unlocked(9) β slay and stay locked πβ¨
π¦ 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