snd_hda_set_dev_select(9)
π snd_hda_set_dev_select(9) β the pin's device-entry-select glow-up
okay so bestie, we're in the Kernel API Manual and today's main character is the page snd_hda_set_dev_select(9). It's a tiny little function, but it does one very specific thing and it does it slayfully. Let's get into it π«Ά
β¨ SYNOPSIS β¨
int snd_hda_set_dev_select (struct hda_codec *codec , hda_nid_t nid ,
int dev_id );
like, that's it. three lil params. no drama π
π ARGUMENTS π
codecβ the HDA codec. the whole vibe container, the one everything hangs off of.nidβ NID of the pin you're setting device entry select on. yes, the pin. that one.dev_idβ the device entry id you want to set. the actual value. the moment.
πΈ DESCRIPTION πΈ
Set the device entry select on the pin nid.
no cap, that's the whole description. it sets the device entry select. on the pin. on nid. iconic brevity honestly, the manpage said what it said and left π
π SEE ALSO π
okay this section is a lot and I mean that in the most loving way β it's the whole friend group of HDA codec functions, plus the file they live in. grab a snack π
- 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_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_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)
and that's the whole page, bestie. nothing scary, just a pin, a dev_id, and a whole extended family of snd_hda_* functions you'll probably meet at the function-reunion someday π€
this lil cutie lives over in ./sound/hda/common, and the version vibes are dated October 2026. go set that device entry select, you absolute legend πβ¨π
π¦ 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