snd_hda_mix..._switch_info(9)
π snd_hda_mixer_amp_switch_info(9) β the Kernel API Manual page you didn't know you needed π
okay so bestie, welcome to the Kernel API Manual β¨ (yes the fancy-pants (9) section, we're in the big leagues now). This one's about a tiny little callback that tells the sound subsystem "hey, here's what this switch is", and honestly? it's giving behind-the-scenes main character energy. π¦
Also lowkey the page header is truncated to snd_hda_mix..._switch_info(9) because the full name is too long for the margin, so don't come for me β the real one lives in the NAME section below. π
πΈ NAME πΈ
snd_hda_mixer_amp_switch_info β the info callback for a standard AMP mixer switch π₯
β¨ SYNOPSIS β¨
int snd_hda_mixer_amp_switch_info (struct snd_kcontrol *kcontrol ,
struct snd_ctl_elem_info *uinfo );
π ARGUMENTS π
kcontrolβ the referred ctl element π (yes, "ctl" with no vowels, that's just how the kernel rolls, iykyk)uinfoβ pointer to get/store the data π«Ά
β DESCRIPTION β
So here's the tea β: the control element is supposed to have its private_value field set up via HDA_COMPOSE_AMP_VAL*() or related macros. That's the whole vibe check β if your private_value isn't composed properly, this callback simply won't have what it needs. No cap. π
fr fr, set up yourprivate_valuewithHDA_COMPOSE_AMP_VAL*()(or the related macros) before you come knocking β the manpage literally says "supposed to", so treat it as a requirement, bestie. π
π SEE ALSO π
Like, so many friends. The whole group chat, honestly π:
- Kernel file
./sound/hda/common/codec.c 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_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_set_power_to_all(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)
aaand that's the page, bestie! π«Ά she ate, no crumbs. π
π cute lil sign-off: this gem lives in./sound/hda/common, dated October 2026, and the page answers to the namesnd_hda_mix..._switch_info(9)when the margins get tight. πβ¨ bye bestie, go compose an AMP val π
π¦ 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