snd_soc_dapm...t_bias_level(9)
π snd_soc_dapm_init_bias_level β a Kernel API Manual moment β¨
okay so bestie, you're reading snd_soc_dapm...t_bias_level(9) from the Kernel API Manual, and honestly? she's a little niche but she serves. this one is all about kicking your DAPM bias level into the right starting position. let's get into it π
β¨ NAME β¨
snd_soc_dapm_init_bias_level β literally just initialize the DAPM bias level. that's the whole job. no cap π
πΈ SYNOPSIS πΈ
void snd_soc_dapm_init_bias_level (struct snd_soc_dapm_context *dapm ,
enum snd_soc_bias_level level );
π¦ ARGUMENTS π¦
dapmβ the DAPM context you're initializing. this is the main character here π«Άlevelβ the DAPM level you want to initialize it to. set the vibe, bestie.
π DESCRIPTION π
okay so this is the important part, listen up π this function only sets the driver internal state of the DAPM level. it does not touch the state of the device. like, not even a little. the hardware is completely unbothered by what you just did.
which means β and this is the whole point β you should not be using this during normal operation. nope. not it. it exists purely to synchronize the internal state to the device state. think of it as making the bookkeeping match reality π₯
the classic use case, fr fr: during driver probe, when you want to set the DAPM level to the one that corresponds with the power-on reset state of the device. that's the moment. that's her moment. β¨
bestie if you actually want to change the DAPM state of the device, do not use this one. use snd_soc_dapm_set_bias_level instead. two VERY different functions, do not mix them up π
π SEE ALSO π
Kernel file ./sound/soc/soc-dapm.c β and literally her entire extended 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_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_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)
that's 36 whole functions. she's popular, what can I say π
π that's the whole page bestie! sourced straight from./sound/soc, dated October 2026, and it's thesnd_soc_dapm...t_bias_level(9)page β all hail the truncated title, the way it just... cut off mid-word. iconic. slay. 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