snd_hda_add_imux_item(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… snd_hda_add_imux_item(9) β€” the Kernel API Manual page, but make it make sense

okay bestie so this is a page from the Kernel API Manual (yes, the actual kernel, like, the big one 🐧) and today's main character is snd_hda_add_imux_item(9). It's a little function that adds an item to input_mux, and it's way less scary than the name makes it look. Promise. 🫢


✨ NAME ✨

snd_hda_add_imux_item β€” add an item to input_mux, literally what it says on the tin πŸŽ€


🌸 SYNOPSIS 🌸

int snd_hda_add_imux_item (struct hda_codec *codec , struct
       hda_input_mux *imux , const char *label , int index , int *type_idx );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • codec β€” the HDA codec. that's your whole guy right there πŸ’–
  • imux β€” the imux helper object, aka the thing we're adding to
  • label β€” the name of the imux item you're assigning
  • index β€” the index number of the imux item you're assigning
  • type_idx β€” pointer to store the resultant label index in

πŸ‘‘ DESCRIPTION πŸ‘‘

ok so here's the whole vibe: when the same label is already used in the existing items, a number suffix gets appended to the label. iconic behaviour, honestly β€” no duplicates, no drama πŸ’…

And that label index number? It gets stored in type_idx whenever you hand over a non-NULL pointer. So if you pass a real pointer, you get the receipts. If you pass NULL, you simply don't. your call, bestie 🫢


πŸ”₯ SEE ALSO πŸ”₯

okay this list is long long, but we do not skip a single one, because every single cross-reference is part of the lore. no cap. πŸ“šβœ¨

Kernel file ./sound/hda/common/codec.c β€” and then, in order: 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_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_bus_reset_codecs(9), snd_hda_codec_set_gpio(9), snd_print_pcm_bits(9).

like… go off, cross-references πŸ‘ every last one of you matters πŸ’œ


ngl the useful bit is tiny: label collision β†’ number suffix gets tacked on, and the resulting index lands in *type_idx if it's not NULL. that's the whole tea. πŸ“

and that's the page!! this one lives under ./sound/hda/common, and the version of record is dated October 2026 β€” so when you cite it, cite it with confidence, bestie. mwah πŸ’‹βœ¨πŸŽ€

πŸ“¦ where this page comes from