snd_hda_code...power_to_all(9)
β¨ snd_hda_codec_set_power_to_all(9) β¨
okay so bestie, welcome to the Kernel API Manual π β this is the page for snd_hda_codec_set_power_to_all, and honestly? it's giving "small function, big responsibilities." sit down, grab a strawberry π, let's get into it.
πΈ NAME πΈ
snd_hda_codec_set_power_to_all β literally just sets the power state to all widgets π₯
π SYNOPSIS π
void snd_hda_codec_set_power_to_all (struct hda_codec *codec , hda_nid_t
fg , unsigned int power_state );
that's it. that's the whole signature. no cap. β¨
π¦ ARGUMENTS π¦
codecβ the HDA codec π this is the main character of the whole operationfgβ function group (not used now π so likeβ¦ it's there, but it's not doing anything rn)power_stateβ the power state to set, specified asAC_PWRST_*values β‘
π DESCRIPTION π
so here's the vibe: this function takes the power state you hand it and sets it to all widgets that have the power control. every single one. periodt. π
and here's the lil plot twist β if the codec has power_filter set, the function evaluates the power state and filters it out if it's unchanged as D3. like, if it's already vibing at D3, no need to bother it again, yk? π«Ά
π SEE ALSO π
the kernel file lives at ./sound/hda/common/codec.c β and honestly the friend group here is huge, so let's list every single one bc we don't skip anyone in this house π
snd_hda_sequence_write(9), snd_hda_get_conn_list(9), snd_hda_get_connections(9), snd_hda_override_conn_list(9), snd_hda_get_conn_index(9), snd_hda_get_num_devices(9), snd_hda_get_devices(9), snd_hda_get_dev_select(9), snd_hda_set_dev_select(9), snd_hda_codec_set_pincfg(9), snd_hda_codec_get_pincfg(9), snd_hda_codec_set_pin_target(9), snd_hda_codec_get_pin_target(9), snd_hda_shutup_pins(9), snd_hda_codec_cleanup_for_unbind(9), snd_hda_codec_register(9), snd_hda_codec_unregister(9), snd_hda_codec_device_init(9), snd_hda_codec_new(9), snd_hda_codec_update_widgets(9), snd_hda_codec_setup_stream(9), __snd_hda_codec_cleanup_stream(9), query_amp_caps(9), snd_hda_check_amp_caps(9), snd_hda_override_amp_caps(9), snd_hda_codec_amp_update(9), snd_hda_codec_amp_stereo(9), snd_hda_codec_amp_init(9), snd_hda_codec_amp_init_stereo(9), snd_hda_mixer_amp_volume_info(9), snd_hda_mixer_amp_volume_get(9), snd_hda_mixer_amp_volume_put(9), snd_hda_mixer_amp_tlv(9), snd_hda_set_vmaster_tlv(9), snd_hda_find_mixer_ctl(9), snd_hda_ctl_add(9), snd_hda_ctls_clear(9), snd_hda_lock_devices(9), snd_hda_unlock_devices(9), snd_hda_codec_reset(9), __snd_hda_add_vmaster(9), snd_hda_add_vmaster_hook(9), snd_hda_sync_vmaster_hook(9), snd_hda_mixer_amp_switch_info(9), snd_hda_mixer_amp_switch_get(9), snd_hda_mixer_amp_switch_put(9), snd_hda_create_dig_out_ctls(9), snd_hda_spdif_out_of_nid(9), snd_hda_spdif_ctls_unassign(9), snd_hda_spdif_ctls_assign(9), snd_hda_create_spdif_share_sw(9), snd_hda_create_spdif_in_ctls(9), snd_hda_codec_eapd_power_filter(9), snd_hda_codec_prepare(9), snd_hda_codec_cleanup(9), snd_hda_add_new_ctls(9), snd_hda_codec_set_power_save(9), snd_hda_set_power_save(9), snd_hda_check_amp_list_power(9), snd_hda_input_mux_info(9), snd_hda_input_mux_put(9), snd_hda_enum_helper_info(9), snd_hda_multi_out_dig_open(9), snd_hda_multi_out_dig_prepare(9), snd_hda_multi_out_dig_cleanup(9), snd_hda_multi_out_dig_close(9), snd_hda_multi_out_analog_open(9), snd_hda_multi_out_analog_prepare(9), snd_hda_multi_out_analog_cleanup(9), snd_hda_get_default_vref(9), snd_hda_correct_pin_ctl(9), _snd_hda_set_pin_ctl(9), snd_hda_add_imux_item(9), snd_hda_bus_reset_codecs(9), snd_hda_codec_set_gpio(9), snd_print_pcm_bits(9)
like I said. huge friend group. iykyk π
ngl bestie, fg is giving "invited to the party but just standing in the corner" β it's not used now, so don't stress about it π
and that's the whole page!! this came to you from ./sound/hda/common in October 2026 β β go forth, set those power states, and slay ππ§ββοΈβ¨
π¦ 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