€•ŒŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ4/translations/zh_CN/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/zh_TW/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/it_IT/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/ja_JP/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/ko_KR/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/pt_BR/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/sp_SP/sound/kernel-api/alsa-driver-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒThe ALSA Driver API”h]”hŒThe ALSA Driver API”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒN/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api.rst”h´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒManagement of Cards and Devices”h]”hŒManagement of Cards and Devices”…”�”}”(hhÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhËh²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒCard Management”h]”hŒCard Management”…”�”}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhÜh²hh³hÊh´K ubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œsnd_device_alloc (C function)”Œc.snd_device_alloc”hNt”auh1híhhÜh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒCint snd_device_alloc (struct device **dev_p, struct snd_card *card)”h]”hŒdesc_signature_line”“”)�”}”(hŒBint snd_device_alloc(struct device **dev_p, struct snd_card *card)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jhj h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KyubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j!hj h²hh³j h´KyubhŒ desc_name”“”)�”}”(hŒsnd_device_alloc”h]”hŒ desc_sig_name”“”)�”}”(hŒsnd_device_alloc”h]”hŒsnd_device_alloc”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j8hj4ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j2hj h²hh³j h´KyubhŒdesc_parameterlist”“”)�”}”(hŒ.(struct device **dev_p, struct snd_card *card)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct device **dev_p”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j_hj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”jƒŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”j�Œ ASTIdentifier”“”)�”}”j˜j<sbŒc.snd_device_alloc”†”asbuh1hhj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j¸hj[ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj[ubj9)�”}”(hŒdev_p”h]”hŒdev_p”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjUubjZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjëubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¦Œc.snd_device_alloc”†”asbuh1hhjëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjëubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjëubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjUubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj h²hh³j h´Kyubeh}”(h]”h ]”h"]”h$]”h&]”jQjRŒ add_permalink”ˆuh1j Œsphinx_line_type”Œ declarator”hjh²hh³j h´Kyubah}”(h]”hüah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jh³j h´Kyhjh²hubhŒ desc_content”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒ7Allocate and initialize struct device for sound devices”h]”hŒ7Allocate and initialize struct device for sound devices”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Kyhjwh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j h´Kyubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”Œdomain”j–Œobjtype”j”Œdesctype”j”Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1hþh²hhhÜh³Nh´NubhŒ container”“”)�”}”(hŒÐ**Parameters** ``struct device **dev_p`` pointer to store the allocated device ``struct snd_card *card`` card to assign, optional **Description** For releasing the allocated device, call put_device().”h]”(j{)�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hj¦h]”hŒ Parameters”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K}hj ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ@``struct device **dev_p`` pointer to store the allocated device ”h]”(hŒterm”“”)�”}”(hŒ``struct device **dev_p``”h]”hŒliteral”“”)�”}”(hjÍh]”hŒstruct device **dev_p”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KzhjÅubhŒ definition”“”)�”}”(hhh]”j{)�”}”(hŒ%pointer to store the allocated device”h]”hŒ%pointer to store the allocated device”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jäh´Kzhjçubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jäh´KzhjÀubjÄ)�”}”(hŒ3``struct snd_card *card`` card to assign, optional ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj h]”hŒstruct snd_card *card”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K{hjubjæ)�”}”(hhh]”j{)�”}”(hŒcard to assign, optional”h]”hŒcard to assign, optional”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´K{hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´K{hjÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjEh]”hŒ Description”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K}hj ubj{)�”}”(hŒ6For releasing the allocated device, call put_device().”h]”hŒ6For releasing the allocated device, call put_device().”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K|hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_new (C function)”Œc.snd_card_new”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ…int snd_card_new (struct device *parent, int idx, const char *xid, struct module *module, int extra_size, struct snd_card **card_ret)”h]”j )�”}”(hŒ„int snd_card_new(struct device *parent, int idx, const char *xid, struct module *module, int extra_size, struct snd_card **card_ret)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†h²hh³j˜h´K�ubj3)�”}”(hŒ snd_card_new”h]”j9)�”}”(hŒ snd_card_new”h]”hŒ snd_card_new”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj†h²hh³j˜h´K�ubjT)�”}”(hŒt(struct device *parent, int idx, const char *xid, struct module *module, int extra_size, struct snd_card **card_ret)”h]”(jZ)�”}”(hŒstruct device *parent”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÃubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jçŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j­sbŒc.snd_card_new”†”asbuh1hhjÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÃubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÃubj9)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÃubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ubjZ)�”}”(hŒint idx”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubj9)�”}”(hŒidx”h]”hŒidx”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ubjZ)�”}”(hŒconst char *xid”h]”(j`)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjjubj9)�”}”(hŒxid”h]”hŒxid”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ubjZ)�”}”(hŒstruct module *module”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÈubh)�”}”(hhh]”j9)�”}”(hŒmodule”h]”hŒmodule”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jìŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_card_new”†”asbuh1hhjÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÈubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÈubj9)�”}”(hŒmodule”h]”hŒmodule”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ubjZ)�”}”(hŒint extra_size”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8ubj9)�”}”(hŒ extra_size”h]”hŒ extra_size”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ubjZ)�”}”(hŒstruct snd_card **card_ret”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjmubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‘Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_card_new”†”asbuh1hhjmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjmubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjmubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjmubj9)�”}”(hŒcard_ret”h]”hŒcard_ret”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj†h²hh³j˜h´K�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‚h²hh³j˜h´K�ubah}”(h]”j}ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j˜h´K�hjh²hubjv)�”}”(hhh]”j{)�”}”(hŒ+create and initialize a soundcard structure”h]”hŒ+create and initialize a soundcard structure”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K�hjüh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j˜h´K�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jjšjj›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX�**Parameters** ``struct device *parent`` the parent device object ``int idx`` card index (address) [0 ... (SNDRV_CARDS-1)] ``const char *xid`` card identification (ASCII string) ``struct module *module`` top level module for locking ``int extra_size`` allocate this extra size after the main soundcard structure ``struct snd_card **card_ret`` the pointer to store the created card instance **Description** The function allocates snd_card instance via kzalloc with the given space for the driver to use freely. The allocated struct is stored in the given card_ret pointer. **Return** Zero if successful or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj!h]”hŒ Parameters”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K¡hjubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct device *parent`` the parent device object ”h]”(jÊ)�”}”(hŒ``struct device *parent``”h]”jÐ)�”}”(hj@h]”hŒstruct device *parent”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Kžhj:ubjæ)�”}”(hhh]”j{)�”}”(hŒthe parent device object”h]”hŒthe parent device object”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jUh´KžhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jUh´Kžhj7ubjÄ)�”}”(hŒ9``int idx`` card index (address) [0 ... (SNDRV_CARDS-1)] ”h]”(jÊ)�”}”(hŒ ``int idx``”h]”jÐ)�”}”(hjyh]”hŒint idx”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KŸhjsubjæ)�”}”(hhh]”j{)�”}”(hŒ,card index (address) [0 ... (SNDRV_CARDS-1)]”h]”hŒ,card index (address) [0 ... (SNDRV_CARDS-1)]”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽh´KŸhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽh´KŸhj7ubjÄ)�”}”(hŒ7``const char *xid`` card identification (ASCII string) ”h]”(jÊ)�”}”(hŒ``const char *xid``”h]”jÐ)�”}”(hj²h]”hŒconst char *xid”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K hj¬ubjæ)�”}”(hhh]”j{)�”}”(hŒ"card identification (ASCII string)”h]”hŒ"card identification (ASCII string)”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÇh´K hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÇh´K hj7ubjÄ)�”}”(hŒ7``struct module *module`` top level module for locking ”h]”(jÊ)�”}”(hŒ``struct module *module``”h]”jÐ)�”}”(hjëh]”hŒstruct module *module”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K¡hjåubjæ)�”}”(hhh]”j{)�”}”(hŒtop level module for locking”h]”hŒtop level module for locking”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´K¡hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjåubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´K¡hj7ubjÄ)�”}”(hŒO``int extra_size`` allocate this extra size after the main soundcard structure ”h]”(jÊ)�”}”(hŒ``int extra_size``”h]”jÐ)�”}”(hj$h]”hŒint extra_size”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K¢hjubjæ)�”}”(hhh]”j{)�”}”(hŒ;allocate this extra size after the main soundcard structure”h]”hŒ;allocate this extra size after the main soundcard structure”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9h´K¢hj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9h´K¢hj7ubjÄ)�”}”(hŒN``struct snd_card **card_ret`` the pointer to store the created card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card **card_ret``”h]”jÐ)�”}”(hj]h]”hŒstruct snd_card **card_ret”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K£hjWubjæ)�”}”(hhh]”j{)�”}”(hŒ.the pointer to store the created card instance”h]”hŒ.the pointer to store the created card instance”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jrh´K£hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjWubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jrh´K£hj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj˜h]”hŒ Description”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K¥hjubhŒ block_quote”“”)�”}”(hŒ§The function allocates snd_card instance via kzalloc with the given space for the driver to use freely. The allocated struct is stored in the given card_ret pointer. ”h]”j{)�”}”(hŒ¦The function allocates snd_card instance via kzalloc with the given space for the driver to use freely. The allocated struct is stored in the given card_ret pointer.”h]”hŒ¦The function allocates snd_card instance via kzalloc with the given space for the driver to use freely. The allocated struct is stored in the given card_ret pointer.”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K¤hj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jÂh´K¤hjubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjËh]”hŒReturn”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K¨hjubj{)�”}”(hŒ,Zero if successful or a negative error code.”h]”hŒ,Zero if successful or a negative error code.”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´K©hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_devm_card_new (C function)”Œc.snd_devm_card_new”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_devm_card_new (struct device *parent, int idx, const char *xid, struct module *module, size_t extra_size, struct snd_card **card_ret)”h]”j )�”}”(hŒŒint snd_devm_card_new(struct device *parent, int idx, const char *xid, struct module *module, size_t extra_size, struct snd_card **card_ret)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KËubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj h²hh³jh´KËubj3)�”}”(hŒsnd_devm_card_new”h]”j9)�”}”(hŒsnd_devm_card_new”h]”hŒsnd_devm_card_new”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj h²hh³jh´KËubjT)�”}”(hŒw(struct device *parent, int idx, const char *xid, struct module *module, size_t extra_size, struct snd_card **card_ret)”h]”(jZ)�”}”(hŒstruct device *parent”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjIubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjIubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jmŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j3sbŒc.snd_devm_card_new”†”asbuh1hhjIubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjIubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjIubj9)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjIubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjEubjZ)�”}”(hŒint idx”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj»ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»ubj9)�”}”(hŒidx”h]”hŒidx”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjEubjZ)�”}”(hŒconst char *xid”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjðubj9)�”}”(hŒxid”h]”hŒxid”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjEubjZ)�”}”(hŒstruct module *module”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjM ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM ubh)�”}”(hhh]”j9)�”}”(hŒmodule”h]”hŒmodule”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjl ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jq Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j‡Œc.snd_devm_card_new”†”asbuh1hhjM ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjM ubj9)�”}”(hŒmodule”h]”hŒmodule”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjM ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjEubjZ)�”}”(hŒsize_t extra_size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÆ Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j‡Œc.snd_devm_card_new”†”asbuh1hhj½ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½ ubj9)�”}”(hŒ extra_size”h]”hŒ extra_size”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj½ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjEubjZ)�”}”(hŒstruct snd_card **card_ret”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j) Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j‡Œc.snd_devm_card_new”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj9)�”}”(hŒcard_ret”h]”hŒcard_ret”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjEubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj h²hh³jh´KËubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³jh´KËubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´KËhjh²hubjv)�”}”(hhh]”j{)�”}”(hŒ managed snd_card object creation”h]”hŒ managed snd_card object creation”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KËhj” h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³jh´KËubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¯ jšj¯ j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX´**Parameters** ``struct device *parent`` the parent device object ``int idx`` card index (address) [0 ... (SNDRV_CARDS-1)] ``const char *xid`` card identification (ASCII string) ``struct module *module`` top level module for locking ``size_t extra_size`` allocate this extra size after the main soundcard structure ``struct snd_card **card_ret`` the pointer to store the created card instance **Description** This function works like snd_card_new() but manages the allocated resource via devres, i.e. you don't need to free explicitly. When a snd_card object is created with this function and registered via snd_card_register(), the very first devres action to call snd_card_free() is added automatically. In that way, the resource disconnection is assured at first, then released in the expected order. If an error happens at the probe before snd_card_register() is called and there have been other devres resources, you'd need to free the card manually via snd_card_free() call in the error; otherwise it may lead to UAF due to devres call orders. You can use snd_card_free_on_error() helper for handling it more easily. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¹ h]”hŒ Parameters”…”�”}”(hj» h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj· ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÏhj³ ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct device *parent`` the parent device object ”h]”(jÊ)�”}”(hŒ``struct device *parent``”h]”jÐ)�”}”(hjØ h]”hŒstruct device *parent”…”�”}”(hjÚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÖ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÌhjÒ ubjæ)�”}”(hhh]”j{)�”}”(hŒthe parent device object”h]”hŒthe parent device object”…”�”}”(hjñ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jí h´KÌhjî ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jí h´KÌhjÏ ubjÄ)�”}”(hŒ9``int idx`` card index (address) [0 ... (SNDRV_CARDS-1)] ”h]”(jÊ)�”}”(hŒ ``int idx``”h]”jÐ)�”}”(hj h]”hŒint idx”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÍhj ubjæ)�”}”(hhh]”j{)�”}”(hŒ,card index (address) [0 ... (SNDRV_CARDS-1)]”h]”hŒ,card index (address) [0 ... (SNDRV_CARDS-1)]”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j& h´KÍhj' ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j& h´KÍhjÏ ubjÄ)�”}”(hŒ7``const char *xid`` card identification (ASCII string) ”h]”(jÊ)�”}”(hŒ``const char *xid``”h]”jÐ)�”}”(hjJ h]”hŒconst char *xid”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjH ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÎhjD ubjæ)�”}”(hhh]”j{)�”}”(hŒ"card identification (ASCII string)”h]”hŒ"card identification (ASCII string)”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_ h´KÎhj` ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjD ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_ h´KÎhjÏ ubjÄ)�”}”(hŒ7``struct module *module`` top level module for locking ”h]”(jÊ)�”}”(hŒ``struct module *module``”h]”jÐ)�”}”(hjƒ h]”hŒstruct module *module”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÏhj} ubjæ)�”}”(hhh]”j{)�”}”(hŒtop level module for locking”h]”hŒtop level module for locking”…”�”}”(hjœ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j˜ h´KÏhj™ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj} ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜ h´KÏhjÏ ubjÄ)�”}”(hŒR``size_t extra_size`` allocate this extra size after the main soundcard structure ”h]”(jÊ)�”}”(hŒ``size_t extra_size``”h]”jÐ)�”}”(hj¼ h]”hŒsize_t extra_size”…”�”}”(hj¾ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjº ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÐhj¶ ubjæ)�”}”(hhh]”j{)�”}”(hŒ;allocate this extra size after the main soundcard structure”h]”hŒ;allocate this extra size after the main soundcard structure”…”�”}”(hjÕ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÑ h´KÐhjÒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¶ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÑ h´KÐhjÏ ubjÄ)�”}”(hŒN``struct snd_card **card_ret`` the pointer to store the created card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card **card_ret``”h]”jÐ)�”}”(hjõ h]”hŒstruct snd_card **card_ret”…”�”}”(hj÷ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjó ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÑhjï ubjæ)�”}”(hhh]”j{)�”}”(hŒ.the pointer to store the created card instance”h]”hŒ.the pointer to store the created card instance”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´KÑhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjï ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´KÑhjÏ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj³ ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj0 h]”hŒ Description”…”�”}”(hj2 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj. ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÓhj³ ubj{)�”}”(hŒ~This function works like snd_card_new() but manages the allocated resource via devres, i.e. you don't need to free explicitly.”h]”hŒ€This function works like snd_card_new() but manages the allocated resource via devres, i.e. you don’t need to free explicitly.”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÒhj³ ubj{)�”}”(hX When a snd_card object is created with this function and registered via snd_card_register(), the very first devres action to call snd_card_free() is added automatically. In that way, the resource disconnection is assured at first, then released in the expected order.”h]”hX When a snd_card object is created with this function and registered via snd_card_register(), the very first devres action to call snd_card_free() is added automatically. In that way, the resource disconnection is assured at first, then released in the expected order.”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÕhj³ ubj{)�”}”(hX?If an error happens at the probe before snd_card_register() is called and there have been other devres resources, you'd need to free the card manually via snd_card_free() call in the error; otherwise it may lead to UAF due to devres call orders. You can use snd_card_free_on_error() helper for handling it more easily.”h]”hXAIf an error happens at the probe before snd_card_register() is called and there have been other devres resources, you’d need to free the card manually via snd_card_free() call in the error; otherwise it may lead to UAF due to devres call orders. You can use snd_card_free_on_error() helper for handling it more easily.”…”�”}”(hjd h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´KÚhj³ ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hju h]”hŒReturn”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjs ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Kàhj³ ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hj‹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Káhj³ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_card_free_on_error (C function)”Œc.snd_card_free_on_error”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8int snd_card_free_on_error (struct device *dev, int ret)”h]”j )�”}”(hŒ7int snd_card_free_on_error(struct device *dev, int ret)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶ h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Kþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶ h²hh³jÈ h´Kþubj3)�”}”(hŒsnd_card_free_on_error”h]”j9)�”}”(hŒsnd_card_free_on_error”h]”hŒsnd_card_free_on_error”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj× ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¶ h²hh³jÈ h´KþubjT)�”}”(hŒ(struct device *dev, int ret)”h]”(jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj÷ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjó ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÝ sbŒc.snd_card_free_on_error”†”asbuh1hhjó ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjó ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjó ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjï ubjZ)�”}”(hŒint ret”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hji h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhje ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hje ubj9)�”}”(hŒret”h]”hŒret”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hje ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjï ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¶ h²hh³jÈ h´Kþubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj² h²hh³jÈ h´Kþubah}”(h]”j­ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÈ h´Kþhj¯ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ-a small helper for handling devm probe errors”h]”hŒ-a small helper for handling devm probe errors”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Kþhj¬ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¯ h²hh³jÈ h´Kþubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÇ jšjÇ j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hXz**Parameters** ``struct device *dev`` the managed device object ``int ret`` the return code from the probe callback **Description** This function handles the explicit snd_card_free() call at the error from the probe callback. It's just a small helper for simplifying the error handling with the managed devices. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÑ h]”hŒ Parameters”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÏ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjË ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ1``struct device *dev`` the managed device object ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjð h]”hŒstruct device *dev”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjî ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Kÿhjê ubjæ)�”}”(hhh]”j{)�”}”(hŒthe managed device object”h]”hŒthe managed device object”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Kÿhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjê ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´Kÿhjç ubjÄ)�”}”(hŒ4``int ret`` the return code from the probe callback ”h]”(jÊ)�”}”(hŒ ``int ret``”h]”jÐ)�”}”(hj)h]”hŒint ret”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mhj#ubjæ)�”}”(hhh]”j{)�”}”(hŒ'the return code from the probe callback”h]”hŒ'the return code from the probe callback”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j>h´Mhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j>h´Mhjç ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjË ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjdh]”hŒ Description”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjË ubj{)�”}”(hŒ´This function handles the explicit snd_card_free() call at the error from the probe callback. It's just a small helper for simplifying the error handling with the managed devices.”h]”hŒ¶This function handles the explicit snd_card_free() call at the error from the probe callback. It’s just a small helper for simplifying the error handling with the managed devices.”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjË ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj‹h]”hŒReturn”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjË ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjË ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_ref (C function)”Œc.snd_card_ref”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ(struct snd_card * snd_card_ref (int idx)”h]”j )�”}”(hŒ&struct snd_card *snd_card_ref(int idx)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÌh²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌh²hh³jÝh´M}ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjìubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jñŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œ snd_card_ref”sbŒc.snd_card_ref”†”asbuh1hhjÌh²hh³jÝh´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌh²hh³jÝh´M}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌh²hh³jÝh´M}ubj3)�”}”(hŒ snd_card_ref”h]”j9)�”}”(hj h]”hŒ snd_card_ref”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj+ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÌh²hh³jÝh´M}ubjT)�”}”(hŒ (int idx)”h]”jZ)�”}”(hŒint idx”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjFubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjFubj9)�”}”(hŒidx”h]”hŒidx”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjBubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÌh²hh³jÝh´M}ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÈh²hh³jÝh´M}ubah}”(h]”jÃah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÝh´M}hjÅh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Get the card object from the index”h]”hŒ"Get the card object from the index”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M}hj�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÅh²hh³jÝh´M}ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¨jšj¨j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hŒ×**Parameters** ``int idx`` the card index **Description** Returns a card object corresponding to the given index or NULL if not found. Release the object via snd_card_unref(). **Return** a card object or NULL”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj²h]”hŒ Parameters”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M�hj¬ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ``int idx`` the card index ”h]”(jÊ)�”}”(hŒ ``int idx``”h]”jÐ)�”}”(hjÑh]”hŒint idx”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M~hjËubjæ)�”}”(hhh]”j{)�”}”(hŒthe card index”h]”hŒthe card index”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jæh´M~hjçubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jæh´M~hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¬ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj h]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M€hj¬ubj{)�”}”(hŒuReturns a card object corresponding to the given index or NULL if not found. Release the object via snd_card_unref().”h]”hŒuReturns a card object corresponding to the given index or NULL if not found. Release the object via snd_card_unref().”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mhj¬ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj3h]”hŒReturn”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M‚hj¬ubj{)�”}”(hŒa card object or NULL”h]”hŒa card object or NULL”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mƒhj¬ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_card_disconnect (C function)”Œc.snd_card_disconnect”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ0void snd_card_disconnect (struct snd_card *card)”h]”j )�”}”(hŒ/void snd_card_disconnect(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjth²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Måubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjth²hh³j†h´Måubj3)�”}”(hŒsnd_card_disconnect”h]”j9)�”}”(hŒsnd_card_disconnect”h]”hŒsnd_card_disconnect”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj•ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjth²hh³j†h´MåubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj±ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÐubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÕŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j›sbŒc.snd_card_disconnect”†”asbuh1hhj±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj±ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj±ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj­ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjth²hh³j†h´Måubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjph²hh³j†h´Måubah}”(h]”jkah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j†h´Måhjmh²hubjv)�”}”(hhh]”j{)�”}”(hŒ9disconnect all APIs from the file-operations (user space)”h]”hŒ9disconnect all APIs from the file-operations (user space)”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Måhj5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjmh²hh³j†h´Måubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jPjšjPj›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hXS**Parameters** ``struct snd_card *card`` soundcard structure **Description** Disconnects all APIs from the file-operations (user space). **Return** Zero, otherwise a negative error code. **Note** The current implementation replaces all active file->f_op with special dummy file operations (they do nothing except release).”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjZh]”hŒ Parameters”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MéhjTubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjyh]”hŒstruct snd_card *card”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mæhjsubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽh´Mæhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽh´Mæhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjTubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj´h]”hŒ Description”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MèhjTubj¯)�”}”(hŒf_op with special dummy file operations (they do nothing except release).”h]”(jÊ)�”}”(hŒFThe current implementation replaces all active file->f_op with special”h]”hŒFThe current implementation replaces all active file->f_op with special”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mìhj%ubjæ)�”}”(hhh]”j{)�”}”(hŒ7dummy file operations (they do nothing except release).”h]”hŒ7dummy file operations (they do nothing except release).”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Míhj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7h´Mìhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjTubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_card_disconnect_sync (C function)”Œc.snd_card_disconnect_sync”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ5void snd_card_disconnect_sync (struct snd_card *card)”h]”j )�”}”(hŒ4void snd_card_disconnect_sync(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjxh²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxh²hh³jŠh´M5ubj3)�”}”(hŒsnd_card_disconnect_sync”h]”j9)�”}”(hŒsnd_card_disconnect_sync”h]”hŒsnd_card_disconnect_sync”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjxh²hh³jŠh´M5ubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjµubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÙŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jŸsbŒc.snd_card_disconnect_sync”†”asbuh1hhjµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjµubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjµubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj±ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjxh²hh³jŠh´M5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjth²hh³jŠh´M5ubah}”(h]”joah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŠh´M5hjqh²hubjv)�”}”(hhh]”j{)�”}”(hŒ/disconnect card and wait until files get closed”h]”hŒ/disconnect card and wait until files get closed”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M5hj9h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjqh²hh³jŠh´M5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jTjšjTj›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX@**Parameters** ``struct snd_card *card`` card object to disconnect **Description** This calls snd_card_disconnect() for disconnecting all belonging components and waits until all pending files get closed. It assures that all accesses from user-space finished so that the driver can release its resources gracefully.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj^h]”hŒ Parameters”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M9hjXubj¿)�”}”(hhh]”jÄ)�”}”(hŒ4``struct snd_card *card`` card object to disconnect ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj}h]”hŒstruct snd_card *card”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M6hjwubjæ)�”}”(hhh]”j{)�”}”(hŒcard object to disconnect”h]”hŒcard object to disconnect”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j’h´M6hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’h´M6hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjXubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¸h]”hŒ Description”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M8hjXubj{)�”}”(hŒèThis calls snd_card_disconnect() for disconnecting all belonging components and waits until all pending files get closed. It assures that all accesses from user-space finished so that the driver can release its resources gracefully.”h]”hŒèThis calls snd_card_disconnect() for disconnecting all belonging components and waits until all pending files get closed. It assures that all accesses from user-space finished so that the driver can release its resources gracefully.”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M7hjXubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_card_free_when_closed (C function)”Œc.snd_card_free_when_closed”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ6void snd_card_free_when_closed (struct snd_card *card)”h]”j )�”}”(hŒ5void snd_card_free_when_closed(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjùh²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mgubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjùh²hh³j h´Mgubj3)�”}”(hŒsnd_card_free_when_closed”h]”j9)�”}”(hŒsnd_card_free_when_closed”h]”hŒsnd_card_free_when_closed”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjùh²hh³j h´MgubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjUubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jZŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j sbŒc.snd_card_free_when_closed”†”asbuh1hhj6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj6ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjùh²hh³j h´Mgubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjõh²hh³j h´Mgubah}”(h]”jðah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j h´Mghjòh²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Disconnect the card, free it later eventually”h]”hŒ-Disconnect the card, free it later eventually”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mghjºh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjòh²hh³j h´Mgubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÕjšjÕj›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX�**Parameters** ``struct snd_card *card`` soundcard structure **Description** Unlike snd_card_free(), this function doesn't try to release the card resource immediately, but tries to disconnect at first. When the card is still in use, the function returns before freeing the resources. The card resources will be freed when the refcount gets to zero. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjßh]”hŒ Parameters”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MkhjÙubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjþh]”hŒstruct snd_card *card”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mhhjøubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Mhhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjøubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´Mhhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÙubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj9h]”hŒ Description”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MjhjÙubj{)�”}”(hXUnlike snd_card_free(), this function doesn't try to release the card resource immediately, but tries to disconnect at first. When the card is still in use, the function returns before freeing the resources. The card resources will be freed when the refcount gets to zero.”•h]”hXUnlike snd_card_free(), this function doesn’t try to release the card resource immediately, but tries to disconnect at first. When the card is still in use, the function returns before freeing the resources. The card resources will be freed when the refcount gets to zero.”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MihjÙubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj`h]”hŒReturn”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MnhjÙubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MohjÙubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_free (C function)”Œc.snd_card_free”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ*void snd_card_free (struct snd_card *card)”h]”j )�”}”(hŒ)void snd_card_free(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¡h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡h²hh³j³h´M}ubj3)�”}”(hŒ snd_card_free”h]”j9)�”}”(hŒ snd_card_free”h]”hŒ snd_card_free”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¡h²hh³j³h´M}ubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÞubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÈsbŒc.snd_card_free”†”asbuh1hhjÞubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÞubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÚubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¡h²hh³j³h´M}ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�h²hh³j³h´M}ubah}”(h]”j˜ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j³h´M}hjšh²hubjv)�”}”(hhh]”j{)�”}”(hŒfrees given soundcard structure”h]”hŒfrees given soundcard structure”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M}hjbh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjšh²hh³j³h´M}ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j}jšj}j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hXœ**Parameters** ``struct snd_card *card`` soundcard structure **Description** This function releases the soundcard structure and the all assigned devices automatically. That is, you don't have to release the devices by yourself. This function waits until the all resources are properly released. **Return** Zero. Frees all associated devices and frees the control interface associated to given soundcard.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‡h]”hŒ Parameters”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M�hj�ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj¦h]”hŒstruct snd_card *card”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M~hj ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j»h´M~hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j»h´M~hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjáh]”hŒ Description”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M€hj�ubj{)�”}”(hŒ—This function releases the soundcard structure and the all assigned devices automatically. That is, you don't have to release the devices by yourself.”h]”hŒ™This function releases the soundcard structure and the all assigned devices automatically. That is, you don’t have to release the devices by yourself.”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mhj�ubj{)�”}”(hŒBThis function waits until the all resources are properly released.”h]”hŒBThis function waits until the all resources are properly released.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mƒhj�ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M…hj�ubj{)�”}”(hŒaZero. Frees all associated devices and frees the control interface associated to given soundcard.”h]”hŒaZero. Frees all associated devices and frees the control interface associated to given soundcard.”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M†hj�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_set_id (C function)”Œc.snd_card_set_id”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=void snd_card_set_id (struct snd_card *card, const char *nid)”h]”j )�”}”(hŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj©ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjph²hh³j‚h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjlh²hh³j‚h´Mubah}”(h]”jgah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‚h´Mhjih²hubjv)�”}”(hhh]”j{)�”}”(hŒadd a component string”h]”hŒadd a component string”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjŽh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjih²hh³j‚h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j©jšj©j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX.**Parameters** ``struct snd_card *card`` soundcard structure ``const char *component`` the component id string **Description** This function adds the component id string to the supported list. The component can be referred from the alsa-lib. **Return** Zero otherwise a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj³h]”hŒ Parameters”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M hj­ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjÒh]”hŒstruct snd_card *card”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MhjÌubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jçh´Mhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jçh´MhjÉubjÄ)�”}”(hŒ2``const char *component`` the component id string ”h]”(jÊ)�”}”(hŒ``const char *component``”h]”jÐ)�”}”(hj h]”hŒconst char *component”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mhjubjæ)�”}”(hhh]”j{)�”}”(hŒthe component id string”h]”hŒthe component id string”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´Mhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´MhjÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj­ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjFh]”hŒ Description”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M hj­ubj¯)�”}”(hŒsThis function adds the component id string to the supported list. The component can be referred from the alsa-lib. ”h]”j{)�”}”(hŒrThis function adds the component id string to the supported list. The component can be referred from the alsa-lib.”h]”hŒrThis function adds the component id string to the supported list. The component can be referred from the alsa-lib.”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jnh´M hj­ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjwh]”hŒReturn”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M hj­ubj{)�”}”(hŒ%Zero otherwise a negative error code.”h]”hŒ%Zero otherwise a negative error code.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M hj­ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_file_add (C function)”Œc.snd_card_file_add”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ@int snd_card_file_add (struct snd_card *card, struct file *file)”h]”j )�”}”(hŒ?int snd_card_file_add(struct snd_card *card, struct file *file)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¸h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸h²hh³jÊh´M=ubj3)�”}”(hŒsnd_card_file_add”h]”j9)�”}”(hŒsnd_card_file_add”h]”hŒsnd_card_file_add”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÙubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¸h²hh³jÊh´M=ubjT)�”}”(hŒ*(struct snd_card *card, struct file *file)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jßsbŒc.snd_card_file_add”†”asbuh1hhjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjõubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjR h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjñubjZ)�”}”(hŒstruct file *file”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjg ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjg ubh)�”}”(hhh]”j9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hj‰ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj† ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‹ Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j3 Œc.snd_card_file_add”†”asbuh1hhjg ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjg ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjµ h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjg ubj9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjg ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjñubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¸h²hh³jÊh´M=ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj´h²hh³jÊh´M=ubah}”(h]”j¯ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÊh´M=hj±h²hubjv)�”}”(hhh]”j{)�”}”(hŒ)add the file to the file list of the card”h]”hŒ)add the file to the file list of the card”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M=hjé h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj±h²hh³jÊh´M=ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j!jšj!j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX^**Parameters** ``struct snd_card *card`` soundcard structure ``struct file *file`` file pointer **Description** This function adds the file to the file linked-list of the card. This linked-list is used to keep tracking the connection state, and to avoid the release of busy resources by hotplug. **Return** zero or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj!h]”hŒ Parameters”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj !ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MAhj!ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj-!h]”hŒstruct snd_card *card”…”�”}”(hj/!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj+!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M>hj'!ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hjF!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jB!h´M>hjC!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj'!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jB!h´M>hj$!ubjÄ)�”}”(hŒ#``struct file *file`` file pointer ”h]”(jÊ)�”}”(hŒ``struct file *file``”h]”jÐ)�”}”(hjf!h]”hŒstruct file *file”…”�”}”(hjh!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjd!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M?hj`!ubjæ)�”}”(hhh]”j{)�”}”(hŒ file pointer”h]”hŒ file pointer”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j{!h´M?hj|!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj`!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j{!h´M?hj$!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj!ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¡!h]”hŒ Description”…”�”}”(hj£!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŸ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MAhj!ubj¯)�”}”(hŒ¸This function adds the file to the file linked-list of the card. This linked-list is used to keep tracking the connection state, and to avoid the release of busy resources by hotplug. ”h]”j{)�”}”(hŒ·This function adds the file to the file linked-list of the card. This linked-list is used to keep tracking the connection state, and to avoid the release of busy resources by hotplug.”h]”hŒ·This function adds the file to the file linked-list of the card. This linked-list is used to keep tracking the connection state, and to avoid the release of busy resources by hotplug.”…”�”}”(hj»!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M@hj·!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jÉ!h´M@hj!ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÒ!h]”hŒReturn”…”�”}”(hjÔ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÐ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MDhj!ubj{)�”}”(hŒzero or a negative error code.”h]”hŒzero or a negative error code.”…”�”}”(hjè!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MEhj!ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_card_file_remove (C function)”Œc.snd_card_file_remove”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒCint snd_card_file_remove (struct snd_card *card, struct file *file)”h]”j )�”}”(hŒBint snd_card_file_remove(struct snd_card *card, struct file *file)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj"h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M]ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj"h²hh³j%"h´M]ubj3)�”}”(hŒsnd_card_file_remove”h]”j9)�”}”(hŒsnd_card_file_remove”h]”hŒsnd_card_file_remove”…”�”}”(hj8"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4"ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj"h²hh³j%"h´M]ubjT)�”}”(hŒ*(struct snd_card *card, struct file *file)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjT"h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjP"ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hja"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjP"ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjr"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjo"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jt"Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j:"sbŒc.snd_card_file_remove”†”asbuh1hhjP"ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjP"ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjP"ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj­"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjP"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjL"ubjZ)�”}”(hŒstruct file *file”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÆ"h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÂ"ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÂ"ubh)�”}”(hhh]”j9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hjä"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjá"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jæ"Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŽ"Œc.snd_card_file_remove”†”asbuh1hhjÂ"ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÂ"ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÂ"ubj9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂ"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjL"ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj"h²hh³j%"h´M]ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj"h²hh³j%"h´M]ubah}”(h]”j "ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j%"h´M]hj "h²hubjv)�”}”(hhh]”j{)�”}”(hŒ"remove the file from the file list”h]”hŒ"remove the file from the file list”…”�”}”(hjG#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M]hjD#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj "h²hh³j%"h´M]ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j_#jšj_#j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hXƒ**Parameters** ``struct snd_card *card`` soundcard structure ``struct file *file`` file pointer **Description** This function removes the file formerly added to the card via snd_card_file_add() function. If all files are removed and snd_card_free_when_closed() was called beforehand, it processes the pending release of resources. **Return** Zero or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hji#h]”hŒ Parameters”…”�”}”(hjk#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjg#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mahjc#ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjˆ#h]”hŒstruct snd_card *card”…”�”}”(hjŠ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj†#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M^hj‚#ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hj¡#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�#h´M^hjž#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�#h´M^hj#ubjÄ)�”}”(hŒ#``struct file *file`` file pointer ”h]”(jÊ)�”}”(hŒ``struct file *file``”h]”jÐ)�”}”(hjÁ#h]”hŒstruct file *file”…”�”}”(hjÃ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¿#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M_hj»#ubjæ)�”}”(hhh]”j{)�”}”(hŒ file pointer”h]”hŒ file pointer”…”�”}”(hjÚ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÖ#h´M_hj×#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj»#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÖ#h´M_hj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjc#ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjü#h]”hŒ Description”…”�”}”(hjþ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjú#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mahjc#ubj¯)�”}”(hŒÛThis function removes the file formerly added to the card via snd_card_file_add() function. If all files are removed and snd_card_free_when_closed() was called beforehand, it processes the pending release of resources. ”h]”j{)�”}”(hŒÚThis function removes the file formerly added to the card via snd_card_file_add() function. If all files are removed and snd_card_free_when_closed() was called beforehand, it processes the pending release of resources.”h]”hŒÚThis function removes the file formerly added to the card via snd_card_file_add() function. If all files are removed and snd_card_free_when_closed() was called beforehand, it processes the pending release of resources.”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M`hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j$$h´M`hjc#ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj-$h]”hŒReturn”…”�”}”(hj/$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj+$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mfhjc#ubj{)�”}”(hŒZero or a negative error code.”h]”hŒZero or a negative error code.”…”�”}”(hjC$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mghjc#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_power_ref_and_wait (C function)”Œc.snd_power_ref_and_wait”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ2int snd_power_ref_and_wait (struct snd_card *card)”h]”j )�”}”(hŒ1int snd_power_ref_and_wait(struct snd_card *card)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjr$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjn$h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjn$h²hh³j€$h´Mˆubj3)�”}”(hŒsnd_power_ref_and_wait”h]”j9)�”}”(hŒsnd_power_ref_and_wait”h]”hŒsnd_power_ref_and_wait”…”�”}”(hj“$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�$ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjn$h²hh³j€$h´MˆubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¯$h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj«$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«$ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjÍ$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊ$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÏ$Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j•$sbŒc.snd_power_ref_and_wait”†”asbuh1hhj«$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«$ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjû$h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj«$ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj«$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj§$ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjn$h²hh³j€$h´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjj$h²hh³j€$h´Mˆubah}”(h]”je$ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j€$h´Mˆhjg$h²hubjv)�”}”(hhh]”j{)�”}”(hŒ#wait until the card gets powered up”h]”hŒ#wait until the card gets powered up”…”�”}”(hj2%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mˆhj/%h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjg$h²hh³j€$h´Mˆubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jJ%jšjJ%j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_card *card`` soundcard structure **Description** Take the power_ref reference count of the given card, and wait until the card gets powered up to SNDRV_CTL_POWER_D0 state. The refcount is down again while sleeping until power-up, hence this function can be used for syncing the floating control ops accesses, typically around calling control ops. The caller needs to pull down the refcount via snd_power_unref() later when this function returns 0. **Return** Zero if successful, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjT%h]”hŒ Parameters”…”�”}”(hjV%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjR%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MŒhjN%ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjs%h]”hŒstruct snd_card *card”…”�”}”(hju%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjq%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M‰hjm%ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hjŒ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jˆ%h´M‰hj‰%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjm%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jˆ%h´M‰hjj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjN%ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj®%h]”hŒ Description”…”�”}”(hj°%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¬%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M‹hjN%ubj{)�”}”(hX)Take the power_ref reference count of the given card, and wait until the card gets powered up to SNDRV_CTL_POWER_D0 state. The refcount is down again while sleeping until power-up, hence this function can be used for syncing the floating control ops accesses, typically around calling control ops.”h]”hX)Take the power_ref reference count of the given card, and wait until the card gets powered up to SNDRV_CTL_POWER_D0 state. The refcount is down again while sleeping until power-up, hence this function can be used for syncing the floating control ops accesses, typically around calling control ops.”…”�”}”(hjÄ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MŠhjN%ubj{)�”}”(hŒdThe caller needs to pull down the refcount via snd_power_unref() later when this function returns 0.”h]”hŒdThe caller needs to pull down the refcount via snd_power_unref() later when this function returns 0.”…”�”}”(hjÓ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M�hjN%ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjä%h]”hŒReturn”…”�”}”(hjæ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjâ%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M“hjN%ubj{)�”}”(hŒ-Zero if successful, or a negative error code.”h]”hŒ-Zero if successful, or a negative error code.”…”�”}”(hjú%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M”hjN%ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_power_wait (C function)”Œc.snd_power_wait”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ*int snd_power_wait (struct snd_card *card)”h]”j )�”}”(hŒ)int snd_power_wait(struct snd_card *card)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj)&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj%&h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%&h²hh³j7&h´M¨ubj3)�”}”(hŒsnd_power_wait”h]”j9)�”}”(hŒsnd_power_wait”h]”hŒsnd_power_wait”…”�”}”(hjJ&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjF&ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj%&h²hh³j7&h´M¨ubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjf&h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjb&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjb&ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj„&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j†&Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jL&sbŒc.snd_power_wait”†”asbuh1hhjb&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjb&ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj²&h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjb&ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj¿&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj^&ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj%&h²hh³j7&h´M¨ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj!&h²hh³j7&h´M¨ubah}”(h]”j&ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j7&h´M¨hj&h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.wait until the card gets powered up (old form)”h]”hŒ.wait until the card gets powered up (old form)”…”�”}”(hjé&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M¨hjæ&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj&h²hh³j7&h´M¨ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j'jšj'j›‰jœ‰j�‰uh1hþh²hhhÜh³Nh´NubjŸ)�”}”(hŒÍ**Parameters** ``struct snd_card *card`` soundcard structure **Description** Wait until the card gets powered up to SNDRV_CTL_POWER_D0 state. **Return** Zero if successful, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj 'h]”hŒ Parameters”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj 'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M¬hj'ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj*'h]”hŒstruct snd_card *card”…”�”}”(hj,'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj('ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M©hj$'ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hjC'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j?'h´M©hj@'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj$'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j?'h´M©hj!'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj'ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hje'h]”hŒ Description”…”�”}”(hjg'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjc'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M«hj'ubj{)�”}”(hŒ@Wait until the card gets powered up to SNDRV_CTL_POWER_D0 state.”h]”hŒ@Wait until the card gets powered up to SNDRV_CTL_POWER_D0 state.”…”�”}”(hj{'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mªhj'ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjŒ'h]”hŒReturn”…”�”}”(hjŽ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŠ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M¬hj'ubj{)�”}”(hŒ-Zero if successful, or a negative error code.”h]”hŒ-Zero if successful, or a negative error code.”…”�”}”(hj¢'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M­hj'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubeh}”(h]”Œcard-management”ah ]”h"]”Œcard management”ah$]”h&]”uh1hµhhËh²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒDevice Components”h]”hŒDevice Components”…”�”}”(hjÃ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÀ'h²hh³hÊh´K ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_device_new (C function)”Œc.snd_device_new”hNt”auh1híhjÀ'h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒzint snd_device_new (struct snd_card *card, enum snd_device_type type, void *device_data, const struct snd_device_ops *ops)”h]”j )�”}”(hŒyint snd_device_new(struct snd_card *card, enum snd_device_type type, void *device_data, const struct snd_device_ops *ops)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjê'h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæ'h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæ'h²hh³jø'h´Kubj3)�”}”(hŒsnd_device_new”h]”j9)�”}”(hŒsnd_device_new”h]”hŒsnd_device_new”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj(ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjæ'h²hh³jø'h´KubjT)�”}”(hŒg(struct snd_card *card, enum snd_device_type type, void *device_data, const struct snd_device_ops *ops)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj'(h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj#(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#(ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjE(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjB(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jG(Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j (sbŒc.snd_device_new”†”asbuh1hhj#(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hje(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#(ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjs(h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj#(ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj€(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj#(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(ubjZ)�”}”(hŒenum snd_device_type type”h]”(j`)�”}”(hŒenum”h]”hŒenum”…”�”}”(hj™(h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj•(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•(ubh)�”}”(hhh]”j9)�”}”(hŒsnd_device_type”h]”hŒsnd_device_type”…”�”}”(hj¸(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµ(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jº(Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”ja(Œc.snd_device_new”†”asbuh1hhj•(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•(ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjä(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj•(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(ubjZ)�”}”(hŒvoid *device_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjý(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjù(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjù(ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjù(ubj9)�”}”(hŒ device_data”h]”hŒ device_data”…”�”}”(hj&)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjù(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(ubjZ)�”}”(hŒ const struct snd_device_ops *ops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj?)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj;)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;)ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjZ)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj;)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;)ubh)�”}”(hhh]”j9)�”}”(hŒsnd_device_ops”h]”hŒsnd_device_ops”…”�”}”(hjx)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hju)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jz)Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”ja(Œc.snd_device_new”†”asbuh1hhj;)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¤)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj;)ubj9)�”}”(hŒops”h]”hŒops”…”�”}”(hj±)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjæ'h²hh³jø'h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjâ'h²hh³jø'h´Kubah}”(h]”jÝ'ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jø'h´Khjß'h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate an ALSA device component”h]”hŒcreate an ALSA device component”…”�”}”(hjÛ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´KhjØ)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjß'h²hh³jø'h´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jó)jšjó)j›‰jœ‰j�‰uh1hþh²hhjÀ'h³Nh´NubjŸ)�”}”(hX:**Parameters** ``struct snd_card *card`` the card instance ``enum snd_device_type type`` the device type, SNDRV_DEV_XXX ``void *device_data`` the data pointer of this device ``const struct snd_device_ops *ops`` the operator table **Description** Creates a new device component for the given data pointer. The device will be assigned to the card and managed together by the card. The data pointer plays a role as the identifier, too, so the pointer address must be unique and unchanged. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjý)h]”hŒ Parameters”…”�”}”(hjÿ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjû)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj÷)ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj*h]”hŒstruct snd_card *card”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj5*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1*h´Khj2*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1*h´Khj*ubjÄ)�”}”(hŒ=``enum snd_device_type type`` the device type, SNDRV_DEV_XXX ”h]”(jÊ)�”}”(hŒ``enum snd_device_type type``”h]”jÐ)�”}”(•ÛhjU*h]”hŒenum snd_device_type type”…”�”}”(hjW*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjS*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´KhjO*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device type, SNDRV_DEV_XXX”h]”hŒthe device type, SNDRV_DEV_XXX”…”�”}”(hjn*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jj*h´Khjk*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjO*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jj*h´Khj*ubjÄ)�”}”(hŒ6``void *device_data`` the data pointer of this device ”h]”(jÊ)�”}”(hŒ``void *device_data``”h]”jÐ)�”}”(hjŽ*h]”hŒvoid *device_data”…”�”}”(hj�*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŒ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khjˆ*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data pointer of this device”h]”hŒthe data pointer of this device”…”�”}”(hj§*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j£*h´Khj¤*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆ*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j£*h´Khj*ubjÄ)�”}”(hŒ8``const struct snd_device_ops *ops`` the operator table ”h]”(jÊ)�”}”(hŒ$``const struct snd_device_ops *ops``”h]”jÐ)�”}”(hjÇ*h]”hŒ const struct snd_device_ops *ops”…”�”}”(hjÉ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÅ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´KhjÁ*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe operator table”h]”hŒthe operator table”…”�”}”(hjà*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜ*h´KhjÝ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁ*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜ*h´Khj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj÷)ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj+h]”hŒ Description”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj÷)ubj{)�”}”(hŒ„Creates a new device component for the given data pointer. The device will be assigned to the card and managed together by the card.”h]”hŒ„Creates a new device component for the given data pointer. The device will be assigned to the card and managed together by the card.”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj÷)ubj{)�”}”(hŒjThe data pointer plays a role as the identifier, too, so the pointer address must be unique and unchanged.”h]”hŒjThe data pointer plays a role as the identifier, too, so the pointer address must be unique and unchanged.”…”�”}”(hj'+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj÷)ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj8+h]”hŒReturn”…”�”}”(hj:+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj6+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj÷)ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjN+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Khj÷)ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÀ'h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_device_disconnect (C function)”Œc.snd_device_disconnect”hNt”auh1híhjÀ'h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒEvoid snd_device_disconnect (struct snd_card *card, void *device_data)”h]”j )�”}”(hŒDvoid snd_device_disconnect(struct snd_card *card, void *device_data)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj}+h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjy+h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjy+h²hh³j‹+h´K^ubj3)�”}”(hŒsnd_device_disconnect”h]”j9)�”}”(hŒsnd_device_disconnect”h]”hŒsnd_device_disconnect”…”�”}”(hjž+h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjš+ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjy+h²hh³j‹+h´K^ubjT)�”}”(hŒ*(struct snd_card *card, void *device_data)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjº+h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¶+ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶+ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjØ+h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÕ+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÚ+Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j +sbŒc.snd_device_disconnect”†”asbuh1hhj¶+ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶+ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¶+ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj²+ubjZ)�”}”(hŒvoid *device_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj,,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj(,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj(,ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjH,h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj(,ubj9)�”}”(hŒ device_data”h]”hŒ device_data”…”�”}”(hjU,h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj(,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj²+ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjy+h²hh³j‹+h´K^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihju+h²hh³j‹+h´K^ubah}”(h]”jp+ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‹+h´K^hjr+h²hubjv)�”}”(hhh]”j{)�”}”(hŒdisconnect the device”h]”hŒdisconnect the device”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K^hj|,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjr+h²hh³j‹+h´K^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j—,jšj—,j›‰jœ‰j�‰uh1hþh²hhjÀ'h³Nh´NubjŸ)�”}”(hX‹**Parameters** ``struct snd_card *card`` the card instance ``void *device_data`` the data pointer to disconnect **Description** Turns the device into the disconnection state, invoking dev_disconnect callback, if the device was already registered. Usually called from snd_card_disconnect(). **Return** Zero if successful, or a negative error code on failure or if the device not found.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¡,h]”hŒ Parameters”…”�”}”(hj£,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŸ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kbhj›,ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjÀ,h]”hŒstruct snd_card *card”…”�”}”(hjÂ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K_hjº,ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjÙ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÕ,h´K_hjÖ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjº,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕ,h´K_hj·,ubjÄ)�”}”(hŒ5``void *device_data`` the data pointer to disconnect ”h]”(jÊ)�”}”(hŒ``void *device_data``”h]”jÐ)�”}”(hjù,h]”hŒvoid *device_data”…”�”}”(hjû,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj÷,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K`hjó,ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data pointer to disconnect”h]”hŒthe data pointer to disconnect”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j-h´K`hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjó,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j-h´K`hj·,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj›,ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj4-h]”hŒ Description”…”�”}”(hj6-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj2-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kbhj›,ubj{)�”}”(hŒvTurns the device into the disconnection state, invoking dev_disconnect callback, if the device was already registered.”h]”hŒvTurns the device into the disconnection state, invoking dev_disconnect callback, if the device was already registered.”…”�”}”(hjJ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kahj›,ubj{)�”}”(hŒ*Usually called from snd_card_disconnect().”h]”hŒ*Usually called from snd_card_disconnect().”…”�”}”(hjY-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kdhj›,ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjj-h]”hŒReturn”…”�”}”(hjl-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjh-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kfhj›,ubj{)�”}”(hŒSZero if successful, or a negative error code on failure or if the device not found.”h]”hŒSZero if successful, or a negative error code on failure or if the device not found.”…”�”}”(hj€-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kghj›,ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÀ'h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_device_free (C function)”Œc.snd_device_free”hNt”auh1híhjÀ'h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?void snd_device_free (struct snd_card *card, void *device_data)”h]”j )�”}”(hŒ>void snd_device_free(struct snd_card *card, void *device_data)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¯-h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj«-h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«-h²hh³j½-h´Kzubj3)�”}”(hŒsnd_device_free”h]”j9)�”}”(hŒsnd_device_free”h]”hŒsnd_device_free”…”�”}”(hjÐ-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌ-ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj«-h²hh³j½-h´KzubjT)�”}”(hŒ*(struct snd_card *card, void *device_data)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjì-h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjè-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjè-ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj .h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j .Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÒ-sbŒc.snd_device_free”†”asbuh1hhjè-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*.h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjè-ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj8.h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjè-ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjE.h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjè-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjä-ubjZ)�”}”(hŒvoid *device_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj^.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjZ.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl.h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZ.ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjz.h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjZ.ubj9)�”}”(hŒ device_data”h]”hŒ device_data”…”�”}”(hj‡.h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZ.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjä-ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj«-h²hh³j½-h´Kzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj§-h²hh³j½-h´Kzubah}”(h]”j¢-ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j½-h´Kzhj¤-h²hubjv)�”}”(hhh]”j{)�”}”(hŒ release the device from the card”h]”hŒ release the device from the card”…”�”}”(hj±.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´Kzhj®.h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¤-h²hh³j½-h´Kzubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÉ.jšjÉ.j›‰jœ‰j�‰uh1hþh²hhjÀ'h³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_card *card`` the card instance ``void *device_data`` the data pointer to release **Description** Removes the device from the list on the card and invokes the callbacks, dev_disconnect and dev_free, corresponding to the state. Then release the device.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÓ.h]”hŒ Parameters”…”�”}”(hjÕ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÑ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K~hjÍ.ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjò.h]”hŒstruct snd_card *card”…”�”}”(hjô.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjð.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K{hjì.ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j/h´K{hj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjì.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j/h´K{hjé.ubjÄ)�”}”(hŒ2``void *device_data`` the data pointer to release ”h]”(jÊ)�”}”(hŒ``void *device_data``”h]”jÐ)�”}”(hj+/h]”hŒvoid *device_data”…”�”}”(hj-/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj)/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K|hj%/ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data pointer to release”h]”hŒthe data pointer to release”…”�”}”(hjD/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j@/h´K|hjA/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j@/h´K|hjé.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÍ.ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjf/h]”hŒ Description”…”�”}”(hjh/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjd/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K~hjÍ.ubj{)�”}”(hŒ™Removes the device from the list on the card and invokes the callbacks, dev_disconnect and dev_free, corresponding to the state. Then release the device.”h]”hŒ™Removes the device from the list on the card and invokes the callbacks, dev_disconnect and dev_free, corresponding to the state. Then release the device.”…”�”}”(hj|/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K}hjÍ.ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÀ'h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_device_register (C function)”Œc.snd_device_register”hNt”auh1híhjÀ'h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒBint snd_device_register (struct snd_card *card, void *device_data)”h]”j )�”}”(hŒAint snd_device_register(struct snd_card *card, void *device_data)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj«/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj§/h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´KŸubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§/h²hh³j¹/h´KŸubj3)�”}”(hŒsnd_device_register”h]”j9)�”}”(hŒsnd_device_register”h]”hŒsnd_device_register”…”�”}”(hjÌ/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈ/ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj§/h²hh³j¹/h´KŸubjT)�”}”(hŒ*(struct snd_card *card, void *device_data)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjè/h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjä/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjä/ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j0Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÎ/sbŒc.snd_device_register”†”asbuh1hhjä/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjä/ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj40h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjä/ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjA0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjä/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjà/ubjZ)�”}”(hŒvoid *device_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjZ0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjV0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjV0ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjv0h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjV0ubj9)�”}”(hŒ device_data”h]”hŒ device_data”…”�”}”(hjƒ0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjV0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjà/ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj§/h²hh³j¹/h´KŸubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj£/h²hh³j¹/h´KŸubah}”(h]”jž/ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¹/h´KŸhj /h²hubjv)�”}”(hhh]”j{)�”}”(hŒregister the device”h]”hŒregister the device”…”�”}”(hj­0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´KŸhjª0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj /h²hh³j¹/h´KŸubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÅ0jšjÅ0j›‰jœ‰j�‰uh1hþh²hhjÀ'h³Nh´NubjŸ)�”}”(hXÀ**Parameters** ``struct snd_card *card`` the card instance ``void *device_data`` the data pointer to register **Description** Registers the device which was already created via snd_device_new(). Usually this is called from snd_card_register(), but it can be called later if any new devices are created after invocation of snd_card_register(). **Return** Zero if successful, or a negative error code on failure or if the device not found.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÏ0h]”hŒ Parameters”…”�”}”(hjÑ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÍ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K£hjÉ0ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjî0h]”hŒstruct snd_card *card”…”�”}”(hjð0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjì0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K hjè0ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1h´K hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjè0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1h´K hjå0ubjÄ)�”}”(hŒ3``void *device_data`` the data pointer to register ”h]”(jÊ)�”}”(hŒ``void *device_data``”h]”jÐ)�”}”(hj'1h]”hŒvoid *device_data”…”�”}”(hj)1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K¡hj!1ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data pointer to register”h]”hŒthe data pointer to register”…”�”}”(hj@1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j<1h´K¡hj=1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j<1h´K¡hjå0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÉ0ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjb1h]”hŒ Description”…”�”}”(hjd1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj`1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K£hjÉ0ubj{)�”}”(hŒÙRegisters the device which was already created via snd_device_new(). Usually this is called from snd_card_register(), but it can be called later if any new devices are created after invocation of snd_card_register().”h]”hŒÙRegisters the device which was already created via snd_device_new(). Usually this is called from snd_card_register(), but it can be called later if any new devices are created after invocation of snd_card_register().”…”�”}”(hjx1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K¢hjÉ0ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj‰1h]”hŒReturn”…”�”}”(hj‹1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‡1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K§hjÉ0ubj{)�”}”(hŒSZero if successful, or a negative error code on failure or if the device not found.”h]”hŒSZero if successful, or a negative error code on failure or if the device not found.”…”�”}”(hjŸ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K¨hjÉ0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÀ'h²hh³Nh´Nubeh}”(h]”Œdevice-components”ah ]”h"]”Œdevice components”ah$]”h&]”uh1hµhhËh²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒ'Module requests and Device File Entries”h]”hŒ'Module requests and Device File Entries”…”�”}”(hjÀ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj½1h²hh³hÊh´Kubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_request_card (C function)”Œc.snd_request_card”hNt”auh1híhj½1h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ void snd_request_card (int card)”h]”j )�”}”(hŒvoid snd_request_card(int card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjç1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjã1h²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjã1h²hh³jõ1h´K6ubj3)�”}”(hŒsnd_request_card”h]”j9)�”}”(hŒsnd_request_card”h]”hŒsnd_request_card”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjã1h²hh³jõ1h´K6ubjT)�”}”(hŒ (int card)”h]”jZ)�”}”(hŒint card”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj$2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj 2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj22h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj 2ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj@2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj 2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjã1h²hh³jõ1h´K6ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjß1h²hh³jõ1h´K6ubah}”(h]”jÚ1ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jõ1h´K6hjÜ1h²hubjv)�”}”(hhh]”j{)�”}”(hŒtry to load the card module”h]”hŒtry to load the card module”…”�”}”(hjj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K6hjg2h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÜ1h²hh³jõ1h´K6ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j‚2jšj‚2j›‰jœ‰j�‰uh1hþh²hhj½1h³Nh´NubjŸ)�”}”(hŒ¼**Parameters** ``int card`` the card number **Description** Tries to load the module "snd-card-X" for the given card number via request_module. Returns immediately if already loaded.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjŒ2h]”hŒ Parameters”…”�”}”(hjŽ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŠ2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K:hj†2ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ``int card`` the card number ”h]”(jÊ)�”}”(hŒ ``int card``”h]”jÐ)�”}”(hj«2h]”hŒint card”…”�”}”(hj­2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj©2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K7hj¥2ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card number”h]”hŒthe card number”…”�”}”(hjÄ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÀ2h´K7hjÁ2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¥2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÀ2h´K7hj¢2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj†2ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjæ2h]”hŒ Description”…”�”}”(hjè2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjä2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K9hj†2ubj{)�”}”(hŒ{Tries to load the module "snd-card-X" for the given card number via request_module. Returns immediately if already loaded.”h]”hŒTries to load the module “snd-card-Xâ€� for the given card number via request_module. Returns immediately if already loaded.”…”�”}”(hjü2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K8hj†2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj½1h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_lookup_minor_data (C function)”Œc.snd_lookup_minor_data”hNt”auh1híhj½1h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ;void * snd_lookup_minor_data (unsigned int minor, int type)”h]”j )�”}”(hŒ9void *snd_lookup_minor_data(unsigned int minor, int type)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj+3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'3h²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'3h²hh³j93h´KUubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjH3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj'3h²hh³j93h´KUubj3)�”}”(hŒsnd_lookup_minor_data”h]”j9)�”}”(hŒsnd_lookup_minor_data”h]”hŒsnd_lookup_minor_data”…”�”}”(hjY3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU3ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj'3h²hh³j93h´KUubjT)�”}”(hŒ(unsigned int minor, int type)”h]”(jZ)�”}”(hŒunsigned int minor”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hju3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjq3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq3ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‘3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjq3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq3ubj9)�”}”(hŒminor”h]”hŒminor”…”�”}”(hj­3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjq3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÆ3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÂ3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÂ3ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjâ3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂ3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj'3h²hh³j93h´KUubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj#3h²hh³j93h´KUubah}”(h]”j3ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j93h´KUhj 3h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$get user data of a registered device”h]”hŒ$get user data of a registered device”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KUhj 4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj 3h²hh³j93h´KUubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j$4jšj$4j›‰jœ‰j�‰uh1hþh²hhj½1h³Nh´NubjŸ)�”}”(hX**Parameters** ``unsigned int minor`` the minor number ``int type`` device type (SNDRV_DEVICE_TYPE_XXX) **Description** Checks that a minor device with the specified type is registered, and returns its user data pointer. This function increments the reference counter of the card instance if an associated instance with the given minor number and type is found. The caller must call snd_card_unref() appropriately later. **Return** The user data pointer if the specified device is found. ``NULL`` otherwise.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj.4h]”hŒ Parameters”…”�”}”(hj04h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj,4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KYhj(4ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ(``unsigned int minor`` the minor number ”h]”(jÊ)�”}”(hŒ``unsigned int minor``”h]”jÐ)�”}”(hjM4h]”hŒunsigned int minor”…”�”}”(hjO4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjK4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KVhjG4ubjæ)�”}”(hhh]”j{)�”}”(hŒthe minor number”h]”hŒthe minor number”…”�”}”(hjf4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jb4h´KVhjc4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjG4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jb4h´KVhjD4ubjÄ)�”}”(hŒ1``int type`` device type (SNDRV_DEVICE_TYPE_XXX) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj†4h]”hŒint type”…”�”}”(hjˆ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj„4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KWhj€4ubjæ)�”}”(hhh]”j{)�”}”(hŒ#device type (SNDRV_DEVICE_TYPE_XXX)”h]”hŒ#device type (SNDRV_DEVICE_TYPE_XXX)”…”�”}”(hjŸ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j›4h´KWhjœ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj€4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j›4h´KWhjD4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj(4ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÁ4h]”hŒ Description”…”�”}”(hjÃ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¿4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KYhj(4ubj{)�”}”(hŒdChecks that a minor device with the specified type is registered, and returns its user data pointer.”h]”hŒdChecks that a minor device with the specified type is registered, and returns its user data pointer.”…”�”}”(hj×4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KXhj(4ubj{)�”}”(hŒÇThis function increments the reference counter of the card instance if an associated instance with the given minor number and type is found. The caller must call snd_card_unref() appropriately later.”h]”hŒÇThis function increments the reference counter of the card instance if an associated instance with the given minor number and type is found. The caller must call snd_card_unref() appropriately later.”…”�”}”(hjæ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K[hj(4ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj÷4h]”hŒReturn”…”�”}”(hjù4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjõ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K_hj(4ubj{)�”}”(hŒKThe user data pointer if the specified device is found. ``NULL`` otherwise.”h]”(hŒ8The user data pointer if the specified device is found. ”…”�”}”(hj 5h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj 5ubhŒ otherwise.”…”�”}”(hj 5h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K`hj(4ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj½1h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_register_device (C function)”Œc.snd_register_device”hNt”auh1híhj½1h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ’int snd_register_device (int type, struct snd_card *card, int dev, const struct file_operations *f_ops, void *private_data, struct device *device)”h]”j )�”}”(hŒ‘int snd_register_device(int type, struct snd_card *card, int dev, const struct file_operations *f_ops, void *private_data, struct device *device)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjN5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJ5h²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Kòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ5h²hh³j\5h´Kòubj3)�”}”(hŒsnd_register_device”h]”j9)�”}”(hŒsnd_register_device”h]”hŒsnd_register_device”…”�”}”(hjo5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjk5ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjJ5h²hh³j\5h´KòubjT)�”}”(hŒz(int type, struct snd_card *card, int dev, const struct file_operations *f_ops, void *private_data, struct device *device)”h]”(jZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‹5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡5ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj§5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒ5ubjZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÀ5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¼5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼5ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjÞ5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛ5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jà5Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jq5sbŒc.snd_register_device”†”asbuh1hhj¼5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþ5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj 6h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¼5ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¼5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒ5ubjZ)�”}”(hŒint dev”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj26h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj.6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.6ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjN6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒ5ubjZ)�”}”(hŒ#const struct file_operations *f_ops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjg6h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjc6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjc6ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj‚6h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjc6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjc6ubh)�”}”(hhh]”j9)�”}”(hŒfile_operations”h]”hŒfile_operations”…”�”}”(hj 6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¢6Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jú5Œc.snd_register_device”†”asbuh1hhjc6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjc6ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÌ6h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjc6ubj9)�”}”(hŒf_ops”h]”hŒf_ops”…”�”}”(hjÙ6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjc6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒ5ubjZ)�”}”(hŒvoid *private_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjò6h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjî6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî6ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjî6ubj9)�”}”(hŒ private_data”h]”hŒ private_data”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjî6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒ5ubjZ)�”}”(hŒstruct device *device”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj47h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj07ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj07ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjR7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjO7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jT7Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jú5Œc.snd_register_device”†”asbuh1hhj07ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj07ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj~7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj07ubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj‹7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj07ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒ5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjJ5h²hh³j\5h´Kòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjF5h²hh³j\5h´Kòubah}”(h]”jA5ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j\5h´KòhjC5h²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Register the ALSA device file for the card”h]”hŒ*Register the ALSA device file for the card”…”�”}”(hjµ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Kòhj²7h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjC5h²hh³j\5h´Kòubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÍ7jšjÍ7j›‰jœ‰j�‰uh1hþh²hhj½1h³Nh´NubjŸ)�”}”(hXù**Parameters** ``int type`` the device type, SNDRV_DEVICE_TYPE_XXX ``struct snd_card *card`` the card instance ``int dev`` the device index ``const struct file_operations *f_ops`` the file operations ``void *private_data`` user pointer for f_ops->open() ``struct device *device`` the device to register **Description** Registers an ALSA device file for the given card. The operators have to be set in reg parameter. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj×7h]”hŒ Parameters”…”�”}”(hjÙ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÕ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KöhjÑ7ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ4``int type`` the device type, SNDRV_DEVICE_TYPE_XXX ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjö7h]”hŒint type”…”�”}”(hjø7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjô7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Kóhjð7ubjæ)�”}”(hhh]”j{)�”}”(hŒ&the device type, SNDRV_DEVICE_TYPE_XXX”h]”hŒ&the device type, SNDRV_DEVICE_TYPE_XXX”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j 8h´Kóhj 8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjð7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j 8h´Kóhjí7ubjÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj/8h]”hŒstruct snd_card *card”…”�”}”(hj18h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj-8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Kôhj)8ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjH8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jD8h´KôhjE8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj)8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jD8h´Kôhjí7ubjÄ)�”}”(hŒ``int dev`` the device index ”h]”(jÊ)�”}”(hŒ ``int dev``”h]”jÐ)�”}”(hjh8h]”hŒint dev”…”�”}”(hjj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjf8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Kõhjb8ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index”h]”hŒthe device index”…”�”}”(hj�8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j}8h´Kõhj~8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjb8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j}8h´Kõhjí7ubjÄ)�”}”(hŒ<``const struct file_operations *f_ops`` the file operations ”h]”(jÊ)�”}”(hŒ'``const struct file_operations *f_ops``”h]”jÐ)�”}”(hj¡8h]”hŒ#const struct file_operations *f_ops”…”�”}”(hj£8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŸ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Köhj›8ubjæ)�”}”(hhh]”j{)�”}”(hŒthe file operations”h]”hŒthe file operations”…”�”}”(hjº8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¶8h´Köhj·8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj›8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¶8h´Köhjí7ubjÄ)�”}”(hŒ6``void *private_data`` user pointer for f_ops->open() ”h]”(jÊ)�”}”(hŒ``void *private_data``”h]”jÐ)�”}”(hjÚ8h]”hŒvoid *private_data”…”�”}”(hjÜ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjØ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´K÷hjÔ8ubjæ)�”}”(hhh]”j{)�”}”(hŒuser pointer for f_ops->open()”h]”hŒuser pointer for f_ops->open()”…”�”}”(hjó8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jï8h´K÷hjð8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÔ8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jï8h´K÷hjí7ubjÄ)�”}”(hŒ1``struct device *device`` the device to register ”h]”(jÊ)�”}”(hŒ``struct device *device``”h]”jÐ)�”}”(hj9h]”hŒstruct device *device”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Køhj 9ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device to register”h]”hŒthe device to register”…”�”}”(hj,9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j(9h´Køhj)9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj 9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(9h´Køhjí7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÑ7ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjN9h]”hŒ Description”…”�”}”(hjP9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjL9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KúhjÑ7ubj{)�”}”(hŒ`Registers an ALSA device file for the given card. The operators have to be set in reg parameter.”h]”hŒ`Registers an ALSA device file for the given card. The operators have to be set in reg parameter.”…”�”}”(hjd9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KùhjÑ7ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hju9h]”hŒReturn”…”�”}”(hjw9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjs9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KühjÑ7ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj‹9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´KýhjÑ7ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj½1h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_unregister_device (C function)”Œc.snd_unregister_device”hNt”auh1híhj½1h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ.int snd_unregister_device (struct device *dev)”h]”j )�”}”(hŒ-int snd_unregister_device(struct device *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjº9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶9h²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶9h²hh³jÈ9h´M)ubj3)�”}”(hŒsnd_unregister_device”h]”j9)�”}”(hŒsnd_unregister_device”h]”hŒsnd_unregister_device”…”�”}”(hjÛ9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×9ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¶9h²hh³jÈ9h´M)ubjT)�”}”(hŒ(struct device *dev)”h]”jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj÷9h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjó9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó9ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j:Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÝ9sbŒc.snd_unregister_device”†”asbuh1hhjó9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó9ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjC:h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjó9ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjP:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjó9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjï9ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¶9h²hh³jÈ9h´M)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj²9h²hh³jÈ9h´M)ubah}”(h]”j­9ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÈ9h´M)hj¯9h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'unregister the device on the given card”h]”hŒ'unregister the device on the given card”…”�”}”(hjz:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M)hjw:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¯9h²hh³jÈ9h´M)ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j’:jšj’:j›‰jœ‰j�‰uh1hþh²hhj½1h³Nh´NubjŸ)�”}”(hŒÞ**Parameters** ``struct device *dev`` the device instance **Description** Unregisters the device file already registered via snd_register_device(). **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjœ:h]”hŒ Parameters”…”�”}”(hjž:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjš:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M-hj–:ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ+``struct device *dev`` the device instance ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hj»:h]”hŒstruct device *dev”…”�”}”(hj½:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¹:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M*hjµ:ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device instance”h]”hŒthe device instance”…”�”}”(hjÔ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐ:h´M*hjÑ:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµ:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐ:h´M*hj²:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj–:ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjö:h]”hŒ Description”…”�”}”(hjø:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjô:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M,hj–:ubj{)�”}”(hŒIUnregisters the device file already registered via snd_register_device().”h]”hŒIUnregisters the device file already registered via snd_register_device().”…”�”}”(hj ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M+hj–:ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj;h]”hŒReturn”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M.hj–:ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj3;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´M/hj–:ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj½1h²hh³Nh´Nubeh}”(h]”Œ'module-requests-and-device-file-entries”ah ]”h"]”Œ'module requests and device file entries”ah$]”h&]”uh1hµhhËh²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒMemory Management Helpers”h]”hŒMemory Management Helpers”…”�”}”(hjT;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjQ;h²hh³hÊh´Kubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ copy_to_user_fromio (C function)”Œc.copy_to_user_fromio”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint copy_to_user_fromio (void __user *dst, const volatile void __iomem *src, size_t count)”h]”j )�”}”(hŒYint copy_to_user_fromio(void __user *dst, volatile const void __iomem *src, size_t count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj{;h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjw;h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠ;h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw;h²hh³j‰;h´Kubj3)�”}”(hŒcopy_to_user_fromio”h]”j9)�”}”(hŒcopy_to_user_fromio”h]”hŒcopy_to_user_fromio”…”�”}”(hjœ;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˜;ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjw;h²hh³j‰;h´KubjT)�”}”(hŒB(void __user *dst, volatile const void __iomem *src, size_t count)”h]”(jZ)�”}”(hŒvoid __user *dst”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¸;h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj´;ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ;h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´;ubhŒ__user”…”�”}”(hj´;h²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØ;h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´;ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjæ;h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj´;ubj9)�”}”(hŒdst”h]”hŒdst”…”�”}”(hjó;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj´;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°;ubjZ)�”}”(hŒ volatile const void __iomem *src”h]”(j`)�”}”(hŒvolatile”h]”hŒvolatile”…”�”}”(hj <h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<ubj`)�”}”(hjph]”hŒconst”…”�”}”(hj(<h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<ubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjC<h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<ubhŒ__iomem”…”�”}”(hj<h²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjq<h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj<ubj9)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hj~<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°;ubjZ)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjš<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jœ<Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jž;sbŒc.copy_to_user_fromio”†”asbuh1hhj“<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“<ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjÈ<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj“<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°;ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjw;h²hh³j‰;h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjs;h²hh³j‰;h´Kubah}”(h]”jn;ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‰;h´Khjp;h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'copy data from mmio-space to user-space”h]”hŒ'copy data from mmio-space to user-space”…”�”}”(hjò<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khjï<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjp;h²hh³j‰;h´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j =jšj =j›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hX<**Parameters** ``void __user *dst`` the destination pointer on user-space ``const volatile void __iomem *src`` the source pointer on mmio ``size_t count`` the data size to copy in bytes **Description** Copies the data from mmio-space to user-space. **Return** Zero if successful, or non-zero on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj=h]”hŒ Parameters”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khj=ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ;``void __user *dst`` the destination pointer on user-space ”h]”(jÊ)�”}”(hŒ``void __user *dst``”h]”jÐ)�”}”(hj3=h]”hŒvoid __user *dst”…”�”}”(hj5=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khj-=ubjæ)�”}”(hhh]”j{)�”}”(hŒ%the destination pointer on user-space”h]”hŒ%the destination pointer on user-space”…”�”}”(hjL=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jH=h´KhjI=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jH=h´Khj*=ubjÄ)�”}”(hŒ@``const volatile void __iomem *src`` the source pointer on mmio ”h]”(jÊ)�”}”(hŒ$``const volatile void __iomem *src``”h]”jÐ)�”}”(hjl=h]”hŒ const volatile void __iomem *src”…”�”}”(hjn=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khjf=ubjæ)�”}”(hhh]”j{)�”}”(hŒthe source pointer on mmio”h]”hŒthe source pointer on mmio”…”�”}”(hj…=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�=h´Khj‚=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjf=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�=h´Khj*=ubjÄ)�”}”(hŒ0``size_t count`` the data size to copy in bytes ”h]”(jÊ)�”}”(hŒ``size_t count``”h]”jÐ)�”}”(hj¥=h]”hŒ size_t count”…”�”}”(hj§=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj£=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KhjŸ=ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to copy in bytes”h]”hŒthe data size to copy in bytes”…”�”}”(hj¾=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jº=h´Khj»=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŸ=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jº=h´Khj*=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj=ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjà=h]”hŒ Description”…”�”}”(hjâ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÞ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khj=ubj{)�”}”(hŒ.Copies the data from mmio-space to user-space.”h]”hŒ.Copies the data from mmio-space to user-space.”…”�”}”(hjö=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khj=ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj>h]”hŒReturn”…”�”}”(hj >h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khj=ubj{)�”}”(hŒ+Zero if successful, or non-zero on failure.”h]”hŒ+Zero if successful, or non-zero on failure.”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Khj=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ copy_to_iter_fromio (C function)”Œc.copy_to_iter_fromio”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒXsize_t copy_to_iter_fromio (const void __iomem *src, size_t count, struct iov_iter *dst)”h]”j )�”}”(hŒWsize_t copy_to_iter_fromio(const void __iomem *src, size_t count, struct iov_iter *dst)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjO>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQ>Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œcopy_to_iter_fromio”sbŒc.copy_to_iter_fromio”†”asbuh1hhjH>h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K%ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjH>h²hh³jp>h´K%ubj3)�”}”(hŒcopy_to_iter_fromio”h]”j9)�”}”(hjm>h]”hŒcopy_to_iter_fromio”…”�”}”(hjƒ>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjH>h²hh³jp>h´K%ubjT)�”}”(hŒ=(const void __iomem *src, size_t count, struct iov_iter *dst)”h]”(jZ)�”}”(hŒconst void __iomem *src”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjž>h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjš>ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjš>ubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¹>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjš>ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjš>ubhŒ__iomem”…”�”}”(hjš>h²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙ>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjš>ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjç>h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjš>ubj9)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hjô>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjš>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj–>ubjZ)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j?Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jk>Œc.copy_to_iter_fromio”†”asbuh1hhj ?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ?ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjubjZ)�”}”(hŒstruct iov_iter *dst”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjU?h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQ?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ?ubh)�”}”(hhh]”j9)�”}”(hŒiov_iter”h]”hŒiov_iter”…”�”}”(hjs?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjp?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”ju?Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jk>Œc.copy_to_iter_fromio”†”asbuh1hhjQ?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ?ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸ?h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQ?ubj9)�”}”(hŒdst”h]”hŒdst”…”�”}”(hj¬?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQ?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj–>ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjH>h²hh³jp>h´K%ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjD>h²hh³jp>h´K%ubah}”(h]”j?>ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jp>h´K%hjA>h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%copy data from mmio-space to iov_iter”h]”hŒ%copy data from mmio-space to iov_iter”…”�”}”(hjÖ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K%hjÓ?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjA>h²hh³jp>h´K%ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jî?jšjî?j›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hX**Parameters** ``const void __iomem *src`` the source pointer on mmio ``size_t count`` the data size to copy in bytes ``struct iov_iter *dst`` the destination iov_iter **Description** Copies the data from mmio-space to iov_iter. **Return** number of bytes to be copied”•h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjø?h]”hŒ Parameters”…”�”}”(hjú?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjö?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K)hjò?ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ7``const void __iomem *src`` the source pointer on mmio ”h]”(jÊ)�”}”(hŒ``const void __iomem *src``”h]”jÐ)�”}”(hj@h]”hŒconst void __iomem *src”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K&hj@ubjæ)�”}”(hhh]”j{)�”}”(hŒthe source pointer on mmio”h]”hŒthe source pointer on mmio”…”�”}”(hj0@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j,@h´K&hj-@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j,@h´K&hj@ubjÄ)�”}”(hŒ0``size_t count`` the data size to copy in bytes ”h]”(jÊ)�”}”(hŒ``size_t count``”h]”jÐ)�”}”(hjP@h]”hŒ size_t count”…”�”}”(hjR@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjN@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K'hjJ@ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to copy in bytes”h]”hŒthe data size to copy in bytes”…”�”}”(hji@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³je@h´K'hjf@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjJ@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³je@h´K'hj@ubjÄ)�”}”(hŒ2``struct iov_iter *dst`` the destination iov_iter ”h]”(jÊ)�”}”(hŒ``struct iov_iter *dst``”h]”jÐ)�”}”(hj‰@h]”hŒstruct iov_iter *dst”…”�”}”(hj‹@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‡@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K(hjƒ@ubjæ)�”}”(hhh]”j{)�”}”(hŒthe destination iov_iter”h]”hŒthe destination iov_iter”…”�”}”(hj¢@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jž@h´K(hjŸ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjƒ@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jž@h´K(hj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjò?ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÄ@h]”hŒ Description”…”�”}”(hjÆ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÂ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K*hjò?ubj{)�”}”(hŒ,Copies the data from mmio-space to iov_iter.”h]”hŒ,Copies the data from mmio-space to iov_iter.”…”�”}”(hjÚ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K)hjò?ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjë@h]”hŒReturn”…”�”}”(hjí@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjé@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K+hjò?ubj{)�”}”(hŒnumber of bytes to be copied”h]”hŒnumber of bytes to be copied”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K,hjò?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ copy_from_user_toio (C function)”Œc.copy_from_user_toio”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint copy_from_user_toio (volatile void __iomem *dst, const void __user *src, size_t count)”h]”j )�”}”(hŒYint copy_from_user_toio(volatile void __iomem *dst, const void __user *src, size_t count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj0Ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj,Ah²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?Ah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj,Ah²hh³j>Ah´KHubj3)�”}”(hŒcopy_from_user_toio”h]”j9)�”}”(hŒcopy_from_user_toio”h]”hŒcopy_from_user_toio”…”�”}”(hjQAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMAubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj,Ah²hh³j>Ah´KHubjT)�”}”(hŒB(volatile void __iomem *dst, const void __user *src, size_t count)”h]”(jZ)�”}”(hŒvolatile void __iomem *dst”h]”(j`)�”}”(hj<h]”hŒvolatile”…”�”}”(hjmAh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjiAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjiAubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjˆAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjiAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–Ah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjiAubhŒ__iomem”…”�”}”(hjiAh²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨Ah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjiAubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¶Ah²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjiAubj9)�”}”(hŒdst”h]”hŒdst”…”�”}”(hjÃAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjiAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjeAubjZ)�”}”(hŒconst void __user *src”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÜAh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjØAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØAubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj÷Ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjØAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØAubhŒ__user”…”�”}”(hjØAh²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØAubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj%Bh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØAubj9)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hj2Bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjeAubjZ)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjNBh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjKBubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jPBŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jSAsbŒc.copy_from_user_toio”†”asbuh1hhjGBubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnBh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGBubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj|Bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGBubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjeAubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj,Ah²hh³j>Ah´KHubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj(Ah²hh³j>Ah´KHubah}”(h]”j#Aah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j>Ah´KHhj%Ah²hubjv)�”}”(hhh]”j{)�”}”(hŒ'copy data from user-space to mmio-space”h]”hŒ'copy data from user-space to mmio-space”…”�”}”(hj¦Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KHhj£Bh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj%Ah²hh³j>Ah´KHubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¾Bjšj¾Bj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hXB**Parameters** ``volatile void __iomem *dst`` the destination pointer on mmio-space ``const void __user *src`` the source pointer on user-space ``size_t count`` the data size to copy in bytes **Description** Copies the data from user-space to mmio-space. **Return** Zero if successful, or non-zero on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÈBh]”hŒ Parameters”…”�”}”(hjÊBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÆBubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KLhjÂBubj¿)�”}”(hhh]”(jÄ)�”}”(hŒE``volatile void __iomem *dst`` the destination pointer on mmio-space ”h]”(jÊ)�”}”(hŒ``volatile void __iomem *dst``”h]”jÐ)�”}”(hjçBh]”hŒvolatile void __iomem *dst”…”�”}”(hjéBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjåBubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KIhjáBubjæ)�”}”(hhh]”j{)�”}”(hŒ%the destination pointer on mmio-space”h]”hŒ%the destination pointer on mmio-space”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jüBh´KIhjýBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjáBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jüBh´KIhjÞBubjÄ)�”}”(hŒ<``const void __user *src`` the source pointer on user-space ”h]”(jÊ)�”}”(hŒ``const void __user *src``”h]”jÐ)�”}”(hj Ch]”hŒconst void __user *src”…”�”}”(hj"Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KJhjCubjæ)�”}”(hhh]”j{)�”}”(hŒ the source pointer on user-space”h]”hŒ the source pointer on user-space”…”�”}”(hj9Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5Ch´KJhj6Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5Ch´KJhjÞBubjÄ)�”}”(hŒ0``size_t count`` the data size to copy in bytes ”h]”(jÊ)�”}”(hŒ``size_t count``”h]”jÐ)�”}”(hjYCh]”hŒ size_t count”…”�”}”(hj[Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjWCubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KKhjSCubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to copy in bytes”h]”hŒthe data size to copy in bytes”…”�”}”(hjrCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jnCh´KKhjoCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjSCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jnCh´KKhjÞBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÂBubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj”Ch]”hŒ Description”…”�”}”(hj–Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj’Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KMhjÂBubj{)�”}”(hŒ.Copies the data from user-space to mmio-space.”h]”hŒ.Copies the data from user-space to mmio-space.”…”�”}”(hjªCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KLhjÂBubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj»Ch]”hŒReturn”…”�”}”(hj½Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¹Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KNhjÂBubj{)�”}”(hŒ+Zero if successful, or non-zero on failure.”h]”hŒ+Zero if successful, or non-zero on failure.”…”�”}”(hjÑCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KOhjÂBubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ copy_from_iter_toio (C function)”Œc.copy_from_iter_toio”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒRsize_t copy_from_iter_toio (void __iomem *dst, size_t count, struct iov_iter *src)”h]”j )�”}”(hŒQsize_t copy_from_iter_toio(void __iomem *dst, size_t count, struct iov_iter *src)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjDubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jDŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œcopy_from_iter_toio”sbŒc.copy_from_iter_toio”†”asbuh1hhjüCh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjüCh²hh³j$Dh´K^ubj3)�”}”(hŒcopy_from_iter_toio”h]”j9)�”}”(hj!Dh]”hŒcopy_from_iter_toio”…”�”}”(hj7Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Dubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjüCh²hh³j$Dh´K^ubjT)�”}”(hŒ7(void __iomem *dst, size_t count, struct iov_iter *src)”h]”(jZ)�”}”(hŒvoid __iomem *dst”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjRDh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjNDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjNDubhŒ__iomem”…”�”}”(hjNDh²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjNDubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj€Dh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjNDubj9)�”}”(hŒdst”h]”hŒdst”…”�”}”(hj�Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjNDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjJDubjZ)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj©Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦Dubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j«DŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jDŒc.copy_from_iter_toio”†”asbuh1hhj¢Dubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢Dubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjÕDh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢Dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjJDubjZ)�”}”(hŒstruct iov_iter *src”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjîDh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjêDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjêDubh)�”}”(hhh]”j9)�”}”(hŒiov_iter”h]”hŒiov_iter”…”�”}”(hj Eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jEŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jDŒc.copy_from_iter_toio”†”asbuh1hhjêDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*Eh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjêDubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj8Eh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjêDubj9)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hjEEh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjJDubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjüCh²hh³j$Dh´K^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjøCh²hh³j$Dh´K^ubah}”(h]”jóCah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j$Dh´K^hjõCh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%copy data from iov_iter to mmio-space”h]”hŒ%copy data from iov_iter to mmio-space”…”�”}”(hjoEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K^hjlEh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjõCh²hh³j$Dh´K^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j‡Ejšj‡Ej›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hX**Parameters** ``void __iomem *dst`` the destination pointer on mmio-space ``size_t count`` the data size to copy in bytes ``struct iov_iter *src`` the source iov_iter **Description** Copies the data from iov_iter to mmio-space. **Return** number of bytes to be copied”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‘Eh]”hŒ Parameters”…”�”}”(hj“Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kbhj‹Eubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``void __iomem *dst`` the destination pointer on mmio-space ”h]”(jÊ)�”}”(hŒ``void __iomem *dst``”h]”jÐ)�”}”(hj°Eh]”hŒvoid __iomem *dst”…”�”}”(hj²Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj®Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K_hjªEubjæ)�”}”(hhh]”j{)�”}”(hŒ%the destination pointer on mmio-space”h]”hŒ%the destination pointer on mmio-space”…”�”}”(hjÉEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÅEh´K_hjÆEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjªEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÅEh´K_hj§EubjÄ)�”}”(hŒ0``size_t count`` the data size to copy in bytes ”h]”(jÊ)�”}”(hŒ``size_t count``”h]”jÐ)�”}”(hjéEh]”hŒ size_t count”…”�”}”(hjëEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjçEubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´K`hjãEubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to copy in bytes”h]”hŒthe data size to copy in bytes”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþEh´K`hjÿEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjãEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþEh´K`hj§EubjÄ)�”}”(hŒ-``struct iov_iter *src`` the source iov_iter ”h]”(jÊ)�”}”(hŒ``struct iov_iter *src``”h]”jÐ)�”}”(hj"Fh]”hŒstruct iov_iter *src”…”�”}”(hj$Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KahjFubjæ)�”}”(hhh]”j{)�”}”(hŒthe source iov_iter”h]”hŒthe source iov_iter”…”�”}”(hj;Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7Fh´Kahj8Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7Fh´Kahj§Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‹Eubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj]Fh]”hŒ Description”…”�”}”(hj_Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj[Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kchj‹Eubj{)�”}”(hŒ,Copies the data from iov_iter to mmio-space.”h]”hŒ,Copies the data from iov_iter to mmio-space.”…”�”}”(hjsFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kbhj‹Eubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj„Fh]”hŒReturn”…”�”}”(hj†Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‚Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kdhj‹Eubj{)�”}”(hŒnumber of bytes to be copied”h]”hŒnumber of bytes to be copied”…”�”}”(hjšFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kehj‹Eubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_dma_alloc_dir_pages (C function)”Œc.snd_dma_alloc_dir_pages”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ„int snd_dma_alloc_dir_pages (int type, struct device *device, enum dma_data_direction dir, size_t size, struct snd_dma_buffer *dmab)”h]”j )�”}”(hŒƒint snd_dma_alloc_dir_pages(int type, struct device *device, enum dma_data_direction dir, size_t size, struct snd_dma_buffer *dmab)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÉFh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÅFh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØFh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÅFh²hh³j×Fh´K1ubj3)�”}”(hŒsnd_dma_alloc_dir_pages”h]”j9)�”}”(hŒsnd_dma_alloc_dir_pages”h]”hŒsnd_dma_alloc_dir_pages”…”�”}”(hjêFh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæFubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÅFh²hh³j×Fh´K1ubjT)�”}”(hŒh(int type, struct device *device, enum dma_data_direction dir, size_t size, struct snd_dma_buffer *dmab)”h]”(jZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj"Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþFubjZ)�”}”(hŒstruct device *device”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj;Gh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj7Gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7Gubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjYGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjVGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j[GŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jìFsbŒc.snd_dma_alloc_dir_pages”†”asbuh1hhj7Gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7Gubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‡Gh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj7Gubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj”Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþFubjZ)�”}”(hŒenum dma_data_direction dir”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hj­Gh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj©Gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj©Gubh)�”}”(hhh]”j9)�”}”(hŒdma_data_direction”h]”hŒdma_data_direction”…”�”}”(hjËGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÍGŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”juGŒc.snd_dma_alloc_dir_pages”†”asbuh1hhj©Gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj©Gubj9)�”}”(hŒdir”h]”hŒdir”…”�”}”(hj÷Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþFubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jHŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”juGŒc.snd_dma_alloc_dir_pages”†”asbuh1hhj Hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1Hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Hubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj?Hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþFubjZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjXHh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjTHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjTHubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hjvHh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjsHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jxHŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”juGŒc.snd_dma_alloc_dir_pages”†”asbuh1hhjTHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjTHubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¢Hh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjTHubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hj¯Hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjTHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþFubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÅFh²hh³j×Fh´K1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÁFh²hh³j×Fh´K1ubah}”(h]”j¼Fah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j×Fh´K1hj¾Fh²hubjv)�”}”(hhh]”j{)�”}”(hŒBallocate the buffer area according to the given type and direction”h]”hŒBallocate the buffer area according to the given type and direction”…”�”}”(hjÙHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K1hjÖHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¾Fh²hh³j×Fh´K1ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jñHjšjñHj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hXç**Parameters** ``int type`` the DMA buffer type ``struct device *device`` the device pointer ``enum dma_data_direction dir`` DMA direction ``size_t size`` the buffer size to allocate ``struct snd_dma_buffer *dmab`` buffer allocation record to store the allocated data **Description** Calls the memory-allocator function for the corresponding buffer type. **Return** Zero if the buffer with the given size is allocated successfully, otherwise a negative value on error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjûHh]”hŒ Parameters”…”�”}”(hjýHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjùHubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K5hjõHubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ!``int type`` the DMA buffer type ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjIh]”hŒint type”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K3hjIubjæ)�”}”(hhh]”j{)�”}”(hŒthe DMA buffer type”h]”hŒthe DMA buffer type”…”�”}”(hj3Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j/Ih´K3hj0Iubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j/Ih´K3hjIubjÄ)�”}”(hŒ-``struct device *device`` the device pointer ”h]”(jÊ)�”}”(hŒ``struct device *device``”h]”jÐ)�”}”(hjSIh]”hŒstruct device *device”…”�”}”(hjUIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjQIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K4hjMIubjæ)�”}”(hhh]”j{)�”}”(hŒthe device pointer”h]”hŒthe device pointer”…”�”}”(hjlIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jhIh´K4hjiIubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjMIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jhIh´K4hjIubjÄ)�”}”(hŒ.``enum dma_data_direction dir`` DMA direction ”h]”(jÊ)�”}”(hŒ``enum dma_data_direction dir``”h]”jÐ)�”}”(hjŒIh]”hŒenum dma_data_direction dir”…”�”}”(hjŽIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K5hj†Iubjæ)�”}”(hhh]”j{)�”}”(hŒ DMA direction”h]”hŒ DMA direction”…”�”}”(hj¥Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡Ih´K5hj¢Iubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡Ih´K5hjIubjÄ)�”}”(hŒ,``size_t size`` the buffer size to allocate ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hjÅIh]”hŒ size_t size”…”�”}”(hjÇIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÃIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K6hj¿Iubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer size to allocate”h]”hŒthe buffer size to allocate”…”�”}”(hjÞIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚIh´K6hjÛIubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚIh´K6hjIubjÄ)�”}”(hŒU``struct snd_dma_buffer *dmab`` buffer allocation record to store the allocated data ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hjþIh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjüIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K7hjøIubjæ)�”}”(hhh]”j{)�”}”(hŒ4buffer allocation record to store the allocated data”h]”hŒ4buffer allocation record to store the allocated data”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jJh´K7hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjøIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jJh´K7hjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjõHubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj9Jh]”hŒ Description”…”�”}”(hj;Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj7Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K9hjõHubj{)�”}”(hŒFCalls the memory-allocator function for the corresponding buffer type.”h]”hŒFCalls the memory-allocator function for the corresponding buffer type.”…”�”}”(hjOJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K8hjõHubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj`Jh]”hŒReturn”…”�”}”(hjbJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj^Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K;hjõHubj{)�”}”(hŒfZero if the buffer with the given size is allocated successfully, otherwise a negative value on error.”h]”hŒfZero if the buffer with the given size is allocated successfully, otherwise a negative value on error.”…”�”}”(hjvJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KMh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hj@Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjQh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj[Oh²hh³jsOh´K�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jYQjšjYQj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hXC**Parameters** ``struct device *dev`` the device pointer ``int type`` the DMA buffer type ``enum dma_data_direction dir`` DMA direction ``size_t size`` the buffer size to allocate **Description** Allocate buffer pages depending on the given type and manage using devres. The pages will be released automatically at the device removal. Unlike snd_dma_alloc_pages(), this function requires the real device pointer, hence it can't work with SNDRV_DMA_TYPE_CONTINUOUS or SNDRV_DMA_TYPE_VMALLOC type. **Return** the snd_dma_buffer object at success, or NULL if failed”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjcQh]”hŒ Parameters”…”�”}”(hjeQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaQubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K“hj]Qubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ*``struct device *dev`` the device pointer ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hj‚Qh]”hŒstruct device *dev”…”�”}”(hj„Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K�hj|Qubjæ)�”}”(hhh]”j{)�”}”(hŒthe device pointer”h]”hŒthe device pointer”…”�”}”(hj›Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j—Qh´K�hj˜Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|Qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—Qh´K�hjyQubjÄ)�”}”(hŒ!``int type`` the DMA buffer type ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj»Qh]”hŒint type”…”�”}”(hj½Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¹Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K‘hjµQubjæ)�”}”(hhh]”j{)�”}”(hŒthe DMA buffer type”h]”hŒthe DMA buffer type”…”�”}”(hjÔQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐQh´K‘hjÑQubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐQh´K‘hjyQubjÄ)�”}”(hŒ.``enum dma_data_direction dir`` DMA direction ”h]”(jÊ)�”}”(hŒ``enum dma_data_direction dir``”h]”jÐ)�”}”(hjôQh]”hŒenum dma_data_direction dir”…”�”}”(hjöQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjòQubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K’hjîQubjæ)�”}”(hhh]”j{)�”}”(hŒ DMA direction”h]”hŒ DMA direction”…”�”}”(hj Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j Rh´K’hj Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjîQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j Rh´K’hjyQubjÄ)�”}”(hŒ,``size_t size`` the buffer size to allocate ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hj-Rh]”hŒ size_t size”…”�”}”(hj/Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj+Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K“hj'Rubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer size to allocate”h]”hŒthe buffer size to allocate”…”�”}”(hjFRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jBRh´K“hjCRubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj'Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jBRh´K“hjyQubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj]Qubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjhRh]”hŒ Description”…”�”}”(hjjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjfRubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K•hj]Qubj{)�”}”(hŒŠAllocate buffer pages depending on the given type and manage using devres. The pages will be released automatically at the device removal.”h]”hŒŠAllocate buffer pages depending on the given type and manage using devres. The pages will be released automatically at the device removal.”…”�”}”(hj~Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K”hj]Qubj{)�”}”(hŒ Unlike snd_dma_alloc_pages(), this function requires the real device pointer, hence it can't work with SNDRV_DMA_TYPE_CONTINUOUS or SNDRV_DMA_TYPE_VMALLOC type.”h]”hŒ¢Unlike snd_dma_alloc_pages(), this function requires the real device pointer, hence it can’t work with SNDRV_DMA_TYPE_CONTINUOUS or SNDRV_DMA_TYPE_VMALLOC type.”…”�”}”(hj�Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K—hj]Qubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjžRh]”hŒReturn”…”�”}”(hj Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjœRubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K›hj]Qubj{)�”}”(hŒ7the snd_dma_buffer object at success, or NULL if failed”h]”hŒ7the snd_dma_buffer object at success, or NULL if failed”…”�”}”(hj´Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kœhj]Qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_dma_buffer_mmap (C function)”Œc.snd_dma_buffer_mmap”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒRint snd_dma_buffer_mmap (struct snd_dma_buffer *dmab, struct vm_area_struct *area)”h]”j )�”}”(hŒQint snd_dma_buffer_mmap(struct snd_dma_buffer *dmab, struct vm_area_struct *area)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjãRh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjßRh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjßRh²hh³jñRh´K¹ubj3)�”}”(hŒsnd_dma_buffer_mmap”h]”j9)�”}”(hŒsnd_dma_buffer_mmap”h]”hŒsnd_dma_buffer_mmap”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjSubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjßRh²hh³jñRh´K¹ubjT)�”}”(hŒ:(struct snd_dma_buffer *dmab, struct vm_area_struct *area)”h]”(jZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj Sh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjSubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-Sh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjSubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hj>Sh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;Subah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j@SŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jSsbŒc.snd_dma_buffer_mmap”†”asbuh1hhjSubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^Sh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjSubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjlSh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjSubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hjySh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjSubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjSubjZ)�”}”(hŒstruct vm_area_struct *area”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj’Sh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽSubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸSh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽSubh)�”}”(hhh]”j9)�”}”(hŒvm_area_struct”h]”hŒvm_area_struct”…”�”}”(hj°Sh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­Subah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j²SŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jZSŒc.snd_dma_buffer_mmap”†”asbuh1hhjŽSubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎSh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽSubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÜSh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽSubj9)�”}”(hŒarea”h]”hŒarea”…”�”}”(hjéSh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽSubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjSubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjßRh²hh³jñRh´K¹ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛRh²hh³jñRh´K¹ubah}”(h]”jÖRah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jñRh´K¹hjØRh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$perform mmap of the given DMA buffer”h]”hŒ$perform mmap of the given DMA buffer”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K¹hjTh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjØRh²hh³jñRh´K¹ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j+Tjšj+Tj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hŒÀ**Parameters** ``struct snd_dma_buffer *dmab`` buffer allocation information ``struct vm_area_struct *area`` VM area information **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj5Th]”hŒ Parameters”…”�”}”(hj7Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj3Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K½hj/Tubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hjTTh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hjVTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjRTubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KºhjNTubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hjmTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jiTh´KºhjjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjNTubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jiTh´KºhjKTubjÄ)�”}”(hŒ4``struct vm_area_struct *area`` VM area information ”h]”(jÊ)�”}”(hŒ``struct vm_area_struct *area``”h]”jÐ)�”}”(hj�Th]”hŒstruct vm_area_struct *area”…”�”}”(hj�Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‹Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K»hj‡Tubjæ)�”}”(hhh]”j{)�”}”(hŒVM area information”h]”hŒVM area information”…”�”}”(hj¦Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¢Th´K»hj£Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‡Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¢Th´K»hjKTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj/Tubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÈTh]”hŒReturn”…”�”}”(hjÊTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÆTubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K½hj/Tubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjÞTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K½hj/Tubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_dma_buffer_sync (C function)”Œc.snd_dma_buffer_sync”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒSvoid snd_dma_buffer_sync (struct snd_dma_buffer *dmab, enum snd_dma_sync_mode mode)”h]”j )�”}”(hŒRvoid snd_dma_buffer_sync(struct snd_dma_buffer *dmab, enum snd_dma_sync_mode mode)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj Uh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj Uh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KÐubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Uh²hh³jUh´KÐubj3)�”}”(hŒsnd_dma_buffer_sync”h]”j9)�”}”(hŒsnd_dma_buffer_sync”h]”hŒsnd_dma_buffer_sync”…”�”}”(hj.Uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*Uubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj Uh²hh³jUh´KÐubjT)�”}”(hŒ:(struct snd_dma_buffer *dmab, enum snd_dma_sync_mode mode)”h]”(jZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjJUh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjFUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjFUubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hjhUh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjeUubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jjUŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j0UsbŒc.snd_dma_buffer_sync”†”asbuh1hhjFUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjFUubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj–Uh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjFUubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hj£Uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjFUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjBUubjZ)�”}”(hŒenum snd_dma_sync_mode mode”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hj¼Uh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¸Uubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸Uubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_sync_mode”h]”hŒsnd_dma_sync_mode”…”�”}”(hjÚUh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×Uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÜUŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j„UŒc.snd_dma_buffer_sync”†”asbuh1hhj¸Uubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸Uubj9)�”}”(hŒmode”h]”hŒmode”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸Uubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjBUubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj Uh²hh³jUh´KÐube•h}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjUh²hh³jUh´KÐubah}”(h]”jUah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jUh´KÐhjUh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&sync DMA buffer between CPU and device”h]”hŒ&sync DMA buffer between CPU and device”…”�”}”(hj0Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KÐhj-Vh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjUh²hh³jUh´KÐubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jHVjšjHVj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hŒ|**Parameters** ``struct snd_dma_buffer *dmab`` buffer allocation information ``enum snd_dma_sync_mode mode`` sync mode”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjRVh]”hŒ Parameters”…”�”}”(hjTVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjPVubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KÔhjLVubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hjqVh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hjsVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjoVubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KÑhjkVubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hjŠVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†Vh´KÑhj‡Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†Vh´KÑhjhVubjÄ)�”}”(hŒ)``enum snd_dma_sync_mode mode`` sync mode”h]”(jÊ)�”}”(hŒ``enum snd_dma_sync_mode mode``”h]”jÐ)�”}”(hjªVh]”hŒenum snd_dma_sync_mode mode”…”�”}”(hj¬Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KÓhj¤Vubjæ)�”}”(hhh]”j{)�”}”(hŒ sync mode”h]”hŒ sync mode”…”�”}”(hjÃVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KÒhjÀVubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤Vubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿Vh´KÓhjhVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjLVubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_sgbuf_get_addr (C function)”Œc.snd_sgbuf_get_addr”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒJdma_addr_t snd_sgbuf_get_addr (struct snd_dma_buffer *dmab, size_t offset)”h]”j )�”}”(hŒIdma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer *dmab, size_t offset)”h]”(h)�”}”(hhh]”j9)�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j WŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_sgbuf_get_addr”sbŒc.snd_sgbuf_get_addr”†”asbuh1hhjWh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)Wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWh²hh³j(Wh´Kãubj3)�”}”(hŒsnd_sgbuf_get_addr”h]”j9)�”}”(hj%Wh]”hŒsnd_sgbuf_get_addr”…”�”}”(hj;Wh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7Wubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjWh²hh³j(Wh´KãubjT)�”}”(hŒ,(struct snd_dma_buffer *dmab, size_t offset)”h]”(jZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjVWh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjRWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRWubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hjtWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jvWŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j#WŒc.snd_sgbuf_get_addr”†”asbuh1hhjRWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRWubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj Wh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjRWubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hj­Wh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjRWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjNWubjZ)�”}”(hŒ size_t offset”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÉWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jËWŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j#WŒc.snd_sgbuf_get_addr”†”asbuh1hhjÂWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÂWubj9)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hjõWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjNWubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjWh²hh³j(Wh´Kãubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjüVh²hh³j(Wh´Kãubah}”(h]”j÷Vah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j(Wh´KãhjùVh²hubjv)�”}”(hhh]”j{)�”}”(hŒ7return the physical address at the corresponding offset”h]”hŒ7return the physical address at the corresponding offset”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KãhjXh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjùVh²hh³j(Wh´Kãubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j7Xjšj7Xj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hŒ **Parameters** ``struct snd_dma_buffer *dmab`` buffer allocation information ``size_t offset`` offset in the ring buffer **Return** the physical address”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjAXh]”hŒ Parameters”…”�”}”(hjCXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj?Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kçhj;Xubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hj`Xh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hjbXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KähjZXubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hjyXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³juXh´KähjvXubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³juXh´KähjWXubjÄ)�”}”(hŒ,``size_t offset`` offset in the ring buffer ”h]”(jÊ)�”}”(hŒ``size_t offset``”h]”jÐ)�”}”(hj™Xh]”hŒ size_t offset”…”�”}”(hj›Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj—Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kåhj“Xubjæ)�”}”(hhh]”j{)�”}”(hŒoffset in the ring buffer”h]”hŒoffset in the ring buffer”…”�”}”(hj²Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j®Xh´Kåhj¯Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj“Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j®Xh´KåhjWXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj;Xubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÔXh]”hŒReturn”…”�”}”(hjÖXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÒXubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kçhj;Xubj{)�”}”(hŒthe physical address”h]”hŒthe physical address”…”�”}”(hjêXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kçhj;Xubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_sgbuf_get_page (C function)”Œc.snd_sgbuf_get_page”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMstruct page * snd_sgbuf_get_page (struct snd_dma_buffer *dmab, size_t offset)”h]”j )�”}”(hŒKstruct page *snd_sgbuf_get_page(struct snd_dma_buffer *dmab, size_t offset)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjYh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYh²hh³j&Yh´Kõubh)�”}”(hhh]”j9)�”}”(hŒpage”h]”hŒpage”…”�”}”(hj8Yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5Yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j:YŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_sgbuf_get_page”sbŒc.snd_sgbuf_get_page”†”asbuh1hhjYh²hh³j&Yh´Kõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYYh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYh²hh³j&Yh´Kõubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgYh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjYh²hh³j&Yh´Kõubj3)�”}”(hŒsnd_sgbuf_get_page”h]”j9)�”}”(hjVYh]”hŒsnd_sgbuf_get_page”…”�”}”(hjxYh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjtYubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjYh²hh³j&Yh´KõubjT)�”}”(hŒ,(struct snd_dma_buffer *dmab, size_t offset)”h]”(jZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj“Yh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�Yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Yubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hj±Yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®Yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j³YŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jTYŒc.snd_sgbuf_get_page”†”asbuh1hhj�Yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏYh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Yubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÝYh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�Yubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hjêYh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Yubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‹YubjZ)�”}”(hŒ size_t offset”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jZŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jTYŒc.snd_sgbuf_get_page”†”asbuh1hhjÿYubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Zh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿYubj9)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj2Zh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿYubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‹Yubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjYh²hh³j&Yh´Kõubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjYh²hh³j&Yh´Kõubah}”(h]”j Yah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j&Yh´KõhjYh²hubjv)�”}”(hhh]”j{)�”}”(hŒ4return the physical page at the corresponding offset”h]”hŒ4return the physical page at the corresponding offset”…”�”}”(hj\Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KõhjYZh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjYh²hh³j&Yh´Kõubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jtZjšjtZj›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hŒœ**Parameters** ``struct snd_dma_buffer *dmab`` buffer allocation information ``size_t offset`` offset in the ring buffer **Return** the page pointer”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj~Zh]”hŒ Parameters”…”�”}”(hj€Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj|Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KùhjxZubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hj�Zh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hjŸZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj›Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Köhj—Zubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hj¶Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j²Zh´Köhj³Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj—Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j²Zh´Köhj”ZubjÄ)�”}”(hŒ,``size_t offset`` offset in the ring buffer ”h]”(jÊ)�”}”(hŒ``size_t offset``”h]”jÐ)�”}”(hjÖZh]”hŒ size_t offset”…”�”}”(hjØZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÔZubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K÷hjÐZubjæ)�”}”(hhh]”j{)�”}”(hŒoffset in the ring buffer”h]”hŒoffset in the ring buffer”…”�”}”(hjïZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jëZh´K÷hjìZubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÐZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jëZh´K÷hj”Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjxZubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj[h]”hŒReturn”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KùhjxZubj{)�”}”(hŒthe page pointer”h]”hŒthe page pointer”…”�”}”(hj'[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´KùhjxZubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_sgbuf_get_chunk_size (C function)”Œc.snd_sgbuf_get_chunk_size”hNt”auh1híhjQ;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒhunsigned int snd_sgbuf_get_chunk_size (struct snd_dma_buffer *dmab, unsigned int ofs, unsigned int size)”h]”j )�”}”(hŒgunsigned int snd_sgbuf_get_chunk_size(struct snd_dma_buffer *dmab, unsigned int ofs, unsigned int size)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjV[h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjR[h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hje[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjR[h²hh³jd[h´Mubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjs[h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjR[h²hh³jd[h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjR[h²hh³jd[h´Mubj3)�”}”(hŒsnd_sgbuf_get_chunk_size”h]”j9)�”}”(hŒsnd_sgbuf_get_chunk_size”h]”hŒsnd_sgbuf_get_chunk_size”…”�”}”(hj“[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�[ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjR[h²hh³jd[h´MubjT)�”}”(hŒB(struct snd_dma_buffer *dmab, unsigned int ofs, unsigned int size)”h]”(jZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¯[h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj«[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«[ubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hjÍ[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊ[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÏ[Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j•[sbŒc.snd_sgbuf_get_chunk_size”†”asbuh1hhj«[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«[ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjû[h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj«[ubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj«[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj§[ubjZ)�”}”(hŒunsigned int ofs”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj!\h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj\ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj=\h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj\ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\ubj9)�”}”(hŒofs”h]”hŒofs”…”�”}”(hjY\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj§[ubjZ)�”}”(hŒunsigned int size”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjr\h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjn\ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjn\ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjŽ\h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjn\ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjn\ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjª\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjn\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj§[ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjR[h²hh³jd[h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjN[h²hh³jd[h´Mubah}”(h]”jI[ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jd[h´MhjK[h²hubjv)�”}”(hhh]”j{)�”}”(hŒ=compute the max chunk size with continuous pages on sg-buffer”h]”hŒ=compute the max chunk size with continuous pages on sg-buffer”…”�”}”(hjÔ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´MhjÑ\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjK[h²hh³jd[h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jì\jšjì\j›‰jœ‰j�‰uh1hþh²hhjQ;h³Nh´NubjŸ)�”}”(hŒÉ**Parameters** ``struct snd_dma_buffer *dmab`` buffer allocation information ``unsigned int ofs`` offset in the ring buffer ``unsigned int size`` the requested size **Return** the chunk size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjö\h]”hŒ Parameters”…”�”}”(hjø\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjô\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´M hjð\ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hj]h]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´M hj]ubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hj.]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j*]h´M hj+]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j*]h´M hj ]ubjÄ)�”}”(hŒ/``unsigned int ofs`` offset in the ring buffer ”h]”(jÊ)�”}”(hŒ``unsigned int ofs``”h]”jÐ)�”}”(hjN]h]”hŒunsigned int ofs”…”�”}”(hjP]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjL]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´M hjH]ubjæ)�”}”(hhh]”j{)�”}”(hŒoffset in the ring buffer”h]”hŒoffset in the ring buffer”…”�”}”(hjg]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jc]h´M hjd]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjH]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jc]h´M hj ]ubjÄ)�”}”(hŒ)``unsigned int size`` the requested size ”h]”(jÊ)�”}”(hŒ``unsigned int size``”h]”jÐ)�”}”(hj‡]h]”hŒunsigned int size”…”�”}”(hj‰]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´M hj�]ubjæ)�”}”(hhh]”j{)�”}”(hŒthe requested size”h]”hŒthe requested size”…”�”}”(hj ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœ]h´M hj�]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœ]h´M hj ]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjð\ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÂ]h]”hŒReturn”…”�”}”(hjÄ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÀ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´M hjð\ubj{)�”}”(hŒthe chunk size”h]”hŒthe chunk size”…”�”}”(hjØ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´M hjð\ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjQ;h²hh³Nh´Nubeh}”(h]”Œmemory-management-helpers”ah ]”h"]”Œmemory management helpers”ah$]”h&]”uh1hµhhËh²hh³hÊh´Kubeh}”(h]”Œmanagement-of-cards-and-devices”ah ]”h"]”Œmanagement of cards and devices”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒPCM API”h]”hŒPCM API”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjþ]h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒPCM Core”h]”hŒPCM Core”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj^h²hh³hÊh´Kubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_pcm_format_name (C function)”Œc.snd_pcm_format_name”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ:const char * snd_pcm_format_name (snd_pcm_format_t format)”h]”j )�”}”(hŒ8const char *snd_pcm_format_name(snd_pcm_format_t format)”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj9^h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj5^h²hh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´KÏubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5^h²hh³jF^h´KÏubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjU^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5^h²hh³jF^h´KÏubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5^h²hh³jF^h´KÏubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjq^h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj5^h²hh³jF^h´KÏubj3)�”}”(hŒsnd_pcm_format_name”h]”j9)�”}”(hŒsnd_pcm_format_name”h]”hŒsnd_pcm_format_name”…”�”}”(hj‚^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~^ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj5^h²hh³jF^h´KÏubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj¡^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjž^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j£^Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j„^sbŒc.snd_pcm_format_name”†”asbuh1hhjš^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjš^ubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjÏ^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjš^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj–^ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj5^h²hh³jF^h´KÏubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj1^h²hh³jF^h´KÏubah}”(h]”j,^ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jF^h´KÏhj.^h²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Return a name string for the given PCM format”h]”hŒ-Return a name string for the given PCM format”…”�”}”(hjù^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´KÏhjö^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj.^h²hh³jF^h´KÏubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j_jšj_j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ\**Parameters** ``snd_pcm_format_t format`` PCM format **Return** the format name string”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj_h]”hŒ Parameters”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´KÓhj_ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ'``snd_pcm_format_t format`` PCM format ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj:_h]”hŒsnd_pcm_format_t format”…”�”}”(hj<_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj8_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´KÐhj4_ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM format”h]”hŒ PCM format”…”�”}”(hjS_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jO_h´KÐhjP_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj4_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jO_h´KÐhj1_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj_ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hju_h]”hŒReturn”…”�”}”(hjw_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjs_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´KÒhj_ubj{)�”}”(hŒthe format name string”h]”hŒthe format name string”…”�”}”(hj‹_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´KÒhj_ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_new_stream (C function)”Œc.snd_pcm_new_stream”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMint snd_pcm_new_stream (struct snd_pcm *pcm, int stream, int substream_count)”h]”j )�”}”(hŒLint snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjº_h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶_h²hh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Meubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶_h²hh³jÈ_h´Meubj3)�”}”(hŒsnd_pcm_new_stream”h]”j9)�”}”(hŒsnd_pcm_new_stream”h]”hŒsnd_pcm_new_stream”…”�”}”(hjÛ_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×_ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¶_h²hh³jÈ_h´MeubjT)�”}”(hŒ6(struct snd_pcm *pcm, int stream, int substream_count)”h]”(jZ)�”}”(hŒstruct snd_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj÷_h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjó_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó_ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j`Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÝ_sbŒc.snd_pcm_new_stream”†”asbuh1hhjó_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó_ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjC`h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjó_ubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjP`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjó_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjï_ubjZ)�”}”(hŒ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hji`h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhje`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hje`ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj…`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hje`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjï_ubjZ)�”}”(hŒint substream_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjž`h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjš`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjš`ubj9)�”}”(hŒsubstream_count”h]”hŒsubstream_count”…”�”}”(hjº`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjš`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjï_ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¶_h²hh³jÈ_h´Meubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj²_h²hh³jÈ_h´Meubah}”(h]”j­_ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÈ_h´Mehj¯_h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate a new PCM stream”h]”hŒcreate a new PCM stream”…”�”}”(hjä`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mehjá`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¯_h²hh³jÈ_h´Meubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jü`jšjü`j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX­**Parameters** ``struct snd_pcm *pcm`` the pcm instance ``int stream`` the stream direction, SNDRV_PCM_STREAM_XXX ``int substream_count`` the number of substreams **Description** Creates a new stream for the pcm. The corresponding stream on the pcm must have been empty before calling this, i.e. zero must be given to the argument of snd_pcm_new(). **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjah]”hŒ Parameters”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mihjaubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hj%ah]”hŒstruct snd_pcm *pcm”…”�”}”(hj'ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj#aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mfhjaubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm instance”…”�”}”(hj>ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j:ah´Mfhj;aubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j:ah´MfhjaubjÄ)�”}”(hŒ:``int stream`` the stream direction, SNDRV_PCM_STREAM_XXX ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hj^ah]”hŒ int stream”…”�”}”(hj`ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj\aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´MghjXaubjæ)�”}”(hhh]”j{)�”}”(hŒ*the stream direction, SNDRV_PCM_STREAM_XXX”h]”hŒ*the stream direction, SNDRV_PCM_STREAM_XXX”…”�”}”(hjwah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsah´Mghjtaubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsah´MghjaubjÄ)�”}”(hŒ1``int substream_count`` the number of substreams ”h]”(jÊ)�”}”(hŒ``int substream_count``”h]”jÐ)�”}”(hj—ah]”hŒint substream_count”…”�”}”(hj™ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj•aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mhhj‘aubjæ)�”}”(hhh]”j{)�”}”(hŒthe number of substreams”h]”hŒthe number of substreams”…”�”}”(hj°ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¬ah´Mhhj­aubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‘aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¬ah´Mhhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjaubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÒah]”hŒ Description”…”�”}”(hjÔah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÐaubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mjhjaubj{)�”}”(hŒ©Creates a new stream for the pcm. The corresponding stream on the pcm must have been empty before calling this, i.e. zero must be given to the argument of snd_pcm_new().”h]”hŒ©Creates a new stream for the pcm. The corresponding stream on the pcm must have been empty before calling this, i.e. zero must be given to the argument of snd_pcm_new().”…”�”}”(hjèah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mihjaubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjùah]”hŒReturn”…”�”}”(hjûah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj÷aubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mnhjaubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mohjaubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_new (C function)”Œ c.snd_pcm_new”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_pcm_new (struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm)”h]”j )�”}”(hŒ€int snd_pcm_new(struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj>bh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj:bh²hh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:bh²hh³jLbh´Mîubj3)�”}”(hŒ snd_pcm_new”h]”j9)�”}”(hŒ snd_pcm_new”h]”hŒ snd_pcm_new”…”�”}”(hj_bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[bubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj:bh²hh³jLbh´MîubjT)�”}”(hŒq(struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj{bh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjwbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjwbubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj™bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–bubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j›bŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jabsbŒ c.snd_pcm_new”†”asbuh1hhjwbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹bh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjwbubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÇbh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjwbubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjÔbh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwbubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsbubjZ)�”}”(hŒconst char *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjíbh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjébubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjébubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjébubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjébubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj$ch²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjébubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj1ch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjébubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsbubjZ)�”}”(hŒ int device”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjJch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjFcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjFcubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjfch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjFcubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsbubjZ)�”}”(hŒint playback_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{cubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{cubj9)�”}”(hŒplayback_count”h]”hŒplayback_count”…”�”}”(hj›ch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{cubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsbubjZ)�”}”(hŒint capture_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj´ch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj°cubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj°cubj9)�”}”(hŒ capture_count”h]”hŒ capture_count”…”�”}”(hjÐch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj°cubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsbubjZ)�”}”(hŒstruct snd_pcm **rpcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjéch²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjåcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjåcubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j dŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jµbŒ c.snd_pcm_new”†”asbuh1hhjåcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjåcubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj3dh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjåcubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj@dh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjåcubj9)�”}”(hŒrpcm”h]”hŒrpcm”…”�”}”(hjMdh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjåcubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsbubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj:bh²hh³jLbh´Mîubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj6bh²hh³jLbh´Mîubah}”(h]”j1bah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jLbh´Mîhj3bh²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate a new PCM instance”h]”hŒcreate a new PCM instance”…”�”}”(hjwdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mîhjtdh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj3bh²hh³jLbh´Mîubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�djšj�dj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX"**Parameters** ``struct snd_card *card`` the card instance ``const char *id`` the id string ``int device`` the device index (zero based) ``int playback_count`` the number of substreams for playback ``int capture_count`` the number of substreams for capture ``struct snd_pcm **rpcm`` the pointer to store the new pcm instance **Description** Creates a new PCM instance. The pcm operators have to be set afterwards to the new instance via snd_pcm_set_ops(). **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj™dh]”hŒ Parameters”…”�”}”(hj›dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—dubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mòhj“dubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj¸dh]”hŒstruct snd_card *card”…”�”}”(hjºdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶dubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mïhj²dubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjÑdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÍdh´MïhjÎdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍdh´Mïhj¯dubjÄ)�”}”(hŒ!``const char *id`` the id string ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hjñdh]”hŒconst char *id”…”�”}”(hjódh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjïdubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mðhjëdubjæ)�”}”(hhh]”j{)�”}”(hŒ the id string”h]”hŒ the id string”…”�”}”(hj eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jeh´Mðhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjëdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jeh´Mðhj¯dubjÄ)�”}”(hŒ-``int device`` the device index (zero based) ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hj*eh]”hŒ int device”…”�”}”(hj,eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj(eubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mñhj$eubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index (zero based)”h]”hŒthe device index (zero based)”…”�”}”(hjCeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j?eh´Mñhj@eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj$eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j?eh´Mñhj¯dubjÄ)�”}”(hŒ=``int playback_count`` the number of substreams for playback ”h]”(jÊ)�”}”(hŒ``int playback_count``”h]”jÐ)�”}”(hjceh]”hŒint playback_count”…”�”}”(hjeeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjaeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mòhj]eubjæ)�”}”(hhh]”j{)�”}”(hŒ%the number of substreams for playback”h]”hŒ%the number of substreams for playback”…”�”}”(hj|eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jxeh´Mòhjyeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jxeh´Mòhj¯dubjÄ)�”}”(hŒ;``int capture_count`` the number of substreams for capture ”h]”(jÊ)�”}”(hŒ``int capture_count``”h]”jÐ)�”}”(hjœeh]”hŒint capture_count”…”�”}”(hjžeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjšeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Móhj–eubjæ)�”}”(hhh]”j{)�”}”(hŒ$the number of substreams for capture”h]”hŒ$the number of substreams for capture”…”�”}”(hjµeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j±eh´Móhj²eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj–eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j±eh´Móhj¯dubjÄ)�”}”(hŒD``struct snd_pcm **rpcm`` the pointer to store the new pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm **rpcm``”h]”jÐ)�”}”(hjÕeh]”hŒstruct snd_pcm **rpcm”…”�”}”(hj×eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÓeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´MôhjÏeubjæ)�”}”(hhh]”j{)�”}”(hŒ)the pointer to store the new pcm instance”h]”hŒ)the pointer to store the new pcm instance”…”�”}”(hjîeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jêeh´Môhjëeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÏeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jêeh´Môhj¯dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj“dubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjfh]”hŒ Description”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Möhj“dubj{)�”}”(hŒCreates a new PCM instance.”h]”hŒCreates a new PCM instance.”…”�”}”(hj&fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mõhj“dubj{)�”}”(hŒVThe pcm operators have to be set afterwards to the new instance via snd_pcm_set_ops().”h]”hŒVThe pcm operators have to be set afterwards to the new instance via snd_pcm_set_ops().”…”�”}”(hj5fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´M÷hj“dubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjFfh]”hŒReturn”…”�”}”(hjHfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjDfubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Múhj“dubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj\fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mûhj“dubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_pcm_new_internal (C function)”Œc.snd_pcm_new_internal”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒŠint snd_pcm_new_internal (struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm)”h]”j )�”}”(hŒ‰int snd_pcm_new_internal(struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‹fh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡fh²hh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡fh²hh³j™fh´Mubj3)�”}”(hŒsnd_pcm_new_internal”h]”j9)�”}”(hŒsnd_pcm_new_internal”h]”hŒsnd_pcm_new_internal”…”�”}”(hj¬fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨fubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‡fh²hh³j™fh´MubjT)�”}”(hŒq(struct snd_card *card, const char *id, int device, int playback_count, int capture_count, struct snd_pcm **rpcm)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÈfh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÄfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄfubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjæfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjãfubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jèfŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j®fsbŒc.snd_pcm_new_internal”†”asbuh1hhjÄfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄfubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÄfubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj!gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄfubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀfubjZ)�”}”(hŒconst char *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj:gh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj6gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGgh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6gubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjUgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj6gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcgh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6gubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjqgh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj6gubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj~gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀfubjZ)�”}”(hŒ int device”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj—gh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj“gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥gh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“gubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj³gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj“gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀfubjZ)�”}”(hŒint playback_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÌgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÈgubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚgh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÈgubj9)�”}”(hŒplayback_count”h]”hŒplayback_count”…”�”}”(hjègh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀfubjZ)�”}”(hŒint capture_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjýgubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjýgubj9)�”}”(hŒ capture_count”h]”hŒ capture_count”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjýgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀfubjZ)�”}”(hŒstruct snd_pcm **rpcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj6hh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj2hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjChh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2hubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(hjThh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jVhŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jgŒc.snd_pcm_new_internal”†”asbuh1hhj2hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2hubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj€hh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj2hubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�hh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj2hubj9)�”}”(hŒrpcm”h]”hŒrpcm”…”�”}”(hjšhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀfubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj‡fh²hh³j™fh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjƒfh²hh³j™fh´Mubah}”(h]”j~fah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j™fh´Mhj€fh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"create a new internal PCM instance”h]”hŒ"create a new internal PCM instance”…”�”}”(hjÄhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´MhjÁhh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj€fh²hh³j™fh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÜhjšjÜhj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXf**Parameters** ``struct snd_card *card`` the card instance ``const char *id`` the id string ``int device`` the device index (zero based - shared with normal PCMs) ``int playback_count`` the number of substreams for playback ``int capture_count`` the number of substreams for capture ``struct snd_pcm **rpcm`` the pointer to store the new pcm instance **Description** Creates a new internal PCM instance with no userspace device or procfs entries. This is used by ASoC Back End PCMs in order to create a PCM that will only be used internally by kernel drivers. i.e. it cannot be opened by userspace. It provides existing ASoC components drivers with a substream and access to any private data. The pcm operators have to be set afterwards to the new instance via snd_pcm_set_ops(). **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjæhh]”hŒ Parameters”…”�”}”(hjèhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjähubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´M hjàhubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjih]”hŒstruct snd_card *card”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mhjÿhubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jih´Mhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÿhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jih´MhjühubjÄ)�”}”(hŒ!``const char *id`` the id string ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hj>ih]”hŒconst char *id”…”�”}”(hj@ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj"xubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j=xh´MÐhj­wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‘wubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjcxh]”hŒ Description”…”�”}”(hjexh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaxubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÒhj‘wubj{)�”}”(hŒ c = a / b”h]”hŒ c = a / b”…”�”}”(hjyxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÑhj‘wubj{)�”}”(hŒ>Returns non-zero if the value is changed, zero if not changed.”h]”hŒ>Returns non-zero if the value is changed, zero if not changed.”…”�”}”(hjˆxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÓhj‘wubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_interval_muldivk (C function)”Œc.snd_interval_muldivk”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~void snd_interval_muldivk (const struct snd_interval *a, const struct snd_interval *b, unsigned int k, struct snd_interval *c)”h]”j )�”}”(hŒ}void snd_interval_muldivk(const struct snd_interval *a, const struct snd_interval *b, unsigned int k, struct snd_interval *c)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj·xh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj³xh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³xh²hh³jÅxh´Mïubj3)�”}”(hŒsnd_interval_muldivk”h]”j9)�”}”(hŒsnd_interval_muldivk”h]”hŒsnd_interval_muldivk”…”�”}”(hjØxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔxubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj³xh²hh³jÅxh´MïubjT)�”}”(hŒd(const struct snd_interval *a, const struct snd_interval *b, unsigned int k, struct snd_interval *c)”h]”(jZ)�”}”(hŒconst struct snd_interval *a”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjôxh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjðxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðxubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjðxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðxubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj-yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j/yŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÚxsbŒc.snd_interval_muldivk”†”asbuh1hhjðxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðxubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj[yh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjðxubj9)�”}”(hjSvh]”hŒa”…”�”}”(hjhyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìxubjZ)�”}”(hŒconst struct snd_interval *b”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj€yh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj|yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|yubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj›yh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj|yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|yubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj¹yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j»yŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jIyŒc.snd_interval_muldivk”†”asbuh1hhj|yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|yubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjåyh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj|yubj9)�”}”(hjÞvh]”hŒb”…”�”}”(hjòyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj|yubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìxubjZ)�”}”(hŒunsigned int k”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj zh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj&zh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4zh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzubj9)�”}”(hjlh]”hŒk”…”�”}”(hjBzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìxubjZ)�”}”(hŒstruct snd_interval *c”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjZzh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjVzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjVzubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjxzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjuzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jzzŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jIyŒc.snd_interval_muldivk”†”asbuh1hhjVzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–zh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjVzubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¤zh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjVzubj9)�”}”(hj–h]”hŒc”…”�”}”(hj±zh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjVzubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìxubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj³xh²hh³jÅxh´Mïubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¯xh²hh³jÅxh´Mïubah}”(h]”jªxah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅxh´Mïhj¬xh²hubjv)�”}”(hhh]”j{)�”}”(hŒrefine the interval value”h]”hŒrefine the interval value”…”�”}”(hjÚzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mïhj×zh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¬xh²hh³jÅxh´Mïubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jòzjšjòzj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX**Parameters** ``const struct snd_interval *a`` dividend 1 ``const struct snd_interval *b`` dividend 2 ``unsigned int k`` divisor (as integer) ``struct snd_interval *c`` result **Description** c = a * b / k Returns non-zero if the value is changed, zero if not changed.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjüzh]”hŒ Parameters”…”�”}”(hjþzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjúzubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Móhjözubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``const struct snd_interval *a`` dividend 1 ”h]”(jÊ)�”}”(hŒ ``const struct snd_interval *a``”h]”jÐ)�”}”(hj{h]”hŒconst struct snd_interval *a”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mðhj{ubjæ)�”}”(hhh]”j{)�”}”(hŒ dividend 1”h]”hŒ dividend 1”…”�”}”(hj4{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j0{h´Mðhj1{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j0{h´Mðhj{ubjÄ)�”}”(hŒ,``const struct snd_interval *b`` dividend 2 ”h]”(jÊ)�”}”(hŒ ``const struct snd_interval *b``”h]”jÐ)�”}”(hjT{h]”hŒconst struct snd_interval *b”…”�”}”(hjV{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjR{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MñhjN{ubjæ)�”}”(hhh]”j{)�”}”(hŒ dividend 2”h]”hŒ dividend 2”…”�”}”(hjm{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³ji{h´Mñhjj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjN{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³ji{h´Mñhj{ubjÄ)�”}”(hŒ(``unsigned int k`` divisor (as integer) ”h]”(jÊ)�”}”(hŒ``unsigned int k``”h]”jÐ)�”}”(hj�{h]”hŒunsigned int k”…”�”}”(hj�{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‹{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mòhj‡{ubjæ)�”}”(hhh]”j{)�”}”(hŒdivisor (as integer)”h]”hŒdivisor (as integer)”…”�”}”(hj¦{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¢{h´Mòhj£{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‡{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¢{h´Mòhj{ubjÄ)�”}”(hŒ"``struct snd_interval *c`` result ”h]”(jÊ)�”}”(hŒ``struct snd_interval *c``”h]”jÐ)�”}”(hjÆ{h]”hŒstruct snd_interval *c”…”�”}”(hjÈ{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÄ{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MóhjÀ{ubjæ)�”}”(hhh]”j{)�”}”(hŒresult”h]”hŒresult”…”�”}”(hjß{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÛ{h´MóhjÜ{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÀ{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÛ{h´Móhj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjözubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj|h]”hŒ Description”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÿ{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mõhjözubj{)�”}”(hŒ c = a * b / k”h]”hŒ c = a * b / k”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Môhjözubj{)�”}”(hŒ>Returns non-zero if the value is changed, zero if not changed.”h]”hŒ>Returns non-zero if the value is changed, zero if not changed.”…”�”}”(hj&|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Möhjözubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_interval_mulkdiv (C function)”Œc.snd_interval_mulkdiv”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~void snd_interval_mulkdiv (const struct snd_interval *a, unsigned int k, const struct snd_interval *b, struct snd_interval *c)”h]”j )�”}”(hŒ}void snd_interval_mulkdiv(const struct snd_interval *a, unsigned int k, const struct snd_interval *b, struct snd_interval *c)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjU|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjQ|h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjd|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ|h²hh³jc|h´Mubj3)�”}”(hŒsnd_interval_mulkdiv”h]”j9)�”}”(hŒsnd_interval_mulkdiv”h]”hŒsnd_interval_mulkdiv”…”�”}”(hjv|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjr|ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjQ|h²hh³jc|h´MubjT)�”}”(hŒd(const struct snd_interval *a, unsigned int k, const struct snd_interval *b, struct snd_interval *c)”h]”(jZ)�”}”(hŒconst struct snd_interval *a”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj’|h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽ|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽ|ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj­|h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽ|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽ|ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjË|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈ|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÍ|Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jx|sbŒc.snd_interval_mulkdiv”†”asbuh1hhjŽ|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽ|ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjù|h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽ|ubj9)�”}”(hjSvh]”hŒa”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽ|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠ|ubjZ)�”}”(hŒunsigned int k”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj:}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjH}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}ubj9)�”}”(hjlh]”hŒk”…”�”}”(hjV}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠ|ubjZ)�”}”(hŒconst struct snd_interval *b”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjn}h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjj}ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj‰}h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjj}ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj§}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¤}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j©}Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jç|Œc.snd_interval_mulkdiv”†”asbuh1hhjj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅ}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjj}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÓ}h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjj}ubj9)�”}”(hjÞvh]”hŒb”…”�”}”(hjà}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjj}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠ|ubjZ)�”}”(hŒstruct snd_interval *c”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjø}h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjô}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjô}ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j~Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jç|Œc.snd_interval_mulkdiv”†”asbuh1hhjô}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjô}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjB~h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjô}ubj9)�”}”(hj–h]”hŒc”…”�”}”(hjO~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjô}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠ|ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjQ|h²hh³jc|h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjM|h²hh³jc|h´Mubah}”(h]”jH|ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jc|h´MhjJ|h²hubjv)�”}”(hhh]”j{)�”}”(hŒrefine the interval value”h]”hŒrefine the interval value”…”�”}”(hjx~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhju~h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjJ|h²hh³jc|h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�~jšj�~j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX**Parameters** ``const struct snd_interval *a`` dividend 1 ``unsigned int k`` dividend 2 (as integer) ``const struct snd_interval *b`` divisor ``struct snd_interval *c`` result **Description** c = a * k / b Returns non-zero if the value is changed, zero if not changed.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjš~h]”hŒ Parameters”…”�”}”(hjœ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj˜~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj”~ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``const struct snd_interval *a`` dividend 1 ”h]”(jÊ)�”}”(hŒ ``const struct snd_interval *a``”h]”jÐ)�”}”(hj¹~h]”hŒconst struct snd_interval *a”…”�”}”(hj»~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj·~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj³~ubjæ)�”}”(hhh]”j{)�”}”(hŒ dividend 1”h]”hŒ dividend 1”…”�”}”(hjÒ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÎ~h´MhjÏ~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÎ~h´Mhj°~ubjÄ)�”}”(hŒ+``unsigned int k`` dividend 2 (as integer) ”h]”(jÊ)�”}”(hŒ``unsigned int k``”h]”jÐ)�”}”(hjò~h]”hŒunsigned int k”…”�”}”(hjô~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjð~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhjì~ubjæ)�”}”(hhh]”j{)�”}”(hŒdividend 2 (as integer)”h]”hŒdividend 2 (as integer)”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjì~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´Mhj°~ubjÄ)�”}”(hŒ)``const struct snd_interval *b`` divisor ”h]”(jÊ)�”}”(hŒ ``const struct snd_interval *b``”h]”jÐ)�”}”(hj+h]”hŒconst struct snd_interval *b”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj%ubjæ)�”}”(hhh]”j{)�”}”(hŒdivisor”h]”hŒdivisor”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j@h´MhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j@h´Mhj°~ubjÄ)�”}”(hŒ"``struct snd_interval *c`` result ”h]”(jÊ)�”}”(hŒ``struct snd_interval *c``”h]”jÐ)�”}”(hjdh]”hŒstruct snd_interval *c”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj^ubjæ)�”}”(hhh]”j{)�”}”(hŒresult”h]”hŒresult”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jyh´Mhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jyh´Mhj°~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj”~ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjŸh]”hŒ Description”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj”~ubj{)�”}”(hŒ c = a * k / b”h]”hŒ c = a * k / b”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj”~ubj{)�”}”(hŒ>Returns non-zero if the value is changed, zero if not changed.”h]”hŒ>Returns non-zero if the value is changed, zero if not changed.”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj”~ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_interval_ratnum (C function)”Œc.snd_interval_ratnum”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_interval_ratnum (struct snd_interval *i, unsigned int rats_count, const struct snd_ratnum *rats, unsigned int *nump, unsigned int *denp)”h]”j )�”}”(hŒ�int snd_interval_ratnum(struct snd_interval *i, unsigned int rats_count, const struct snd_ratnum *rats, unsigned int *nump, unsigned int *denp)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjïh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjïh²hh³j€h´M5ubj3)�”}”(hŒsnd_interval_ratnum”h]”j9)�”}”(hŒsnd_interval_ratnum”h]”hŒsnd_interval_ratnum”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjïh²hh³j€h´M5ubjT)�”}”(hŒx(struct snd_interval *i, unsigned int rats_count, const struct snd_ratnum *rats, unsigned int *nump, unsigned int *denp)”h]”(jZ)�”}”(hŒstruct snd_interval *i”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj0€h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj,€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj,€ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjN€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjK€ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jP€Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j€sbŒc.snd_interval_ratnum”†”asbuh1hhj,€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjn€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj,€ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj|€h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj,€ubj9)�”}”(hjÌsh]”hŒi”…”�”}”(hj‰€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj,€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(€ubjZ)�”}”(hŒunsigned int rats_count”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¡€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�€ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj½€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�€ubj9)�”}”(hŒ rats_count”h]”hŒ rats_count”…”�”}”(hjÙ€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(€ubjZ)�”}”(hŒconst struct snd_ratnum *rats”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjò€h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjî€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî€ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjî€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî€ubh)�”}”(hhh]”j9)�”}”(hŒ snd_ratnum”h]”hŒ snd_ratnum”…”�”}”(hj+�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj(�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j-�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jj€Œc.snd_interval_ratnum”†”asbuh1hhjî€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî€ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjW�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjî€ubj9)�”}”(hŒrats”h]”hŒrats”…”�”}”(hjd�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjî€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(€ubjZ)�”}”(hŒunsigned int *nump”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj}�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjy�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjy�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj™�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjy�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjy�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjµ�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjy�ubj9)�”}”(hŒnump”h]”hŒnump”…”�”}”(hjÂ�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjy�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(€ubjZ)�”}”(hŒunsigned int *denp”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÛ�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj×�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj÷�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj×�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj×�ubj9)�”}”(hŒdenp”h]”hŒdenp”…”�”}”(hj ‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj(€ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjïh²hh³j€h´M5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjëh²hh³j€h´M5ubah}”(h]”jæah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j€h´M5hjèh²hubjv)�”}”(hhh]”j{)�”}”(hŒrefine the interval value”h]”hŒrefine the interval value”…”�”}”(hjJ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M5hjG‚h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjèh²hh³j€h´M5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jb‚jšjb‚j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX�**Parameters** ``struct snd_interval *i`` interval to refine ``unsigned int rats_count`` number of ratnum_t ``const struct snd_ratnum *rats`` ratnum_t array ``unsigned int *nump`` pointer to store the resultant numerator ``unsigned int *denp`` pointer to store the resultant denominator **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjl‚h]”hŒ Parameters”…”�”}”(hjn‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M9hjf‚ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_interval *i`` interval to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hj‹‚h]”hŒstruct snd_interval *i”…”�”}”(hj�‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‰‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M6hj…‚ubjæ)�”}”(hhh]”j{)�”}”(hŒinterval to refine”h]”hŒinterval to refine”…”�”}”(hj¤‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j ‚h´M6hj¡‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj…‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j ‚h´M6hj‚‚ubjÄ)�”}”(hŒ/``unsigned int rats_count`` number of ratnum_t ”h]”(jÊ)�”}”(hŒ``unsigned int rats_count``”h]”jÐ)�”}”(hjÄ‚h]”hŒunsigned int rats_count”…”�”}”(hjÆ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M7hj¾‚ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of ratnum_t”h]”hŒnumber of ratnum_t”…”�”}”(h•jÝ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÙ‚h´M7hjÚ‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¾‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÙ‚h´M7hj‚‚ubjÄ)�”}”(hŒ1``const struct snd_ratnum *rats`` ratnum_t array ”h]”(jÊ)�”}”(hŒ!``const struct snd_ratnum *rats``”h]”jÐ)�”}”(hjý‚h]”hŒconst struct snd_ratnum *rats”…”�”}”(hjÿ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjû‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M8hj÷‚ubjæ)�”}”(hhh]”j{)�”}”(hŒratnum_t array”h]”hŒratnum_t array”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jƒh´M8hjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj÷‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jƒh´M8hj‚‚ubjÄ)�”}”(hŒ@``unsigned int *nump`` pointer to store the resultant numerator ”h]”(jÊ)�”}”(hŒ``unsigned int *nump``”h]”jÐ)�”}”(hj6ƒh]”hŒunsigned int *nump”…”�”}”(hj8ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj4ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M9hj0ƒubjæ)�”}”(hhh]”j{)�”}”(hŒ(pointer to store the resultant numerator”h]”hŒ(pointer to store the resultant numerator”…”�”}”(hjOƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jKƒh´M9hjLƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj0ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jKƒh´M9hj‚‚ubjÄ)�”}”(hŒB``unsigned int *denp`` pointer to store the resultant denominator ”h]”(jÊ)�”}”(hŒ``unsigned int *denp``”h]”jÐ)�”}”(hjoƒh]”hŒunsigned int *denp”…”�”}”(hjqƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjmƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M:hjiƒubjæ)�”}”(hhh]”j{)�”}”(hŒ*pointer to store the resultant denominator”h]”hŒ*pointer to store the resultant denominator”…”�”}”(hjˆƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j„ƒh´M:hj…ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjiƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„ƒh´M:hj‚‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjf‚ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjªƒh]”hŒReturn”…”�”}”(hj¬ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¨ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M<hjf‚ubj{)�”}”(hŒUPositive if the value is changed, zero if it's not changed, or a negative error code.”h]”hŒWPositive if the value is changed, zero if it’s not changed, or a negative error code.”…”�”}”(hjÀƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M<hjf‚ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_interval_ratden (C function)”Œc.snd_interval_ratden”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_interval_ratden (struct snd_interval *i, unsigned int rats_count, const struct snd_ratden *rats, unsigned int *nump, unsigned int *denp)”h]”j )�”}”(hŒ�int snd_interval_ratden(struct snd_interval *i, unsigned int rats_count, const struct snd_ratden *rats, unsigned int *nump, unsigned int *denp)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjïƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjëƒh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjëƒh²hh³jýƒh´M«ubj3)�”}”(hŒsnd_interval_ratden”h]”j9)�”}”(hŒsnd_interval_ratden”h]”hŒsnd_interval_ratden”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj „ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjëƒh²hh³jýƒh´M«ubjT)�”}”(hŒx(struct snd_interval *i, unsigned int rats_count, const struct snd_ratden *rats, unsigned int *nump, unsigned int *denp)”h]”(jZ)�”}”(hŒstruct snd_interval *i”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj,„h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj(„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj(„ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjJ„h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjG„ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jL„Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j„sbŒc.snd_interval_ratden”†”asbuh1hhj(„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj(„ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjx„h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj(„ubj9)�”}”(hjÌsh]”hŒi”…”�”}”(hj…„h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj(„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$„ubjZ)�”}”(hŒunsigned int rats_count”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj�„h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj™„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™„ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¹„h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj™„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™„ubj9)�”}”(hŒ rats_count”h]”hŒ rats_count”…”�”}”(hjÕ„h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$„ubjZ)�”}”(hŒconst struct snd_ratden *rats”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjî„h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjê„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjê„ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj …h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjê„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjê„ubh)�”}”(hhh]”j9)�”}”(hŒ snd_ratden”h]”hŒ snd_ratden”…”�”}”(hj'…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$…ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j)…Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jf„Œc.snd_interval_ratden”†”asbuh1hhjê„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjê„ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjS…h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjê„ubj9)�”}”(hŒrats”h]”hŒrats”…”�”}”(hj`…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjê„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$„ubjZ)�”}”(hŒunsigned int *nump”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjy…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhju…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hju…ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj•…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhju…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hju…ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj±…h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hju…ubj9)�”}”(hŒnump”h]”hŒnump”…”�”}”(hj¾…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hju…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$„ubjZ)�”}”(hŒunsigned int *denp”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj×…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÓ…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓ…ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjó…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÓ…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓ…ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÓ…ubj9)�”}”(hŒdenp”h]”hŒdenp”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓ…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$„ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjëƒh²hh³jýƒh´M«ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjçƒh²hh³jýƒh´M«ubah}”(h]”jâƒah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jýƒh´M«hjäƒh²hubjv)�”}”(hhh]”j{)�”}”(hŒrefine the interval value”h]”hŒrefine the interval value”…”�”}”(hjF†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M«hjC†h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjäƒh²hh³jýƒh´M«ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j^†jšj^†j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXš**Parameters** ``struct snd_interval *i`` interval to refine ``unsigned int rats_count`` number of struct ratden ``const struct snd_ratden *rats`` struct ratden array ``unsigned int *nump`` pointer to store the resultant numerator ``unsigned int *denp`` pointer to store the resultant denominator **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh†h]”hŒ Parameters”…”�”}”(hjj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjf†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¯hjb†ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_interval *i`` interval to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hj‡†h]”hŒstruct snd_interval *i”…”�”}”(hj‰†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¬hj�†ubjæ)�”}”(hhh]”j{)�”}”(hŒinterval to refine”h]”hŒinterval to refine”…”�”}”(hj †h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœ†h´M¬hj�†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœ†h´M¬hj~†ubjÄ)�”}”(hŒ4``unsigned int rats_count`` number of struct ratden ”h]”(jÊ)�”}”(hŒ``unsigned int rats_count``”h]”jÐ)�”}”(hjÀ†h]”hŒunsigned int rats_count”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M­hjº†ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of struct ratden”h]”hŒnumber of struct ratden”…”�”}”(hjÙ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÕ†h´M­hjÖ†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjº†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕ†h´M­hj~†ubjÄ)�”}”(hŒ6``const struct snd_ratden *rats`` struct ratden array ”h]”(jÊ)�”}”(hŒ!``const struct snd_ratden *rats``”h]”jÐ)�”}”(hjù†h]”hŒconst struct snd_ratden *rats”…”�”}”(hjû†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj÷†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M®hjó†ubjæ)�”}”(hhh]”j{)�”}”(hŒstruct ratden array”h]”hŒstruct ratden array”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‡h´M®hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjó†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡h´M®hj~†ubjÄ)�”}”(hŒ@``unsigned int *nump`` pointer to store the resultant numerator ”h]”(jÊ)�”}”(hŒ``unsigned int *nump``”h]”jÐ)�”}”(hj2‡h]”hŒunsigned int *nump”…”�”}”(hj4‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¯hj,‡ubjæ)�”}”(hhh]”j{)�”}”(hŒ(pointer to store the resultant numerator”h]”hŒ(pointer to store the resultant numerator”…”�”}”(hjK‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jG‡h´M¯hjH‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jG‡h´M¯hj~†ubjÄ)�”}”(hŒB``unsigned int *denp`` pointer to store the resultant denominator ”h]”(jÊ)�”}”(hŒ``unsigned int *denp``”h]”jÐ)�”}”(hjk‡h]”hŒunsigned int *denp”…”�”}”(hjm‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhji‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M°hje‡ubjæ)�”}”(hhh]”j{)�”}”(hŒ*pointer to store the resultant denominator”h]”hŒ*pointer to store the resultant denominator”…”�”}”(hj„‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€‡h´M°hj�‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€‡h´M°hj~†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjb†ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¦‡h]”hŒReturn”…”�”}”(hj¨‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¤‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M²hjb†ubj{)�”}”(hŒUPositive if the value is changed, zero if it's not changed, or a negative error code.”h]”hŒWPositive if the value is changed, zero if it’s not changed, or a negative error code.”…”�”}”(hj¼‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M²hjb†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_interval_list (C function)”Œc.snd_interval_list”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒoint snd_interval_list (struct snd_interval *i, unsigned int count, const unsigned int *list, unsigned int mask)”h]”j )�”}”(hŒnint snd_interval_list(struct snd_interval *i, unsigned int count, const unsigned int *list, unsigned int mask)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjë‡h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjç‡h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjç‡h²hh³jù‡h´M ubj3)�”}”(hŒsnd_interval_list”h]”j9)�”}”(hŒsnd_interval_list”h]”hŒsnd_interval_list”…”�”}”(hj ˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjç‡h²hh³jù‡h´M ubjT)�”}”(hŒY(struct snd_interval *i, unsigned int count, const unsigned int *list, unsigned int mask)”h]”(jZ)�”}”(hŒstruct snd_interval *i”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj(ˆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj$ˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5ˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$ˆubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjFˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjCˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jHˆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jˆsbŒc.snd_interval_list”†”asbuh1hhj$ˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$ˆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjtˆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj$ˆubj9)�”}”(hjÌsh]”hŒi”…”�”}”(hj�ˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ˆubjZ)�”}”(hŒunsigned int count”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj™ˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•ˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§ˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•ˆubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjµˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•ˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•ˆubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjшh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj•ˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ˆubjZ)�”}”(hŒconst unsigned int *list”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjêˆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjæˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷ˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæˆubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæˆubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj!‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæˆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj=‰h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjæˆubj9)�”}”(hŒlist”h]”hŒlist”…”�”}”(hjJ‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ˆubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjc‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj_‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_‰ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj_‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_‰ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj›‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ˆubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjç‡h²hh³jù‡h´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjã‡h²hh³jù‡h´M ubah}”(h]”jÞ‡ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jù‡h´M hjà‡h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'refine the interval value from the list”h]”hŒ'refine the interval value from the list”…”�”}”(hjʼnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj‰h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjà‡h²hh³jù‡h´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j݉jšj݉j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXÕ**Parameters** ``struct snd_interval *i`` the interval value to refine ``unsigned int count`` the number of elements in the list ``const unsigned int *list`` the value list ``unsigned int mask`` the bit-mask to evaluate **Description** Refines the interval value from the list. When mask is non-zero, only the elements corresponding to bit 1 are evaluated. **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjç‰h]”hŒ Parameters”…”�”}”(hjé‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjå‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhjá‰ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_interval *i`` the interval value to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hjŠh]”hŒstruct snd_interval *i”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MhjŠubjæ)�”}”(hhh]”j{)�”}”(hŒthe interval value to refine”h]”hŒthe interval value to refine”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŠh´MhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŠh´Mhjý‰ubjÄ)�”}”(hŒ:``unsigned int count`` the number of elements in the list ”h]”(jÊ)�”}”(hŒ``unsigned int count``”h]”jÐ)�”}”(hj?Šh]”hŒunsigned int count”…”�”}”(hjAŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj=Šubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj9Šubjæ)�”}”(hhh]”j{)�”}”(hŒ"the number of elements in the list”h]”hŒ"the number of elements in the list”…”�”}”(hjXŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jTŠh´MhjUŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9Šubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jTŠh´Mhjý‰ubjÄ)�”}”(hŒ,``const unsigned int *list`` the value list ”h]”(jÊ)�”}”(hŒ``const unsigned int *list``”h]”jÐ)�”}”(hjxŠh]”hŒconst unsigned int *list”…”�”}”(hjzŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjvŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MhjrŠubjæ)�”}”(hhh]”j{)�”}”(hŒthe value list”h]”hŒthe value list”…”�”}”(hj‘Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�Šh´MhjŽŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjrŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�Šh´Mhjý‰ubjÄ)�”}”(hŒ/``unsigned int mask`` the bit-mask to evaluate ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hj±Šh]”hŒunsigned int mask”…”�”}”(hj³Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¯Šubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj«Šubjæ)�”}”(hhh]”j{)�”}”(hŒthe bit-mask to evaluate”h]”hŒthe bit-mask to evaluate”…”�”}”(hjÊŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÆŠh´MhjÇŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj«Šubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÆŠh´Mhjý‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjá‰ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjìŠh]”hŒ Description”…”�”}”(hjîŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjêŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhjá‰ubj{)�”}”(hŒxRefines the interval value from the list. When mask is non-zero, only the elements corresponding to bit 1 are evaluated.”h]”hŒxRefines the interval value from the list. When mask is non-zero, only the elements corresponding to bit 1 are evaluated.”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhjá‰ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj‹h]”hŒReturn”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhjá‰ubj{)�”}”(hŒUPositive if the value is changed, zero if it's not changed, or a negative error code.”h]”hŒWPositive if the value is changed, zero if it’s not changed, or a negative error code.”…”�”}”(hj)‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhjá‰ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_interval_ranges (C function)”Œc.snd_interval_ranges”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒzint snd_interval_ranges (struct snd_interval *i, unsigned int count, const struct snd_interval *ranges, unsigned int mask)”h]”j )�”}”(hŒyint snd_interval_ranges(struct snd_interval *i, unsigned int count, const struct snd_interval *ranges, unsigned int mask)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjX‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjT‹h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT‹h²hh³jf‹h´M4ubj3)�”}”(hŒsnd_interval_ranges”h]”j9)�”}”(hŒsnd_interval_ranges”h]”hŒsnd_interval_ranges”…”�”}”(hjy‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hju‹ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjT‹h²hh³jf‹h´M4ubjT)�”}”(hŒb(struct snd_interval *i, unsigned int count, const struct snd_interval *ranges, unsigned int mask)”h]”(jZ)�”}”(hŒstruct snd_interval *i”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj•‹h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‘‹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‘‹ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj³‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj°‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jµ‹Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j{‹sbŒc.snd_interval_ranges”†”asbuh1hhj‘‹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‘‹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjá‹h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‘‹ubj9)�”}”(hjÌsh]”hŒi”…”�”}”(hjî‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�‹ubjZ)�”}”(hŒunsigned int count”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj"Œh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj>Œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�‹ubjZ)�”}”(hŒ!const struct snd_interval *ranges”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjWŒh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjSŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjSŒubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjrŒh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjSŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjSŒubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj�Œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Œubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j’ŒŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÏ‹Œc.snd_interval_ranges”†”asbuh1hhjSŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®Œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjSŒubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¼Œh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjSŒubj9)�”}”(hŒranges”h]”hŒranges”…”�”}”(hjÉŒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjSŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�‹ubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjâŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞŒubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjþŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞŒubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�‹ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjT‹h²hh³jf‹h´M4ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjP‹h²hh³jf‹h´M4ubah}”(h]”jK‹ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jf‹h´M4hjM‹h²hubjv)�”}”(hhh]”j{)�”}”(hŒ1refine the interval value from the list of ranges”h]”hŒ1refine the interval value from the list of ranges”…”�”}”(hjD�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M4hjA�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjM‹h²hh³jf‹h´M4ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j\�jšj\�j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXó**Parameters** ``struct snd_interval *i`` the interval value to refine ``unsigned int count`` the number of elements in the list of ranges ``const struct snd_interval *ranges`` the ranges list ``unsigned int mask`` the bit-mask to evaluate **Description** Refines the interval value from the list of ranges. When mask is non-zero, only the elements corresponding to bit 1 are evaluated. **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjf�h]”hŒ Parameters”…”�”}”(hjh�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjd�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M8hj`�ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_interval *i`` the interval value to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hj…�h]”hŒstruct snd_interval *i”…”�”}”(hj‡�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjƒ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M5hj�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe interval value to refine”h]”hŒthe interval value to refine”…”�”}”(hjž�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jš�h´M5hj›�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jš�h´M5hj|�ubjÄ)�”}”(hŒD``unsigned int count`` the number of elements in the list of ranges ”h]”(jÊ)�”}”(hŒ``unsigned int count``”h]”jÐ)�”}”(hj¾�h]”hŒunsigned int count”…”�”}”(hjÀ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¼�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M6hj¸�ubjæ)�”}”(hhh]”j{)�”}”(hŒ,the number of elements in the list of ranges”h]”hŒ,the number of elements in the list of ranges”…”�”}”(hj×�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÓ�h´M6hjÔ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¸�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÓ�h´M6hj|�ubjÄ)�”}”(hŒ6``const struct snd_interval *ranges`` the ranges list ”h]”(jÊ)�”}”(hŒ%``const struct snd_interval *ranges``”h]”jÐ)�”}”(hj÷�h]”hŒ!const struct snd_interval *ranges”…”�”}”(hjù�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjõ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M7hjñ�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe ranges list”h]”hŒthe ranges list”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j Žh´M7hj Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjñ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j Žh´M7hj|�ubjÄ)�”}”(hŒ/``unsigned int mask`` the bit-mask to evaluate ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hj0Žh]”hŒunsigned int mask”…”�”}”(hj2Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj.Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M8hj*Žubjæ)�”}”(hhh]”j{)�”}”(hŒthe bit-mask to evaluate”h]”hŒthe bit-mask to evaluate”…”�”}”(hjIŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jEŽh´M8hjFŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj*Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jEŽh´M8hj|�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj`�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjkŽh]”hŒ Description”…”�”}”(hjmŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjiŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M:hj`�ubj{)�”}”(hŒ‚Refines the interval value from the list of ranges. When mask is non-zero, only the elements corresponding to bit 1 are evaluated.”h]”hŒ‚Refines the interval value from the list of ranges. When mask is non-zero, only the elements corresponding to bit 1 are evaluated.”…”�”}”(hj�Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M9hj`�ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj’Žh]”hŒReturn”…”�”}”(hj”Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M=hj`�ubj{)�”}”(hŒUPositive if the value is changed, zero if it's not changed, or a negative error code.”h]”hŒWPositive if the value is changed, zero if it’s not changed, or a negative error code.”…”�”}”(hj¨Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M>hj`�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_pcm_hw_rule_add (C function)”Œc.snd_pcm_hw_rule_add”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_pcm_hw_rule_add (struct snd_pcm_runtime *runtime, unsigned int cond, int var, snd_pcm_hw_rule_func_t func, void *private, int dep, ...)”h]”j )�”}”(hŒŽint snd_pcm_hw_rule_add(struct snd_pcm_runtime *runtime, unsigned int cond, int var, snd_pcm_hw_rule_func_t func, void *private, int dep, ...)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj׎h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÓŽh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mƒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓŽh²hh³jåŽh´Mƒubj3)�”}”(hŒsnd_pcm_hw_rule_add”h]”j9)�”}”(hŒsnd_pcm_hw_rule_add”h]”hŒsnd_pcm_hw_rule_add”…”�”}”(hjøŽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjôŽubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÓŽh²hh³jåŽh´MƒubjT)�”}”(hŒw(struct snd_pcm_runtime *runtime, unsigned int cond, int var, snd_pcm_hw_rule_func_t func, void *private, int dep, ...)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj2�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj/�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j4�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜júŽsbŒc.snd_pcm_hw_rule_add”†”asbuh1hhj�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj`�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjm�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubjZ)�”}”(hŒunsigned int cond”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj†�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‚�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‚�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¢�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‚�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‚�ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj¾�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubjZ)�”}”(hŒint var”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj×�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÓ�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓ�ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjó�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓ�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubjZ)�”}”(hŒsnd_pcm_hw_rule_func_t func”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_rule_func_t”h]”hŒsnd_pcm_hw_rule_func_t”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj �ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jN�Œc.snd_pcm_hw_rule_add”†”asbuh1hhj�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�ubj9)�”}”(hŒfunc”h]”hŒfunc”…”�”}”(hj;�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubjZ)�”}”(hŒ void *private”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjT�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjP�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjP�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjp�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjP�ubj9)�”}”(hŒprivate”h]”hŒprivate”…”�”}”(hj}�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjP�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubjZ)�”}”(hŒint dep”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj–�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj’�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’�ubj9)�”}”(hŒdep”h]”hŒdep”…”�”}”(hj²�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubjZ)�”}”(hŒ...”h]”j¹)�”}”(hŒ...”h]”hŒ...”…”�”}”(hjË�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÇ�ubah}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj �ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÓŽh²hh³jåŽh´Mƒubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÏŽh²hh³jåŽh´Mƒubah}”(h]”jÊŽah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jåŽh´MƒhjÌŽh²hubjv)�”}”(hhh]”j{)�”}”(hŒadd the hw-constraint rule”h]”hŒadd the hw-constraint rule”…”�”}”(hjõ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mƒhjò�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÌŽh²hh³jåŽh´Mƒubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j ‘jšj ‘j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX¥**Parameters** ``struct snd_pcm_runtime *runtime`` the pcm runtime instance ``unsigned int cond`` condition bits ``int var`` the variable to evaluate ``snd_pcm_hw_rule_func_t func`` the evaluation function ``void *private`` the private data pointer passed to function ``int dep`` the dependent variables ``...`` variable arguments **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‘h]”hŒ Parameters”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‡hj‘ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ=``struct snd_pcm_runtime *runtime`` the pcm runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj6‘h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj8‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj4‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M„hj0‘ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm runtime instance”h]”hŒthe pcm runtime instance”…”�”}”(hjO‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jK‘h´M„hjL‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj0‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jK‘h´M„hj-‘ubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hjo‘h]”hŒunsigned int cond”…”�”}”(hjq‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjm‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M…hji‘ubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(hjˆ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j„‘h´M…hj…‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhji‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„‘h´M…hj-‘ubjÄ)�”}”(hŒ%``int var`` the variable to evaluate ”h]”(jÊ)�”}”(hŒ ``int var``”h]”jÐ)�”}”(hj¨‘h]”hŒint var”…”�”}”(hjª‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¦‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M†hj¢‘ubjæ)�”}”(hhh]”j{)�”}”(hŒthe variable to evaluate”h]”hŒthe variable to evaluate”…”�”}”(hjÁ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j½‘h´M†hj¾‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¢‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j½‘h´M†hj-‘ubjÄ)�”}”(hŒ8``snd_pcm_hw_rule_func_t func`` the evaluation function ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_rule_func_t func``”h]”jÐ)�”}”(hjá‘h]”hŒsnd_pcm_hw_rule_func_t func”…”�”}”(hjã‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjß‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‡hjÛ‘ubjæ)�”}”(hhh]”j{)�”}”(hŒthe evaluation function”h]”hŒthe evaluation function”…”�”}”(hjú‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jö‘h´M‡hj÷‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÛ‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jö‘h´M‡hj-‘ubjÄ)�”}”(hŒ>``void *private`` the private data pointer passed to function ”h]”(jÊ)�”}”(hŒ``void *private``”h]”jÐ)�”}”(hj’h]”hŒ void *private”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mˆhj’ubjæ)�”}”(hhh]”j{)�”}”(hŒ+the private data pointer passed to function”h]”hŒ+the private data pointer passed to function”…”�”}”(hj3’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j/’h´Mˆhj0’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j/’h´Mˆhj-‘ubjÄ)�”}”(hŒ$``int dep`` the dependent variables ”h]”(jÊ)�”}”(hŒ ``int dep``”h]”jÐ)�”}”(hjS’h]”hŒint dep”…”�”}”(hjU’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjQ’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‰hjM’ubjæ)�”}”(hhh]”j{)�”}”(hŒthe dependent variables”h]”hŒthe dependent variables”…”�”}”(hjl’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh’h´M‰hji’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjM’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh’h´M‰hj-‘ubjÄ)�”}”(hŒ``...`` variable arguments ”h]”(jÊ)�”}”(hŒ``...``”h]”jÐ)�”}”(hjŒ’h]”hŒ...”…”�”}”(hjŽ’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠ’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Khj†’ubjæ)�”}”(hhh]”j{)�”}”(hŒvariable arguments”h]”hŒvariable arguments”…”�”}”(hj¥’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡’h´Khj¢’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡’h´Khj-‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‘ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÇ’h]”hŒReturn”…”�”}”(hjÉ’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÅ’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Khj‘ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÝ’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‹hj‘ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_hw_constraint_mask (C function)”Œc.snd_pcm_hw_constraint_mask”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒhint snd_pcm_hw_constraint_mask (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int32_t mask)”h]”j )�”}”(hŒgint snd_pcm_hw_constraint_mask(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int32_t mask)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj “h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj“h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mºubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“h²hh³j“h´Mºubj3)�”}”(hŒsnd_pcm_hw_constraint_mask”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_mask”h]”hŒsnd_pcm_hw_constraint_mask”…”�”}”(hj-“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)“ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj“h²hh³j“h´MºubjT)�”}”(hŒI(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int32_t mask)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjI“h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjE“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjE“ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjg“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjd“ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”ji“Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j/“sbŒc.snd_pcm_hw_constraint_mask”†”asbuh1hhjE“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjE“ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj•“h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjE“ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj¢“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjE“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjA“ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj¾“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»“ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÀ“Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jƒ“Œc.snd_pcm_hw_constraint_mask”†”asbuh1hhj·“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜ“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·“ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjê“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjA“ubjZ)�”}”(hŒu_int32_t mask”h]”(h)�”}”(hhh]”j9)�”}”(hŒ u_int32_t”h]”hŒ u_int32_t”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j”Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jƒ“Œc.snd_pcm_hw_constraint_mask”†”asbuh1hhjÿ“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿ“ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj2”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿ“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjA“ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj“h²hh³j“h´Mºubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj“h²hh³j“h´Mºubah}”(h]”jÿ’ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j“h´Mºhj“h²hubjv)�”}”(hhh]”j{)�”}”(hŒ&apply the given bitmap mask constraint”h]”hŒ&apply the given bitmap mask constraint”…”�”}”(hj\”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MºhjY”h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj“h²hh³j“h´Mºubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jt”jšjt”j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXU**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``snd_pcm_hw_param_t var`` hw_params variable to apply the mask ``u_int32_t mask`` the bitmap mask **Description** Apply the constraint of the given bitmap mask to a 32-bit mask parameter. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj~”h]”hŒ Parameters”…”�”}”(hj€”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj|”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¾hjx”ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj�”h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjŸ”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj›”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M»hj—”ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj¶”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j²”h´M»hj³”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj—”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j²”h´M»hj””ubjÄ)�”}”(hŒ@``snd_pcm_hw_param_t var`` hw_params variable to apply the mask ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hjÖ”h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hjØ”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÔ”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¼hjДubjæ)�”}”(hhh]”j{)�”}”(hŒ$hw_params variable to apply the mask”h]”hŒ$hw_params variable to apply the mask”…”�”}”(hjï”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jë”h´M¼hjì”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjДubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jë”h´M¼hj””ubjÄ)�”}”(hŒ#``u_int32_t mask`` the bitmap mask ”h]”(jÊ)�”}”(hŒ``u_int32_t mask``”h]”jÐ)�”}”(hj•h]”hŒu_int32_t mask”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj •ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M½hj •ubjæ)�”}”(hhh]”j{)�”}”(hŒthe bitmap mask”h]”hŒthe bitmap mask”…”�”}”(hj(•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j$•h´M½hj%•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj •ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j$•h´M½hj””ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjx”ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjJ•h]”hŒ Description”…”�”}”(hjL•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjH•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¿hjx”ubj{)�”}”(hŒIApply the constraint of the given bitmap mask to a 32-bit mask parameter.”h]”hŒIApply the constraint of the given bitmap mask to a 32-bit mask parameter.”…”�”}”(hj`•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¾hjx”ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjq•h]”hŒReturn”…”�”}”(hjs•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjo•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÀhjx”ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj‡•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÁhjx”ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_hw_constraint_mask64 (C function)”Œc.snd_pcm_hw_constraint_mask64”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒjint snd_pcm_hw_constraint_mask64 (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int64_t mask)”h]”j )�”}”(hŒiint snd_pcm_hw_constraint_mask64(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int64_t mask)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶•h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj²•h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÐubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅ•h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²•h²hh³jÄ•h´MÐubj3)�”}”(hŒsnd_pcm_hw_constraint_mask64”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_mask64”h]”hŒsnd_pcm_hw_constraint_mask64”…”�”}”(hjוh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓ•ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj²•h²hh³jÄ•h´MÐubjT)�”}”(hŒI(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, u_int64_t mask)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjó•h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjï•ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjï•ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j–Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÙ•sbŒc.snd_pcm_hw_constraint_mask64”†”asbuh1hhjï•ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1–h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjï•ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj?–h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjï•ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjL–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjï•ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjë•ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hjh–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hje–ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jj–Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j-–Œc.snd_pcm_hw_constraint_mask64”†”asbuh1hhja–ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†–h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hja–ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj”–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hja–ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjë•ubjZ)�”}”(hŒu_int64_t mask”h]”(h)�”}”(hhh]”j9)�”}”(hŒ u_int64_t”h]”hŒ u_int64_t”…”�”}”(hj°–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­–ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j²–Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j-–Œc.snd_pcm_hw_constraint_mask64”†”asbuh1hhj©–ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjΖh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj©–ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjÜ–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©–ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjë•ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj²•h²hh³jÄ•h´MÐubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj®•h²hh³jÄ•h´MÐubah}”(h]”j©•ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÄ•h´MÐhj«•h²hubjv)�”}”(hhh]”j{)�”}”(hŒ&apply the given bitmap mask constraint”h]”hŒ&apply the given bitmap mask constraint”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÐhj—h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj«•h²hh³jÄ•h´MÐubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j—jšj—j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX[**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``snd_pcm_hw_param_t var`` hw_params variable to apply the mask ``u_int64_t mask`` the 64bit bitmap mask **Description** Apply the constraint of the given bitmap mask to a 64-bit mask parameter. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj(—h]”hŒ Parameters”…”�”}”(hj*—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj&—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÔhj"—ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjG—h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjI—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjE—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÑhjA—ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj`—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j\—h´MÑhj]—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjA—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j\—h´MÑhj>—ubjÄ)�”}”(hŒ@``snd_pcm_hw_param_t var`` hw_params variable to apply the mask ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hj€—h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj‚—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj~—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÒhjz—ubjæ)�”}”(hhh]”j{)�”}”(hŒ$hw_params variable to apply the mask”h]”hŒ$hw_params variable to apply the mask”…”�”}”(hj™—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j•—h´MÒhj–—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjz—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j•—h´MÒhj>—ubjÄ)�”}”(hŒ)``u_int64_t mask`` the 64bit bitmap mask ”h]”(jÊ)�”}”(hŒ``u_int64_t mask``”h]”jÐ)�”}”(hj¹—h]”hŒu_int64_t mask”…”�”}”(hj»—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj·—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÓhj³—ubjæ)�”}”(hhh]”j{)�”}”(hŒthe 64bit bitmap mask”h]”hŒthe 64bit bitmap mask”…”�”}”(hjÒ—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jΗh´MÓhjÏ—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jΗh´MÓhj>—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj"—ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjô—h]”hŒ Description”…”�”}”(hjö—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjò—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÕhj"—ubj{)�”}”(hŒIApply the constraint of the given bitmap mask to a 64-bit mask parameter.”h]”hŒIApply the constraint of the given bitmap mask to a 64-bit mask parameter.”…”�”}”(hj ˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÔhj"—ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj˜h]”hŒReturn”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÖhj"—ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj1˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M×hj"—ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_pcm_hw_constraint_integer (C function)”Œc.snd_pcm_hw_constraint_integer”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ[int snd_pcm_hw_constraint_integer (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var)”h]”j )�”}”(hŒZint snd_pcm_hw_constraint_integer(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj`˜h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj\˜h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mèubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo˜h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\˜h²hh³jn˜h´Mèubj3)�”}”(hŒsnd_pcm_hw_constraint_integer”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_integer”h]”hŒsnd_pcm_hw_constraint_integer”…”�”}”(hj�˜h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}˜ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj\˜h²hh³jn˜h´MèubjT)�”}”(hŒ9(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�˜h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj™˜ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª˜h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™˜ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj»˜h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸˜ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j½˜Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jƒ˜sbŒc.snd_pcm_hw_constraint_integer”†”asbuh1hhj™˜ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ˜h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™˜ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjé˜h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj™˜ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjö˜h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™˜ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj•˜ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j™Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jטŒc.snd_pcm_hw_constraint_integer”†”asbuh1hhj ™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ™ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj>™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ™ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj•˜ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj\˜h²hh³jn˜h´Mèubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjX˜h²hh³jn˜h´Mèubah}”(h]”jS˜ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jn˜h´MèhjU˜h²hubjv)�”}”(hhh]”j{)�”}”(hŒ*apply an integer constraint to an interval”h]”hŒ*apply an integer constraint to an interval”…”�”}”(•hjh™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mèhje™h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjU˜h²hh³jn˜h´Mèubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j€™jšj€™j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXJ**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``snd_pcm_hw_param_t var`` hw_params variable to apply the integer constraint **Description** Apply the constraint of integer to an interval parameter. **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjŠ™h]”hŒ Parameters”…”�”}”(hjŒ™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjˆ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mìhj„™ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj©™h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj«™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj§™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Méhj£™ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¾™h´Méhj¿™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj£™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¾™h´Méhj ™ubjÄ)�”}”(hŒN``snd_pcm_hw_param_t var`` hw_params variable to apply the integer constraint ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hjâ™h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hjä™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjà™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MêhjÜ™ubjæ)�”}”(hhh]”j{)�”}”(hŒ2hw_params variable to apply the integer constraint”h]”hŒ2hw_params variable to apply the integer constraint”…”�”}”(hjû™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j÷™h´Mêhjø™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÜ™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j÷™h´Mêhj ™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj„™ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjšh]”hŒ Description”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mìhj„™ubj{)�”}”(hŒ9Apply the constraint of integer to an interval parameter.”h]”hŒ9Apply the constraint of integer to an interval parameter.”…”�”}”(hj3šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mëhj„™ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjDšh]”hŒReturn”…”�”}”(hjFšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjBšubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Míhj„™ubj{)�”}”(hŒUPositive if the value is changed, zero if it's not changed, or a negative error code.”h]”hŒWPositive if the value is changed, zero if it’s not changed, or a negative error code.”…”�”}”(hjZšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mîhj„™ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_hw_constraint_minmax (C function)”Œc.snd_pcm_hw_constraint_minmax”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~int snd_pcm_hw_constraint_minmax (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int min, unsigned int max)”h]”j )�”}”(hŒ}int snd_pcm_hw_constraint_minmax(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int min, unsigned int max)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‰šh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj…šh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mùubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜šh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj…šh²hh³j—šh´Mùubj3)�”}”(hŒsnd_pcm_hw_constraint_minmax”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_minmax”h]”hŒsnd_pcm_hw_constraint_minmax”…”�”}”(hjªšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦šubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj…šh²hh³j—šh´MùubjT)�”}”(hŒ](struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int min, unsigned int max)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÆšh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjšubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjšubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjäšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjášubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j暌modname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¬šsbŒc.snd_pcm_hw_constraint_minmax”†”asbuh1hhjšubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjšubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjšubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjšubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¾šubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj;›h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8›ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j=›Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j›Œc.snd_pcm_hw_constraint_minmax”†”asbuh1hhj4›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4›ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjg›h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¾šubjZ)�”}”(hŒunsigned int min”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj€›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj|›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|›ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjœ›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj|›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|›ubj9)�”}”(hŒmin”h]”hŒmin”…”�”}”(hj¸›h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj|›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¾šubjZ)�”}”(hŒunsigned int max”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÑ›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÍ›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÍ›ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjí›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÍ›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÍ›ubj9)�”}”(hŒmax”h]”hŒmax”…”�”}”(hj œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÍ›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¾šubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj…šh²hh³j—šh´Mùubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�šh²hh³j—šh´Mùubah}”(h]”j|šah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j—šh´Mùhj~šh²hubjv)�”}”(hhh]”j{)�”}”(hŒ/apply a min/max range constraint to an interval”h]”hŒ/apply a min/max range constraint to an interval”…”�”}”(hj3œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mùhj0œh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj~šh²hh³j—šh´Mùubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jKœjšjKœj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX”**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``snd_pcm_hw_param_t var`` hw_params variable to apply the range ``unsigned int min`` the minimal value ``unsigned int max`` the maximal value **Description** Apply the min/max range constraint to an interval parameter. **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjUœh]”hŒ Parameters”…”�”}”(hjWœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjSœubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MýhjOœubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjtœh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjvœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjrœubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Múhjnœubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj�œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‰œh´MúhjŠœubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjnœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰œh´MúhjkœubjÄ)�”}”(hŒA``snd_pcm_hw_param_t var`` hw_params variable to apply the range ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hj­œh]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj¯œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj«œubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mûhj§œubjæ)�”}”(hhh]”j{)�”}”(hŒ%hw_params variable to apply the range”h]”hŒ%hw_params variable to apply the range”…”�”}”(hjÆœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœh´MûhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj§œubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœh´MûhjkœubjÄ)�”}”(hŒ'``unsigned int min`` the minimal value ”h]”(jÊ)�”}”(hŒ``unsigned int min``”h]”jÐ)�”}”(hjæœh]”hŒunsigned int min”…”�”}”(hjèœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjäœubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mühjàœubjæ)�”}”(hhh]”j{)�”}”(hŒthe minimal value”h]”hŒthe minimal value”…”�”}”(hjÿœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jûœh´Mühjüœubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjàœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jûœh´MühjkœubjÄ)�”}”(hŒ'``unsigned int max`` the maximal value ”h]”(jÊ)�”}”(hŒ``unsigned int max``”h]”jÐ)�”}”(hj�h]”hŒunsigned int max”…”�”}”(hj!�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mýhj�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe maximal value”h]”hŒthe maximal value”…”�”}”(hj8�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j4�h´Mýhj5�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j4�h´Mýhjkœubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjOœubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjZ�h]”hŒ Description”…”�”}”(hj\�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjX�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÿhjOœubj{)�”}”(hŒhj=£ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjo¤h]”hŒReturn”…”�”}”(hjq¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjm¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M@hj=£ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj…¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MAhj=£ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_pcm_hw_constraint_ratnums (C function)”Œc.snd_pcm_hw_constraint_ratnums”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_pcm_hw_constraint_ratnums (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ratnums *r)”h]”j )�”}”(hŒœint snd_pcm_hw_constraint_ratnums(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ratnums *r)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj´¤h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj°¤h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj°¤h²hh³j¤h´M^ubj3)�”}”(hŒsnd_pcm_hw_constraint_ratnums”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_ratnums”h]”hŒsnd_pcm_hw_constraint_ratnums”…”�”}”(hjÕ¤h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjѤubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj°¤h²hh³j¤h´M^ubjT)�”}”(hŒ{(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ratnums *r)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjñ¤h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjí¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþ¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjí¤ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¥Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jפsbŒc.snd_pcm_hw_constraint_ratnums”†”asbuh1hhjí¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/¥h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjí¤ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj=¥h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjí¤ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjJ¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjí¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjé¤ubjZ)�”}”(hŒunsigned int cond”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjc¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj_¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq¥h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_¥ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj_¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¥h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_¥ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj›¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjé¤ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj·¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj´¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¹¥Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j+¥Œc.snd_pcm_hw_constraint_ratnums”†”asbuh1hhj°¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ¥h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj°¥ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjã¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj°¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjé¤ubjZ)�”}”(hŒ-const struct snd_pcm_hw_constraint_ratnums *r”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjü¥h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjø¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjø¥ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjø¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjø¥ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_constraint_ratnums”h]”hŒsnd_pcm_hw_constraint_ratnums”…”�”}”(hj5¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j7¦Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j+¥Œc.snd_pcm_hw_constraint_ratnums”†”asbuh1hhjø¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjø¥ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hja¦h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjø¥ubj9)�”}”(hjù¢h]”hŒr”…”�”}”(hjn¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjø¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjé¤ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj°¤h²hh³j¤h´M^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¬¤h²hh³j¤h´M^ubah}”(h]”j§¤ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¤h´M^hj©¤h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'apply ratnums constraint to a parameter”h]”hŒ'apply ratnums constraint to a parameter”…”�”}”(hj—¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M^hj”¦h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj©¤h²hh³j¤h´M^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¯¦jšj¯¦j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX]**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``unsigned int cond`` condition bits ``snd_pcm_hw_param_t var`` hw_params variable to apply the ratnums constraint ``const struct snd_pcm_hw_constraint_ratnums *r`` struct snd_ratnums constriants **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¹¦h]”hŒ Parameters”…”�”}”(hj»¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj·¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mbhj³¦ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjئh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjÚ¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÖ¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M_hjÒ¦ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjñ¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jí¦h´M_hjî¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÒ¦ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jí¦h´M_hjϦubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hj§h]”hŒunsigned int cond”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M`hj §ubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(hj*§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j&§h´M`hj'§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj §ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j&§h´M`hjϦubjÄ)�”}”(hŒN``snd_pcm_hw_param_t var`` hw_params variable to apply the ratnums constraint ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hjJ§h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hjL§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjH§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MahjD§ubjæ)�”}”(hhh]”j{)�”}”(hŒ2hw_params variable to apply the ratnums constraint”h]”hŒ2hw_params variable to apply the ratnums constraint”…”�”}”(hjc§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_§h´Mahj`§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjD§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_§h´MahjϦubjÄ)�”}”(hŒQ``const struct snd_pcm_hw_constraint_ratnums *r`` struct snd_ratnums constriants ”h]”(jÊ)�”}”(hŒ1``const struct snd_pcm_hw_constraint_ratnums *r``”h]”jÐ)�”}”(hjƒ§h]”hŒ-const struct snd_pcm_hw_constraint_ratnums *r”…”�”}”(hj…§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mbhj}§ubjæ)�”}”(hhh]”j{)�”}”(hŒstruct snd_ratnums constriants”h]”hŒstruct snd_ratnums constriants”…”�”}”(hjœ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j˜§h´Mbhj™§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜§h´MbhjϦubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj³¦ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¾§h]”hŒReturn”…”�”}”(hjÀ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¼§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mdhj³¦ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÔ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mdhj³¦ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_pcm_hw_constraint_ratdens (C function)”Œc.snd_pcm_hw_constraint_ratdens”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_pcm_hw_constraint_ratdens (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ratdens *r)”h]”j )�”}”(hŒœint snd_pcm_hw_constraint_ratdens(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ratdens *r)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿ§h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿ§h²hh³j¨h´M€ubj3)�”}”(hŒsnd_pcm_hw_constraint_ratdens”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_ratdens”h]”hŒsnd_pcm_hw_constraint_ratdens”…”�”}”(hj$¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ¨ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÿ§h²hh³j¨h´M€ubjT)�”}”(hŒ{(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, const struct snd_pcm_hw_constraint_ratdens *r)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj@¨h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<¨ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj^¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[¨ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j`¨Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j&¨sbŒc.snd_pcm_hw_constraint_ratdens”†”asbuh1hhj<¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<¨ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŒ¨h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj<¨ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj™¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<¨ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8¨ubjZ)�”}”(hŒunsigned int cond”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj²¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®¨ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjΨh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjܨh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®¨ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hjê¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®¨ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8¨ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j©Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jz¨Œc.snd_pcm_hw_constraint_ratdens”†”asbuh1hhjÿ¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿ¨ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj2©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿ¨ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8¨ubjZ)�”}”(hŒ-const struct snd_pcm_hw_constraint_ratdens *r”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjK©h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjG©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjX©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjG©ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjf©h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjG©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjG©ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_constraint_ratdens”h]”hŒsnd_pcm_hw_constraint_ratdens”…”�”}”(hj„©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j†©Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jz¨Œc.snd_pcm_hw_constraint_ratdens”†”asbuh1hhjG©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjG©ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj°©h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjG©ubj9)�”}”(hjù¢h]”hŒr”…”�”}”(hj½©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjG©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8¨ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÿ§h²hh³j¨h´M€ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjû§h²hh³j¨h´M€ubah}”(h]”jö§ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¨h´M€hjø§h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'apply ratdens constraint to a parameter”h]”hŒ'apply ratdens constraint to a parameter”…”�”}”(hjæ©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M€hjã©h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjø§h²hh³j¨h´M€ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jþ©jšjþ©j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX]**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``unsigned int cond`` condition bits ``snd_pcm_hw_param_t var`` hw_params variable to apply the ratdens constraint ``const struct snd_pcm_hw_constraint_ratdens *r`` struct snd_ratdens constriants **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjªh]”hŒ Parameters”…”�”}”(hj ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjªubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M„hjªubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj'ªh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj)ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%ªubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M�hj!ªubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj@ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j<ªh´M�hj=ªubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!ªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j<ªh´M�hjªubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hj`ªh]”hŒunsigned int cond”…”�”}”(hjbªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^ªubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‚hjZªubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(hjyªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³juªh´M‚hjvªubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³juªh´M‚hjªubjÄ)�”}”(hŒN``snd_pcm_hw_param_t var`` hw_params variable to apply the ratdens constraint ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hj™ªh]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj›ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj—ªubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mƒhj“ªubjæ)�”}”(hhh]”j{)�”}”(hŒ2hw_params variable to apply the ratdens constraint”h]”hŒ2hw_params variable to apply the ratdens constraint”…”�”}”(hj²ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j®ªh´Mƒhj¯ªubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj“ªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j®ªh´MƒhjªubjÄ)�”}”(hŒQ``const struct snd_pcm_hw_constraint_ratdens *r`` struct snd_ratdens constriants ”h]”(jÊ)�”}”(hŒ1``const struct snd_pcm_hw_constraint_ratdens *r``”h]”jÐ)�”}”(hjÒªh]”hŒ-const struct snd_pcm_hw_constraint_ratdens *r”…”�”}”(hjÔªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjЪubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M„hj̪ubjæ)�”}”(hhh]”j{)�”}”(hŒstruct snd_ratdens constriants”h]”hŒstruct snd_ratdens constriants”…”�”}”(hjëªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jçªh´M„hjèªubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj̪ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jçªh´M„hjªubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjªubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj «h]”hŒReturn”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj «ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M†hjªubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj#«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M†hjªubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_hw_constraint_msbits (C function)”Œc.snd_pcm_hw_constraint_msbits”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~int snd_pcm_hw_constraint_msbits (struct snd_pcm_runtime *runtime, unsigned int cond, unsigned int width, unsigned int msbits)”h]”j )�”}”(hŒ}int snd_pcm_hw_constraint_msbits(struct snd_pcm_runtime *runtime, unsigned int cond, unsigned int width, unsigned int msbits)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjR«h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN«h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M§ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hja«h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN«h²hh³j`«h´M§ubj3)�”}”(hŒsnd_pcm_hw_constraint_msbits”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_msbits”h]”hŒsnd_pcm_hw_constraint_msbits”…”�”}”(hjs«h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjo«ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjN«h²hh³j`«h´M§ubjT)�”}”(hŒ](struct snd_pcm_runtime *runtime, unsigned int cond, unsigned int width, unsigned int msbits)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�«h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‹«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ«h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‹«ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj­«h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjª«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¯«Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜ju«sbŒc.snd_pcm_hw_constraint_msbits”†”asbuh1hhj‹«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ«h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‹«ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÛ«h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‹«ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjè«h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‡«ubjZ)�”}”(hŒunsigned int cond”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjý«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjý«ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjý«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjý«ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj9¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjý«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‡«ubjZ)�”}”(hŒunsigned int width”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjR¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN¬ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjn¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN¬ubj9)�”}”(hŒwidth”h]”hŒwidth”…”�”}”(hjЬh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjN¬ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‡«ubjZ)�”}”(hŒunsigned int msbits”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj£¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸ¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸ¬ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¿¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸ¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjͬh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸ¬ubj9)�”}”(hŒmsbits”h]”hŒmsbits”…”�”}”(hjÛ¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸ¬ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‡«ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjN«h²hh³j`«h´M§ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjJ«h²hh³j`«h´M§ubah}”(h]”jE«ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j`«h´M§hjG«h²hubjv)�”}”(hhh]”j{)�”}”(hŒadd a hw constraint msbits rule”h]”hŒadd a hw constraint msbits rule”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M§hj­h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjG«h²hh³j`«h´M§ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j­jšj­j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``unsigned int cond`` condition bits ``unsigned int width`` sample bits width ``unsigned int msbits`` msbits width **Description** This constraint will set the number of most significant bits (msbits) if a sample format with the specified width has been select. If width is set to 0 the msbits will be set for any sample format with a width larger than the specified msbits. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj'­h]”hŒ Parameters”…”�”}”(hj)­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj%­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M«hj!­ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjF­h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjH­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjD­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¨hj@­ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj_­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j[­h´M¨hj\­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj@­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j[­h´M¨hj=­ubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hj­h]”hŒunsigned int cond”…”�”}”(hj�­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj}­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M©hjy­ubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(hj˜­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j”­h´M©hj•­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjy­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j”­h´M©hj=­ubjÄ)�”}”(hŒ)``unsigned int width`` sample bits width ”h]”(jÊ)�”}”(hŒ``unsigned int width``”h]”jÐ)�”}”(hj¸­h]”hŒunsigned int width”…”�”}”(hjº­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mªhj²­ubjæ)�”}”(hhh]”j{)�”}”(hŒsample bits width”h]”hŒsample bits width”…”�”}”(hjÑ­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÍ­h´Mªhjέubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍ­h´Mªhj=­ubjÄ)�”}”(hŒ%``unsigned int msbits`` msbits width ”h]”(jÊ)�”}”(hŒ``unsigned int msbits``”h]”jÐ)�”}”(hjñ­h]”hŒunsigned int msbits”…”�”}”(hjó­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjï­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M«hjë­ubjæ)�”}”(hhh]”j{)�”}”(hŒ msbits width”h]”hŒ msbits width”…”�”}”(hj ®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j®h´M«hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjë­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j®h´M«hj=­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj!­ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj,®h]”hŒ Description”…”�”}”(hj.®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj*®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M­hj!­ubj{)�”}”(hŒóThis constraint will set the number of most significant bits (msbits) if a sample format with the specified width has been select. If width is set to 0 the msbits will be set for any sample format with a width larger than the specified msbits.”h]”hŒóThis constraint will set the number of most significant bits (msbits) if a sample format with the specified width has been select. If width is set to 0 the msbits will be set for any sample format with a width larger than the specified msbits.”…”�”}”(hjB®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¬hj!­ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjS®h]”hŒReturn”…”�”}”(hjU®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjQ®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M±hj!­ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hji®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M²hj!­ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_hw_constraint_step (C function)”Œc.snd_pcm_hw_constraint_step”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒint snd_pcm_hw_constraint_step (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, unsigned long step)”h]”j )�”}”(hŒ~int snd_pcm_hw_constraint_step(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, unsigned long step)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj˜®h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj”®h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj”®h²hh³j¦®h´MÉubj3)�”}”(hŒsnd_pcm_hw_constraint_step”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_step”h]”hŒsnd_pcm_hw_constraint_step”…”�”}”(hj¹®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµ®ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj”®h²hh³j¦®h´MÉubjT)�”}”(hŒ`(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var, unsigned long step)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÕ®h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÑ®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÑ®ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjó®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjð®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jõ®Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j»®sbŒc.snd_pcm_hw_constraint_step”†”asbuh1hhjÑ®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÑ®ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj!¯h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÑ®ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj.¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÑ®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÍ®ubjZ)�”}”(hŒunsigned int cond”h]”(j•I)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjG¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjC¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjC¯ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjc¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjC¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjC¯ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjC¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÍ®ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj›¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˜¯ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�¯Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¯Œc.snd_pcm_hw_constraint_step”†”asbuh1hhj”¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj”¯ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjǯh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj”¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÍ®ubjZ)�”}”(hŒunsigned long step”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjà¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjܯubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjܯubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjü¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjܯubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj °h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjܯubj9)�”}”(hŒstep”h]”hŒstep”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjܯubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÍ®ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj”®h²hh³j¦®h´MÉubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�®h²hh³j¦®h´MÉubah}”(h]”j‹®ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¦®h´MÉhj�®h²hubjv)�”}”(hhh]”j{)�”}”(hŒadd a hw constraint step rule”h]”hŒadd a hw constraint step rule”…”�”}”(hjB°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÉhj?°h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�®h²hh³j¦®h´MÉubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jZ°jšjZ°j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX***Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``unsigned int cond`` condition bits ``snd_pcm_hw_param_t var`` hw_params variable to apply the step constraint ``unsigned long step`` step size **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjd°h]”hŒ Parameters”…”�”}”(hjf°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjb°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÍhj^°ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjƒ°h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj…°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÊhj}°ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjœ°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j˜°h´MÊhj™°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜°h´MÊhjz°ubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hj¼°h]”hŒunsigned int cond”…”�”}”(hj¾°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjº°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MËhj¶°ubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(hjÕ°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jѰh´MËhjÒ°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¶°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jѰh´MËhjz°ubjÄ)�”}”(hŒK``snd_pcm_hw_param_t var`` hw_params variable to apply the step constraint ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hjõ°h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj÷°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjó°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÌhjï°ubjæ)�”}”(hhh]”j{)�”}”(hŒ/hw_params variable to apply the step constraint”h]”hŒ/hw_params variable to apply the step constraint”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j ±h´MÌhj ±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjï°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j ±h´MÌhjz°ubjÄ)�”}”(hŒ!``unsigned long step`` step size ”h]”(jÊ)�”}”(hŒ``unsigned long step``”h]”jÐ)�”}”(hj.±h]”hŒunsigned long step”…”�”}”(hj0±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÍhj(±ubjæ)�”}”(hhh]”j{)�”}”(hŒ step size”h]”hŒ step size”…”�”}”(hjG±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jC±h´MÍhjD±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jC±h´MÍhjz°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj^°ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hji±h]”hŒReturn”…”�”}”(hjk±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjg±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÏhj^°ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÏhj^°ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_hw_constraint_pow2 (C function)”Œc.snd_pcm_hw_constraint_pow2”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒkint snd_pcm_hw_constraint_pow2 (struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var)”h]”j )�”}”(hŒjint snd_pcm_hw_constraint_pow2(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj®±h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjª±h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Méubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjª±h²hh³j¼±h´Méubj3)�”}”(hŒsnd_pcm_hw_constraint_pow2”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_pow2”h]”hŒsnd_pcm_hw_constraint_pow2”…”�”}”(hjϱh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˱ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjª±h²hh³j¼±h´MéubjT)�”}”(hŒL(struct snd_pcm_runtime *runtime, unsigned int cond, snd_pcm_hw_param_t var)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjë±h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjç±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjç±ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj ²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj²ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j ²Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jѱsbŒc.snd_pcm_hw_constraint_pow2”†”asbuh1hhjç±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjç±ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj7²h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjç±ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjD²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjç±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjã±ubjZ)�”}”(hŒunsigned int cond”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj]²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY²ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjy²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY²ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj•²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjY²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjã±ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj±²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®²ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j³²Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j%²Œc.snd_pcm_hw_constraint_pow2”†”asbuh1hhjª²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjϲh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjª²ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjݲh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjª²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjã±ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjª±h²hh³j¼±h´Méubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¦±h²hh³j¼±h´Méubah}”(h]”j¡±ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¼±h´Méhj£±h²hubjv)�”}”(hhh]”j{)�”}”(hŒ#add a hw constraint power-of-2 rule”h]”hŒ#add a hw constraint power-of-2 rule”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Méhj³h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj£±h²hh³j¼±h´Méubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j³jšj³j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX **Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``unsigned int cond`` condition bits ``snd_pcm_hw_param_t var`` hw_params variable to apply the power-of-2 constraint **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj)³h]”hŒ Parameters”…”�”}”(hj+³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Míhj#³ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjH³h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjJ³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjF³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MêhjB³ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hja³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]³h´Mêhj^³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjB³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]³h´Mêhj?³ubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hj�³h]”hŒunsigned int cond”…”�”}”(hjƒ³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mëhj{³ubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(hjš³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–³h´Mëhj—³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–³h´Mëhj?³ubjÄ)�”}”(hŒQ``snd_pcm_hw_param_t var`` hw_params variable to apply the power-of-2 constraint ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hjº³h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj¼³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¸³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mìhj´³ubjæ)�”}”(hhh]”j{)�”}”(hŒ5hw_params variable to apply the power-of-2 constraint”h]”hŒ5hw_params variable to apply the power-of-2 constraint”…”�”}”(hjÓ³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jϳh´Mìhjгubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj´³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jϳh´Mìhj?³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj#³ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjõ³h]”hŒReturn”…”�”}”(hj÷³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjó³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mîhj#³ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mîhj#³ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_hw_rule_noresample (C function)”Œc.snd_pcm_hw_rule_noresample”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒXint snd_pcm_hw_rule_noresample (struct snd_pcm_runtime *runtime, unsigned int base_rate)”h]”j )�”}”(hŒWint snd_pcm_hw_rule_noresample(struct snd_pcm_runtime *runtime, unsigned int base_rate)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj:´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj6´h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6´h²hh³jH´h´Mubj3)�”}”(hŒsnd_pcm_hw_rule_noresample”h]”j9)�”}”(hŒsnd_pcm_hw_rule_noresample”h]”hŒsnd_pcm_hw_rule_noresample”…”�”}”(hj[´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjW´ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj6´h²hh³jH´h´MubjT)�”}”(hŒ9(struct snd_pcm_runtime *runtime, unsigned int base_rate)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjw´h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjs´ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjs´ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj•´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’´ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j—´Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j]´sbŒc.snd_pcm_hw_rule_noresample”†”asbuh1hhjs´ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjs´ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjs´ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjдh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjs´ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjo´ubjZ)�”}”(hŒunsigned int base_rate”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjé´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjå´ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjå´ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjå´ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjå´ubj9)�”}”(hŒ base_rate”h]”hŒ base_rate”…”�”}”(hj!µh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjå´ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjo´ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj6´h²hh³jH´h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj2´h²hh³jH´h´Mubah}”(h]”j-´ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jH´h´Mhj/´h²hubjv)�”}”(hhh]”j{)�”}”(hŒ+add a rule to allow disabling hw resampling”h]”hŒ+add a rule to allow disabling hw resampling”…”�”}”(hjKµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MhjHµh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj/´h²hh³jH´h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jcµjšjcµj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒß**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``unsigned int base_rate`` the rate at which the hardware does not resample **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjmµh]”hŒ Parameters”…”�”}”(hjoµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkµubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hjgµubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjŒµh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj޵h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjеubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj†µubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj¥µh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡µh´Mhj¢µubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†µubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡µh´MhjƒµubjÄ)�”}”(hŒL``unsigned int base_rate`` the rate at which the hardware does not resample ”h]”(jÊ)�”}”(hŒ``unsigned int base_rate``”h]”jÐ)�”}”(hjŵh]”hŒunsigned int base_rate”…”�”}”(hjǵh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mhj¿µubjæ)�”}”(hhh]”j{)�”}”(hŒ0the rate at which the hardware does not resample”h]”hŒ0the rate at which the hardware does not resample”…”�”}”(hjÞµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚµh´MhjÛµubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿µubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚµh´Mhjƒµubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjgµubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¶h]”hŒReturn”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjþµubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hjgµubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hjgµubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_hw_param_value (C function)”Œc.snd_pcm_hw_param_value”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒeint snd_pcm_hw_param_value (const struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”j )�”}”(hŒdint snd_pcm_hw_param_value(const struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjE¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjA¶h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjA¶h²hh³jS¶h´M5ubj3)�”}”(hŒsnd_pcm_hw_param_value”h]”j9)�”}”(hŒsnd_pcm_hw_param_value”h]”hŒsnd_pcm_hw_param_value”…”�”}”(hjf¶h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb¶ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjA¶h²hh³jS¶h´M5ubjT)�”}”(hŒJ(const struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”(jZ)�”}”(hŒ&const struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj‚¶h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~¶ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj�¶h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~¶ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj»¶h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j½¶Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jh¶sbŒc.snd_pcm_hw_param_value”†”asbuh1hhj~¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~¶ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjé¶h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj~¶ubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hjö¶h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¶ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j·Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j×¶Œc.snd_pcm_hw_param_value”†”asbuh1hhj ·ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ·ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj>·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¶ubjZ)�”}”(hŒint *dir”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjW·h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjS·ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hje·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjS·ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjs·h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjS·ubj9)�”}”(hŒdir”h]”hŒdir”…”�”}”(hj€·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjS·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¶ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjA¶h²hh³jS¶h´M5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj=¶h²hh³jS¶h´M5ubah}”(h]”j8¶ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jS¶h´M5hj:¶h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%return **params** field **var** value”h]”(hŒreturn ”…”�”}”(hjª·h²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hj²·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjª·ubhŒ field ”…”�”}”(hjª·h²hh³Nh´Nubj©)�”}”(hŒ**var**”h]”hŒvar”…”�”}”(hjÄ·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjª·ubhŒ value”…”�”}”(hjª·h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M5hj§·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj:¶h²hh³jS¶h´M5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jæ·jšjæ·j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXA**Parameters** ``const struct snd_pcm_hw_params *params`` the hw_params instance ``snd_pcm_hw_param_t var`` parameter to retrieve ``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` **Return** The value for field **var** if it's fixed in configuration space defined by **params**. -``EINVAL`` otherwise.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjð·h]”hŒ Parameters”…”�”}”(hjò·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjî·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M9hjê·ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒB``const struct snd_pcm_hw_params *params`` the hw_params instance ”h]”(jÊ)�”}”(hŒ*``const struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hj¸h]”hŒ&const struct snd_pcm_hw_params *params”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M6hj ¸ubjæ)�”}”(hhh]”j{)�”}”(hŒthe hw_params instance”h]”hŒthe hw_params instance”…”�”}”(hj(¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j$¸h´M6hj%¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j$¸h´M6hj¸ubjÄ)�”}”(hŒ1``snd_pcm_hw_param_t var`` parameter to retrieve ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hjH¸h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hjJ¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjF¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M7hjB¸ubjæ)�”}”(hhh]”j{)�”}”(hŒparameter to retrieve”h]”hŒparameter to retrieve”…”�”}”(hja¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]¸h´M7hj^¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjB¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]¸h´M7hj¸ubjÄ)�”}”(hŒ;``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` ”h]”(jÊ)�”}”(hŒ ``int *dir``”h]”jÐ)�”}”(hj�¸h]”hŒint *dir”…”�”}”(hjƒ¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M8hj{¸ubjæ)�”}”(hhh]”j{)�”}”(hŒ-pointer to the direction (-1,0,1) or ``NULL``”h]”(hŒ%pointer to the direction (-1,0,1) or ”…”�”}”(hjš¸h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj¢¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjš¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–¸h´M8hj—¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–¸h´M8hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjê·ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjʸh]”hŒReturn”…”�”}”(hj̸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjȸubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M:hjê·ubj{)�”}”(hŒnThe value for field **var** if it's fixed in configuration space defined by **params**. -``EINVAL`` otherwise.”h]”(hŒThe value for field ”…”�”}”(hjà¸h²hh³Nh´Nubj©)�”}”(hŒ**var**”h]”hŒvar”…”�”}”(hjè¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjà¸ubhŒ3 if it’s fixed in configuration space defined by ”…”�”}”(hjà¸h²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hjú¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjà¸ubhŒ. -”…”�”}”(hjà¸h²hh³Nh´NubjÐ)�”}”(hŒ ``EINVAL``”h]”hŒEINVAL”…”�”}”(hj ¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjà¸ubhŒ otherwise.”…”�”}”(hjà¸h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M:hjê·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_hw_param_first (C function)”Œc.snd_pcm_hw_param_first”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~int snd_pcm_hw_param_first (struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”j )�”}”(hŒ}int snd_pcm_hw_param_first(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjE¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjA¹h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjA¹h²hh³jS¹h´Mxubj3)�”}”(hŒsnd_pcm_hw_param_first”h]”j9)�”}”(hŒsnd_pcm_hw_param_first”h]”hŒsnd_pcm_hw_param_first”…”�”}”(hjf¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb¹ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjA¹h²hh³jS¹h´MxubjT)�”}”(hŒc(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”(jZ)�”}”(hŒstruct snd_pcm_substream *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‚¹h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~¹ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj ¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¢¹Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jh¹sbŒc.snd_pcm_hw_param_first”†”asbuh1hhj~¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~¹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjιh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj~¹ubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjÛ¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¹ubjZ)�”}”(hŒ struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjô¹h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjð¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð¹ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jºŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¼¹Œc.snd_pcm_hw_param_first”†”asbuh1hhjð¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0ºh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð¹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj>ºh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjð¹ubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hjKºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjð¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¹ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hjgºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jiºŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¼¹Œc.snd_pcm_hw_param_first”†”asbuh1hhj`ºubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…ºh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`ºubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj“ºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`ºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¹ubjZ)�”}”(hŒint *dir”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¬ºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¨ºubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjººh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨ºubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjȺh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¨ºubj9)�”}”(hŒdir”h]”hŒdir”…”�”}”(hjÕºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨ºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz¹ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjA¹h²hh³jS¹h´Mxubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj=¹h²hh³jS¹h´Mxubah}”(h]”j8¹ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jS¹h´Mxhj:¹h²hubjv)�”}”(hhh]”j{)�”}”(hŒ,refine config space and return minimum value”h]”hŒ,refine config space and return minimum value”…”�”}”(hjÿºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mxhjüºh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj:¹h²hh³jS¹h´Mxubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j»jšj»j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXÅ**Parameters** ``struct snd_pcm_substream *pcm`` PCM instance ``struct snd_pcm_hw_params *params`` the hw_params instance ``snd_pcm_hw_param_t var`` parameter to retrieve ``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` **Description** Inside configuration space defined by **params** remove from **var** all values > minimum. Reduce configuration space accordingly. **Return** The minimum, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj!»h]”hŒ Parameters”…”�”}”(hj#»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M|hj»ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct snd_pcm_substream *pcm`` PCM instance ”h]”(jÊ)�”}”(hŒ!``struct snd_pcm_substream *pcm``”h]”jÐ)�”}”(hj@»h]”hŒstruct snd_pcm_substream *pcm”…”�”}”(hjB»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Myhj:»ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM instance”h]”hŒ PCM instance”…”�”}”(hjY»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU»h´MyhjV»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU»h´Myhj7»ubjÄ)�”}”(hŒ<``struct snd_pcm_hw_params *params`` the hw_params instance ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hjy»h]”hŒ struct snd_pcm_hw_params *params”…”�”}”(hj{»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mzhjs»ubjæ)�”}”(hhh]”j{)�”}”(hŒthe hw_params instance”h]”hŒthe hw_params instance”…”�”}”(hj’»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽ»h´Mzhj�»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjs»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽ»h´Mzhj7»ubjÄ)�”}”(hŒ1``snd_pcm_hw_param_t var`` parameter to retrieve ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hj²»h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj´»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj°»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M{hj¬»ubjæ)�”}”(hhh]”j{)�”}”(hŒparameter to retrieve”h]”hŒparameter to retrieve”…”�”}”(hjË»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÇ»h´M{hjÈ»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¬»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÇ»h´M{hj7»ubjÄ)�”}”(hŒ;``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` ”h]”(jÊ)�”}”(hŒ ``int *dir``”h]”jÐ)�”}”(hjë»h]”hŒint *dir”…”�”}”(hjí»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjé»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M|hjå»ubjæ)�”}”(hhh]”j{)�”}”(hŒ-pointer to the direction (-1,0,1) or ``NULL``”h]”(hŒ%pointer to the direction (-1,0,1) or ”…”�”}”(hj¼h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¼h´M|hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjå»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¼h´M|hj7»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj»ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj4¼h]”hŒ Description”…”�”}”(hj6¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj2¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M~hj»ubj{)�”}”(hŒ‚Inside configuration space defined by **params** remove from **var** all values > minimum. Reduce configuration space accordingly.”h]”(hŒ&Inside configuration space defined by ”…”�”}”(hjJ¼h²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hjR¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ¼ubhŒ remove from ”…”�”}”(hjJ¼h²hh³Nh´Nubj©)�”}”(hŒ**var**”h]”hŒvar”…”�”}”(hjd¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ¼ubhŒ> all values > minimum. Reduce configuration space accordingly.”…”�”}”(hjJ¼h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M}hj»ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¼h]”hŒReturn”…”�”}”(hj�¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj}¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M€hj»ubj{)�”}”(hŒ1The minimum, or a negative error code on failure.”h]”hŒ1The minimum, or a negative error code on failure.”…”�”}”(hj•¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M�hj»ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_hw_param_last (C function)”Œc.snd_pcm_hw_param_last”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ}int snd_pcm_hw_param_last (struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”j )�”}”(hŒ|int snd_pcm_hw_param_last(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjļh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÀ¼h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ¼h²hh³jÒ¼h´M¦ubj3)�”}”(hŒsnd_pcm_hw_param_last”h]”j9)�”}”(hŒsnd_pcm_hw_param_last”h]”hŒsnd_pcm_hw_param_last”…”�”}”(hjå¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjá¼ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÀ¼h²hh³jÒ¼h´M¦ubjT)�”}”(hŒc(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params, snd_pcm_hw_param_t var, int *dir)”h]”(jZ)�”}”(hŒstruct snd_pcm_substream *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjý¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjý¼ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j!½Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jç¼sbŒc.snd_pcm_hw_param_last”†”asbuh1hhjý¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjý¼ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjM½h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjý¼ubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjZ½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjý¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjù¼ubjZ)�”}”(hŒ struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjs½h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjo½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo½ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj‘½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj޽ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j“½Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j;½Œc.snd_pcm_hw_param_last”†”asbuh1hhjo½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo½ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj½½h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjo½ubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hjʽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjo½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjù¼ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hjæ½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjã½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j轌modname”NŒ classname”NjœjŸ)�”}”j¢]”j;½Œc.snd_pcm_hw_param_last”†”asbuh1hhjß½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjß½ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjß½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjù¼ubjZ)�”}”(hŒint *dir”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj+¾h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'¾ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjG¾h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj'¾ubj9)�”}”(hŒdir”h]”hŒdir”…”�”}”(hjT¾h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'¾ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjù¼ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÀ¼h²hh³jÒ¼h´M¦ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¼¼h²hh³jÒ¼h´M¦ubah}”(h]”j·¼ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÒ¼h´M¦hj¹¼h²hubjv)�”}”(hhh]”j{)�”}”(hŒ,refine config space and return maximum value”h]”hŒ,refine config space and return maximum value”…”�”}”(hj~¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¦hj{¾h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¹¼h²hh³jÒ¼h´M¦ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j–¾jšj–¾j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXÅ**Parameters** ``struct snd_pcm_substream *pcm`` PCM instance ``struct snd_pcm_hw_params *params`` the hw_params instance ``snd_pcm_hw_param_t var`` parameter to retrieve ``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` **Description** Inside configuration space defined by **params** remove from **var** all values < maximum. Reduce configuration space accordingly. **Return** The maximum, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj ¾h]”hŒ Parameters”…”�”}”(hj¢¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjž¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mªhjš¾ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct snd_pcm_substream *pcm`` PCM instance ”h]”(jÊ)�”}”(hŒ!``struct snd_pcm_substream *pcm``”h]”jÐ)�”}”(hj¿¾h]”hŒstruct snd_pcm_substream *pcm”…”�”}”(hjÁ¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj½¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M§hj¹¾ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM instance”h]”hŒ PCM instance”…”�”}”(hjؾh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÔ¾h´M§hjÕ¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¹¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÔ¾h´M§hj¶¾ubjÄ)�”}”(hŒ<``struct snd_pcm_hw_params *params`` the hw_params instance ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hjø¾h]”hŒ struct snd_pcm_hw_params *params”…”�”}”(hjú¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjö¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¨hjò¾ubjæ)�”}”(hhh]”j{)�”}”(hŒthe hw_params instance”h]”hŒthe hw_params instance”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j ¿h´M¨hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjò¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j ¿h´M¨hj¶¾ubjÄ)�”}”(hŒ1``snd_pcm_hw_param_t var`` parameter to retrieve ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hj1¿h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj3¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj/¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M©hj+¿ubjæ)�”}”(hhh]”j{)�”}”(hŒparameter to retrieve”h]”hŒparameter to retrieve”…”�”}”(hjJ¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jF¿h´M©hjG¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj+¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jF¿h´M©hj¶¾ubjÄ)�”}”(hŒ;``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` ”h]”(jÊ)�”}”(hŒ ``int *dir``”h]”jÐ)�”}”(hjj¿h]”hŒint *dir”…”�”}”(hjl¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjh¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mªhjd¿ubjæ)�”}”(hhh]”j{)�”}”(hŒ-pointer to the direction (-1,0,1) or ``NULL``”h]”(hŒ%pointer to the direction (-1,0,1) or ”…”�”}”(hjƒ¿h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj‹¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjƒ¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¿h´Mªhj€¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjd¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿h´Mªhj¶¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjš¾ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj³¿h]”hŒ Description”…”�”}”(hjµ¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj±¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¬hjš¾ubj{)�”}”(hŒ‚Inside configuration space defined by **params** remove from **var** all values < maximum. Reduce configuration space accordingly.”h]”(hŒ&Inside configuration space defined by ”…”�”}”(hjÉ¿h²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hjÑ¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÉ¿ubhŒ remove from ”…”�”}”(hjÉ¿h²hh³Nh´Nubj©)�”}”(hŒ**var**”h]”hŒvar”…”�”}”(hjã¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÉ¿ubhŒ> all values < maximum. Reduce configuration space accordingly.”…”�”}”(hjÉ¿h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M«hjš¾ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjþ¿h]”hŒReturn”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjü¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M®hjš¾ubj{)�”}”(hŒ1The maximum, or a negative error code on failure.”h]”hŒ1The maximum, or a negative error code on failure.”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M¯hjš¾ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_hw_params_bits (C function)”Œc.snd_pcm_hw_params_bits”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ>int snd_pcm_hw_params_bits (const struct snd_pcm_hw_params *p)”h]”j )�”}”(hŒ=int snd_pcm_hw_params_bits(const struct snd_pcm_hw_params *p)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjCÀh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj?Àh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÂubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj?Àh²hh³jQÀh´MÂubj3)�”}”(hŒsnd_pcm_hw_params_bits”h]”j9)�”}”(hŒsnd_pcm_hw_params_bits”h]”hŒsnd_pcm_hw_params_bits”…”�”}”(hjdÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`Àubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj?Àh²hh³jQÀh´MÂubjT)�”}”(hŒ#(const struct snd_pcm_hw_params *p)”h]”jZ)�”}”(hŒ!const struct snd_pcm_hw_params *p”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj€Àh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj|Àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|Àubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj›Àh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj|Àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨Àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|Àubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj¹Àh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶Àubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j»ÀŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jfÀsbŒc.snd_pcm_hw_params_bits”†”asbuh1hhj|Àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|Àubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjçÀh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj|Àubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjôÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj|Àubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjxÀubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj?Àh²hh³jQÀh´MÂubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj;Àh²hh³jQÀh´MÂubah}”(h]”j6Àah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jQÀh´MÂhj8Àh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&Get the number of bits per the sample.”h]”hŒ&Get the number of bits per the sample.”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÂhjÁh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj8Àh²hh³jQÀh´MÂubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j5Ájšj5Áj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ½**Parameters** ``const struct snd_pcm_hw_params *p`` hardware parameters **Return** The number of bits per sample based on the format, subformat and msbits the specified hw params has.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj?Áh]”hŒ Parameters”…”�”}”(hjAÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj=Áubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÆhj9Áubj¿)�”}”(hhh]”jÄ)�”}”(hŒ:``const struct snd_pcm_hw_params *p`` hardware parameters ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hj^Áh]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hj`Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj\Áubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÃhjXÁubjæ)�”}”(hhh]”j{)�”}”(hŒhardware parameters”h]”hŒhardware parameters”…”�”}”(hjwÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsÁh´MÃhjtÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsÁh´MÃhjUÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj9Áubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj™Áh]”hŒReturn”…”�”}”(hj›Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—Áubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÅhj9Áubj{)�”}”(hŒdThe number of bits per sample based on the format, subformat and msbits the specified hw params has.”h]”hŒdThe number of bits per sample based on the format, subformat and msbits the specified hw params has.”…”�”}”(hj¯Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÅhj9Áubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_lib_ioctl (C function)”Œc.snd_pcm_lib_ioctl”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒXint snd_pcm_lib_ioctl (struct snd_pcm_substream *substream, unsigned int cmd, void *arg)”h]”j )�”}”(hŒWint snd_pcm_lib_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞÁh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚÁh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíÁh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚÁh²hh³jìÁh´M6ubj3)�”}”(hŒsnd_pcm_lib_ioctl”h]”j9)�”}”(hŒsnd_pcm_lib_ioctl”h]”hŒsnd_pcm_lib_ioctl”…”�”}”(hjÿÁh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûÁubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÚÁh²hh³jìÁh´M6ubjT)�”}”(hŒB(struct snd_pcm_substream *substream, unsigned int cmd, void *arg)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÂubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(Âh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÂubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj9Âh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6Âubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;ÂŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÂsbŒc.snd_pcm_lib_ioctl”†”asbuh1hhjÂubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYÂh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÂubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgÂh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÂubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjtÂh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂubjZ)�”}”(hŒunsigned int cmd”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj�Âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰Âubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›Âh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰Âubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj©Âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰Âubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·Âh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰Âubj9)�”}”(hŒcmd”h]”hŒcmd”…”�”}”(hjÅÂh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰Âubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂubjZ)�”}”(hŒ void *arg”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÞÂh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚÂubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìÂh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚÂubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjúÂh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÚÂubj9)�”}”(hŒarg”h]”hŒarg”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚÂubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÚÁh²hh³jìÁh´M6ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÖÁh²hh³jìÁh´M6ubah}”(h]”jÑÁah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jìÁh´M6hjÓÁh²hubjv)�”}”(hhh]”j{)�”}”(hŒa generic PCM ioctl callback”h]”hŒa generic PCM ioctl callback”…”�”}”(hj1Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M6hj.Ãh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÓÁh²hh³jìÁh´M6ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jIÃjšjIÃj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXQ**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance ``unsigned int cmd`` ioctl command ``void *arg`` ioctl argument **Description** Processes the generic ioctl commands for PCM. Can be passed as the ioctl callback for PCM ops. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjSÃh]”hŒ Parameters”…”�”}”(hjUÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjQÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M:hjMÃubj¿)�”}”(hhh]”(jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjrÃh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjtÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjpÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M7hjlÃubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hj‹Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‡Ãh´M7hjˆÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjlÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡Ãh´M7hjiÃubjÄ)�”}”(hŒ#``unsigned int cmd`` ioctl command ”h]”(jÊ)�”}”(hŒ``unsigned int cmd``”h]”jÐ)�”}”(hj«Ãh]”hŒunsigned int cmd”…”�”}”(hj­Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj©Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M8hj¥Ãubjæ)�”}”(hhh]”j{)�”}”(hŒ ioctl command”h]”hŒ ioctl command”…”�”}”(hjÄÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÀÃh´M8hjÁÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¥Ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÀÃh´M8hjiÃubjÄ)�”}”(hŒ``void *arg`` ioctl argument ”h]”(jÊ)�”}”(hŒ ``void *arg``”h]”jÐ)�”}”(hjäÃh]”hŒ void *arg”…”�”}”(hjæÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjâÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M9hjÞÃubjæ)�”}”(hhh]”j{)�”}”(hŒioctl argument”h]”hŒioctl argument”…”�”}”(hjýÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jùÃh´M9hjúÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jùÃh´M9hjiÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjMÃubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÄh]”hŒ Description”…”�”}”(hj!Äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M;hjMÃubj{)�”}”(hŒ^Processes the generic ioctl commands for PCM. Can be passed as the ioctl callback for PCM ops.”h]”hŒ^Processes the generic ioctl commands for PCM. Can be passed as the ioctl callback for PCM ops.”…”�”}”(hj5Äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M:hjMÃubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjFÄh]”hŒReturn”…”�”}”(hjHÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjDÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M=hjMÃubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj\Äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M>hjMÃubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ5snd_pcm_period_elapsed_under_stream_lock (C function)”Œ*c.snd_pcm_period_elapsed_under_stream_lock”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒSvoid snd_pcm_period_elapsed_under_stream_lock (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒRvoid snd_pcm_period_elapsed_under_stream_lock(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‹Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡Äh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MRubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡Äh²hh³j™Äh´MRubj3)�”}”(hŒ(snd_pcm_period_elapsed_under_stream_lock”h]”j9)�”}”(hŒ(snd_pcm_period_elapsed_under_stream_lock”h]”hŒ(snd_pcm_period_elapsed_under_stream_lock”…”�”}”(hj¬Äh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨Äubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‡Äh²hh³j™Äh´MRubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÈÄh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÄÄubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄÄubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjæÄh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjãÄubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jèÄŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j®ÄsbŒ*c.snd_pcm_period_elapsed_under_stream_lock”†”asbuh1hhjÄÄubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄÄubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÄÄubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj!Åh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄÄubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀÄubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj‡Äh²hh³j™Äh´MRubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjƒÄh²hh³j™Äh´MRubah}”(h]”j~Äah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j™Äh´MRhj€Äh²hubjv)�”}”(hhh]”j{)�”}”(hŒVupdate the status of runtime for the next period under acquired lock of PCM substream.”h]”hŒVupdate the status of runtime for the next period under acquired lock of PCM substream.”…”�”}”(hjKÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MRhjHÅh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj€Äh²hh³j™Äh´MRubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jcÅjšjcÅj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX[**Parameters** ``struct snd_pcm_substream *substream`` the instance of pcm substream. **Description** This function is called when the batch of audio data frames as the same size as the period of buffer is already processed in audio data transmission. The call of function updates the status of runtime with the latest position of audio data transmission, checks overrun and underrun over buffer, awaken user processes from waiting for available audio data frames, sampling audio timestamp, and performs stop or drain the PCM substream according to configured threshold. The function is intended to use for the case that PCM driver operates audio data frames under acquired lock of PCM substream; e.g. in callback of any operation of :c:type:`snd_pcm_ops` in process context. In any interrupt context, it's preferrable to use ``snd_pcm_period_elapsed()`` instead since lock of PCM substream should be acquired in advance. Developer should pay enough attention that some callbacks in :c:type:`snd_pcm_ops` are done by the call of function: - .pointer - to retrieve current position of audio data transmission by frame count or XRUN state. - .trigger - with SNDRV_PCM_TRIGGER_STOP at XRUN or DRAINING state. - .get_time_info - to retrieve audio time stamp if needed. Even if more than one periods have elapsed since the last call, you have to call this only once.”•\h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjmÅh]”hŒ Parameters”…”�”}”(hjoÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MVhjgÅubj¿)�”}”(hhh]”jÄ)�”}”(hŒG``struct snd_pcm_substream *substream`` the instance of pcm substream. ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjŒÅh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjŽÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MThj†Åubjæ)�”}”(hhh]”j{)�”}”(hŒthe instance of pcm substream.”h]”hŒthe instance of pcm substream.”…”�”}”(hj¥Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡Åh´MThj¢Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†Åubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡Åh´MThjƒÅubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjgÅubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÇÅh]”hŒ Description”…”�”}”(hjÉÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÅÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MVhjgÅubj{)�”}”(hŒ•This function is called when the batch of audio data frames as the same size as the period of buffer is already processed in audio data transmission.”h]”hŒ•This function is called when the batch of audio data frames as the same size as the period of buffer is already processed in audio data transmission.”…”�”}”(hjÝÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MUhjgÅubj{)�”}”(hX>The call of function updates the status of runtime with the latest position of audio data transmission, checks overrun and underrun over buffer, awaken user processes from waiting for available audio data frames, sampling audio timestamp, and performs stop or drain the PCM substream according to configured threshold.”h]”hX>The call of function updates the status of runtime with the latest position of audio data transmission, checks overrun and underrun over buffer, awaken user processes from waiting for available audio data frames, sampling audio timestamp, and performs stop or drain the PCM substream according to configured threshold.”…”�”}”(hjìÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MXhjgÅubj{)�”}”(hX^The function is intended to use for the case that PCM driver operates audio data frames under acquired lock of PCM substream; e.g. in callback of any operation of :c:type:`snd_pcm_ops` in process context. In any interrupt context, it's preferrable to use ``snd_pcm_period_elapsed()`` instead since lock of PCM substream should be acquired in advance.”h]”(hŒ£The function is intended to use for the case that PCM driver operates audio data frames under acquired lock of PCM substream; e.g. in callback of any operation of ”…”�”}”(hjûÅh²hh³Nh´Nubh)�”}”(hŒ:c:type:`snd_pcm_ops`”h]”jÐ)�”}”(hjÆh]”hŒ snd_pcm_ops”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”(Œxref”j–Œc-type”eh"]”h$]”h&]”uh1jÏhjÆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ sound/kernel-api/alsa-driver-api”Œ refdomain”j–Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jœjŸ)�”}”j¢]”sbŒ reftarget”Œ snd_pcm_ops”uh1hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M]hjûÅubhŒI in process context. In any interrupt context, it’s preferrable to use ”…”�”}”(hjûÅh²hh³Nh´NubjÐ)�”}”(hŒ``snd_pcm_period_elapsed()``”h]”hŒsnd_pcm_period_elapsed()”…”�”}”(hj-Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjûÅubhŒC instead since lock of PCM substream should be acquired in advance.”…”�”}”(hjûÅh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j(Æh´M]hjgÅubj{)�”}”(hŒtDeveloper should pay enough attention that some callbacks in :c:type:`snd_pcm_ops` are done by the call of function:”h]”(hŒ=Developer should pay enough attention that some callbacks in ”…”�”}”(hjEÆh²hh³Nh´Nubh)�”}”(hŒ:c:type:`snd_pcm_ops`”h]”jÐ)�”}”(hjOÆh]”hŒ snd_pcm_ops”…”�”}”(hjQÆh²hh³Nh´Nubah}”(h]”h ]”(jÆj–Œc-type”eh"]”h$]”h&]”uh1jÏhjMÆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÆŒ refdomain”j–Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jœj#Æj&ÆŒ snd_pcm_ops”uh1hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MbhjEÆubhŒ" are done by the call of function:”…”�”}”(hjEÆh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jlÆh´MbhjgÅubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ`.pointer - to retrieve current position of audio data transmission by frame count or XRUN state.”h]”j{)�”}”(hj€Æh]”hŒ`.pointer - to retrieve current position of audio data transmission by frame count or XRUN state.”…”�”}”(hj‚Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mehj~Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j|ÆhjyÆubj}Æ)�”}”(hŒA.trigger - with SNDRV_PCM_TRIGGER_STOP at XRUN or DRAINING state.”h]”j{)�”}”(hj˜Æh]”hŒA.trigger - with SNDRV_PCM_TRIGGER_STOP at XRUN or DRAINING state.”…”�”}”(hjšÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mfhj–Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j|ÆhjyÆubj}Æ)�”}”(hŒ9.get_time_info - to retrieve audio time stamp if needed. ”h]”j{)�”}”(hŒ8.get_time_info - to retrieve audio time stamp if needed.”h]”hŒ8.get_time_info - to retrieve audio time stamp if needed.”…”�”}”(hj²Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mghj®Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j|ÆhjyÆubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jwÆh³j�Æh´MehjgÅubj{)�”}”(hŒ`Even if more than one periods have elapsed since the last call, you have to call this only once.”h]”hŒ`Even if more than one periods have elapsed since the last call, you have to call this only once.”…”�”}”(hjÏÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MihjgÅubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_period_elapsed (C function)”Œc.snd_pcm_period_elapsed”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒAvoid snd_pcm_period_elapsed (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ@void snd_pcm_period_elapsed(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjþÆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjúÆh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Çh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjúÆh²hh³j Çh´M‚ubj3)�”}”(hŒsnd_pcm_period_elapsed”h]”j9)�”}”(hŒsnd_pcm_period_elapsed”h]”hŒsnd_pcm_period_elapsed”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÇubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjúÆh²hh³j Çh´M‚ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj;Çh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj7Çubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7Çubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjYÇh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjVÇubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j[ÇŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j!ÇsbŒc.snd_pcm_period_elapsed”†”asbuh1hhj7Çubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7Çubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‡Çh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj7Çubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj”Çh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7Çubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj3Çubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjúÆh²hh³j Çh´M‚ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjöÆh²hh³j Çh´M‚ubah}”(h]”jñÆah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j Çh´M‚hjóÆh²hubjv)�”}”(hhh]”j{)�”}”(hŒTupdate the status of runtime for the next period by acquiring lock of PCM substream.”h]”hŒTupdate the status of runtime for the next period by acquiring lock of PCM substream.”…”�”}”(hj¾Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M‚hj»Çh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjóÆh²hh³j Çh´M‚ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÖÇjšjÖÇj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXÍ**Parameters** ``struct snd_pcm_substream *substream`` the instance of PCM substream. **Description** This function is mostly similar to ``snd_pcm_period_elapsed_under_stream_lock()`` except for acquiring lock of PCM substream voluntarily. It's typically called by any type of IRQ handler when hardware IRQ occurs to notify event that the batch of audio data frames as the same size as the period of buffer is already processed in audio data transmission.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjàÇh]”hŒ Parameters”…”�”}”(hjâÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÞÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M†hjÚÇubj¿)�”}”(hhh]”jÄ)�”}”(hŒG``struct snd_pcm_substream *substream`` the instance of PCM substream. ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÿÇh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjýÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M„hjùÇubjæ)�”}”(hhh]”j{)�”}”(hŒthe instance of PCM substream.”h]”hŒthe instance of PCM substream.”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÈh´M„hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjùÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÈh´M„hjöÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÚÇubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj:Èh]”hŒ Description”…”�”}”(hj<Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj8Èubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M†hjÚÇubj{)�”}”(hŒ‰This function is mostly similar to ``snd_pcm_period_elapsed_under_stream_lock()`` except for acquiring lock of PCM substream voluntarily.”h]”(hŒ#This function is mostly similar to ”…”�”}”(hjPÈh²hh³Nh´NubjÐ)�”}”(hŒ.``snd_pcm_period_elapsed_under_stream_lock()``”h]”hŒ*snd_pcm_period_elapsed_under_stream_lock()”…”�”}”(hjXÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjPÈubhŒ8 except for acquiring lock of PCM substream voluntarily.”…”�”}”(hjPÈh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M…hjÚÇubj{)�”}”(hŒ×It's typically called by any type of IRQ handler when hardware IRQ occurs to notify event that the batch of audio data frames as the same size as the period of buffer is already processed in audio data transmission.”h]”hŒÙIt’s typically called by any type of IRQ handler when hardware IRQ occurs to notify event that the batch of audio data frames as the same size as the period of buffer is already processed in audio data transmission.”…”�”}”(hjqÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MˆhjÚÇubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_add_chmap_ctls (C function)”Œc.snd_pcm_add_chmap_ctls”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ´int snd_pcm_add_chmap_ctls (struct snd_pcm *pcm, int stream, const struct snd_pcm_chmap_elem *chmap, int max_channels, unsigned long private_value, struct snd_pcm_chmap **info_ret)”h]”j )�”}”(hŒ³int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream, const struct snd_pcm_chmap_elem *chmap, int max_channels, unsigned long private_value, struct snd_pcm_chmap **info_ret)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj Èh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjœÈh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯Èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœÈh²hh³j®Èh´M ubj3)�”}”(hŒsnd_pcm_add_chmap_ctls”h]”j9)�”}”(hŒsnd_pcm_add_chmap_ctls”h]”hŒsnd_pcm_add_chmap_ctls”…”�”}”(hjÁÈh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj½Èubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjœÈh²hh³j®Èh´M ubjT)�”}”(hŒ™(struct snd_pcm *pcm, int stream, const struct snd_pcm_chmap_elem *chmap, int max_channels, unsigned long private_value, struct snd_pcm_chmap **info_ret)”h]”(jZ)�”}”(hŒstruct snd_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÝÈh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÙÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjêÈh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÙÈubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(hjûÈh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjøÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jýÈŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÃÈsbŒc.snd_pcm_add_chmap_ctls”†”asbuh1hhjÙÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÙÈubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj)Éh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÙÈubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hj6Éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÙÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕÈubjZ)�”}”(hŒ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjOÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjKÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjKÉubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjkÉh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjKÉubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕÈubjZ)�”}”(hŒ&const struct snd_pcm_chmap_elem *chmap”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj„Éh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€Éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€Éubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjŸÉh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€Éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€Éubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_chmap_elem”h]”hŒsnd_pcm_chmap_elem”…”�”}”(hj½Éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºÉubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¿ÉŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÉŒc.snd_pcm_add_chmap_ctls”†”asbuh1hhj€Éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛÉh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€Éubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjéÉh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj€Éubj9)�”}”(hŒchmap”h]”hŒchmap”…”�”}”(hjöÉh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€Éubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕÈubjZ)�”}”(hŒint max_channels”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj Êubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Êubj9)�”}”(hŒ max_channels”h]”hŒ max_channels”…”�”}”(hj+Êh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Êubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕÈubjZ)�”}”(hŒunsigned long private_value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjDÊh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj@Êubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRÊh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj@Êubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj`Êh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj@Êubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnÊh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj@Êubj9)�”}”(hŒ private_value”h]”hŒ private_value”…”�”}”(hj|Êh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj@Êubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕÈubjZ)�”}”(hŒstruct snd_pcm_chmap **info_ret”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj•Êh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‘Êubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢Êh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‘Êubh)�”}”(hhh]”j9)�”}”(hŒ snd_pcm_chmap”h]”hŒ snd_pcm_chmap”…”�”}”(hj³Êh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj°Êubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jµÊŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÉŒc.snd_pcm_add_chmap_ctls”†”asbuh1hhj‘Êubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑÊh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‘Êubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjßÊh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‘Êubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjìÊh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‘Êubj9)�”}”(hŒinfo_ret”h]”hŒinfo_ret”…”�”}”(hjùÊh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘Êubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕÈubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjœÈh²hh³j®Èh´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj˜Èh²hh³j®Èh´M ubah}”(h]”j“Èah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j®Èh´M hj•Èh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'create channel-mapping control elements”h]”hŒ'create channel-mapping control elements”…”�”}”(hj#Ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj Ëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj•Èh²hh³j®Èh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j;Ëjšj;Ëj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXD**Parameters** ``struct snd_pcm *pcm`` the assigned PCM instance ``int stream`` stream direction ``const struct snd_pcm_chmap_elem *chmap`` channel map elements (for query) ``int max_channels`` the max number of channels for the stream ``unsigned long private_value`` the value passed to each kcontrol's private_value field ``struct snd_pcm_chmap **info_ret`` store struct snd_pcm_chmap instance if non-NULL **Description** Create channel-mapping control elements assigned to the given PCM stream(s). **Return** Zero if successful, or a negative error value.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjEËh]”hŒ Parameters”…”�”}”(hjGËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjCËubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj?Ëubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``struct snd_pcm *pcm`` the assigned PCM instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hjdËh]”hŒstruct snd_pcm *pcm”…”�”}”(hjfËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjbËubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj^Ëubjæ)�”}”(hhh]”j{)�”}”(hŒthe assigned PCM instance”h]”hŒthe assigned PCM instance”…”�”}”(hj}Ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jyËh´M hjzËubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj^Ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jyËh´M hj[ËubjÄ)�”}”(hŒ ``int stream`` stream direction ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hj�Ëh]”hŒ int stream”…”�”}”(hjŸËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj›Ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj—Ëubjæ)�”}”(hhh]”j{)�”}”(hŒstream direction”h]”hŒstream direction”…”�”}”(hj¶Ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j²Ëh´M hj³Ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj—Ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j²Ëh´M hj[ËubjÄ)�”}”(hŒL``const struct snd_pcm_chmap_elem *chmap`` channel map elements (for query) ”h]”(jÊ)�”}”(hŒ*``const struct snd_pcm_chmap_elem *chmap``”h]”jÐ)�”}”(hjÖËh]”hŒ&const struct snd_pcm_chmap_elem *chmap”…”�”}”(hjØËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÔËubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hjÐËubjæ)�”}”(hhh]”j{)�”}”(hŒ channel map elements (for query)”h]”hŒ channel map elements (for query)”…”�”}”(hjïËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jëËh´M hjìËubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÐËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jëËh´M hj[ËubjÄ)�”}”(hŒ?``int max_channels`` the max number of channels for the stream ”h]”(jÊ)�”}”(hŒ``int max_channels``”h]”jÐ)�”}”(hjÌh]”hŒint max_channels”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj Ìubjæ)�”}”(hhh]”j{)�”}”(hŒ)the max number of channels for the stream”h]”hŒ)the max number of channels for the stream”…”�”}”(hj(Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j$Ìh´M hj%Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j$Ìh´M hj[ËubjÄ)�”}”(hŒX``unsigned long private_value`` the value passed to each kcontrol's private_value field ”h]”(jÊ)�”}”(hŒ``unsigned long private_value``”h]”jÐ)�”}”(hjHÌh]”hŒunsigned long private_value”…”�”}”(hjJÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjFÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hjBÌubjæ)�”}”(hhh]”j{)�”}”(hŒ7the value passed to each kcontrol's private_value field”h]”hŒ9the value passed to each kcontrol’s private_value field”…”�”}”(hjaÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]Ìh´M hj^Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjBÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]Ìh´M hj[ËubjÄ)�”}”(hŒT``struct snd_pcm_chmap **info_ret`` store struct snd_pcm_chmap instance if non-NULL ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_chmap **info_ret``”h]”jÐ)�”}”(hj�Ìh]”hŒstruct snd_pcm_chmap **info_ret”…”�”}”(hjƒÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj{Ìubjæ)�”}”(hhh]”j{)�”}”(hŒ/store struct snd_pcm_chmap instance if non-NULL”h]”hŒ/store struct snd_pcm_chmap instance if non-NULL”…”�”}”(hjšÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–Ìh´M hj—Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–Ìh´M hj[Ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj?Ëubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¼Ìh]”hŒ Description”…”�”}”(hj¾Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjºÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj?Ëubj{)�”}”(hŒLCreate channel-mapping control elements assigned to the given PCM stream(s).”h]”hŒLCreate channel-mapping control elements assigned to the given PCM stream(s).”…”�”}”(hjÒÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj?Ëubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjãÌh]”hŒReturn”…”�”}”(hjåÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjáÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj?Ëubj{)�”}”(hŒ.Zero if successful, or a negative error value.”h]”hŒ.Zero if successful, or a negative error value.”…”�”}”(hjùÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M hj?Ëubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_pcm_stream_lock (C function)”Œc.snd_pcm_stream_lock”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ>void snd_pcm_stream_lock (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ=void snd_pcm_stream_lock(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj(Íh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj$Íh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Kkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7Íh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$Íh²hh³j6Íh´Kkubj3)�”}”(hŒsnd_pcm_stream_lock”h]”j9)�”}”(hŒsnd_pcm_stream_lock”h]”hŒsnd_pcm_stream_lock”…”�”}”(hjIÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEÍubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj$Íh²hh³j6Íh´KkubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjeÍh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjaÍubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjaÍubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjƒÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€Íubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j…ÍŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jKÍsbŒc.snd_pcm_stream_lock”†”asbuh1hhjaÍubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£Íh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjaÍubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj±Íh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjaÍubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj¾Íh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaÍubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]Íubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj$Íh²hh³j6Íh´Kkubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj Íh²hh³j6Íh´Kkubah}”(h]”jÍah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j6Íh´KkhjÍh²hubjv)�”}”(hhh]”j{)�”}”(hŒLock the PCM stream”h]”hŒLock the PCM stream”…”�”}”(hjèÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KkhjåÍh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÍh²hh³j6Íh´Kkubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÎjšjÎj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX%**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** This locks the PCM stream's spinlock or mutex depending on the nonatomic flag of the given substream. This also takes the global link rw lock (or rw sem), too, for avoiding the race with linked streams.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj Îh]”hŒ Parameters”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KohjÎubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj)Îh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj+Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj'Îubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Klhj#Îubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjBÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j>Îh´Klhj?Îubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj#Îubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j>Îh´Klhj Îubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÎubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjdÎh]”hŒ Description”…”�”}”(hjfÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjbÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KnhjÎubj{)�”}”(hŒËThis locks the PCM stream's spinlock or mutex depending on the nonatomic flag of the given substream. This also takes the global link rw lock (or rw sem), too, for avoiding the race with linked streams.”h]”hŒÍThis locks the PCM stream’s spinlock or mutex depending on the nonatomic flag of the given substream. This also takes the global link rw lock (or rw sem), too, for avoiding the race with linked streams.”…”�”}”(hjzÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KmhjÎubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_stream_unlock (C function)”Œc.snd_pcm_stream_unlock”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ@void snd_pcm_stream_unlock (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ?void snd_pcm_stream_unlock(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj©Îh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¥Îh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Kyubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥Îh²hh³j·Îh´Kyubj3)�”}”(hŒsnd_pcm_stream_unlock”h]”j9)�”}”(hŒsnd_pcm_stream_unlock”h]”hŒsnd_pcm_stream_unlock”…”�”}”(hjÊÎh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆÎubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¥Îh²hh³j·Îh´KyubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjæÎh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjâÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóÎh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâÎubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÏubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÏŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÌÎsbŒc.snd_pcm_stream_unlock”†”asbuh1hhjâÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâÎubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj2Ïh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjâÎubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj?Ïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâÎubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÞÎubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¥Îh²hh³j·Îh´Kyubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¡Îh²hh³j·Îh´Kyubah}”(h]”jœÎah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j·Îh´KyhjžÎh²hubjv)�”}”(hhh]”j{)�”}”(hŒUnlock the PCM stream”h]”hŒUnlock the PCM stream”…”�”}”(hjiÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KyhjfÏh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjžÎh²hh³j·Îh´Kyubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�Ïjšj�Ïj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ¥**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** This unlocks the PCM stream that has been locked via snd_pcm_stream_lock().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‹Ïh]”hŒ Parameters”…”�”}”(hj�Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‰Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K}hj…Ïubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjªÏh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj¬Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Kzhj¤Ïubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjÃÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¿Ïh´KzhjÀÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤Ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿Ïh´Kzhj¡Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj…Ïubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjåÏh]”hŒ Description”…”�”}”(hjçÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjãÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K|hj…Ïubj{)�”}”(hŒKThis unlocks the PCM stream that has been locked via snd_pcm_stream_lock().”h]”hŒKThis unlocks the PCM stream that has been locked via snd_pcm_stream_lock().”…”�”}”(hjûÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K{hj…Ïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_pcm_stream_lock_irq (C function)”Œc.snd_pcm_stream_lock_irq”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒBvoid snd_pcm_stream_lock_irq (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒAvoid snd_pcm_stream_lock_irq(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj*Ðh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj&Ðh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9Ðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&Ðh²hh³j8Ðh´K…ubj3)�”}”(hŒsnd_pcm_stream_lock_irq”h]”j9)�”}”(hŒsnd_pcm_stream_lock_irq”h]”hŒsnd_pcm_stream_lock_irq”…”�”}”(hjKÐh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGÐubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj&Ðh²hh³j8Ðh´K…ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjgÐh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjcÐubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtÐh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcÐubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj…Ðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚Ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‡ÐŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jMÐsbŒc.snd_pcm_stream_lock_irq”†”asbuh1hhjcÐubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥Ðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcÐubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj³Ðh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjcÐubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÀÐh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjcÐubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_Ðubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj&Ðh²hh³j8Ðh´K…ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj"Ðh²hh³j8Ðh´K…ubah}”(h]”jÐah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j8Ðh´K…hjÐh²hubjv)�”}”(hhh]”j{)�”}”(hŒLock the PCM stream”h]”hŒLock the PCM stream”…”�”}”(hjêÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K…hjçÐh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÐh²hh³j8Ðh´K…ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÑjšjÑj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX **Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** This locks the PCM stream like snd_pcm_stream_lock() and disables the local IRQ (only when nonatomic is false). In nonatomic case, this is identical as snd_pcm_stream_lock().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj Ñh]”hŒ Parameters”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj Ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K‰hjÑubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj+Ñh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj-Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj)Ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K†hj%Ñubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjDÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j@Ñh´K†hjAÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%Ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j@Ñh´K†hj"Ñubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÑubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjfÑh]”hŒ Description”…”�”}”(hjhÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjdÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KˆhjÑubj{)�”}”(hŒ¯This locks the PCM stream like snd_pcm_stream_lock() and disables the local IRQ (only when nonatomic is false). In nonatomic case, this is identical as snd_pcm_stream_lock().”h]”hŒ¯This locks the PCM stream like snd_pcm_stream_lock() and disables the local IRQ (only when nonatomic is false). In nonatomic case, this is identical as snd_pcm_stream_lock().”…”�”}”(hj|Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K‡hjÑubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_pcm_stream_unlock_irq (C function)”Œc.snd_pcm_stream_unlock_irq”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒDvoid snd_pcm_stream_unlock_irq (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒCvoid snd_pcm_stream_unlock_irq(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj«Ñh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj§Ñh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Kžubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºÑh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§Ñh²hh³j¹Ñh´Kžubj3)�”}”(hŒsnd_pcm_stream_unlock_irq”h]”j9)�”}”(hŒsnd_pcm_stream_unlock_irq”h]”hŒsnd_pcm_stream_unlock_irq”…”�”}”(hjÌÑh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈÑubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj§Ñh²hh³j¹Ñh´KžubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjèÑh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjäÑubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõÑh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjäÑubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÒŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÎÑsbŒc.snd_pcm_stream_unlock_irq”†”asbuh1hhjäÑubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&Òh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjäÑubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj4Òh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjäÑubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjAÒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjäÑubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjàÑubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj§Ñh²hh³j¹Ñh´Kžubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj£Ñh²hh³j¹Ñh´Kžubah}”(h]”jžÑah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¹Ñh´Kžhj Ñh²hubjv)�”}”(hhh]”j{)�”}”(hŒUnlock the PCM stream”h]”hŒUnlock the PCM stream”…”�”}”(hjkÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KžhjhÒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj Ñh²hh³j¹Ñh´Kžubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jƒÒjšjƒÒj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒŽ**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** This is a counter-part of snd_pcm_stream_lock_irq().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj�Òh]”hŒ Parameters”…”�”}”(hj�Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‹Òubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K¢hj‡Òubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj¬Òh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj®Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjªÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KŸhj¦Òubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjÅÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÁÒh´KŸhjÂÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¦Òubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÁÒh´KŸhj£Òubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‡Òubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjçÒh]”hŒ Description”…”�”}”(hjéÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjåÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K¡hj‡Òubj{)�”}”(hŒ4This is a counter-part of snd_pcm_stream_lock_irq().”h]”hŒ4This is a counter-part of snd_pcm_stream_lock_irq().”…”�”}”(hjýÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´K hj‡Òubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ-snd_pcm_stream_unlock_irqrestore (C function)”Œ"c.snd_pcm_stream_unlock_irqrestore”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`void snd_pcm_stream_unlock_irqrestore (struct snd_pcm_substream *substream, unsigned long flags)”h]”j )�”}”(hŒ_void snd_pcm_stream_unlock_irqrestore(struct snd_pcm_substream *substream, unsigned long flags)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj,Óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj(Óh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;Óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj(Óh²hh³j:Óh´KÃubj3)�”}”(hŒ snd_pcm_stream_unlock_irqrestore”h]”j9)�”}”(hŒ snd_pcm_stream_unlock_irqrestore”h]”hŒ snd_pcm_stream_unlock_irqrestore”…”�”}”(hjMÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjIÓubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj(Óh²hh³j:Óh´KÃubjT)�”}”(hŒ:(struct snd_pcm_substream *substream, unsigned long flags)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjiÓh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjeÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvÓh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjeÓubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj‡Óh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„Óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‰ÓŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jOÓsbŒ"c.snd_pcm_stream_unlock_irqrestore”†”asbuh1hhjeÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§Óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjeÓubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjµÓh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjeÓubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÂÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjeÓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjaÓubjZ)�”}”(hŒunsigned long flags”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÛÓh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj×Óubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéÓh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×Óubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj÷Óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj×Óubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×Óubj9)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×Óubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjaÓubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj(Óh²hh³j:Óh´KÃubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj$Óh²hh³j:Óh´KÃubah}”(h]”jÓah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j:Óh´KÃhj!Óh²hubjv)�”}”(hhh]”j{)�”}”(hŒUnlock the PCM stream”h]”hŒUnlock the PCM stream”…”�”}”(hj=Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÃhj:Ôh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj!Óh²hh³j:Óh´KÃubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jUÔjšjUÔj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ·**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``unsigned long flags`` irq flags **Description** This is a counter-part of snd_pcm_stream_lock_irqsave().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj_Ôh]”hŒ Parameters”…”�”}”(hjaÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj]Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÇhjYÔubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj~Ôh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj€Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj|Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÄhjxÔubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj—Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j“Ôh´KÄhj”Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjxÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j“Ôh´KÄhjuÔubjÄ)�”}”(hŒ"``unsigned long flags`` irq flags ”h]”(jÊ)�”}”(hŒ``unsigned long flags``”h]”jÐ)�”}”(hj·Ôh]”hŒunsigned long flags”…”�”}”(hj¹Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjµÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÅhj±Ôubjæ)�”}”(hhh]”j{)�”}”(hŒ irq flags”h]”hŒ irq flags”…”�”}”(hjÐÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÌÔh´KÅhjÍÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj±Ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÌÔh´KÅhjuÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjYÔubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjòÔh]”hŒ Description”…”�”}”(hjôÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjðÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÇhjYÔubj{)�”}”(hŒ8This is a counter-part of snd_pcm_stream_lock_irqsave().”h]”hŒ8This is a counter-part of snd_pcm_stream_lock_irqsave().”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÆhjYÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_set_state (C function)”Œc.snd_pcm_set_state”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒSvoid snd_pcm_set_state (struct snd_pcm_substream *substream, snd_pcm_state_t state)”h]”j )�”}”(hŒRvoid snd_pcm_set_state(struct snd_pcm_substream *substream, snd_pcm_state_t state)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj7Õh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3Õh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFÕh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3Õh²hh³jEÕh´Mnubj3)�”}”(hŒsnd_pcm_set_state”h]”j9)�”}”(hŒsnd_pcm_set_state”h]”hŒsnd_pcm_set_state”…”�”}”(hjXÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjTÕubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj3Õh²hh³jEÕh´MnubjT)�”}”(hŒ<(struct snd_pcm_substream *substream, snd_pcm_state_t state)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjtÕh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjpÕubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpÕubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj’Õh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Õubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j”ÕŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jZÕsbŒc.snd_pcm_set_state”†”asbuh1hhjpÕubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²Õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpÕubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÀÕh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjpÕubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÍÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjpÕubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjlÕubjZ)�”}”(hŒsnd_pcm_state_t state”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_state_t”h]”hŒsnd_pcm_state_t”…”�”}”(hjéÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jëÕŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j®ÕŒc.snd_pcm_set_state”†”asbuh1hhjâÕubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâÕubj9)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâÕubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjlÕubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj3Õh²hh³jEÕh´Mnubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj/Õh²hh³jEÕh´Mnubah}”(h]”j*Õah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jEÕh´Mnhj,Õh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Set the PCM runtime state with stream lock”h]”hŒ*Set the PCM runtime state with stream lock”…”�”}”(hj?Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mnhj<Öh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj,Õh²hh³jEÕh´Mnubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jWÖjšjWÖj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒq**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``snd_pcm_state_t state`` state to set”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjaÖh]”hŒ Parameters”…”�”}”(hjcÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj_Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mrhj[Öubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj€Öh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj‚Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj~Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MohjzÖubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj™Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j•Öh´Mohj–Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjzÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j•Öh´MohjwÖubjÄ)�”}”(hŒ&``snd_pcm_state_t state`` state to set”h]”(jÊ)�”}”(hŒ``snd_pcm_state_t state``”h]”jÐ)�”}”(hj¹Öh]”hŒsnd_pcm_state_t state”…”�”}”(hj»Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj·Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mqhj³Öubjæ)�”}”(hhh]”j{)�”}”(hŒ state to set”h]”hŒ state to set”…”�”}”(hjÒÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MphjÏÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³Öubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÎÖh´MqhjwÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj[Öubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_get_state (C function)”Œc.snd_pcm_get_state”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒGsnd_pcm_state_t snd_pcm_get_state (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒFsnd_pcm_state_t snd_pcm_get_state(struct snd_pcm_substream *substream)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_state_t”h]”hŒsnd_pcm_state_t”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j׌modname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_get_state”sbŒc.snd_pcm_get_state”†”asbuh1hhj×h²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×h²hh³j7×h´M|ubj3)�”}”(hŒsnd_pcm_get_state”h]”j9)�”}”(hj4×h]”hŒsnd_pcm_get_state”…”�”}”(hjJ×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjF×ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj×h²hh³j7×h´M|ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hje×h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hja×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hja×ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjƒ×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j…׌modname”NŒ classname”NjœjŸ)�”}”j¢]”j2׌c.snd_pcm_get_state”†”asbuh1hhja×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hja×ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¯×h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hja×ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj¼×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hja×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]×ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj×h²hh³j7×h´M|ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj ×h²hh³j7×h´M|ubah}”(h]”j×ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j7×h´M|hj×h²hubjv)�”}”(hhh]”j{)�”}”(hŒ+Read the PCM runtime state with stream lock”h]”hŒ+Read the PCM runtime state with stream lock”…”�”}”(hjæ×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M|hjã×h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj×h²hh³j7×h´M|ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jþ×jšjþ×j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒj**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Return** the current PCM state”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjØh]”hŒ Parameters”…”�”}”(hj Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjØubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M€hjØubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj'Øh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj)Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%Øubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M}hj!Øubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj@Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j<Øh´M}hj=Øubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!Øubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j<Øh´M}hjØubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjØubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjbØh]”hŒReturn”…”�”}”(hjdØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj`Øubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MhjØubj{)�”}”(hŒthe current PCM state”h]”hŒthe current PCM state”…”�”}”(hjxØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MhjØubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_hw_params_choose (C function)”Œc.snd_pcm_hw_params_choose”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ^int snd_pcm_hw_params_choose (struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params)”h]”j )�”}”(hŒ]int snd_pcm_hw_params_choose(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj§Øh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj£Øh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶Øh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£Øh²hh³jµØh´M¦ubj3)�”}”(hŒsnd_pcm_hw_params_choose”h]”j9)�”}”(hŒsnd_pcm_hw_params_choose”h]”hŒsnd_pcm_hw_params_choose”…”�”}”(hjÈØh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄØubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj£Øh²hh³jµØh´M¦ubjT)�”}”(hŒA(struct snd_pcm_substream *pcm, struct snd_pcm_hw_params *params)”h]”(jZ)�”}”(hŒstruct snd_pcm_substream *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjäØh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjàØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñØh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjàØubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿØubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÙŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÊØsbŒc.snd_pcm_hw_params_choose”†”asbuh1hhjàØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"Ùh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjàØubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj0Ùh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjàØubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hj=Ùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjàØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÜØubjZ)�”}”(hŒ struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjVÙh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjRÙubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcÙh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRÙubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjtÙh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqÙubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jvÙŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÙŒc.snd_pcm_hw_params_choose”†”asbuh1hhjRÙubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Ùh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRÙubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj Ùh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjRÙubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hj­Ùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjRÙubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÜØubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj£Øh²hh³jµØh´M¦ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjŸØh²hh³jµØh´M¦ubah}”(h]”jšØah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jµØh´M¦hjœØh²hubjv)�”}”(hhh]”j{)�”}”(hŒ,choose a configuration defined by **params**”h]”(hŒ"choose a configuration defined by ”…”�”}”(hj×Ùh²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hjßÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj×Ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M¦hjÔÙh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjœØh²hh³jµØh´M¦ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jýÙjšjýÙj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXÕ**Parameters** ``struct snd_pcm_substream *pcm`` PCM instance ``struct snd_pcm_hw_params *params`` the hw_params instance **Description** Choose one configuration from configuration space defined by **params**. The configuration chosen is that obtained fixing in this order: first access, first format, first subformat, min channels, min rate, min period time, max buffer size, min tick time **Return** Zero if successful, or a negative error code on failure.”•h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÚh]”hŒ Parameters”…”�”}”(hj Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MªhjÚubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct snd_pcm_substream *pcm`` PCM instance ”h]”(jÊ)�”}”(hŒ!``struct snd_pcm_substream *pcm``”h]”jÐ)�”}”(hj&Úh]”hŒstruct snd_pcm_substream *pcm”…”�”}”(hj(Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj$Úubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M§hj Úubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM instance”h]”hŒ PCM instance”…”�”}”(hj?Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j;Úh´M§hj<Úubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Úubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j;Úh´M§hjÚubjÄ)�”}”(hŒ<``struct snd_pcm_hw_params *params`` the hw_params instance ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hj_Úh]”hŒ struct snd_pcm_hw_params *params”…”�”}”(hjaÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]Úubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M¨hjYÚubjæ)�”}”(hhh]”j{)�”}”(hŒthe hw_params instance”h]”hŒthe hw_params instance”…”�”}”(hjxÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jtÚh´M¨hjuÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjYÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jtÚh´M¨hjÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÚubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjšÚh]”hŒ Description”…”�”}”(hjœÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj˜Úubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MªhjÚubj{)�”}”(hŒýChoose one configuration from configuration space defined by **params**. The configuration chosen is that obtained fixing in this order: first access, first format, first subformat, min channels, min rate, min period time, max buffer size, min tick time”h]”(hŒ=Choose one configuration from configuration space defined by ”…”�”}”(hj°Úh²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hj¸Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj°ÚubhŒ¶. The configuration chosen is that obtained fixing in this order: first access, first format, first subformat, min channels, min rate, min period time, max buffer size, min tick time”…”�”}”(hj°Úh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M©hjÚubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÓÚh]”hŒReturn”…”�”}”(hjÕÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÑÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M®hjÚubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjéÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M¯hjÚubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_start (C function)”Œc.snd_pcm_start”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ7int snd_pcm_start (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ6int snd_pcm_start(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÛh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Ûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÛh²hh³j&Ûh´M÷ubj3)�”}”(hŒ snd_pcm_start”h]”j9)�”}”(hŒ snd_pcm_start”h]”hŒ snd_pcm_start”…”�”}”(hj9Ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5Ûubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÛh²hh³j&Ûh´M÷ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjUÛh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQÛubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbÛh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQÛubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjsÛh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjpÛubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”juÛŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j;ÛsbŒc.snd_pcm_start”†”asbuh1hhjQÛubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“Ûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQÛubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¡Ûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQÛubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj®Ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQÛubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjMÛubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÛh²hh³j&Ûh´M÷ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛh²hh³j&Ûh´M÷ubah}”(h]”j Ûah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j&Ûh´M÷hj Ûh²hubjv)�”}”(hhh]”j{)�”}”(hŒstart all linked streams”h]”hŒstart all linked streams”…”�”}”(hjØÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M÷hjÕÛh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj Ûh²hh³j&Ûh´M÷ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jðÛjšjðÛj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒÎ**Parameters** ``struct snd_pcm_substream *substream`` the PCM substream instance **Return** Zero if successful, or a negative error code. The stream lock must be acquired before calling this function.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjúÛh]”hŒ Parameters”…”�”}”(hjüÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjøÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MûhjôÛubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the PCM substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÜh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MøhjÜubjæ)�”}”(hhh]”j{)�”}”(hŒthe PCM substream instance”h]”hŒthe PCM substream instance”…”�”}”(hj2Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j.Üh´Møhj/Üubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j.Üh´MøhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjôÛubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjTÜh]”hŒReturn”…”�”}”(hjVÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjRÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MúhjôÛubj{)�”}”(hŒlZero if successful, or a negative error code. The stream lock must be acquired before calling this function.”h]”hŒlZero if successful, or a negative error code. The stream lock must be acquired before calling this function.”…”�”}”(hjjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MúhjôÛubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_stop (C function)”Œc.snd_pcm_stop”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMint snd_pcm_stop (struct snd_pcm_substream *substream, snd_pcm_state_t state)”h]”j )�”}”(hŒLint snd_pcm_stop(struct snd_pcm_substream *substream, snd_pcm_state_t state)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj™Üh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•Üh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨Üh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•Üh²hh³j§Üh´M6ubj3)�”}”(hŒ snd_pcm_stop”h]”j9)�”}”(hŒ snd_pcm_stop”h]”hŒ snd_pcm_stop”…”�”}”(hjºÜh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶Üubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj•Üh²hh³j§Üh´M6ubjT)�”}”(hŒ<(struct snd_pcm_substream *substream, snd_pcm_state_t state)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÖÜh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÒÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒÜubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjôÜh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjñÜubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jöÜŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¼ÜsbŒc.snd_pcm_stop”†”asbuh1hhjÒÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒÜubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj"Ýh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÒÜubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj/Ýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒÜubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÎÜubjZ)�”}”(hŒsnd_pcm_state_t state”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_state_t”h]”hŒsnd_pcm_state_t”…”�”}”(hjKÝh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjHÝubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jMÝŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÝŒc.snd_pcm_stop”†”asbuh1hhjDÝubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjDÝubj9)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjwÝh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjDÝubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÎÜubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj•Üh²hh³j§Üh´M6ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‘Üh²hh³j§Üh´M6ubah}”(h]”jŒÜah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j§Üh´M6hjŽÜh²hubjv)�”}”(hhh]”j{)�”}”(hŒ6try to stop all running streams in the substream group”h]”hŒ6try to stop all running streams in the substream group”…”�”}”(hj¡Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M6hjžÝh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjŽÜh²hh³j§Üh´M6ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¹Ýjšj¹Ýj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX/**Parameters** ``struct snd_pcm_substream *substream`` the PCM substream instance ``snd_pcm_state_t state`` PCM state after stopping the stream **Description** The state of each stream is then changed to the given state unconditionally. **Return** Zero if successful, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÃÝh]”hŒ Parameters”…”�”}”(hjÅÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÁÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M:hj½Ýubj¿)�”}”(hhh]”(jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the PCM substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjâÝh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjäÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjàÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M7hjÜÝubjæ)�”}”(hhh]”j{)�”}”(hŒthe PCM substream instance”h]”hŒthe PCM substream instance”…”�”}”(hjûÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j÷Ýh´M7hjøÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÜÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j÷Ýh´M7hjÙÝubjÄ)�”}”(hŒ>``snd_pcm_state_t state`` PCM state after stopping the stream ”h]”(jÊ)�”}”(hŒ``snd_pcm_state_t state``”h]”jÐ)�”}”(hjÞh]”hŒsnd_pcm_state_t state”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M8hjÞubjæ)�”}”(hhh]”j{)�”}”(hŒ#PCM state after stopping the stream”h]”hŒ#PCM state after stopping the stream”…”�”}”(hj4Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j0Þh´M8hj1Þubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j0Þh´M8hjÙÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj½Ýubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjVÞh]”hŒ Description”…”�”}”(hjXÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjTÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M:hj½Ýubj{)�”}”(hŒLThe state of each stream is then changed to the given state unconditionally.”h]”hŒLThe state of each stream is then changed to the given state unconditionally.”…”�”}”(hjlÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M9hj½Ýubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj}Þh]”hŒReturn”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj{Þubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M;hj½Ýubj{)�”}”(hŒ-Zero if successful, or a negative error code.”h]”hŒ-Zero if successful, or a negative error code.”…”�”}”(hj“Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´M<hj½Ýubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_drain_done (C function)”Œc.snd_pcm_drain_done”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒopen_mutex to serialize against concurrent open/close while walking the substreams. After this call, all streams are changed to SUSPENDED state. **Return** Zero if successful (or **pcm** is ``NULL``), or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjôâh]”hŒ Parameters”…”�”}”(hjöâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjòâubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mhjîâubj¿)�”}”(hhh]”jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the PCM instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hjãh]”hŒstruct snd_pcm *pcm”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjãubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mÿhj ãubjæ)�”}”(hhh]”j{)�”}”(hŒthe PCM instance”h]”hŒthe PCM instance”…”�”}”(hj,ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j(ãh´Mÿhj)ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(ãh´Mÿhj ãubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjîâubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjNãh]”hŒ Description”…”�”}”(hjPãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjLãubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mhjîâubj{)�”}”(hŒkTakes and releases pcm->open_mutex to serialize against concurrent open/close while walking the substreams.”h]”hŒkTakes and releases pcm->open_mutex to serialize against concurrent open/close while walking the substreams.”…”�”}”(hjdãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mhjîâubj{)�”}”(hŒint snd_pcm_stream_linked(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjfíh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbíh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mqubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuíh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbíh²hh³jtíh´Mqubj3)�”}”(hŒsnd_pcm_stream_linked”h]”j9)�”}”(hŒsnd_pcm_stream_linked”h]”hŒsnd_pcm_stream_linked”…”�”}”(hj‡íh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒíubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjbíh²hh³jtíh´MqubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj£íh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŸíubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°íh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸíubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÁíh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾íubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÃíŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j‰ísbŒc.snd_pcm_stream_linked”†”asbuh1hhjŸíubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáíh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸíubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjïíh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŸíubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjüíh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸíubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj›íubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjbíh²hh³jtíh´Mqubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj^íh²hh³jtíh´Mqubah}”(h]”jYíah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jtíh´Mqhj[íh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1Check whether the substream is linked with others”h]”hŒ1Check whether the substream is linked with others”…”�”}”(hj&îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mqhj#îh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj[íh²hh³jtíh´Mqubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j>îjšj>îj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ‘**Parameters** ``struct snd_pcm_substream *substream`` substream to check **Return** true if the given substream is being linked with others”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjHîh]”hŒ Parameters”…”�”}”(hjJîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjFîubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MuhjBîubj¿)�”}”(hhh]”jÄ)�”}”(hŒ;``struct snd_pcm_substream *substream`` substream to check ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjgîh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjiîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeîubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mrhjaîubjæ)�”}”(hhh]”j{)�”}”(hŒsubstream to check”h]”hŒsubstream to check”…”�”}”(hj€îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|îh´Mrhj}îubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|îh´Mrhj^îubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjBîubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¢îh]”hŒReturn”…”�”}”(hj¤îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj îubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MthjBîubj{)�”}”(hŒ7true if the given substream is being linked with others”h]”hŒ7true if the given substream is being linked with others”…”�”}”(hj¸îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MthjBîubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_stream_lock_irqsave (C macro)”Œc.snd_pcm_stream_lock_irqsave”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j•)�”}”(hŒsnd_pcm_stream_lock_irqsave”h]”j )�”}”(hŒsnd_pcm_stream_lock_irqsave”h]”j3)�”}”(hŒsnd_pcm_stream_lock_irqsave”h]”j9)�”}”(hjáîh]”hŒsnd_pcm_stream_lock_irqsave”…”�”}”(hjëîh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçîubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjãîh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mƒubah}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjßîh²hh³jþîh´Mƒubah}”(h]”jÚîah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jþîh´MƒhjÜîh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjÜîh²hh³jþîh´Mƒubeh}”(h]”h ]”(j–Œmacro”eh"]”h$]”h&]”j˜j–j™jïjšjïj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´Nubj{)�”}”(hŒ2``snd_pcm_stream_lock_irqsave (substream, flags)``”h]”jÐ)�”}”(hjïh]”hŒ.snd_pcm_stream_lock_irqsave (substream, flags)”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M…hj^h²hubj¯)�”}”(hŒLock the PCM stream ”h]”j{)�”}”(hŒLock the PCM stream”h]”hŒLock the PCM stream”…”�”}”(hj7ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mƒhj3ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jEïh´Mƒhj^h²hubjŸ)�”}”(hX**Parameters** ``substream`` PCM substream ``flags`` irq flags **Description** This locks the PCM stream like snd_pcm_stream_lock() but with the local IRQ (only when nonatomic is false). In nonatomic case, this is identical as snd_pcm_stream_lock().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjRïh]”hŒ Parameters”…”�”}”(hjTïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjPïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‡hjLïubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``substream`` PCM substream ”h]”(jÊ)�”}”(hŒ ``substream``”h]”jÐ)�”}”(hjqïh]”hŒ substream”…”�”}”(hjsïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjoïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M„hjkïubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjŠïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†ïh´M„hj‡ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†ïh´M„hjhïubjÄ)�”}”(hŒ``flags`` irq flags ”h]”(jÊ)�”}”(hŒ ``flags``”h]”jÐ)�”}”(hjªïh]”hŒflags”…”�”}”(hj¬ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M…hj¤ïubjæ)�”}”(hhh]”j{)�”}”(hŒ irq flags”h]”hŒ irq flags”…”�”}”(hjÃïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¿ïh´M…hjÀïubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿ïh´M…hjhïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjLïubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjåïh]”hŒ Description”…”�”}”(hjçïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjãïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‡hjLïubj{)�”}”(hŒ«This locks the PCM stream like snd_pcm_stream_lock() but with the local IRQ (only when nonatomic is false). In nonatomic case, this is identical as snd_pcm_stream_lock().”h]”hŒ«This locks the PCM stream like snd_pcm_stream_lock() but with the local IRQ (only when nonatomic is false). In nonatomic case, this is identical as snd_pcm_stream_lock().”…”�”}”(hjûïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M†hjLïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,snd_pcm_stream_lock_irqsave_nested (C macro)”Œ$c.snd_pcm_stream_lock_irqsave_nested”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ"snd_pcm_stream_lock_irqsave_nested”h]”j )�”}”(hŒ"snd_pcm_stream_lock_irqsave_nested”h]”j3)�”}”(hŒ"snd_pcm_stream_lock_irqsave_nested”h]”j9)�”}”(hj$ðh]”hŒ"snd_pcm_stream_lock_irqsave_nested”…”�”}”(hj.ðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*ðubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj&ðh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M”ubah}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj"ðh²hh³jAðh´M”ubah}”(h]”jðah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jAðh´M”hjðh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjðh²hh³jAðh´M”ubeh}”(h]”h ]”(j–Œmacro”eh"]”h$]”h&]”j˜j–j™jZðjšjZðj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´Nubj{)�”}”(hŒ9``snd_pcm_stream_lock_irqsave_nested (substream, flags)``”h]”jÐ)�”}”(hj`ðh]”hŒ5snd_pcm_stream_lock_irqsave_nested (substream, flags)”…”�”}”(hjbðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M–hj^h²hubj¯)�”}”(hŒ!Single-nested PCM stream locking ”h]”j{)�”}”(hŒ Single-nested PCM stream locking”h]”hŒ Single-nested PCM stream locking”…”�”}”(hjzðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M”hjvðubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jˆðh´M”hj^h²hubjŸ)�”}”(hŒ¿**Parameters** ``substream`` PCM substream ``flags`` irq flags **Description** This locks the PCM stream like snd_pcm_stream_lock_irqsave() but with the single-depth lockdep subclass.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj•ðh]”hŒ Parameters”…”�”}”(hj—ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj“ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M˜hj�ðubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``substream`` PCM substream ”h]”(jÊ)�”}”(hŒ ``substream``”h]”jÐ)�”}”(hj´ðh]”hŒ substream”…”�”}”(hj¶ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj²ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M•hj®ðubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjÍðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÉðh´M•hjÊðubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj®ðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÉðh´M•hj«ðubjÄ)�”}”(hŒ``flags`` irq flags ”h]”(jÊ)�”}”(hŒ ``flags``”h]”jÐ)�”}”(hjíðh]”hŒflags”…”�”}”(hjïðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjëðubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M–hjçðubjæ)�”}”(hhh]”j{)�”}”(hŒ irq flags”h]”hŒ irq flags”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jñh´M–hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjçðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jñh´M–hj«ðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�ðubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj(ñh]”hŒ Description”…”�”}”(hj*ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj&ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M˜hj�ðubj{)�”}”(hŒhThis locks the PCM stream like snd_pcm_stream_lock_irqsave() but with the single-depth lockdep subclass.”h]”hŒhThis locks the PCM stream like snd_pcm_stream_lock_irqsave() but with the single-depth lockdep subclass.”…”�”}”(hj>ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M—hj�ðubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_pcm_group_for_each_entry (C macro)”Œc.snd_pcm_group_for_each_entry”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_pcm_group_for_each_entry”h]”j )�”}”(hŒsnd_pcm_group_for_each_entry”h]”j3)�”}”(hŒsnd_pcm_group_for_each_entry”h]”j9)�”}”(hjgñh]”hŒsnd_pcm_group_for_each_entry”…”�”}”(hjqñh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmñubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjiñh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M®ubah}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjeñh²hh³j„ñh´M®ubah}”(h]”j`ñah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j„ñh´M®hjbñh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjbñh²hh³j„ñh´M®ubeh}”(h]”h ]”(j–Œmacro”eh"]”h$]”h&]”j˜j–j™j�ñjšj�ñj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´Nubj{)�”}”(hŒ/``snd_pcm_group_for_each_entry (s, substream)``”h]”jÐ)�”}”(hj£ñh]”hŒ+snd_pcm_group_for_each_entry (s, substream)”…”�”}”(hj¥ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¡ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M°hj^h²hubj¯)�”}”(hŒ#iterate over the linked substreams ”h]”j{)�”}”(hŒ"iterate over the linked substreams”h]”hŒ"iterate over the linked substreams”…”�”}”(hj½ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M®hj¹ñubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jËñh´M®hj^h²hubjŸ)�”}”(hŒ÷**Parameters** ``s`` the iterator ``substream`` the substream **Description** Iterate over the all linked substreams to the given **substream**. When **substream** isn't linked with any others, this gives returns **substream** itself once.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjØñh]”hŒ Parameters”…”�”}”(hjÚñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÖñubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M²hjÒñubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``s`` the iterator ”h]”(jÊ)�”}”(hŒ``s``”h]”jÐ)�”}”(hj÷ñh]”hŒs”…”�”}”(hjùñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjõñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¯hjññubjæ)�”}”(hhh]”j{)�”}”(hŒ the iterator”h]”hŒ the iterator”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j òh´M¯hj òubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjññubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j òh´M¯hjîñubjÄ)�”}”(hŒ``substream`` the substream ”h]”(jÊ)�”}”(hŒ ``substream``”h]”jÐ)�”}”(hj0òh]”hŒ substream”…”�”}”(hj2òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj.òubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M°hj*òubjæ)�”}”(hhh]”j{)�”}”(hŒ the substream”h]”hŒ the substream”…”�”}”(hjIòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jEòh´M°hjFòubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj*òubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jEòh´M°hjîñubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÒñubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjkòh]”hŒ Description”…”�”}”(hjmòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjiòubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M²hjÒñubj{)�”}”(hŒ¡Iterate over the all linked substreams to the given **substream**. When **substream** isn't linked with any others, this gives returns **substream** itself once.”h]”(hŒ4Iterate over the all linked substreams to the given ”…”�”}”(hj�òh²hh³Nh´Nubj©)�”}”(hŒ **substream**”h]”hŒ substream”…”�”}”(hj‰òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�òubhŒ. When ”…”�”}”(hj�òh²hh³Nh´Nubj©)�”}”(hŒ **substream**”h]”hŒ substream”…”�”}”(hj›òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�òubhŒ4 isn’t linked with any others, this gives returns ”…”�”}”(hj�òh²hh³Nh´Nubj©)�”}”(hŒ **substream**”h]”hŒ substream”…”�”}”(hj­òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�òubhŒ itself once.”…”�”}”(hj�òh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M±hjÒñubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_running (C function)”Œc.snd_pcm_running”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ9int snd_pcm_running (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ8int snd_pcm_running(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjæòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjâòh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâòh²hh³jôòh´M¿ubj3)�”}”(hŒsnd_pcm_running”h]”j9)�”}”(hŒsnd_pcm_running”h]”hŒsnd_pcm_running”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjóubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjâòh²hh³jôòh´M¿ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj#óh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjóubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjóubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjAóh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jCóŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j ósbŒc.snd_pcm_running”†”asbuh1hhjóubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaóh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjóubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjoóh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjóubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj|óh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjóubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjóubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjâòh²hh³jôòh´M¿ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÞòh²hh³jôòh´M¿ubah}”(h]”jÙòah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jôòh´M¿hjÛòh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1Check whether the substream is in a running state”h]”hŒ1Check whether the substream is in a running state”…”�”}”(hj¦óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¿hj£óh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÛòh²hh³jôòh´M¿ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¾ójšj¾ój›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒµ**Parameters** ``struct snd_pcm_substream *substream`` substream to check **Return** true if the given substream is in the state RUNNING, or in the state DRAINING for playback.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÈóh]”hŒ Parameters”…”�”}”(hjÊóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÆóubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÃhjÂóubj¿)�”}”(hhh]”jÄ)�”}”(hŒ;``struct snd_pcm_substream *substream`` substream to check ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjçóh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjéóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjåóubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÀhjáóubjæ)�”}”(hhh]”j{)�”}”(hŒsubstream to check”h]”hŒsubstream to check”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jüóh´MÀhjýóubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjáóubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jüóh´MÀhjÞóubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÂóubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj"ôh]”hŒReturn”…”�”}”(hj$ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÂhjÂóubj{)�”}”(hŒ[true if the given substream is in the state RUNNING, or in the state DRAINING for playback.”h]”hŒ[true if the given substream is in the state RUNNING, or in the state DRAINING for playback.”…”�”}”(hj8ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÂhjÂóubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ __snd_pcm_set_state (C function)”Œc.__snd_pcm_set_state”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQvoid __snd_pcm_set_state (struct snd_pcm_runtime *runtime, snd_pcm_state_t state)”h]”j )�”}”(hŒPvoid __snd_pcm_set_state(struct snd_pcm_runtime *runtime, snd_pcm_state_t state)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjgôh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjcôh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÍubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcôh²hh³juôh´MÍubj3)�”}”(hŒ__snd_pcm_set_state”h]”j9)�”}”(hŒ__snd_pcm_set_state”h]”hŒ__snd_pcm_set_state”…”�”}”(hjˆôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„ôubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjcôh²hh³juôh´MÍubjT)�”}”(hŒ8(struct snd_pcm_runtime *runtime, snd_pcm_state_t state)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¤ôh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ôubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±ôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ôubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjÂôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¿ôubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÄôŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jŠôsbŒc.__snd_pcm_set_state”†”asbuh1hhj ôubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ôubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjðôh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ôubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjýôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjœôubjZ)�”}”(hŒsnd_pcm_state_t state”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_state_t”h]”hŒsnd_pcm_state_t”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jõŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÞôŒc.__snd_pcm_set_state”†”asbuh1hhjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubj9)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjEõh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjœôubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjcôh²hh³juôh´MÍubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj_ôh²hh³juôh´MÍubah}”(h]”jZôah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³juôh´MÍhj\ôh²hubjv)�”}”(hhh]”j{)�”}”(hŒChange the current PCM state”h]”hŒChange the current PCM state”…”�”}”(hjoõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÍhjlõh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj\ôh²hh³juôh´MÍubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j‡õjšj‡õj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ¬**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime to set ``snd_pcm_state_t state`` the current state to set **Description** Call within the stream lock”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‘õh]”hŒ Parameters”…”�”}”(hj“õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�õubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÑhj‹õubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ7``struct snd_pcm_runtime *runtime`` PCM runtime to set ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj°õh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj²õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj®õubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÎhjªõubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime to set”h]”hŒPCM runtime to set”…”�”}”(hjÉõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÅõh´MÎhjÆõubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjªõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÅõh´MÎhj§õubjÄ)�”}”(hŒ3``snd_pcm_state_t state`` the current state to set ”h]”(jÊ)�”}”(hŒ``snd_pcm_state_t state``”h]”jÐ)�”}”(hjéõh]”hŒsnd_pcm_state_t state”…”�”}”(hjëõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjçõubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÏhjãõubjæ)�”}”(hhh]”j{)�”}”(hŒthe current state to set”h]”hŒthe current state to set”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþõh´MÏhjÿõubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjãõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþõh´MÏhj§õubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‹õubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj$öh]”hŒ Description”…”�”}”(hj&öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj"öubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÑhj‹õubj{)�”}”(hŒCall within the stream lock”h]”hŒCall within the stream lock”…”�”}”(hj:öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÐhj‹õubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒbytes_to_samples (C function)”Œc.bytes_to_samples”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒHssize_t bytes_to_samples (struct snd_pcm_runtime *runtime, ssize_t size)”h]”j )�”}”(hŒGssize_t bytes_to_samples(struct snd_pcm_runtime *runtime, ssize_t size)”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjlöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjiöubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jnöŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œbytes_to_samples”sbŒc.bytes_to_samples”†”asbuh1hhjeöh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mßubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjeöh²hh³j�öh´Mßubj3)�”}”(hŒbytes_to_samples”h]”j9)�”}”(hjŠöh]”hŒbytes_to_samples”…”�”}”(hj öh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœöubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjeöh²hh³j�öh´MßubjT)�”}”(hŒ/(struct snd_pcm_runtime *runtime, ssize_t size)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj»öh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj·öubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·öubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjÙöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖöubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÛöŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jˆöŒc.bytes_to_samples”†”asbuh1hhj·öubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷öh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·öubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj·öubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·öubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj³öubjZ)�”}”(hŒ ssize_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj.÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj+÷ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j0÷Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jˆöŒc.bytes_to_samples”†”asbuh1hhj'÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'÷ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjZ÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj³öubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjeöh²hh³j�öh´Mßubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjaöh²hh³j�öh´Mßubah}”(h]”j\öah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�öh´Mßhj^öh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1Unit conversion of the size from bytes to samples”h]”hŒ1Unit conversion of the size from bytes to samples”…”�”}”(hj„÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mßhj�÷h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj^öh²hh³j�öh´Mßubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jœ÷jšjœ÷j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ�**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``ssize_t size`` size in bytes **Return** the size in samples”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¦÷h]”hŒ Parameters”…”�”}”(hj¨÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¤÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mãhj ÷ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjÅ÷h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjÇ÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÃ÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Màhj¿÷ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjÞ÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚ÷h´MàhjÛ÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚ÷h´Màhj¼÷ubjÄ)�”}”(hŒ``ssize_t size`` size in bytes ”h]”(jÊ)�”}”(hŒ``ssize_t size``”h]”jÐ)�”}”(hjþ÷h]”hŒ ssize_t size”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjü÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Máhjø÷ubjæ)�”}”(hhh]”j{)�”}”(hŒ size in bytes”h]”hŒ size in bytes”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jøh´Máhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjø÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jøh´Máhj¼÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj ÷ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj9øh]”hŒReturn”…”�”}”(hj;øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj7øubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mãhj ÷ubj{)�”}”(hŒthe size in samples”h]”hŒthe size in samples”…”�”}”(hjOøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mãhj ÷ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒbytes_to_frames (C function)”Œc.bytes_to_frames”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQsnd_pcm_sframes_t bytes_to_frames (struct snd_pcm_runtime *runtime, ssize_t size)”h]”j )�”}”(hŒPsnd_pcm_sframes_t bytes_to_frames(struct snd_pcm_runtime *runtime, ssize_t size)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_sframes_t”h]”hŒsnd_pcm_sframes_t”…”�”}”(hj�øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jƒøŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œbytes_to_frames”sbŒc.bytes_to_frames”†”asbuh1hhjzøh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£øh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzøh²hh³j¢øh´Mëubj3)�”}”(hŒbytes_to_frames”h]”j9)�”}”(hjŸøh]”hŒbytes_to_frames”…”�”}”(hjµøh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±øubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjzøh²hh³j¢øh´MëubjT)�”}”(hŒ/(struct snd_pcm_runtime *runtime, ssize_t size)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÐøh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÌøubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝøh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌøubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjîøh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjëøubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jðøŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j�øŒc.bytes_to_frames”†”asbuh1hhjÌøubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ùh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌøubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌøubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj'ùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌøubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈøubjZ)�”}”(hŒ ssize_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjCùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj@ùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jEùŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j�øŒc.bytes_to_frames”†”asbuh1hhj<ùubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaùh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<ùubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjoùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<ùubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈøubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjzøh²hh³j¢øh´Mëubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjvøh²hh³j¢øh´Mëubah}”(h]”jqøah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¢øh´Mëhjsøh²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Unit conversion of the size from bytes to frames”h]”hŒ0Unit conversion of the size from bytes to frames”…”�”}”(hj™ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mëhj–ùh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjsøh²hh³j¢øh´Mëubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j±ùjšj±ùj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒŒ**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``ssize_t size`` size in bytes **Return** the size in frames”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj»ùh]”hŒ Parameters”…”�”}”(hj½ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¹ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mïhjµùubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjÚùh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjÜùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjØùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MìhjÔùubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjóùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jïùh´Mìhjðùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÔùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jïùh´MìhjÑùubjÄ)�”}”(hŒ``ssize_t size`` size in bytes ”h]”(jÊ)�”}”(hŒ``ssize_t size``”h]”jÐ)�”}”(hjúh]”hŒ ssize_t size”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Míhj úubjæ)�”}”(hhh]”j{)�”}”(hŒ size in bytes”h]”hŒ size in bytes”…”�”}”(hj,úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j(úh´Míhj)úubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj úubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(úh´MíhjÑùubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjµùubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjNúh]”hŒReturn”…”�”}”(hjPúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjLúubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mïhjµùubj{)�”}”(hŒthe size in frames”h]”hŒthe size in frames”…”�”}”(hjdúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mïhjµùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsamples_to_bytes (C function)”Œc.samples_to_bytes”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒHssize_t samples_to_bytes (struct snd_pcm_runtime *runtime, ssize_t size)”h]”j )�”}”(hŒGssize_t samples_to_bytes(struct snd_pcm_runtime *runtime, ssize_t size)”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj–úh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj“úubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j˜úŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsamples_to_bytes”sbŒc.samples_to_bytes”†”asbuh1hhj�úh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸úh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�úh²hh³j·úh´M÷ubj3)�”}”(hŒsamples_to_bytes”h]”j9)�”}”(hj´úh]”hŒsamples_to_bytes”…”�”}”(hjÊúh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆúubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�úh²hh³j·úh´M÷ubjT)�”}”(hŒ/(struct snd_pcm_runtime *runtime, ssize_t size)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjåúh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjáúubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòúh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjáúubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jûŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j²úŒc.samples_to_bytes”†”asbuh1hhjáúubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!ûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjáúubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj/ûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjáúubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj<ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjáúubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÝúubjZ)�”}”(hŒ ssize_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjXûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjUûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jZûŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j²úŒc.samples_to_bytes”†”asbuh1hhjQûubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQûubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj„ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÝúubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�úh²hh³j·úh´M÷ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‹úh²hh³j·úh´M÷ubah}”(h]”j†úah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j·úh´M÷hjˆúh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1Unit conversion of the size from samples to bytes”h]”hŒ1Unit conversion of the size from samples to bytes”…”�”}”(hj®ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M÷hj«ûh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjˆúh²hh³j·úh´M÷ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÆûjšjÆûj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ‰**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``ssize_t size`` size in samples **Return** the byte size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÐûh]”hŒ Parameters”…”�”}”(hjÒûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÎûubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MûhjÊûubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjïûh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjñûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjíûubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Møhjéûubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jüh´Møhjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjéûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jüh´MøhjæûubjÄ)�”}”(hŒ!``ssize_t size`` size in samples ”h]”(jÊ)�”}”(hŒ``ssize_t size``”h]”jÐ)�”}”(hj(üh]”hŒ ssize_t size”…”�”}”(hj*üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj&üubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mùhj"üubjæ)�”}”(hhh]”j{)�”}”(hŒsize in samples”h]”hŒsize in samples”…”�”}”(hjAüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j=üh´Mùhj>üubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj"üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j=üh´Mùhjæûubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÊûubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjcüh]”hŒReturn”…”�”}”(hjeüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaüubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MûhjÊûubj{)�”}”(hŒ the byte size”h]”hŒ the byte size”…”�”}”(hjyüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MûhjÊûubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒframes_to_bytes (C function)”Œc.frames_to_bytes”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQssize_t frames_to_bytes (struct snd_pcm_runtime *runtime, snd_pcm_sframes_t size)”h]”j )�”}”(hŒPssize_t frames_to_bytes(struct snd_pcm_runtime *runtime, snd_pcm_sframes_t size)”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj«üh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨üubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j­üŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œframes_to_bytes”sbŒc.frames_to_bytes”†”asbuh1hhj¤üh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍüh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¤üh²hh³jÌüh´Mubj3)�”}”(hŒframes_to_bytes”h]”j9)�”}”(hjÉüh]”hŒframes_to_bytes”…”�”}”(hjßüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛüubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¤üh²hh³jÌüh´MubjT)�”}”(hŒ9(struct snd_pcm_runtime *runtime, snd_pcm_sframes_t size)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjúüh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjöüubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöüubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jýŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÇüŒc.frames_to_bytes”†”asbuh1hhjöüubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6ýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöüubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjDýh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjöüubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjQýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjöüubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjòüubjZ)�”}”(hŒsnd_pcm_sframes_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_sframes_t”h]”hŒsnd_pcm_sframes_t”…”�”}”(hjmýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”joýŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÇüŒc.frames_to_bytes”†”asbuh1hhjfýubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹ýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjfýubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj™ýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjfýubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjòüubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¤üh²hh³jÌüh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj üh²hh³jÌüh´Mubah}”(h]”j›üah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÌüh´Mhj�üh²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Unit conversion of the size from frames to bytes”h]”hŒ0Unit conversion of the size from frames to bytes”…”�”}”(hjÃýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MhjÀýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�üh²hh³jÌüh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÛýjšjÛýj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ’**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``snd_pcm_sframes_t size`` size in frames **Return** the byte size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjåýh]”hŒ Parameters”…”�”}”(hjçýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjãýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjßýubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjþh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjþýubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþh´Mhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþh´MhjûýubjÄ)�”}”(hŒ*``snd_pcm_sframes_t size`` size in frames ”h]”(jÊ)�”}”(hŒ``snd_pcm_sframes_t size``”h]”jÐ)�”}”(hj=þh]”hŒsnd_pcm_sframes_t size”…”�”}”(hj?þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj;þubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj7þubjæ)�”}”(hhh]”j{)�”}”(hŒsize in frames”h]”hŒsize in frames”…”�”}”(hjVþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jRþh´MhjSþubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jRþh´Mhjûýubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjßýubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjxþh]”hŒReturn”…”�”}”(hjzþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjvþubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjßýubj{)�”}”(hŒ the byte size”h]”hŒ the byte size”…”�”}”(hjŽþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjßýubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒframe_aligned (C function)”Œc.frame_aligned”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒBint frame_aligned (struct snd_pcm_runtime *runtime, ssize_t bytes)”h]”j )�”}”(hŒAint frame_aligned(struct snd_pcm_runtime *runtime, ssize_t bytes)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj½þh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¹þh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌþh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹þh²hh³jËþh´Mubj3)�”}”(hŒ frame_aligned”h]”j9)�”}”(hŒ frame_aligned”h]”hŒ frame_aligned”…”�”}”(hjÞþh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚþubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¹þh²hh³jËþh´MubjT)�”}”(hŒ0(struct snd_pcm_runtime *runtime, ssize_t bytes)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjúþh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjöþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöþubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÿŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jàþsbŒc.frame_aligned”†”asbuh1hhjöþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöþubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjFÿh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjöþubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjSÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjöþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjòþubjZ)�”}”(hŒ ssize_t bytes”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjoÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjlÿubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jqÿŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j4ÿŒc.frame_aligned”†”asbuh1hhjhÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhÿubj9)�”}”(hŒbytes”h]”hŒbytes”…”�”}”(hj›ÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjòþubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¹þh²hh³jËþh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjµþh²hh³jËþh´Mubah}”(h]”j°þah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jËþh´Mhj²þh²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Check whether the byte size is aligned to frames”h]”hŒ0Check whether the byte size is aligned to frames”…”�”}”(hjÅÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MhjÂÿh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj²þh²hh³jËþh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÝÿjšjÝÿj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ›**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``ssize_t bytes`` size in bytes **Return** true if aligned, or false if not”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjçÿh]”hŒ Parameters”…”�”}”(hjéÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjåÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjáÿubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´MhjýÿubjÄ)�”}”(hŒ ``ssize_t bytes`` size in bytes ”h]”(jÊ)�”}”(hŒ``ssize_t bytes``”h]”jÐ)�”}”(hj?h]”hŒ ssize_t bytes”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj9ubjæ)�”}”(hhh]”j{)�”}”(hŒ size in bytes”h]”hŒ size in bytes”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jTh´MhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jTh´Mhjýÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjáÿubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjzh]”hŒReturn”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjáÿubj{)�”}”(hŒ true if aligned, or false if not”h]”hŒ true if aligned, or false if not”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjáÿubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_lib_buffer_bytes (C function)”Œc.snd_pcm_lib_buffer_bytes”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒEsize_t snd_pcm_lib_buffer_bytes (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒDsize_t snd_pcm_lib_buffer_bytes(struct snd_pcm_substream *substream)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¿ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÄŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_lib_buffer_bytes”sbŒc.snd_pcm_lib_buffer_bytes”†”asbuh1hhj»h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»h²hh³jãh´Mubj3)�”}”(hŒsnd_pcm_lib_buffer_bytes”h]”j9)�”}”(hjàh]”hŒsnd_pcm_lib_buffer_bytes”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj»h²hh³jãh´MubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j1Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÞŒc.snd_pcm_lib_buffer_bytes”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj»h²hh³jãh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj·h²hh³jãh´Mubah}”(h]”j²ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jãh´Mhj´h²hubjv)�”}”(hhh]”j{)�”}”(hŒ/Get the buffer size of the current PCM in bytes”h]”hŒ/Get the buffer size of the current PCM in bytes”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj´h²hh³jãh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jªjšjªj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒe**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Return** buffer byte size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj´h]”hŒ Parameters”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj®ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÓh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MhjÍubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jèh´Mhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jèh´MhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj®ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj®ubj{)�”}”(hŒbuffer byte size”h]”hŒbuffer byte size”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj®ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_lib_period_bytes (C function)”Œc.snd_pcm_lib_period_bytes”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒEsize_t snd_pcm_lib_period_bytes (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒDsize_t snd_pcm_lib_period_bytes(struct snd_pcm_substream *substream)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jXŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_lib_period_bytes”sbŒc.snd_pcm_lib_period_bytes”†”asbuh1hhjOh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOh²hh³jwh´M'ubj3)�”}”(hŒsnd_pcm_lib_period_bytes”h]”j9)�”}”(hjth]”hŒsnd_pcm_lib_period_bytes”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjOh²hh³jwh´M'ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÅŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jrŒc.snd_pcm_lib_period_bytes”†”asbuh1hhj¡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¡ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjOh²hh³jwh´M'ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjKh²hh³jwh´M'ubah}”(h]”jFah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jwh´M'hjHh²hubjv)�”}”(hhh]”j{)�”}”(hŒ/Get the period size of the current PCM in bytes”h]”hŒ/Get the period size of the current PCM in bytes”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M'hj#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjHh²hh³jwh´M'ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j>jšj>j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒe**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Return** period byte size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjHh]”hŒ Parameters”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M+hjBubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjgh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M(hjaubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|h´M(hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|h´M(hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjBubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¢h]”hŒReturn”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M*hjBubj{)�”}”(hŒperiod byte size”h]”hŒperiod byte size”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M*hjBubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_playback_avail (C function)”Œc.snd_pcm_playback_avail”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒJsnd_pcm_uframes_t snd_pcm_playback_avail (struct snd_pcm_runtime *runtime)”h]”j )�”}”(hŒIsnd_pcm_uframes_t snd_pcm_playback_avail(struct snd_pcm_runtime *runtime)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_uframes_t”h]”hŒsnd_pcm_uframes_t”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jìŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_playback_avail”sbŒc.snd_pcm_playback_avail”†”asbuh1hhjãh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjãh²hh³j h´M3ubj3)�”}”(hŒsnd_pcm_playback_avail”h]”j9)�”}”(hjh]”hŒsnd_pcm_playback_avail”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjãh²hh³j h´M3ubjT)�”}”(hŒ!(struct snd_pcm_runtime *runtime)”h]”jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jYŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_pcm_playback_avail”†”asbuh1hhj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj5ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj1ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjãh²hh³j h´M3ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjßh²hh³j h´M3ubah}”(h]”jÚah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j h´M3hjÜh²hubjv)�”}”(hhh]”j{)�”}”(hŒ/Get the available (writable) space for playback”h]”hŒ/Get the available (writable) space for playback”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M3hj·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÜh²hh³j h´M3ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÒ•ZjšjÒj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ¥**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance **Description** Result is between 0 ... (boundary - 1) **Return** available frame size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÜh]”hŒ Parameters”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M7hjÖubj¿)�”}”(hhh]”jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjûh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M4hjõubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´M4hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´M4hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÖubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj6h]”hŒ Description”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M6hjÖubj{)�”}”(hŒ&Result is between 0 ... (boundary - 1)”h]”hŒ&Result is between 0 ... (boundary - 1)”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M5hjÖubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj]h]”hŒReturn”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M7hjÖubj{)�”}”(hŒavailable frame size”h]”hŒavailable frame size”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M8hjÖubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_capture_avail (C function)”Œc.snd_pcm_capture_avail”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIsnd_pcm_uframes_t snd_pcm_capture_avail (struct snd_pcm_runtime *runtime)”h]”j )�”}”(hŒHsnd_pcm_uframes_t snd_pcm_capture_avail(struct snd_pcm_runtime *runtime)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_uframes_t”h]”hŒsnd_pcm_uframes_t”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j§Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_capture_avail”sbŒc.snd_pcm_capture_avail”†”asbuh1hhjžh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjžh²hh³jÆh´MEubj3)�”}”(hŒsnd_pcm_capture_avail”h]”j9)�”}”(hjÃh]”hŒsnd_pcm_capture_avail”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÕubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjžh²hh³jÆh´MEubjT)�”}”(hŒ!(struct snd_pcm_runtime *runtime)”h]”jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÁŒc.snd_pcm_capture_avail”†”asbuh1hhjðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjðubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjžh²hh³jÆh´MEubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjšh²hh³jÆh´MEubah}”(h]”j•ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÆh´MEhj—h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Get the available (readable) space for capture”h]”hŒ.Get the available (readable) space for capture”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MEhjrh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj—h²hh³jÆh´MEubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�jšj�j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ¥**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance **Description** Result is between 0 ... (boundary - 1) **Return** available frame size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj—h]”hŒ Parameters”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MIhj‘ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj¶h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MFhj°ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jËh´MFhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jËh´MFhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‘ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjñh]”hŒ Description”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MHhj‘ubj{)�”}”(hŒ&Result is between 0 ... (boundary - 1)”h]”hŒ&Result is between 0 ... (boundary - 1)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MGhj‘ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MIhj‘ubj{)�”}”(hŒavailable frame size”h]”hŒavailable frame size”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MJhj‘ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_pcm_playback_hw_avail (C function)”Œc.snd_pcm_playback_hw_avail”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMsnd_pcm_sframes_t snd_pcm_playback_hw_avail (struct snd_pcm_runtime *runtime)”h]”j )�”}”(hŒLsnd_pcm_sframes_t snd_pcm_playback_hw_avail(struct snd_pcm_runtime *runtime)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_sframes_t”h]”hŒsnd_pcm_sframes_t”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jbŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_playback_hw_avail”sbŒc.snd_pcm_playback_hw_avail”†”asbuh1hhjYh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYh²hh³j�h´MUubj3)�”}”(hŒsnd_pcm_playback_hw_avail”h]”j9)�”}”(hj~h]”hŒsnd_pcm_playback_hw_avail”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjYh²hh³j�h´MUubjT)�”}”(hŒ!(struct snd_pcm_runtime *runtime)”h]”jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÏŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j|Œc.snd_pcm_playback_hw_avail”†”asbuh1hhj«ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj«ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj§ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjYh²hh³j�h´MUubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjUh²hh³j�h´MUubah}”(h]”jPah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�h´MUhjRh²hubjv)�”}”(hhh]”j{)�”}”(hŒ!Get the queued space for playback”h]”hŒ!Get the queued space for playback”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MUhj-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjRh²hh³j�h´MUubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jHjšjHj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒl**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance **Return** available frame size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjRh]”hŒ Parameters”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MYhjLubj¿)�”}”(hhh]”jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjqh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MVhjkubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†h´MVhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†h´MVhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjLubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¬h]”hŒReturn”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjªubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MXhjLubj{)�”}”(hŒavailable frame size”h]”hŒavailable frame size”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MXhjLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_capture_hw_avail (C function)”Œc.snd_pcm_capture_hw_avail”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒLsnd_pcm_sframes_t snd_pcm_capture_hw_avail (struct snd_pcm_runtime *runtime)”h]”j )�”}”(hŒKsnd_pcm_sframes_t snd_pcm_capture_hw_avail(struct snd_pcm_runtime *runtime)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_sframes_t”h]”hŒsnd_pcm_sframes_t”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jöŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_capture_hw_avail”sbŒc.snd_pcm_capture_hw_avail”†”asbuh1hhjíh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjíh²hh³j h´M`ubj3)�”}”(hŒsnd_pcm_capture_hw_avail”h]”j9)�”}”(hj h]”hŒsnd_pcm_capture_hw_avail”…”�”}”(hj( h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjíh²hh³j h´M`ubjT)�”}”(hŒ!(struct snd_pcm_runtime *runtime)”h]”jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj? ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj? ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jc Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j Œc.snd_pcm_capture_hw_avail”†”asbuh1hhj? ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj? ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj? ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjš h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj? ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj; ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjíh²hh³j h´M`ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjéh²hh³j h´M`ubah}”(h]”jäah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j h´M`hjæh²hubjv)�”}”(hhh]”j{)�”}”(hŒGet the free space for capture”h]”hŒGet the free space for capture”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M`hjÁ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjæh²hh³j h´M`ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÜ jšjÜ j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒl**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance **Return** available frame size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjæ h]”hŒ Parameters”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjä ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mdhjà ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hj h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mahjÿ ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´Mahj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÿ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´Mahjü ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjà ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj@ h]”hŒReturn”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj> ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mchjà ubj{)�”}”(hŒavailable frame size”h]”hŒavailable frame size”…”�”}”(hjV h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mchjà ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_playback_ready (C function)”Œc.snd_pcm_playback_ready”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ@int snd_pcm_playback_ready (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ?int snd_pcm_playback_ready(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj� h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj� h²hh³j“ h´Mkubj3)�”}”(hŒsnd_pcm_playback_ready”h]”j9)�”}”(hŒsnd_pcm_playback_ready”h]”hŒsnd_pcm_playback_ready”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢ ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj� h²hh³j“ h´MkubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¾ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÝ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jâ Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¨ sbŒc.snd_pcm_playback_ready”†”asbuh1hhj¾ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¾ ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjº ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj� h²hh³j“ h´Mkubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj} h²hh³j“ h´Mkubah}”(h]”jx ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j“ h´Mkhjz h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.check whether the playback buffer is available”h]”hŒ.check whether the playback buffer is available”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MkhjB h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjz h²hh³j“ h´Mkubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j] jšj] j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒà**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance **Description** Checks whether enough free space is available on the playback buffer. **Return** Non-zero if available, or zero if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjg h]”hŒ Parameters”…”�”}”(hji h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hje ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mohja ubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj† h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj„ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mlhj€ ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j› h´Mlhjœ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj€ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j› h´Mlhj} ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hja ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÁ h]”hŒ Description”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¿ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mnhja ubj{)�”}”(hŒEChecks whether enough free space is available on the playback buffer.”h]”hŒEChecks whether enough free space is available on the playback buffer.”…”�”}”(hj× h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mmhja ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjè h]”hŒReturn”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjæ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mohja ubj{)�”}”(hŒ&Non-zero if available, or zero if not.”h]”hŒ&Non-zero if available, or zero if not.”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mphja ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_capture_ready (C function)”Œc.snd_pcm_capture_ready”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?int snd_pcm_capture_ready (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ>int snd_pcm_capture_ready(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj- h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj) h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Myubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj) h²hh³j; h´Myubj3)�”}”(hŒsnd_pcm_capture_ready”h]”j9)�”}”(hŒsnd_pcm_capture_ready”h]”hŒsnd_pcm_capture_ready”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj) h²hh³j; h´MyubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjf ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjf ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj… ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŠ Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jP sbŒc.snd_pcm_capture_ready”†”asbuh1hhjf ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjf ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¶ h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjf ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjf ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjb ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj) h²hh³j; h´Myubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj% h²hh³j; h´Myubah}”(h]”j ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j; h´Myhj" h²hubjv)�”}”(hhh]”j{)�”}”(hŒ-check whether the capture buffer is available”h]”hŒ-check whether the capture buffer is available”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Myhjê h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj" h²hh³j; h´Myubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j jšj j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒá**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance **Description** Checks whether enough capture data is available on the capture buffer. **Return** Non-zero if available, or zero if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj h]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M}hj ubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj. h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj, ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mzhj( ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jC h´MzhjD ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj( ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jC h´Mzhj% ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hji h]”hŒ Description”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjg ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M|hj ubj{)�”}”(hŒFChecks whether enough capture data is available on the capture buffer.”h]”hŒFChecks whether enough capture data is available on the capture buffer.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M{hj ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj� h]”hŒReturn”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŽ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M}hj ubj{)�”}”(hŒ&Non-zero if available, or zero if not.”h]”hŒ&Non-zero if available, or zero if not.”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M~hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_playback_data (C function)”Œc.snd_pcm_playback_data”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?int snd_pcm_playback_data (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ>int snd_pcm_playback_data(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÕ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÑ h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÑ h²hh³jã h´M‡ubj3)�”}”(hŒsnd_pcm_playback_data”h]”j9)�”}”(hŒsnd_pcm_playback_data”h]”hŒsnd_pcm_playback_data”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjò ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÑ h²hh³jã h´M‡ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j2Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jø sbŒc.snd_pcm_playback_data”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÑ h²hh³jã h´M‡ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÍ h²hh³jã h´M‡ubah}”(h]”jÈ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jã h´M‡hjÊ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ4check whether any data exists on the playback buffer”h]”hŒ4check whether any data exists on the playback buffer”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‡hj’h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÊ h²hh³jã h´M‡ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j­jšj­j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX5**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance **Description** Checks whether any data exists on the playback buffer. **Return** Non-zero if any data exists, or zero if not. If stop_threshold is bigger or equal to boundary, then this function returns always non-zero.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj·h]”hŒ Parameters”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‹hj±ubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÖh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MˆhjÐubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jëh´Mˆhjìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jëh´MˆhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj±ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MŠhj±ubj{)�”}”(hŒ6Checks whether any data exists on the playback buffer.”h]”hŒ6Checks whether any data exists on the playback buffer.”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‰hj±ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj8h]”hŒReturn”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‹hj±ubj{)�”}”(hŒŠNon-zero if any data exists, or zero if not. If stop_threshold is bigger or equal to boundary, then this function returns always non-zero.”h]”hŒŠNon-zero if any data exists, or zero if not. If stop_threshold is bigger or equal to boundary, then this function returns always non-zero.”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MŒhj±ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_playback_empty (C function)”Œc.snd_pcm_playback_empty”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ@int snd_pcm_playback_empty (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ?int snd_pcm_playback_empty(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjyh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjyh²hh³j‹h´M™ubj3)�”}”(hŒsnd_pcm_playback_empty”h]”j9)�”}”(hŒsnd_pcm_playback_empty”h]”hŒsnd_pcm_playback_empty”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjšubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjyh²hh³j‹h´M™ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÚŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j sbŒc.snd_pcm_playback_empty”†”asbuh1hhj¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¶ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj²ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjyh²hh³j‹h´M™ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjuh²hh³j‹h´M™ubah}”(h]”jpah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‹h´M™hjrh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*check whether the playback buffer is empty”h]”hŒ*check whether the playback buffer is empty”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M™hj:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjrh²hh³j‹h´M™ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jUjšjUj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒÃ**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance **Description** Checks whether the playback buffer is empty. **Return** Non-zero if empty, or zero if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj_h]”hŒ Parameters”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M�hjYubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj~h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mšhjxubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j“h´Mšhj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j“h´Mšhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjYubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¹h]”hŒ Description”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MœhjYubj{)�”}”(hŒ,Checks whether the playback buffer is empty.”h]”hŒ,Checks whether the playback buffer is empty.”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M›hjYubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjàh]”hŒReturn”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M�hjYubj{)�”}”(hŒ"Non-zero if empty, or zero if not.”h]”hŒ"Non-zero if empty, or zero if not.”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MžhjYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_capture_empty (C function)”Œc.snd_pcm_capture_empty”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?int snd_pcm_capture_empty (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ>int snd_pcm_capture_empty(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj!h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M§ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj!h²hh³j3h´M§ubj3)�”}”(hŒsnd_pcm_capture_empty”h]”j9)�”}”(hŒsnd_pcm_capture_empty”h]”hŒsnd_pcm_capture_empty”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj!h²hh³j3h´M§ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‚Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jHsbŒc.snd_pcm_capture_empty”†”asbuh1hhj^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj^ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj!h²hh³j3h´M§ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³j3h´M§ubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j3h´M§hjh²hubjv)�”}”(hhh]”j{)�”}”(hŒ)check whether the capture buffer is empty”h]”hŒ)check whether the capture buffer is empty”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M§hjâh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j3h´M§ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jýjšjýj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒÂ**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance **Description** Checks whether the capture buffer is empty. **Return** Non-zero if empty, or zero if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M«hjubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj&h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¨hj ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j;h´M¨hj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j;h´M¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjah]”hŒ Description”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mªhjubj{)�”}”(hŒ+Checks whether the capture buffer is empty.”h]”hŒ+Checks whether the capture buffer is empty.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M©hjubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjˆh]”hŒReturn”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M«hjubj{)�”}”(hŒ"Non-zero if empty, or zero if not.”h]”hŒ"Non-zero if empty, or zero if not.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¬hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_pcm_trigger_done (C function)”Œc.snd_pcm_trigger_done”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒavoid snd_pcm_trigger_done (struct snd_pcm_substream *substream, struct snd_pcm_substream *master)”h]”j )�”}”(hŒ`void snd_pcm_trigger_done(struct snd_pcm_substream *substream, struct snd_pcm_substream *master)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉh²hh³jÛh´Mµubj3)�”}”(hŒsnd_pcm_trigger_done”h]”j9)�”}”(hŒsnd_pcm_trigger_done”h]”hŒsnd_pcm_trigger_done”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÉh²hh³jÛh´MµubjT)�”}”(hŒG(struct snd_pcm_substream *substream, struct snd_pcm_substream *master)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j*Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jðsbŒc.snd_pcm_trigger_done”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒ struct snd_pcm_substream *master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jœŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jDŒc.snd_pcm_trigger_done”†”asbuh1hhjxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjxubj9)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÉh²hh³jÛh´Mµubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÅh²hh³jÛh´Mµubah}”(h]”jÀah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÛh´MµhjÂh²hubjv)�”}”(hhh]”j{)�”}”(hŒMark the master substream”h]”hŒMark the master substream”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mµhjúh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÂh²hh³jÛh´Mµubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jjšjj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX***Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance ``struct snd_pcm_substream *master`` the linked master substream **Description** When multiple substreams of the same card are linked and the hardware supports the single-shot operation, the driver calls this in the loop in snd_pcm_group_for_each_entry() for marking the substream as "done". Then most of trigger operations are performed only to the given master substream. The trigger_master mark is cleared at timestamp updates at the end of trigger operations.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh]”hŒ Parameters”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¹hjubj¿)�”}”(hhh]”(jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj>h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¶hj8ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jSh´M¶hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jSh´M¶hj5ubjÄ)�”}”(hŒA``struct snd_pcm_substream *master`` the linked master substream ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_substream *master``”h]”jÐ)�”}”(hjwh]”hŒ struct snd_pcm_substream *master”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M·hjqubjæ)�”}”(hhh]”j{)�”}”(hŒthe linked master substream”h]”hŒthe linked master substream”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŒh´M·hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjqubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŒh´M·hj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj²h]”hŒ Description”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¹hjubj{)�”}”(hX$When multiple substreams of the same card are linked and the hardware supports the single-shot operation, the driver calls this in the loop in snd_pcm_group_for_each_entry() for marking the substream as "done". Then most of trigger operations are performed only to the given master substream.”h]”hX(When multiple substreams of the same card are linked and the hardware supports the single-shot operation, the driver calls this in the loop in snd_pcm_group_for_each_entry() for marking the substream as “doneâ€�. Then most of trigger operations are performed only to the given master substream.”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¸hjubj{)�”}”(hŒYThe trigger_master mark is cleared at timestamp updates at the end of trigger operations.”h]”hŒYThe trigger_master mark is cleared at timestamp updates at the end of trigger operations.”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¾hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒparams_channels (C function)”Œc.params_channels”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ@unsigned int params_channels (const struct snd_pcm_hw_params *p)”h]”j )�”}”(hŒ?unsigned int params_channels(const struct snd_pcm_hw_params *p)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Míubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³jh´Míubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³jh´Míubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³jh´Míubj3)�”}”(hŒparams_channels”h]”j9)�”}”(hŒparams_channels”h]”hŒparams_channels”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³jh´MíubjT)�”}”(hŒ#(const struct snd_pcm_hw_params *p)”h]”jZ)�”}”(hŒ!const struct snd_pcm_hw_params *p”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj•ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jšŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jEsbŒc.params_channels”†”asbuh1hhj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj[ubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjWubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³jh´Míubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjþh²hh³jh´Míubah}”(h]”jùah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´Míhjûh²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Get the number of channels from the hw params”h]”hŒ-Get the number of channels from the hw params”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Míhjùh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjûh²hh³jh´Míubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jjšjj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒe**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the number of channels”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mñhjubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``const struct snd_pcm_hw_params *p`` hw params ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hj=h]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mîhj7ubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jRh´MîhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jRh´Mîhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjxh]”hŒReturn”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mðhjubj{)�”}”(hŒthe number of channels”h]”hŒthe number of channels”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mðhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒparams_rate (C function)”Œ c.params_rate”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jüsbŒ c.params_rate”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¹h²hh³jËh´Møubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjµh²hh³jËh´Møubah}”(h]”j°ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jËh´Møhj²h²hubjv)�”}”(hhh]”j{)�”}”(hŒ&Get the sample rate from the hw params”h]”hŒ&Get the sample rate from the hw params”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Møhj°h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj²h²hh³jËh´Møubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jËjšjËj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ^**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the sample rate”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÕh]”hŒ Parameters”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MühjÏubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``const struct snd_pcm_hw_params *p`` hw params ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hjôh]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mùhjîubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´Mùhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´Mùhjëubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÏubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj/h]”hŒReturn”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MûhjÏubj{)�”}”(hŒthe sample rate”h]”hŒthe sample rate”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MûhjÏubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒparams_period_size (C function)”Œc.params_period_size”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒCunsigned int params_period_size (const struct snd_pcm_hw_params *p)”h]”j )�”}”(hŒBunsigned int params_period_size(const struct snd_pcm_hw_params *p)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjph²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjph²hh³j‚h´Mubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjph²hh³j‚h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjph²hh³j‚h´Mubj3)�”}”(hŒparams_period_size”h]”j9)�”}”(hŒparams_period_size”h]”hŒparams_period_size”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjph²hh³j‚h´MubjT)�”}”(hŒ#(const struct snd_pcm_hw_params *p)”h]”jZ)�”}”(hŒ!const struct snd_pcm_hw_params *p”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j³sbŒc.params_period_size”†”asbuh1hhjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÉubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÉubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÅubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjph²hh³j‚h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjlh²hh³j‚h´Mubah}”(h]”jgah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‚h´Mhjih²hubjv)�”}”(hhh]”j{)�”}”(hŒ2Get the period size (in frames) from the hw params”h]”hŒ2Get the period size (in frames) from the hw params”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjgh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjih²hh³j‚h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j‚jšj‚j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒh**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the period size in frames”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjŒh]”hŒ Parameters”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj†ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``const struct snd_pcm_hw_params *p`` hw params ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hj«h]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj¥ubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÀh´MhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÀh´Mhj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj†ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjæh]”hŒReturn”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”•h´Mhj†ubj{)�”}”(hŒthe period size in frames”h]”hŒthe period size in frames”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒparams_periods (C function)”Œc.params_periods”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?unsigned int params_periods (const struct snd_pcm_hw_params *p)”h]”j )�”}”(hŒ>unsigned int params_periods(const struct snd_pcm_hw_params *p)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'h²hh³j9h´Mubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'h²hh³j9h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'h²hh³j9h´Mubj3)�”}”(hŒparams_periods”h]”j9)�”}”(hŒparams_periods”h]”hŒparams_periods”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj'h²hh³j9h´MubjT)�”}”(hŒ#(const struct snd_pcm_hw_params *p)”h]”jZ)�”}”(hŒ!const struct snd_pcm_hw_params *p”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¿Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jjsbŒc.params_periods”†”asbuh1hhj€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj€ubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj|ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj'h²hh³j9h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj#h²hh³j9h´Mubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j9h´Mhj h²hubjv)�”}”(hhh]”j{)�”}”(hŒ,Get the number of periods from the hw params”h]”hŒ,Get the number of periods from the hw params”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj h²hh³j9h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j9jšj9j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒd**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the number of periods”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjCh]”hŒ Parameters”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj=ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``const struct snd_pcm_hw_params *p`` hw params ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hjbh]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj\ubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jwh´Mhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jwh´MhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj=ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj�h]”hŒReturn”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj=ubj{)�”}”(hŒthe number of periods”h]”hŒthe number of periods”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒparams_buffer_size (C function)”Œc.params_buffer_size”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒCunsigned int params_buffer_size (const struct snd_pcm_hw_params *p)”h]”j )�”}”(hŒBunsigned int params_buffer_size(const struct snd_pcm_hw_params *p)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞh²hh³jðh´Mubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞh²hh³jðh´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞh²hh³jðh´Mubj3)�”}”(hŒparams_buffer_size”h]”j9)�”}”(hŒparams_buffer_size”h]”hŒparams_buffer_size”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÞh²hh³jðh´MubjT)�”}”(hŒ#(const struct snd_pcm_hw_params *p)”h]”jZ)�”}”(hŒ!const struct snd_pcm_hw_params *p”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jvŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j!sbŒc.params_buffer_size”†”asbuh1hhj7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj7ubj9)�”}”(hjÅh]”hŒp”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj3ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÞh²hh³jðh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÚh²hh³jðh´Mubah}”(h]”jÕah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jðh´Mhj×h²hubjv)�”}”(hhh]”j{)�”}”(hŒ2Get the buffer size (in frames) from the hw params”h]”hŒ2Get the buffer size (in frames) from the hw params”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MhjÕh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj×h²hh³jðh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jðjšjðj›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒh**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the buffer size in frames”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjúh]”hŒ Parameters”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjôubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``const struct snd_pcm_hw_params *p`` hw params ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hjh]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j.h´Mhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j.h´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjôubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjTh]”hŒReturn”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjôubj{)�”}”(hŒthe buffer size in frames”h]”hŒthe buffer size in frames”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhjôubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ params_buffer_bytes (C function)”Œc.params_buffer_bytes”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒDunsigned int params_buffer_bytes (const struct snd_pcm_hw_params *p)”h]”j )�”}”(hŒCunsigned int params_buffer_bytes(const struct snd_pcm_hw_params *p)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•h²hh³j§h´M$ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•h²hh³j§h´M$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•h²hh³j§h´M$ubj3)�”}”(hŒparams_buffer_bytes”h]”j9)�”}”(hŒparams_buffer_bytes”h]”hŒparams_buffer_bytes”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj•h²hh³j§h´M$ubjT)�”}”(hŒ#(const struct snd_pcm_hw_params *p)”h]”jZ)�”}”(hŒ!const struct snd_pcm_hw_params *p”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjîubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjîubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j-Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jØsbŒc.params_buffer_bytes”†”asbuh1hhjîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjîubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjîubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjîubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjêubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj•h²hh³j§h´M$ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‘h²hh³j§h´M$ubah}”(h]”jŒah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j§h´M$hjŽh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1Get the buffer size (in bytes) from the hw params”h]”hŒ1Get the buffer size (in bytes) from the hw params”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M$hjŒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjŽh²hh³j§h´M$ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j§jšj§j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒg**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the buffer size in bytes”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj±h]”hŒ Parameters”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M(hj«ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``const struct snd_pcm_hw_params *p`` hw params ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hjÐh]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M%hjÊubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jåh´M%hjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jåh´M%hjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj«ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj h]”hŒReturn”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M'hj«ubj{)�”}”(hŒthe buffer size in bytes”h]”hŒthe buffer size in bytes”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M'hj«ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_hw_constraint_single (C function)”Œc.snd_pcm_hw_constraint_single”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒlint snd_pcm_hw_constraint_single (struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int val)”h]”j )�”}”(hŒkint snd_pcm_hw_constraint_single(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int val)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjLh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Meubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLh²hh³j^h´Meubj3)�”}”(hŒsnd_pcm_hw_constraint_single”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_single”h]”hŒsnd_pcm_hw_constraint_single”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjLh²hh³j^h´MeubjT)�”}”(hŒK(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, unsigned int val)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j­Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jssbŒc.snd_pcm_hw_constraint_single”†”asbuh1hhj‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‰ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…ubjZ)�”}”(hŒsnd_pcm_hw_param_t var”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_param_t”h]”hŒsnd_pcm_hw_param_t”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÇŒc.snd_pcm_hw_constraint_single”†”asbuh1hhjûubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjûubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…ubjZ)�”}”(hŒunsigned int val”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjC ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjC ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjC ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjC ubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjC ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjLh²hh³j^h´Meubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjHh²hh³j^h´Meubah}”(h]”jCah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j^h´MehjEh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Constrain parameter to a single value”h]”hŒ%Constrain parameter to a single value”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mehj¦ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjEh²hh³j^h´Meubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÁ jšjÁ j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hX!**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``snd_pcm_hw_param_t var`` The hw_params variable to constrain ``unsigned int val`` The value to constrain to **Return** Positive if the value is changed, zero if it's not changed, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjË h]”hŒ Parameters”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÉ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MihjÅ ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjê h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjè ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mfhjä ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÿ h´Mfhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjä ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÿ h´Mfhjá ubjÄ)�”}”(hŒ?``snd_pcm_hw_param_t var`` The hw_params variable to constrain ”h]”(jÊ)�”}”(hŒ``snd_pcm_hw_param_t var``”h]”jÐ)�”}”(hj#!h]”hŒsnd_pcm_hw_param_t var”…”�”}”(hj%!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj!!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mghj!ubjæ)�”}”(hhh]”j{)�”}”(hŒ#The hw_params variable to constrain”h]”hŒ#The hw_params variable to constrain”…”�”}”(hjdma_buffer when **bufp** is non-NULL. Otherwise it clears the current buffer information.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj&h]”hŒ Parameters”…”�”}”(hj &h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mîhj&ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ=``struct snd_pcm_substream *substream`` PCM substream to set ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj'&h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj)&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mëhj!&ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM substream to set”h]”hŒPCM substream to set”…”�”}”(hj@&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j<&h´Mëhj=&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j<&h´Mëhj&ubjÄ)�”}”(hŒF``struct snd_dma_buffer *bufp`` the buffer information, NULL to clear ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *bufp``”h]”jÐ)�”}”(hj`&h]”hŒstruct snd_dma_buffer *bufp”…”�”}”(hjb&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MìhjZ&ubjæ)�”}”(hhh]”j{)�”}”(hŒ%the buffer information, NULL to clear”h]”hŒ%the buffer information, NULL to clear”…”�”}”(hjy&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³ju&h´Mìhjv&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZ&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³ju&h´Mìhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj&ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj›&h]”hŒ Description”…”�”}”(hj�&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj™&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mîhj&ubj{)�”}”(hŒ�Copy the buffer information to runtime->dma_buffer when **bufp** is non-NULL. Otherwise it clears the current buffer information.”h]”(hŒ8Copy the buffer information to runtime->dma_buffer when ”…”�”}”(hj±&h²hh³Nh´Nubj©)�”}”(hŒ**bufp**”h]”hŒbufp”…”�”}”(hj¹&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj±&ubhŒA is non-NULL. Otherwise it clears the current buffer information.”…”�”}”(hj±&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Míhj&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_gettime (C function)”Œc.snd_pcm_gettime”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMvoid snd_pcm_gettime (struct snd_pcm_runtime *runtime, struct timespec64 *tv)”h]”j )�”}”(hŒLvoid snd_pcm_gettime(struct snd_pcm_runtime *runtime, struct timespec64 *tv)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjò&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjî&h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî&h²hh³j'h´Mubj3)�”}”(hŒsnd_pcm_gettime”h]”j9)�”}”(hŒsnd_pcm_gettime”h]”hŒsnd_pcm_gettime”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjî&h²hh³j'h´MubjT)�”}”(hŒ8(struct snd_pcm_runtime *runtime, struct timespec64 *tv)”h]”(jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj/'h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj+'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+'ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hjM'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jO'Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j'sbŒc.snd_pcm_gettime”†”asbuh1hhj+'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+'ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj{'h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj+'ubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjˆ'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj+'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj''ubjZ)�”}”(hŒstruct timespec64 *tv”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¡'h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�'ubh)�”}”(hhh]”j9)�”}”(hŒ timespec64”h]”hŒ timespec64”…”�”}”(hj¿'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¼'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÁ'Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”ji'Œc.snd_pcm_gettime”†”asbuh1hhj�'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�'ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjë'h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�'ubj9)�”}”(hŒtv”h]”hŒtv”…”�”}”(hjø'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj''ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjî&h²hh³j'h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjê&h²hh³j'h´Mubah}”(h]”jå&ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j'h´Mhjç&h²hubjv)�”}”(hhh]”j{)�”}”(hŒ3Fill the timespec64 depending on the timestamp mode”h]”hŒ3Fill the timespec64 depending on the timestamp mode”…”�”}”(hj"(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj(h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjç&h²hh³j'h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j:(jšj:(j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒz**Parameters** ``struct snd_pcm_runtime *runtime`` PCM runtime instance ``struct timespec64 *tv`` timespec64 to fill”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjD(h]”hŒ Parameters”…”�”}”(hjF(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjB(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj>(ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjc(h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hje(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhja(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj](ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hj|(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jx(h´Mhjy(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj](ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx(h´MhjZ(ubjÄ)�”}”(hŒ,``struct timespec64 *tv`` timespec64 to fill”h]”(jÊ)�”}”(hŒ``struct timespec64 *tv``”h]”jÐ)�”}”(hjœ(h]”hŒstruct timespec64 *tv”…”�”}”(hjž(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjš(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj–(ubjæ)�”}”(hhh]”j{)�”}”(hŒtimespec64 to fill”h]”hŒtimespec64 to fill”…”�”}”(hjµ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhj²(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj–(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j±(h´MhjZ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj>(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_set_fixed_buffer (C function)”Œc.snd_pcm_set_fixed_buffer”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒnint snd_pcm_set_fixed_buffer (struct snd_pcm_substream *substream, int type, struct device *data, size_t size)”h]”j )�”}”(hŒmint snd_pcm_set_fixed_buffer(struct snd_pcm_substream *substream, int type, struct device *data, size_t size)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjö(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjò(h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjò(h²hh³j)h´M-ubj3)�”}”(hŒsnd_pcm_set_fixed_buffer”h]”j9)�”}”(hŒsnd_pcm_set_fixed_buffer”h]”hŒsnd_pcm_set_fixed_buffer”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjò(h²hh³j)h´M-ubjT)�”}”(hŒQ(struct snd_pcm_substream *substream, int type, struct device *data, size_t size)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj3)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj/)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/)ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjQ)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjN)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jS)Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j)sbŒc.snd_pcm_set_fixed_buffer”†”asbuh1hhj/)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj/)ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjŒ)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj/)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj+)ubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¥)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¡)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡)ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjÁ)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¡)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj+)ubjZ)�”}”(hŒstruct device *data”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÚ)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÖ)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjç)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖ)ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjø)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõ)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jú)Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jm)Œc.snd_pcm_set_fixed_buffer”†”asbuh1hhjÖ)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖ)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj$*h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÖ)ubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj1*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖ)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj+)ubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjM*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jO*Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jm)Œc.snd_pcm_set_fixed_buffer”†”asbuh1hhjF*ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk*h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjF*ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjy*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjF*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj+)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjò(h²hh³j)h´M-ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjî(h²hh³j)h´M-ubah}”(h]”jé(ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j)h´M-hjë(h²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Preallocate and set up the fixed size PCM buffer”h]”hŒ0Preallocate and set up the fixed size PCM buffer”…”�”}”(hj£*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M-hj *h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjë(h²hh³j)h´M-ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j»*jšj»*j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXM**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance ``int type`` DMA type (SNDRV_DMA_TYPE_*) ``struct device *data`` DMA type dependent data ``size_t size`` the requested pre-allocation size in bytes **Description** This is a variant of snd_pcm_set_managed_buffer(), but this pre-allocates only the given sized buffer and doesn't allow re-allocation nor dynamic allocation of a larger buffer unlike the standard one. The function may return -ENOMEM error, hence the caller must check it. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÅ*h]”hŒ Parameters”…”�”}”(hjÇ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÃ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M1hj¿*ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjä*h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjæ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjâ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M.hjÞ*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hjý*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jù*h´M.hjú*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞ*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jù*h´M.hjÛ*ubjÄ)�”}”(hŒ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj+h]”hŒint type”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M/hj+ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type (SNDRV_DMA_TYPE_*)”h]”hŒDMA type (SNDRV_DMA_TYPE_*)”…”�”}”(hj6+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j2+h´M/hj3+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j2+h´M/hjÛ*ubjÄ)�”}”(hŒ0``struct device *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``struct device *data``”h]”jÐ)�”}”(hjV+h]”hŒstruct device *data”…”�”}”(hjX+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjT+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M0hjP+ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hjo+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jk+h´M0hjl+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjP+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jk+h´M0hjÛ*ubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hj�+h]”hŒ size_t size”…”�”}”(hj‘+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M1hj‰+ubjæ)�”}”(hhh]”j{)�”}”(hŒ*the requested pre-allocation size in bytes”h]”hŒ*the requested pre-allocation size in bytes”…”�”}”(hj¨+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¤+h´M1hj¥+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‰+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¤+h´M1hjÛ*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¿*ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÊ+h]”hŒ Description”…”�”}”(hjÌ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÈ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M3hj¿*ubj{)�”}”(hXThis is a variant of snd_pcm_set_managed_buffer(), but this pre-allocates only the given sized buffer and doesn't allow re-allocation nor dynamic allocation of a larger buffer unlike the standard one. The function may return -ENOMEM error, hence the caller must check it.”h]”hXThis is a variant of snd_pcm_set_managed_buffer(), but this pre-allocates only the given sized buffer and doesn’t allow re-allocation nor dynamic allocation of a larger buffer unlike the standard one. The function may return -ENOMEM error, hence the caller must check it.”…”�”}”(hjà+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M2hj¿*ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjñ+h]”hŒReturn”…”�”}”(hjó+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjï+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M7hj¿*ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M8hj¿*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_set_fixed_buffer_all (C function)”Œc.snd_pcm_set_fixed_buffer_all”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒbint snd_pcm_set_fixed_buffer_all (struct snd_pcm *pcm, int type, struct device *data, size_t size)”h]”j )�”}”(hŒaint snd_pcm_set_fixed_buffer_all(struct snd_pcm *pcm, int type, struct device *data, size_t size)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj6,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj2,h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MBubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2,h²hh³jD,h´MBubj3)�”}”(hŒsnd_pcm_set_fixed_buffer_all”h]”j9)�”}”(hŒsnd_pcm_set_fixed_buffer_all”h]”hŒsnd_pcm_set_fixed_buffer_all”…”�”}”(hjW,h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjS,ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj2,h²hh³jD,h´MBubjT)�”}”(hŒA(struct snd_pcm *pcm, int type, struct device *data, size_t size)”h]”(jZ)�”}”(hŒstruct snd_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjs,h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjo,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo,ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(hj‘,h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽ,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j“,Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jY,sbŒc.snd_pcm_set_fixed_buffer_all”†”asbuh1hhjo,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo,ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¿,h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjo,ubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjÌ,h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjo,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjk,ubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjå,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjá,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjó,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjá,ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjá,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjk,ubjZ)�”}”(hŒstruct device *data”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj8-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j:-Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j­,Œc.snd_pcm_set_fixed_buffer_all”†”asbuh1hhj-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjd-h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj-ubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjq-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjk,ubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj�-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŠ-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�-Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j­,Œc.snd_pcm_set_fixed_buffer_all”†”asbuh1hhj†-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†-ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj¹-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjk,ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj2,h²hh³jD,h´MBubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj.,h²hh³jD,h´MBubah}”(h]”j),ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jD,h´MBhj+,h²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Preallocate and set up the fixed size PCM buffer”h]”hŒ0Preallocate and set up the fixed size PCM buffer”…”�”}”(hjã-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MBhjà-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj+,h²hh³jD,h´MBubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jû-jšjû-j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hXÙ**Parameters** ``struct snd_pcm *pcm`` the pcm instance ``int type`` DMA type (SNDRV_DMA_TYPE_*) ``struct device *data`` DMA type dependent data ``size_t size`` the requested pre-allocation size in bytes **Description** Apply the set up of the fixed buffer via snd_pcm_set_fixed_buffer() for all substream. If any of allocation fails, it returns -ENOMEM, hence the caller must check the return value. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj.h]”hŒ Parameters”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MFhjÿ-ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hj$.h]”hŒstruct snd_pcm *pcm”…”�”}”(hj&.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj".ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MChj.ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm instance”…”�”}”(hj=.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9.h´MChj:.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9.h´MChj.ubjÄ)�”}”(hŒ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj].h]”hŒint type”…”�”}”(hj_.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj[.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MDhjW.ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type (SNDRV_DMA_TYPE_*)”h]”hŒDMA type (SNDRV_DMA_TYPE_*)”…”�”}”(hjv.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jr.h´MDhjs.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjW.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jr.h´MDhj.ubjÄ)�”}”(hŒ0``struct device *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``struct device *data``”h]”jÐ)�”}”(hj–.h]”hŒstruct device *data”…”�”}”(hj˜.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj”.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MEhj�.ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hj¯.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j«.h´MEhj¬.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j«.h´MEhj.ubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hjÏ.h]”hŒ size_t size”…”�”}”(hjÑ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÍ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MFhjÉ.ubjæ)�”}”(hhh]”j{)�”}”(hŒ*the requested pre-allocation size in bytes”h]”hŒ*the requested pre-allocation size in bytes”…”�”}”(hjè.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jä.h´MFhjå.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÉ.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jä.h´MFhj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÿ-ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj /h]”hŒ Description”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MHhjÿ-ubj{)�”}”(hŒµApply the set up of the fixed buffer via snd_pcm_set_fixed_buffer() for all substream. If any of allocation fails, it returns -ENOMEM, hence the caller must check the return value.”h]”hŒµApply the set up of the fixed buffer via snd_pcm_set_fixed_buffer() for all substream. If any of allocation fails, it returns -ENOMEM, hence the caller must check the return value.”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MGhjÿ-ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj1/h]”hŒReturn”…”�”}”(hj3/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj//ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MKhjÿ-ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjG/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MLhjÿ-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_sgbuf_get_addr (C function)”Œc.snd_pcm_sgbuf_get_addr”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒYdma_addr_t snd_pcm_sgbuf_get_addr (struct snd_pcm_substream *substream, unsigned int ofs)”h]”j )�”}”(hŒXdma_addr_t snd_pcm_sgbuf_get_addr(struct snd_pcm_substream *substream, unsigned int ofs)”h]”(h)�”}”(hhh]”j9)�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hjy/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjv/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j{/Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_sgbuf_get_addr”sbŒc.snd_pcm_sgbuf_get_addr”†”asbuh1hhjr/h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjr/h²hh³jš/h´MXubj3)�”}”(hŒsnd_pcm_sgbuf_get_addr”h]”j9)�”}”(hj—/h]”hŒsnd_pcm_sgbuf_get_addr”…”�”}”(hj­/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©/ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjr/h²hh³jš/h´MXubjT)�”}”(hŒ7(struct snd_pcm_substream *substream, unsigned int ofs)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÈ/h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÄ/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄ/ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjæ/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjã/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jè/Œmodname”NŒ classname”•NjœjŸ)�”}”j¢]”j•/Œc.snd_pcm_sgbuf_get_addr”†”asbuh1hhjÄ/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄ/ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÄ/ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄ/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ/ubjZ)�”}”(hŒunsigned int ofs”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj80h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj40ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjF0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj40ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjT0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj40ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj40ubj9)�”}”(hŒofs”h]”hŒofs”…”�”}”(hjp0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj40ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ/ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjr/h²hh³jš/h´MXubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjn/h²hh³jš/h´MXubah}”(h]”ji/ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jš/h´MXhjk/h²hubjv)�”}”(hhh]”j{)�”}”(hŒ/Get the DMA address at the corresponding offset”h]”hŒ/Get the DMA address at the corresponding offset”…”�”}”(hjš0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MXhj—0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjk/h²hh³jš/h´MXubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j²0jšj²0j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ„**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``unsigned int ofs`` byte offset **Return** DMA address”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¼0h]”hŒ Parameters”…”�”}”(hj¾0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjº0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M\hj¶0ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÛ0h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjÝ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÙ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MYhjÕ0ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjô0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jð0h´MYhjñ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÕ0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jð0h´MYhjÒ0ubjÄ)�”}”(hŒ!``unsigned int ofs`` byte offset ”h]”(jÊ)�”}”(hŒ``unsigned int ofs``”h]”jÐ)�”}”(hj1h]”hŒunsigned int ofs”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MZhj1ubjæ)�”}”(hhh]”j{)�”}”(hŒ byte offset”h]”hŒ byte offset”…”�”}”(hj-1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j)1h´MZhj*1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j)1h´MZhjÒ0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¶0ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjO1h]”hŒReturn”…”�”}”(hjQ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjM1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M\hj¶0ubj{)�”}”(hŒ DMA address”h]”hŒ DMA address”…”�”}”(hje1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M\hj¶0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_sgbuf_get_chunk_size (C function)”Œc.snd_pcm_sgbuf_get_chunk_size”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒtunsigned int snd_pcm_sgbuf_get_chunk_size (struct snd_pcm_substream *substream, unsigned int ofs, unsigned int size)”h]”j )�”}”(hŒsunsigned int snd_pcm_sgbuf_get_chunk_size(struct snd_pcm_substream *substream, unsigned int ofs, unsigned int size)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj”1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�1h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Meubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�1h²hh³j¢1h´Meubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj±1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�1h²hh³j¢1h´Meubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�1h²hh³j¢1h´Meubj3)�”}”(hŒsnd_pcm_sgbuf_get_chunk_size”h]”j9)�”}”(hŒsnd_pcm_sgbuf_get_chunk_size”h]”hŒsnd_pcm_sgbuf_get_chunk_size”…”�”}”(hjÑ1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÍ1ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�1h²hh³j¢1h´MeubjT)�”}”(hŒJ(struct snd_pcm_substream *substream, unsigned int ofs, unsigned int size)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjí1h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjé1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjé1ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj 2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j 2Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÓ1sbŒc.snd_pcm_sgbuf_get_chunk_size”†”asbuh1hhjé1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjé1ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj92h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjé1ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjF2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjé1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjå1ubjZ)�”}”(hŒunsigned int ofs”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj_2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[2ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj{2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[2ubj9)�”}”(hŒofs”h]”hŒofs”…”�”}”(hj—2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjå1ubjZ)�”}”(hŒunsigned int size”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj°2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬2ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjÌ2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚ2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬2ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjè2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjå1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�1h²hh³j¢1h´Meubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjŒ1h²hh³j¢1h´Meubah}”(h]”j‡1ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¢1h´Mehj‰1h²hubjv)�”}”(hhh]”j{)�”}”(hŒJCompute the max size that fits within the contig. page from the given size”h]”hŒJCompute the max size that fits within the contig. page from the given size”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mehj3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj‰1h²hh³j¢1h´Meubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j*3jšj*3j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ±**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``unsigned int ofs`` byte offset ``unsigned int size`` byte size to examine **Return** chunk size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj43h]”hŒ Parameters”…”�”}”(hj63h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj23ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mihj.3ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjS3h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjU3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjQ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MghjM3ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjl3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh3h´Mghji3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjM3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh3h´MghjJ3ubjÄ)�”}”(hŒ!``unsigned int ofs`` byte offset ”h]”(jÊ)�”}”(hŒ``unsigned int ofs``”h]”jÐ)�”}”(hjŒ3h]”hŒunsigned int ofs”…”�”}”(hjŽ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mhhj†3ubjæ)�”}”(hhh]”j{)�”}”(hŒ byte offset”h]”hŒ byte offset”…”�”}”(hj¥3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡3h´Mhhj¢3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡3h´MhhjJ3ubjÄ)�”}”(hŒ+``unsigned int size`` byte size to examine ”h]”(jÊ)�”}”(hŒ``unsigned int size``”h]”jÐ)�”}”(hjÅ3h]”hŒunsigned int size”…”�”}”(hjÇ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÃ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mihj¿3ubjæ)�”}”(hhh]”j{)�”}”(hŒbyte size to examine”h]”hŒbyte size to examine”…”�”}”(hjÞ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚ3h´MihjÛ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚ3h´MihjJ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj.3ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj4h]”hŒReturn”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjþ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mkhj.3ubj{)�”}”(hŒ chunk size”h]”hŒ chunk size”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mkhj.3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_limit_isa_dma_size (C function)”Œc.snd_pcm_limit_isa_dma_size”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ6void snd_pcm_limit_isa_dma_size (int dma, size_t *max)”h]”j )�”}”(hŒ5void snd_pcm_limit_isa_dma_size(int dma, size_t *max)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjE4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjA4h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjA4h²hh³jS4h´M‚ubj3)�”}”(hŒsnd_pcm_limit_isa_dma_size”h]”j9)�”}”(hŒsnd_pcm_limit_isa_dma_size”h]”hŒsnd_pcm_limit_isa_dma_size”…”�”}”(hjf4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb4ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjA4h²hh³jS4h´M‚ubjT)�”}”(hŒ(int dma, size_t *max)”h]”(jZ)�”}”(hŒint dma”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‚4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj~4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~4ubj9)�”}”(hŒdma”h]”hŒdma”…”�”}”(hjž4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz4ubjZ)�”}”(hŒ size_t *max”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjº4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¼4Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jh4sbŒc.snd_pcm_limit_isa_dma_size”†”asbuh1hhj³4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚ4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjè4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj³4ubj9)�”}”(hŒmax”h]”hŒmax”…”�”}”(hjõ4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj³4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz4ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjA4h²hh³jS4h´M‚ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj=4h²hh³jS4h´M‚ubah}”(h]”j84ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jS4h´M‚hj:4h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Get the max size fitting with ISA DMA transfer”h]”hŒ.Get the max size fitting with ISA DMA transfer”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M‚hj5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj:4h²hh³jS4h´M‚ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j75jšj75j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒY**Parameters** ``int dma`` DMA number ``size_t *max`` pointer to store the max size”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjA5h]”hŒ Parameters”…”�”}”(hjC5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj?5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M†hj;5ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``int dma`` DMA number ”h]”(jÊ)�”}”(hŒ ``int dma``”h]”jÐ)�”}”(hj`5h]”hŒint dma”…”�”}”(hjb5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MƒhjZ5ubjæ)�”}”(hhh]”j{)�”}”(hŒ DMA number”h]”hŒ DMA number”…”�”}”(hjy5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³ju5h´Mƒhjv5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZ5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³ju5h´MƒhjW5ubjÄ)�”}”(hŒ-``size_t *max`` pointer to store the max size”h]”(jÊ)�”}”(hŒ``size_t *max``”h]”jÐ)�”}”(hj™5h]”hŒ size_t *max”…”�”}”(hj›5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj—5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M…hj“5ubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to store the max size”h]”hŒpointer to store the max size”…”�”}”(hj²5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M„hj¯5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj“5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j®5h´M…hjW5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj;5ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_direction_name (C function)”Œc.snd_pcm_direction_name”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ3const char * snd_pcm_direction_name (int direction)”h]”j )�”}”(hŒ1const char *snd_pcm_direction_name(int direction)”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjó5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjï5h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjï5h²hh³j6h´M—ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjï5h²hh³j6h´M—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjï5h²hh³j6h´M—ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj+6h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjï5h²hh³j6h´M—ubj3)�”}”(hŒsnd_pcm_direction_name”h]”j9)�”}”(hŒsnd_pcm_direction_name”h]”hŒsnd_pcm_direction_name”…”�”}”(hj<6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj86ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjï5h²hh³j6h´M—ubjT)�”}”(hŒ(int direction)”h]”jZ)�”}”(hŒ int direction”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjX6h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjT6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT6ubj9)�”}”(hŒ direction”h]”hŒ direction”…”�”}”(hjt6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjT6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjP6ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjï5h²hh³j6h´M—ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjë5h²hh³j6h´M—ubah}”(h]”jæ5ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j6h´M—hjè5h²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Get a string naming the direction of a stream”h]”hŒ-Get a string naming the direction of a stream”…”�”}”(hjž6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M—hj›6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjè5h²hh³j6h´M—ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¶6jšj¶6j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒš**Parameters** ``int direction`` Stream's direction, one of SNDRV_PCM_STREAM_XXX **Description** Returns a string naming the direction of the stream.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÀ6h]”hŒ Parameters”…”�”}”(hjÂ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¾6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M›hjº6ubj¿)�”}”(hhh]”jÄ)�”}”(hŒB``int direction`` Stream's direction, one of SNDRV_PCM_STREAM_XXX ”h]”(jÊ)�”}”(hŒ``int direction``”h]”jÐ)�”}”(hjß6h]”hŒ int direction”…”�”}”(hjá6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÝ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M˜hjÙ6ubjæ)�”}”(hhh]”j{)�”}”(hŒ/Stream's direction, one of SNDRV_PCM_STREAM_XXX”h]”hŒ1Stream’s direction, one of SNDRV_PCM_STREAM_XXX”…”�”}”(hjø6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jô6h´M˜hjõ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÙ6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jô6h´M˜hjÖ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjº6ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj7h]”hŒ Description”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mšhjº6ubj{)�”}”(hŒ4Returns a string naming the direction of the stream.”h]”hŒ4Returns a string naming the direction of the stream.”…”�”}”(hj07h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M™hjº6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_stream_str (C function)”Œc.snd_pcm_stream_str”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒEconst char * snd_pcm_stream_str (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒCconst char *snd_pcm_stream_str(struct snd_pcm_substream *substream)”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj_7h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj[7h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[7h²hh³jl7h´M¥ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj{7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[7h²hh³jl7h´M¥ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[7h²hh³jl7h´M¥ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj—7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj[7h²hh³jl7h´M¥ubj3)�”}”(hŒsnd_pcm_stream_str”h]”j9)�”}”(hŒsnd_pcm_stream_str”h]”hŒsnd_pcm_stream_str”…”�”}”(hj¨7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¤7ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj[7h²hh³jl7h´M¥ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÄ7h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÀ7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ7ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjâ7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjß7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jä7Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jª7sbŒc.snd_pcm_stream_str”†”asbuh1hhjÀ7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ7ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÀ7ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀ7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¼7ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj[7h²hh³jl7h´M¥ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjW7h²hh³jl7h´M¥ubah}”(h]”jR7ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jl7h´M¥hjT7h²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Get a string naming the direction of a stream”h]”hŒ-Get a string naming the direction of a stream”…”�”}”(hjG8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¥hjD8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjT7h²hh³jl7h´M¥ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j_8jšj_8j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒŽ**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance **Return** A string naming the direction of the stream.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hji8h]”hŒ Parameters”…”�”}”(hjk8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjg8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M©hjc8ubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjˆ8h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjŠ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj†8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¦hj‚8ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hj¡8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�8h´M¦hjž8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�8h´M¦hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjc8ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÃ8h]”hŒReturn”…”�”}”(hjÅ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÁ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¨hjc8ubj{)�”}”(hŒ,A string naming the direction of the stream.”h]”hŒ,A string naming the direction of the stream.”…”�”}”(hjÙ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M¨hjc8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_pcm_chmap_substream (C function)”Œc.snd_pcm_chmap_substream”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒastruct snd_pcm_substream * snd_pcm_chmap_substream (struct snd_pcm_chmap *info, unsigned int idx)”h]”j )�”}”(hŒ_struct snd_pcm_substream *snd_pcm_chmap_substream(struct snd_pcm_chmap *info, unsigned int idx)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj9h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÄubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9h²hh³j9h´MÄubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj'9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j)9Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_chmap_substream”sbŒc.snd_pcm_chmap_substream”†”asbuh1hhj9h²hh³j9h´MÄubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjH9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9h²hh³j9h´MÄubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjV9h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj9h²hh³j9h´MÄubj3)�”}”(hŒsnd_pcm_chmap_substream”h]”j9)�”}”(hjE9h]”hŒsnd_pcm_chmap_substream”…”�”}”(hjg9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjc9ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj9h²hh³j9h´MÄubjT)�”}”(hŒ.(struct snd_pcm_chmap *info, unsigned int idx)”h]”(jZ)�”}”(hŒstruct snd_pcm_chmap *info”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‚9h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~9ubh)�”}”(hhh]”j9)�”}”(hŒ snd_pcm_chmap”h]”hŒ snd_pcm_chmap”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¢9Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jC9Œc.snd_pcm_chmap_substream”†”asbuh1hhj~9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~9ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÌ9h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj~9ubj9)�”}”(hŒinfo”h]”hŒinfo”…”�”}”(hjÙ9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz9ubjZ)�”}”(hŒunsigned int idx”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjò9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjî9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî9ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjî9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî9ubj9)�”}”(hŒidx”h]”hŒidx”…”�”}”(hj*:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjî9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz9ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj9h²hh³j9h´MÄubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj9h²hh³j9h´MÄubah}”(h]”jû8ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j9h´MÄhjý8h²hubjv)�”}”(hhh]”j{)�”}”(hŒ6get the PCM substream assigned to the given chmap info”h]”hŒ6get the PCM substream assigned to the given chmap info”…”�”}”(hjT:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÄhjQ:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjý8h²hh³j9h´MÄubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jl:jšjl:j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒ²**Parameters** ``struct snd_pcm_chmap *info`` chmap information ``unsigned int idx`` the substream number index **Return** the matched PCM substream, or NULL if not found”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjv:h]”hŒ Parameters”…”�”}”(hjx:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjt:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÈhjp:ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ1``struct snd_pcm_chmap *info`` chmap information ”h]”(jÊ)�”}”(hŒ``struct snd_pcm_chmap *info``”h]”jÐ)�”}”(hj•:h]”hŒstruct snd_pcm_chmap *info”…”�”}”(hj—:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj“:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÅhj�:ubjæ)�”}”(hhh]”j{)�”}”(hŒchmap information”h]”hŒchmap information”…”�”}”(hj®:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jª:h´MÅhj«:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jª:h´MÅhjŒ:ubjÄ)�”}”(hŒ0``unsigned int idx`` the substream number index ”h]”(jÊ)�”}”(hŒ``unsigned int idx``”h]”jÐ)�”}”(hjÎ:h]”hŒunsigned int idx”…”�”}”(hjÐ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÌ:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÆhjÈ:ubjæ)�”}”(hhh]”j{)�”}”(hŒthe substream number index”h]”hŒthe substream number index”…”�”}”(hjç:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jã:h´MÆhjä:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÈ:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jã:h´MÆhjŒ:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjp:ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj ;h]”hŒReturn”…”�”}”(hj ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÈhjp:ubj{)�”}”(hŒ/the matched PCM substream, or NULL if not found”h]”hŒ/the matched PCM substream, or NULL if not found”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MÈhjp:ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒpcm_format_to_bits (C function)”Œc.pcm_format_to_bits”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ4u64 pcm_format_to_bits (snd_pcm_format_t pcm_format)”h]”j )�”}”(hŒ3u64 pcm_format_to_bits(snd_pcm_format_t pcm_format)”h]”(h)�”}”(hhh]”j9)�”}”(hŒu64”h]”hŒu64”…”�”}”(hjQ;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjN;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jS;Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œpcm_format_to_bits”sbŒc.pcm_format_to_bits”†”asbuh1hhjJ;h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Måubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs;h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ;h²hh³jr;h´Måubj3)�”}”(hŒpcm_format_to_bits”h]”j9)�”}”(hjo;h]”hŒpcm_format_to_bits”…”�”}”(hj…;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�;ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjJ;h²hh³jr;h´MåubjT)�”}”(hŒ(snd_pcm_format_t pcm_format)”h]”jZ)�”}”(hŒsnd_pcm_format_t pcm_format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj£;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¥;Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jm;Œc.pcm_format_to_bits”†”asbuh1hhjœ;ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ;h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœ;ubj9)�”}”(hŒ pcm_format”h]”hŒ pcm_format”…”�”}”(hjÏ;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœ;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj˜;ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjJ;h²hh³jr;h´Måubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjF;h²hh³jr;h´Måubah}”(h]”jA;ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jr;h´MåhjC;h²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Strong-typed conversion of pcm_format to bitwise”h]”hŒ0Strong-typed conversion of pcm_format to bitwise”…”�”}”(hjù;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Måhjö;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjC;h²hh³jr;h´Måubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j<jšj<j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´NubjŸ)�”}”(hŒz**Parameters** ``snd_pcm_format_t pcm_format`` PCM format **Return** 64bit mask corresponding to the given PCM format”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj<h]”hŒ Parameters”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Méhj<ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ+``snd_pcm_format_t pcm_format`` PCM format ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t pcm_format``”h]”jÐ)�”}”(hj:<h]”hŒsnd_pcm_format_t pcm_format”…”�”}”(hj<<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj8<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mæhj4<ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM format”h]”hŒ PCM format”…”�”}”(hjS<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jO<h´MæhjP<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj4<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jO<h´Mæhj1<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj<ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hju<h]”hŒReturn”…”�”}”(hjw<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjs<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mèhj<ubj{)�”}”(hŒ064bit mask corresponding to the given PCM format”h]”hŒ064bit mask corresponding to the given PCM format”…”�”}”(hj‹<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mèhj<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒpcm_for_each_format (C macro)”Œc.pcm_for_each_format”hNt”auh1híhj^h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒpcm_for_each_format”h]”j )�”}”(hŒpcm_for_each_format”h]”j3)�”}”(hŒpcm_for_each_format”h]”j9)�”}”(hj´<h]”hŒpcm_for_each_format”…”�”}”(hj¾<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjº<ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¶<h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mðubah}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj²<h²hh³jÑ<h´Mðubah}”(h]”j­<ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÑ<h´Mðhj¯<h²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhj¯<h²hh³jÑ<h´Mðubeh}”(h]”h ]”(j–Œmacro”eh"]”h$]”h&]”j˜j–j™jê<jšjê<j›‰jœ‰j�‰uh1hþh²hhj^h³Nh´Nubj{)�”}”(hŒ``pcm_for_each_format (f)``”h]”jÐ)�”}”(hjð<h]”hŒpcm_for_each_format (f)”…”�”}”(hjò<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjî<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mòhj^h²hubj¯)�”}”(hŒ'helper to iterate for each format type ”h]”j{)�”}”(hŒ&helper to iterate for each format type”h]”hŒ&helper to iterate for each format type”…”�”}”(hj =h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mðhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j=h´Mðhj^h²hubjŸ)�”}”(hŒF**Parameters** ``f`` the iterator variable in snd_pcm_format_t type”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj%=h]”hŒ Parameters”…”�”}”(hj'=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj#=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Môhj=ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ4``f`` the iterator variable in snd_pcm_format_t type”h]”(jÊ)�”}”(hŒ``f``”h]”jÐ)�”}”(hjD=h]”hŒf”…”�”}”(hjF=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjB=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Möhj>=ubjæ)�”}”(hhh]”j{)�”}”(hŒ.the iterator variable in snd_pcm_format_t type”h]”hŒ.the iterator variable in snd_pcm_format_t type”…”�”}”(hj]=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MñhjZ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jY=h´Möhj;=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj^h²hh³Nh´Nubeh}”(h]”Œpcm-core”ah ]”h"]”Œpcm core”ah$]”h&]”uh1hµhjþ]h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒPCM Format Helpers”h]”hŒPCM Format Helpers”…”�”}”(hj�=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj�=h²hh³hÊh´K%ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_format_signed (C function)”Œc.snd_pcm_format_signed”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ3int snd_pcm_format_signed (snd_pcm_format_t format)”h]”j )�”}”(hŒ2int snd_pcm_format_signed(snd_pcm_format_t format)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj·=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj³=h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Kðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³=h²hh³jÅ=h´Kðubj3)�”}”(hŒsnd_pcm_format_signed”h]”j9)�”}”(hŒsnd_pcm_format_signed”h]”hŒsnd_pcm_format_signed”…”�”}”(hjØ=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔ=ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj³=h²hh³jÅ=h´KðubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj÷=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjô=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jù=Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÚ=sbŒc.snd_pcm_format_signed”†”asbuh1hhjð=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð=ubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj%>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjð=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì=ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj³=h²hh³jÅ=h´Kðubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¯=h²hh³jÅ=h´Kðubah}”(h]”jª=ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅ=h´Kðhj¬=h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Check the PCM format is signed linear”h]”hŒ%Check the PCM format is signed linear”…”�”}”(hjO>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´KðhjL>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¬=h²hh³jÅ=h´Kðubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jg>jšjg>j›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒÂ**Parameters** ``snd_pcm_format_t format`` the format to check **Return** 1 if the given PCM format is signed linear, 0 if unsigned linear, and a negative error code for non-linear formats.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjq>h]”hŒ Parameters”…”�”}”(hjs>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjo>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Kôhjk>ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj�>h]”hŒsnd_pcm_format_t format”…”�”}”(hj’>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŽ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´KñhjŠ>ubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hj©>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¥>h´Kñhj¦>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŠ>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¥>h´Kñhj‡>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjk>ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjË>h]”hŒReturn”…”�”}”(hjÍ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÉ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Kóhjk>ubj{)�”}”(hŒs1 if the given PCM format is signed linear, 0 if unsigned linear, and a negative error code for non-linear formats.”h]”hŒs1 if the given PCM format is signed linear, 0 if unsigned linear, and a negative error code for non-linear formats.”…”�”}”(hjá>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Kóhjk>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_pcm_format_unsigned (C function)”Œc.snd_pcm_format_unsigned”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ5int snd_pcm_format_unsigned (snd_pcm_format_t format)”h]”j )�”}”(hŒ4int snd_pcm_format_unsigned(snd_pcm_format_t format)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ?h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ?h²hh³j?h´Mubj3)�”}”(hŒsnd_pcm_format_unsigned”h]”j9)�”}”(hŒsnd_pcm_format_unsigned”h]”hŒsnd_pcm_format_unsigned”…”�”}”(hj1?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-?ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj ?h²hh³j?h´MubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hjP?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjM?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jR?Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j3?sbŒc.snd_pcm_format_unsigned”†”asbuh1hhjI?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjI?ubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj~?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjI?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjE?ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj ?h²hh³j?h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?h²hh³j?h´Mubah}”(h]”j?ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j?h´Mhj?h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'Check the PCM format is unsigned linear”h]”hŒ'Check the PCM format is unsigned linear”…”�”}”(hj¨?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mhj¥?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj?h²hh³j?h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÀ?jšjÀ?j›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒÂ**Parameters** ``snd_pcm_format_t format`` the format to check **Return** 1 if the given PCM format is unsigned linear, 0 if signed linear, and a negative error code for non-linear formats.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÊ?h]”hŒ Parameters”…”�”}”(hjÌ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÈ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjÄ?ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjé?h]”hŒsnd_pcm_format_t format”…”�”}”(hjë?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjç?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mhjã?ubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþ?h´Mhjÿ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjã?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþ?h´Mhjà?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÄ?ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj$@h]”hŒReturn”…”�”}”(hj&@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj"@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjÄ?ubj{)�”}”(hŒs1 if the given PCM format is unsigned linear, 0 if signed linear, and a negative error code for non-linear formats.”h]”hŒs1 if the given PCM format is unsigned linear, 0 if signed linear, and a negative error code for non-linear formats.”…”�”}”(hj:@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjÄ?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_pcm_format_linear (C function)”Œc.snd_pcm_format_linear”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ3int snd_pcm_format_linear (snd_pcm_format_t format)”h]”j )�”}”(hŒ2int snd_pcm_format_linear(snd_pcm_format_t format)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hji@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhje@h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx@h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hje@h²hh³jw@h´Mubj3)�”}”(hŒsnd_pcm_format_linear”h]”j9)�”}”(hŒsnd_pcm_format_linear”h]”hŒsnd_pcm_format_linear”…”�”}”(hjŠ@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†@ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hje@h²hh³jw@h´MubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj©@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j«@Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jŒ@sbŒc.snd_pcm_format_linear”†”asbuh1hhj¢@ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ@h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢@ubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj×@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjž@ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShje@h²hh³jw@h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihja@h²hh³jw@h´Mubah}”(h]”j\@ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jw@h´Mhj^@h²hubjv)�”}”(hhh]”j{)�”}”(hŒCheck the PCM format is linear”h]”hŒCheck the PCM format is linear”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mhjþ@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj^@h²hh³jw@h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jAjšjAj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒ}**Parameters** ``snd_pcm_format_t format`` the format to check **Return** 1 if the given PCM format is linear, 0 if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj#Ah]”hŒ Parameters”…”�”}”(hj%Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj!Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjAubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjBAh]”hŒsnd_pcm_format_t format”…”�”}”(hjDAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj@Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjCsbŒc.snd_pcm_format_big_endian”†”asbuh1hhjTCubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{Ch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjTCubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj‰Ch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjTCubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjPCubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjCh²hh³j)Ch´M4ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjCh²hh³j)Ch´M4ubah}”(h]”jCah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j)Ch´M4hjCh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Check the PCM format is big-endian”h]”hŒ"Check the PCM format is big-endian”…”�”}”(hj³Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M4hj°Ch²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjCh²hh³j)Ch´M4ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jËCjšjËCj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒ½**Parameters** ``snd_pcm_format_t format`` the format to check **Return** 1 if the given PCM format is big-endian, 0 if little-endian, or a negative error code if endian not specified.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÕCh]”hŒ Parameters”…”�”}”(hj×Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÓCubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M8hjÏCubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjôCh]”hŒsnd_pcm_format_t format”…”�”}”(hjöCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjòCubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M5hjîCubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hj Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j Dh´M5hj Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjîCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j Dh´M5hjëCubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÏCubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj/Dh]”hŒReturn”…”�”}”(hj1Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj-Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M7hjÏCubj{)�”}”(hŒn1 if the given PCM format is big-endian, 0 if little-endian, or a negative error code if endian not specified.”h]”hŒn1 if the given PCM format is big-endian, 0 if little-endian, or a negative error code if endian not specified.”…”�”}”(hjEDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M7hjÏCubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_pcm_format_width (C function)”Œc.snd_pcm_format_width”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ2int snd_pcm_format_width (snd_pcm_format_t format)”h]”j )�”}”(hŒ1int snd_pcm_format_width(snd_pcm_format_t format)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjtDh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjpDh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MFubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpDh²hh³j‚Dh´MFubj3)�”}”(hŒsnd_pcm_format_width”h]”j9)�”}”(hŒsnd_pcm_format_width”h]”hŒsnd_pcm_format_width”…”�”}”(hj•Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘Dubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjpDh²hh³j‚Dh´MFubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj´Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±Dubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¶DŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j—DsbŒc.snd_pcm_format_width”†”asbuh1hhj­Dubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj­Dubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjâDh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­Dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj©Dubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjpDh²hh³j‚Dh´MFubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjlDh²hh³j‚Dh´MFubah}”(h]”jgDah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‚Dh´MFhjiDh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"return the bit-width of the format”h]”hŒ"return the bit-width of the format”…”�”}”(hj Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MFhj Eh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjiDh²hh³j‚Dh´MFubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j$Ejšj$Ej›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒ—**Parameters** ``snd_pcm_format_t format`` the format to check **Return** The bit-width of the format, or a negative error code if unknown format.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj.Eh]”hŒ Parameters”…”�”}”(hj0Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj,Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MJhj(Eubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjMEh]”hŒsnd_pcm_format_t format”…”�”}”(hjOEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjKEubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MGhjGEubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hjfEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jbEh´MGhjcEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjGEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jbEh´MGhjDEubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj(Eubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjˆEh]”hŒReturn”…”�”}”(hjŠEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj†Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MIhj(Eubj{)�”}”(hŒHThe bit-width of the format, or a negative error code if unknown format.”h]”hŒHThe bit-width of the format, or a negative error code if unknown format.”…”�”}”(hjžEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”•h´MIhj(Eubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_pcm_format_physical_width (C function)”Œc.snd_pcm_format_physical_width”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ;int snd_pcm_format_physical_width (snd_pcm_format_t format)”h]”j )�”}”(hŒ:int snd_pcm_format_physical_width(snd_pcm_format_t format)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÍEh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉEh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MYubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜEh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉEh²hh³jÛEh´MYubj3)�”}”(hŒsnd_pcm_format_physical_width”h]”j9)�”}”(hŒsnd_pcm_format_physical_width”h]”hŒsnd_pcm_format_physical_width”…”�”}”(hjîEh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêEubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÉEh²hh³jÛEh´MYubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj Fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Fubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jFŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jðEsbŒc.snd_pcm_format_physical_width”†”asbuh1hhjFubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-Fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjFubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj;Fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjFubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÉEh²hh³jÛEh´MYubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÅEh²hh³jÛEh´MYubah}”(h]”jÀEah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÛEh´MYhjÂEh²hubjv)�”}”(hhh]”j{)�”}”(hŒ+return the physical bit-width of the format”h]”hŒ+return the physical bit-width of the format”…”�”}”(hjeFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MYhjbFh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÂEh²hh³jÛEh´MYubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j}Fjšj}Fj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒ **Parameters** ``snd_pcm_format_t format`` the format to check **Return** The physical bit-width of the format, or a negative error code if unknown format.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‡Fh]”hŒ Parameters”…”�”}”(hj‰Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj…Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M]hj�Fubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj¦Fh]”hŒsnd_pcm_format_t format”…”�”}”(hj¨Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¤Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MZhj Fubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hj¿Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j»Fh´MZhj¼Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j»Fh´MZhj�Fubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�Fubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjáFh]”hŒReturn”…”�”}”(hjãFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjßFubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M\hj�Fubj{)�”}”(hŒQThe physical bit-width of the format, or a negative error code if unknown format.”h]”hŒQThe physical bit-width of the format, or a negative error code if unknown format.”…”�”}”(hj÷Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M\hj�Fubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_pcm_format_size (C function)”Œc.snd_pcm_format_size”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒEssize_t snd_pcm_format_size (snd_pcm_format_t format, size_t samples)”h]”j )�”}”(hŒDssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples)”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj)Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&Gubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j+GŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_format_size”sbŒc.snd_pcm_format_size”†”asbuh1hhj"Gh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mlubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj"Gh²hh³jJGh´Mlubj3)�”}”(hŒsnd_pcm_format_size”h]”j9)�”}”(hjGGh]”hŒsnd_pcm_format_size”…”�”}”(hj]Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjYGubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj"Gh²hh³jJGh´MlubjT)�”}”(hŒ)(snd_pcm_format_t format, size_t samples)”h]”(jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj{Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j}GŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jEGŒc.snd_pcm_format_size”†”asbuh1hhjtGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Gh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjtGubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj§Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjtGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjpGubjZ)�”}”(hŒsize_t samples”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÃGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÅGŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jEGŒc.snd_pcm_format_size”†”asbuh1hhj¼Gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼Gubj9)�”}”(hŒsamples”h]”hŒsamples”…”�”}”(hjïGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¼Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjpGubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj"Gh²hh³jJGh´Mlubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjGh²hh³jJGh´Mlubah}”(h]”jGah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jJGh´MlhjGh²hubjv)�”}”(hhh]”j{)�”}”(hŒ3return the byte size of samples on the given format”h]”hŒ3return the byte size of samples on the given format”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MlhjHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjGh²hh³jJGh´Mlubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j1Hjšj1Hj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒÑ**Parameters** ``snd_pcm_format_t format`` the format to check ``size_t samples`` sampling rate **Return** The byte size of the given samples for the format, or a negative error code if unknown format.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj;Hh]”hŒ Parameters”…”�”}”(hj=Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj9Hubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mphj5Hubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjZHh]”hŒsnd_pcm_format_t format”…”�”}”(hj\Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjXHubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MmhjTHubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hjsHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³joHh´MmhjpHubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjTHubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³joHh´MmhjQHubjÄ)�”}”(hŒ!``size_t samples`` sampling rate ”h]”(jÊ)�”}”(hŒ``size_t samples``”h]”jÐ)�”}”(hj“Hh]”hŒsize_t samples”…”�”}”(hj•Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‘Hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mnhj�Hubjæ)�”}”(hhh]”j{)�”}”(hŒ sampling rate”h]”hŒ sampling rate”…”�”}”(hj¬Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¨Hh´Mnhj©Hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¨Hh´MnhjQHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj5Hubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÎHh]”hŒReturn”…”�”}”(hjÐHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÌHubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mphj5Hubj{)�”}”(hŒ^The byte size of the given samples for the format, or a negative error code if unknown format.”h]”hŒ^The byte size of the given samples for the format, or a negative error code if unknown format.”…”�”}”(hjäHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mphj5Hubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_pcm_format_silence_64 (C function)”Œc.snd_pcm_format_silence_64”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIconst unsigned char * snd_pcm_format_silence_64 (snd_pcm_format_t format)”h]”j )�”}”(hŒGconst unsigned char *snd_pcm_format_silence_64(snd_pcm_format_t format)”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjIh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!Ih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjIh²hh³j Ih´M}ubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj/Ih²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjIh²hh³j Ih´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=Ih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjIh²hh³j Ih´M}ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjKIh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjIh²hh³j Ih´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjIh²hh³j Ih´M}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgIh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjIh²hh³j Ih´M}ubj3)�”}”(hŒsnd_pcm_format_silence_64”h]”j9)�”}”(hŒsnd_pcm_format_silence_64”h]”hŒsnd_pcm_format_silence_64”…”�”}”(hjxIh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjtIubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjIh²hh³j Ih´M}ubjT)�”}”(hŒ(snd_pcm_format_t format)”h]”jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hj—Ih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj”Iubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j™IŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jzIsbŒc.snd_pcm_format_silence_64”†”asbuh1hhj�Iubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·Ih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Iubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjÅIh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŒIubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjIh²hh³j Ih´M}ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj Ih²hh³j Ih´M}ubah}”(h]”jIah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j Ih´M}hjIh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'return the silent data in 8 bytes array”h]”hŒ'return the silent data in 8 bytes array”…”�”}”(hjïIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M}hjìIh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjIh²hh³j Ih´M}ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jJjšjJj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒ**Parameters** ``snd_pcm_format_t format`` the format to check **Return** The format pattern to fill or ``NULL`` if error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjJh]”hŒ Parameters”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M�hj Jubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj0Jh]”hŒsnd_pcm_format_t format”…”�”}”(hj2Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj.Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M~hj*Jubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hjIJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jEJh´M~hjFJubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj*Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jEJh´M~hj'Jubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Jubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjkJh]”hŒReturn”…”�”}”(hjmJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjiJubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M€hj Jubj{)�”}”(hŒ0The format pattern to fill or ``NULL`` if error.”h]”(hŒThe format pattern to fill or ”…”�”}”(hj�Jh²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj‰Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�JubhŒ if error.”…”�”}”(hj�Jh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M€hj Jubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_format_set_silence (C function)”Œc.snd_pcm_format_set_silence”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_pcm_format_set_silence (snd_pcm_format_t format, void *data, unsigned int samples)”h]”j )�”}”(hŒYint snd_pcm_format_set_silence(snd_pcm_format_t format, void *data, unsigned int samples)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÂJh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾Jh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑJh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾Jh²hh³jÐJh´M�ubj3)�”}”(hŒsnd_pcm_format_set_silence”h]”j9)�”}”(hŒsnd_pcm_format_set_silence”h]”hŒsnd_pcm_format_set_silence”…”�”}”(hjãJh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjßJubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¾Jh²hh³jÐJh´M�ubjT)�”}”(hŒ;(snd_pcm_format_t format, void *data, unsigned int samples)”h]”(jZ)�”}”(hŒsnd_pcm_format_t format”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_format_t”h]”hŒsnd_pcm_format_t”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jKŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jåJsbŒc.snd_pcm_format_set_silence”†”asbuh1hhjûJubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjûJubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj0Kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷JubjZ)�”}”(hŒ void *data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjIKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjEKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEKubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjeKh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjEKubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjrKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷JubjZ)�”}”(hŒunsigned int samples”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj‹Kh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡Kubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj§Kh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡Kubj9)�”}”(hŒsamples”h]”hŒsamples”…”�”}”(hjÃKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷Jubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¾Jh²hh³jÐJh´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjºJh²hh³jÐJh´M�ubah}”(h]”jµJah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÐJh´M�hj·Jh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"set the silence data on the buffer”h]”hŒ"set the silence data on the buffer”…”�”}”(hjíKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M�hjêKh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj·Jh²hh³jÐJh´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jLjšjLj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hX5**Parameters** ``snd_pcm_format_t format`` the PCM format ``void *data`` the buffer pointer ``unsigned int samples`` the number of samples to set silence **Description** Sets the silence data on the buffer for the given samples. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjLh]”hŒ Parameters”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M‘hj Lubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ+``snd_pcm_format_t format`` the PCM format ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj.Lh]”hŒsnd_pcm_format_t format”…”�”}”(hj0Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MŽhj(Lubjæ)�”}”(hhh]”j{)�”}”(hŒthe PCM format”h]”hŒthe PCM format”…”�”}”(hjGLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jCLh´MŽhjDLubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jCLh´MŽhj%LubjÄ)�”}”(hŒ"``void *data`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``void *data``”h]”jÐ)�”}”(hjgLh]”hŒ void *data”…”�”}”(hjiLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeLubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M�hjaLubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer pointer”h]”hŒthe buffer pointer”…”�”}”(hj€Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|Lh´M�hj}Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|Lh´M�hj%LubjÄ)�”}”(hŒ>``unsigned int samples`` the number of samples to set silence ”h]”(jÊ)�”}”(hŒ``unsigned int samples``”h]”jÐ)�”}”(hj Lh]”hŒunsigned int samples”…”�”}”(hj¢Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjžLubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M�hjšLubjæ)�”}”(hhh]”j{)�”}”(hŒ$the number of samples to set silence”h]”hŒ$the number of samples to set silence”…”�”}”(hj¹Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jµLh´M�hj¶Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjšLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jµLh´M�hj%Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Lubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÛLh]”hŒ Description”…”�”}”(hjÝLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÙLubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M’hj Lubj{)�”}”(hŒ:Sets the silence data on the buffer for the given samples.”h]”hŒ:Sets the silence data on the buffer for the given samples.”…”�”}”(hjñLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M‘hj Lubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjMh]”hŒReturn”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M“hj Lubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M”hj Lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_hw_limit_rates (C function)”Œc.snd_pcm_hw_limit_rates”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8int snd_pcm_hw_limit_rates (struct snd_pcm_hardware *hw)”h]”j )�”}”(hŒ7int snd_pcm_hw_limit_rates(struct snd_pcm_hardware *hw)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjGMh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjCMh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MÔubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVMh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjCMh²hh³jUMh´MÔubj3)�”}”(hŒsnd_pcm_hw_limit_rates”h]”j9)�”}”(hŒsnd_pcm_hw_limit_rates”h]”hŒsnd_pcm_hw_limit_rates”…”�”}”(hjhMh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdMubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjCMh²hh³jUMh´MÔubjT)�”}”(hŒ(struct snd_pcm_hardware *hw)”h]”jZ)�”}”(hŒstruct snd_pcm_hardware *hw”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj„Mh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€Mubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hardware”h]”hŒsnd_pcm_hardware”…”�”}”(hj¢Mh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸMubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¤MŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jjMsbŒc.snd_pcm_hw_limit_rates”†”asbuh1hhj€Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂMh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€Mubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÐMh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj€Mubj9)�”}”(hŒhw”h]”hŒhw”…”�”}”(hjÝMh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€Mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj|Mubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjCMh²hh³jUMh´MÔubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?Mh²hh³jUMh´MÔubah}”(h]”j:Mah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jUMh´MÔhjQjšj>Qj›‰jœ‰j�‰uh1hþh²hhj�=h³Nh´NubjŸ)�”}”(hŒ´**Parameters** ``unsigned int rate_bit`` the rate bit to convert **Return** The sample rate that corresponds to the given SNDRV_PCM_RATE_xxx flag or 0 for an unknown rate bit.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjHQh]”hŒ Parameters”…”�”}”(hjJQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjFQubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjBQubj¿)�”}”(hhh]”jÄ)�”}”(hŒ2``unsigned int rate_bit`` the rate bit to convert ”h]”(jÊ)�”}”(hŒ``unsigned int rate_bit``”h]”jÐ)�”}”(hjgQh]”hŒunsigned int rate_bit”…”�”}”(hjiQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeQubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjaQubjæ)�”}”(hhh]”j{)�”}”(hŒthe rate bit to convert”h]”hŒthe rate bit to convert”…”�”}”(hj€Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|Qh´Mhj}Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|Qh´Mhj^Qubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjBQubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¢Qh]”hŒReturn”…”�”}”(hj¤Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjBQubj{)�”}”(hŒcThe sample rate that corresponds to the given SNDRV_PCM_RATE_xxx flag or 0 for an unknown rate bit.”h]”hŒcThe sample rate that corresponds to the given SNDRV_PCM_RATE_xxx flag or 0 for an unknown rate bit.”…”�”}”(hj¸Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´MhjBQubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj�=h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_pcm_rate_mask_intersect (C function)”Œc.snd_pcm_rate_mask_intersect”hNt”auh1híhj�=h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒUunsigned int snd_pcm_rate_mask_intersect (unsigned int rates_a, unsigned int rates_b)”h]”j )�”}”(hŒTunsigned int snd_pcm_rate_mask_intersect(unsigned int rates_a, unsigned int rates_b)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjçQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjãQh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöQh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjãQh²hh³jõQh´Mubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjãQh²hh³jõQh´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjãQh²hh³jõQh´Mubj3)�”}”(hŒsnd_pcm_rate_mask_intersect”h]”j9)�”}”(hŒsnd_pcm_rate_mask_intersect”h]”hŒsnd_pcm_rate_mask_intersect”…”�”}”(hj$Rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Rubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjãQh²hh³jõQh´MubjT)�”}”(hŒ,(unsigned int rates_a, unsigned int rates_b)”h]”(jZ)�”}”(hŒunsigned int rates_a”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj@Rh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjvoid snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj®Uh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjªUh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´K‡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½Uh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjªUh²hh³j¼Uh´K‡ubj3)�”}”(hŒ$snd_pcm_lib_preallocate_free_for_all”h]”j9)�”}”(hŒ$snd_pcm_lib_preallocate_free_for_all”h]”hŒ$snd_pcm_lib_preallocate_free_for_all”…”�”}”(hjÏUh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjËUubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjªUh²hh³j¼Uh´K‡ubjT)�”}”(hŒ(struct snd_pcm *pcm)”h]”jZ)�”}”(hŒstruct snd_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjëUh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjçUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjçUubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjVubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j VŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÑUsbŒ&c.snd_pcm_lib_preallocate_free_for_all”†”asbuh1hhjçUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)Vh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjçUubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj7Vh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjçUubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjDVh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjãUubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjªUh²hh³j¼Uh´K‡ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¦Uh²hh³j¼Uh´K‡ubah}”(h]”j¡Uah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¼Uh´K‡hj£Uh²hubjv)�”}”(hhh]”j{)�”}”(hŒ,release all pre-allocated buffers on the pcm”h]”hŒ,release all pre-allocated buffers on the pcm”…”�”}”(hjnVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´K‡hjkVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj£Uh²hh³j¼Uh´K‡ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j†Vjšj†Vj›‰jœ‰j�‰uh1hþh²hhjTh³Nh´NubjŸ)�”}”(hŒ…**Parameters** ``struct snd_pcm *pcm`` the pcm instance **Description** Releases all the pre-allocated buffers on the given pcm.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj�Vh]”hŒ Parameters”…”�”}”(hj’Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŽVubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´K‹hjŠVubj¿)�”}”(hhh]”jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hj¯Vh]”hŒstruct snd_pcm *pcm”…”�”}”(hj±Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj­Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Kˆhj©Vubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm instance”…”�”}”(hjÈVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄVh´KˆhjÅVubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©Vubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄVh´Kˆhj¦Vubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŠVubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjêVh]”hŒ Description”…”�”}”(hjìVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjèVubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´KŠhjŠVubj{)�”}”(hŒ8Releases all the pre-allocated buffers on the given pcm.”h]”hŒ8Releases all the pre-allocated buffers on the given pcm.”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´K‰hjŠVubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjTh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_pcm_lib_preallocate_pages (C function)”Œc.snd_pcm_lib_preallocate_pages”hNt”auh1híhjTh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ€void snd_pcm_lib_preallocate_pages (struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max)”h]”j )�”}”(hŒvoid snd_pcm_lib_preallocate_pages(struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj/Wh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj+Wh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>Wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+Wh²hh³j=Wh´M9ubj3)�”}”(hŒsnd_pcm_lib_preallocate_pages”h]”j9)�”}”(hŒsnd_pcm_lib_preallocate_pages”h]”hŒsnd_pcm_lib_preallocate_pages”…”�”}”(hjPWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLWubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+Wh²hh³j=Wh´M9ubjT)�”}”(hŒ](struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjlWh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjhWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhWubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjŠWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡Wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒWŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jRWsbŒc.snd_pcm_lib_preallocate_pages”†”asbuh1hhjhWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhWubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¸Wh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjhWubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÅWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdWubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞWh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚWubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjúWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdWubjZ)�”}”(hŒstruct device *data”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Xh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj1Xh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.Xubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j3XŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¦WŒc.snd_pcm_lib_preallocate_pages”†”asbuh1hhjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOXh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj]Xh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjXubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjjXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdWubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj†Xh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒXubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jˆXŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¦WŒc.snd_pcm_lib_preallocate_pages”†”asbuh1hhjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤Xh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj²Xh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdWubjZ)�”}”(hŒ size_t max”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÎXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjËXubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÐXŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¦WŒc.snd_pcm_lib_preallocate_pages”†”asbuh1hhjÇXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìXh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÇXubj9)�”}”(hŒmax”h]”hŒmax”…”�”}”(hjúXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÇXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdWubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj+Wh²hh³j=Wh´M9ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj'Wh²hh³j=Wh´M9ubah}”(h]”j"Wah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j=Wh´M9hj$Wh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%pre-allocation for the given DMA type”h]”hŒ%pre-allocation for the given DMA type”…”�”}”(hj$Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M9hj!Yh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj$Wh²hh³j=Wh´M9ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jhjCZubjæ)�”}”(hhh]”j{)�”}”(hŒ$the max. allowed pre-allocation size”h]”hŒ$the max. allowed pre-allocation size”…”�”}”(hjbZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^Zh´M>hj_Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjCZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j^Zh´M>hj\Yubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj@Yubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj„Zh]”hŒ Description”…”�”}”(hj†Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‚Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M@hj@Yubj{)�”}”(hŒ0Do pre-allocation for the given DMA buffer type.”h]”hŒ0Do pre-allocation for the given DMA buffer type.”…”�”}”(hjšZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M?hj@Yubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjTh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ2snd_pcm_lib_preallocate_pages_for_all (C function)”Œ'c.snd_pcm_lib_preallocate_pages_for_all”hNt”auh1híhjTh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒovoid snd_pcm_lib_preallocate_pages_for_all (struct snd_pcm *pcm, int type, void *data, size_t size, size_t max)”h]”j )�”}”(hŒnvoid snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, int type, void *data, size_t size, size_t max)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÉZh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÅZh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØZh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÅZh²hh³j×Zh´MKubj3)�”}”(hŒ%snd_pcm_lib_preallocate_pages_for_all”h]”j9)�”}”(hŒ%snd_pcm_lib_preallocate_pages_for_all”h]”hŒ%snd_pcm_lib_preallocate_pages_for_all”…”�”}”(hjêZh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæZubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÅZh²hh³j×Zh´MKubjT)�”}”(hŒD(struct snd_pcm *pcm, int type, void *data, size_t size, size_t max)”h]”(jZ)�”}”(hŒstruct snd_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h• ]”hŒsnd_pcm”…”�”}”(hj$[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj![ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j&[Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jìZsbŒ'c.snd_pcm_lib_preallocate_pages_for_all”†”asbuh1hhj[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjR[h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj[ubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hj_[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþZubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjx[h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjt[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjt[ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj”[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjt[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþZubjZ)�”}”(hŒ void *data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj­[h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj©[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»[h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj©[ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÉ[h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj©[ubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjÖ[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþZubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjò[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjï[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jô[Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j@[Œ'c.snd_pcm_lib_preallocate_pages_for_all”†”asbuh1hhjë[ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjë[ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjë[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþZubjZ)�”}”(hŒ size_t max”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj:\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7\ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j<\Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j@[Œ'c.snd_pcm_lib_preallocate_pages_for_all”†”asbuh1hhj3\ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjX\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3\ubj9)�”}”(hŒmax”h]”hŒmax”…”�”}”(hjf\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjþZubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÅZh²hh³j×Zh´MKubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÁZh²hh³j×Zh´MKubah}”(h]”j¼Zah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j×Zh´MKhj¾Zh²hubjv)�”}”(hhh]”j{)�”}”(hŒ:pre-allocation for continuous memory type (all substreams)”h]”hŒ:pre-allocation for continuous memory type (all substreams)”…”�”}”(hj�\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MKhj�\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¾Zh²hh³j×Zh´MKubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¨\jšj¨\j›‰jœ‰j�‰uh1hþh²hhjTh³Nh´NubjŸ)�”}”(hXh**Parameters** ``struct snd_pcm *pcm`` the pcm instance ``int type`` DMA type (SNDRV_DMA_TYPE_*) ``void *data`` DMA type dependent data ``size_t size`` the requested pre-allocation size in bytes ``size_t max`` the max. allowed pre-allocation size **Description** Do pre-allocation to all substreams of the given pcm for the specified DMA type.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj²\h]”hŒ Parameters”…”�”}”(hj´\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj°\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MOhj¬\ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hjÑ\h]”hŒstruct snd_pcm *pcm”…”�”}”(hjÓ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÏ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MLhjË\ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm instance”…”�”}”(hjê\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jæ\h´MLhjç\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjË\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jæ\h´MLhjÈ\ubjÄ)�”}”(hŒ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj ]h]”hŒint type”…”�”}”(hj ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MMhj]ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type (SNDRV_DMA_TYPE_*)”h]”hŒDMA type (SNDRV_DMA_TYPE_*)”…”�”}”(hj#]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]h´MMhj ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]h´MMhjÈ\ubjÄ)�”}”(hŒ'``void *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``void *data``”h]”jÐ)�”}”(hjC]h]”hŒ void *data”…”�”}”(hjE]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjA]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MNhj=]ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hj\]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jX]h´MNhjY]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jX]h´MNhjÈ\ubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hj|]h]”hŒ size_t size”…”�”}”(hj~]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjz]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MOhjv]ubjæ)�”}”(hhh]”j{)�”}”(hŒ*the requested pre-allocation size in bytes”h]”hŒ*the requested pre-allocation size in bytes”…”�”}”(hj•]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‘]h´MOhj’]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjv]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‘]h´MOhjÈ\ubjÄ)�”}”(hŒ4``size_t max`` the max. allowed pre-allocation size ”h]”(jÊ)�”}”(hŒ``size_t max``”h]”jÐ)�”}”(hjµ]h]”hŒ size_t max”…”�”}”(hj·]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj³]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MPhj¯]ubjæ)�”}”(hhh]”j{)�”}”(hŒ$the max. allowed pre-allocation size”h]”hŒ$the max. allowed pre-allocation size”…”�”}”(hjÎ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÊ]h´MPhjË]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¯]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÊ]h´MPhjÈ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¬\ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjð]h]”hŒ Description”…”�”}”(hjò]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjî]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MRhj¬\ubj{)�”}”(hŒPDo pre-allocation to all substreams of the given pcm for the specified DMA type.”h]”hŒPDo pre-allocation to all substreams of the given pcm for the specified DMA type.”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MQhj¬\ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjTh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_pcm_set_managed_buffer (C function)”Œc.snd_pcm_set_managed_buffer”hNt”auh1híhjTh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ|int snd_pcm_set_managed_buffer (struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max)”h]”j )�”}”(hŒ{int snd_pcm_set_managed_buffer(struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj5^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1^h²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1^h²hh³jC^h´M^ubj3)�”}”(hŒsnd_pcm_set_managed_buffer”h]”j9)�”}”(hŒsnd_pcm_set_managed_buffer”h]”hŒsnd_pcm_set_managed_buffer”…”�”}”(hjV^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjR^ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj1^h²hh³jC^h´M^ubjT)�”}”(hŒ](struct snd_pcm_substream *substream, int type, struct device *data, size_t size, size_t max)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjr^h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjn^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjn^ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj�^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j’^Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jX^sbŒc.snd_pcm_set_managed_buffer”†”asbuh1hhjn^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjn^ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¾^h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjn^ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjË^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjn^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjj^ubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjä^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjà^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjà^ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjà^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjj^ubjZ)�”}”(hŒstruct device *data”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj7_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j9_Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¬^Œc.snd_pcm_set_managed_buffer”†”asbuh1hhj_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjc_h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj_ubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjp_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjj^ubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjŒ_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŽ_Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¬^Œc.snd_pcm_set_managed_buffer”†”asbuh1hhj…_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj…_ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj¸_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj…_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjj^ubjZ)�”}”(hŒ size_t max”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÔ_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÑ_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÖ_Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¬^Œc.snd_pcm_set_managed_buffer”†”asbuh1hhjÍ_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÍ_ubj9)�”}”(hŒmax”h]”hŒmax”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÍ_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjj^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj1^h²hh³jC^h´M^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj-^h²hh³jC^h´M^ubah}”(h]”j(^ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jC^h´M^hj*^h²hubjv)�”}”(hhh]”j{)�”}”(hŒ(set up buffer management for a substream”h]”hŒ(set up buffer management for a substream”…”�”}”(hj*`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M^hj'`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj*^h²hh³jC^h´M^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jB`jšjB`j›‰jœ‰j�‰uh1hþh²hhjTh³Nh´NubjŸ)�”}”(hX–**Parameters** ``struct snd_pcm_substream *substream`` the pcm substream instance ``int type`` DMA type (SNDRV_DMA_TYPE_*) ``struct device *data`` DMA type dependent data ``size_t size`` the requested pre-allocation size in bytes ``size_t max`` the max. allowed pre-allocation size **Description** Do pre-allocation for the given DMA buffer type, and set the managed buffer allocation mode to the given substream. In this mode, PCM core will allocate a buffer automatically before PCM hw_params ops call, and release the buffer after PCM hw_free ops call as well, so that the driver doesn't need to invoke the allocation and the release explicitly in its callback. When a buffer is actually allocated before the PCM hw_params call, it turns on the runtime buffer_changed flag for drivers changing their h/w parameters accordingly. When **size** is non-zero and **max** is zero, this tries to allocate for only the exact buffer size without fallback, and may return -ENOMEM. Otherwise, the function tries to allocate smaller chunks if the allocation fails. This is the behavior of snd_pcm_set_fixed_buffer(). When both **size** and **max** are zero, the function only sets up the buffer for later dynamic allocations. It's used typically for buffers with SNDRV_DMA_TYPE_VMALLOC type. Upon successful buffer allocation and setup, the function returns 0. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjL`h]”hŒ Parameters”…”�”}”(hjN`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MbhjF`ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjk`h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjm`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhji`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M_hje`ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hj„`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€`h´M_hj�`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€`h´M_hjb`ubjÄ)�”}”(hŒ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj¤`h]”hŒint type”…”�”}”(hj¦`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M`hjž`ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type (SNDRV_DMA_TYPE_*)”h]”hŒDMA type (SNDRV_DMA_TYPE_*)”…”�”}”(hj½`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹`h´M`hjº`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjž`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹`h´M`hjb`ubjÄ)�”}”(hŒ0``struct device *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``struct device *data``”h]”jÐ)�”}”(hjÝ`h]”hŒstruct device *data”…”�”}”(hjß`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mahj×`ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hjö`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jò`h´Mahjó`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jò`h´Mahjb`ubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hjah]”hŒ size_t size”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mbhjaubjæ)�”}”(hhh]”j{)�”}”(hŒ*the requested pre-allocation size in bytes”h]”hŒ*the requested pre-allocation size in bytes”…”�”}”(hj/ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j+ah´Mbhj,aubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j+ah´Mbhjb`ubjÄ)�”}”(hŒ4``size_t max`` the max. allowed pre-allocation size ”h]”(jÊ)�”}”(hŒ``size_t max``”h]”jÐ)�”}”(hjOah]”hŒ size_t max”…”�”}”(hjQah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjMaubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MchjIaubjæ)�”}”(hhh]”j{)�”}”(hŒ$the max. allowed pre-allocation size”h]”hŒ$the max. allowed pre-allocation size”…”�”}”(hjhah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jdah´Mchjeaubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjIaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jdah´Mchjb`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjF`ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjŠah]”hŒ Description”…”�”}”(hjŒah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjˆaubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MehjF`ubj{)�”}”(hXDo pre-allocation for the given DMA buffer type, and set the managed buffer allocation mode to the given substream. In this mode, PCM core will allocate a buffer automatically before PCM hw_params ops call, and release the buffer after PCM hw_free ops call as well, so that the driver doesn't need to invoke the allocation and the release explicitly in its callback. When a buffer is actually allocated before the PCM hw_params call, it turns on the runtime buffer_changed flag for drivers changing their h/w parameters accordingly.”h]”hXDo pre-allocation for the given DMA buffer type, and set the managed buffer allocation mode to the given substream. In this mode, PCM core will allocate a buffer automatically before PCM hw_params ops call, and release the buffer after PCM hw_free ops call as well, so that the driver doesn’t need to invoke the allocation and the release explicitly in its callback. When a buffer is actually allocated before the PCM hw_params call, it turns on the runtime buffer_changed flag for drivers changing their h/w parameters accordingly.”…”�”}”(hj ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MdhjF`ubj{)�”}”(hXWhen **size** is non-zero and **max** is zero, this tries to allocate for only the exact buffer size without fallback, and may return -ENOMEM. Otherwise, the function tries to allocate smaller chunks if the allocation fails. This is the behavior of snd_pcm_set_fixed_buffer().”h]”(hŒWhen ”…”�”}”(hj¯ah²hh³Nh´Nubj©)�”}”(hŒ**size**”h]”hŒsize”…”�”}”(hj·ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¯aubhŒ is non-zero and ”…”�”}”(hj¯ah²hh³Nh´Nubj©)�”}”(hŒ**max**”h]”hŒmax”…”�”}”(hjÉah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¯aubhŒð is zero, this tries to allocate for only the exact buffer size without fallback, and may return -ENOMEM. Otherwise, the function tries to allocate smaller chunks if the allocation fails. This is the behavior of snd_pcm_set_fixed_buffer().”…”�”}”(hj¯ah²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MnhjF`ubj{)�”}”(hŒ®When both **size** and **max** are zero, the function only sets up the buffer for later dynamic allocations. It's used typically for buffers with SNDRV_DMA_TYPE_VMALLOC type.”h]”(hŒ When both ”…”�”}”(hjâah²hh³Nh´Nubj©)�”}”(hŒ**size**”h]”hŒsize”…”�”}”(hjêah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjâaubhŒ and ”…”�”}”(hjâah²hh³Nh´Nubj©)�”}”(hŒ**max**”h]”hŒmax”…”�”}”(hjüah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjâaubhŒ’ are zero, the function only sets up the buffer for later dynamic allocations. It’s used typically for buffers with SNDRV_DMA_TYPE_VMALLOC type.”…”�”}”(hjâah²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MshjF`ubj{)�”}”(hŒDUpon successful buffer allocation and setup, the function returns 0.”h]”hŒDUpon successful buffer allocation and setup, the function returns 0.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MwhjF`ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj&bh]”hŒReturn”…”�”}”(hj(bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj$bubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MyhjF`ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjset up buffer management for all substreams for all substreams”h]”hŒ>set up buffer management for all substreams for all substreams”…”�”}”(hj`dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M„hj]dh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj`bh²hh³jybh´M„ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jxdjšjxdj›‰jœ‰j�‰uh1hþh²hhjTh³Nh´NubjŸ)�”}”(hXí**Parameters** ``struct snd_pcm *pcm`` the pcm instance ``int type`` DMA type (SNDRV_DMA_TYPE_*) ``struct device *data`` DMA type dependent data ``size_t size`` the requested pre-allocation size in bytes ``size_t max`` the max. allowed pre-allocation size **Description** Do pre-allocation to all substreams of the given pcm for the specified DMA type and size, and set the managed_buffer_alloc flag to each substream. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‚dh]”hŒ Parameters”…”�”}”(hj„dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj€dubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mˆhj|dubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hj¡dh]”hŒstruct snd_pcm *pcm”…”�”}”(hj£dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŸdubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M†hj›dubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm instance”…”�”}”(hjºdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¶dh´M†hj·dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj›dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¶dh´M†hj˜dubjÄ)�”}”(hŒ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjÚdh]”hŒint type”…”�”}”(hjÜdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjØdubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M‡hjÔdubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type (SNDRV_DMA_TYPE_*)”h]”hŒDMA type (SNDRV_DMA_TYPE_*)”…”�”}”(hjódh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jïdh´M‡hjðdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÔdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jïdh´M‡hj˜dubjÄ)�”}”(hŒ0``struct device *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``struct device *data``”h]”jÐ)�”}”(hjeh]”hŒstruct device *data”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mˆhj eubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hj,eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j(eh´Mˆhj)eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(eh´Mˆhj˜dubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hjLeh]”hŒ size_t size”…”�”}”(hjNeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjJeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M‰hjFeubjæ)�”}”(hhh]”j{)�”}”(hŒ*the requested pre-allocation size in bytes”h]”hŒ*the requested pre-allocation size in bytes”…”�”}”(hjeeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jaeh´M‰hjbeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjFeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jaeh´M‰hj˜dubjÄ)�”}”(hŒ4``size_t max`` the max. allowed pre-allocation size ”h]”(jÊ)�”}”(hŒ``size_t max``”h]”jÐ)�”}”(hj…eh]”hŒ size_t max”…”�”}”(hj‡eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjƒeubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MŠhjeubjæ)�”}”(hhh]”j{)�”}”(hŒ$the max. allowed pre-allocation size”h]”hŒ$the max. allowed pre-allocation size”…”�”}”(hjžeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jšeh´MŠhj›eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jšeh´MŠhj˜dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj|dubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÀeh]”hŒ Description”…”�”}”(hjÂeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¾eubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MŒhj|dubj{)�”}”(hŒ’Do pre-allocation to all substreams of the given pcm for the specified DMA type and size, and set the managed_buffer_alloc flag to each substream.”h]”hŒ’Do pre-allocation to all substreams of the given pcm for the specified DMA type and size, and set the managed_buffer_alloc flag to each substream.”…”�”}”(hjÖeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M‹hj|dubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjçeh]”hŒReturn”…”�”}”(hjéeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjåeubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MŽhj|dubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjýeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M�hj|dubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjTh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_lib_malloc_pages (C function)”Œc.snd_pcm_lib_malloc_pages”hNt”auh1híhjTh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒOint snd_pcm_lib_malloc_pages (struct snd_pcm_substream *substream, size_t size)”h]”j )�”}”(hŒNint snd_pcm_lib_malloc_pages(struct snd_pcm_substream *substream, size_t size)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj,fh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj(fh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mšubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj(fh²hh³j:fh´Mšubj3)�”}”(hŒsnd_pcm_lib_malloc_pages”h]”j9)�”}”(hŒsnd_pcm_lib_malloc_pages”h]”hŒsnd_pcm_lib_malloc_pages”…”�”}”(hjMfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjIfubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj(fh²hh³j:fh´MšubjT)�”}”(hŒ2(struct snd_pcm_substream *substream, size_t size)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjifh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjefubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjefubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj‡fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„fubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‰fŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jOfsbŒc.snd_pcm_lib_malloc_pages”†”asbuh1hhjefubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjefubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjµfh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjefubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÂfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjefubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjafubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÞfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛfubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jàfŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j£fŒc.snd_pcm_lib_malloc_pages”†”asbuh1hhj×fubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×fubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjafubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj(fh²hh³j:fh´Mšubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj$fh²hh³j:fh´Mšubah}”(h]”jfah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j:fh´Mšhj!fh²hubjv)�”}”(hhh]”j{)�”}”(hŒallocate the DMA buffer”h]”hŒallocate the DMA buffer”…”�”}”(hj4gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mšhj1gh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj!fh²hh³j:fh´Mšubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jLgjšjLgj›‰jœ‰j�‰uh1hþh²hhjTh³Nh´NubjŸ)�”}”(hXf**Parameters** ``struct snd_pcm_substream *substream`` the substream to allocate the DMA buffer to ``size_t size`` the requested buffer size in bytes **Description** Allocates the DMA buffer on the BUS type given earlier to snd_pcm_lib_preallocate_xxx_pages(). **Return** 1 if the buffer is changed, 0 if not changed, or a negative code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjVgh]”hŒ Parameters”…”�”}”(hjXgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjTgubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MžhjPgubj¿)�”}”(hhh]”(jÄ)�”}”(hŒT``struct snd_pcm_substream *substream`` the substream to allocate the DMA buffer to ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjugh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjwgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjsgubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M›hjogubjæ)�”}”(hhh]”j{)�”}”(hŒ+the substream to allocate the DMA buffer to”h]”hŒ+the substream to allocate the DMA buffer to”…”�”}”(hjŽgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŠgh´M›hj‹gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjogubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŠgh´M›hjlgubjÄ)�”}”(hŒ3``size_t size`` the requested buffer size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hj®gh]”hŒ size_t size”…”�”}”(hj°gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¬gubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mœhj¨gubjæ)�”}”(hhh]”j{)�”}”(hŒ"the requested buffer size in bytes”h]”hŒ"the requested buffer size in bytes”…”�”}”(hjÇgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÃgh´MœhjÄgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¨gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÃgh´Mœhjlgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjPgubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjégh]”hŒ Description”…”�”}”(hjëgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjçgubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MžhjPgubj{)�”}”(hŒ^Allocates the DMA buffer on the BUS type given earlier to snd_pcm_lib_preallocate_xxx_pages().”h]”hŒ^Allocates the DMA buffer on the BUS type given earlier to snd_pcm_lib_preallocate_xxx_pages().”…”�”}”(hjÿgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M�hjPgubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjhh]”hŒReturn”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M hjPgubj{)�”}”(hŒL1 if the buffer is changed, 0 if not changed, or a negative code on failure.”h]”hŒL1 if the buffer is changed, 0 if not changed, or a negative code on failure.”…”�”}”(hj&hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M¡hjPgubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjTh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_pcm_lib_free_pages (C function)”Œc.snd_pcm_lib_free_pages”hNt”auh1híhjTh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ@int snd_pcm_lib_free_pages (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ?int snd_pcm_lib_free_pages(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjUhh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjQhh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MÛubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQhh²hh³jchh´MÛubj3)�”}”(hŒsnd_pcm_lib_free_pages”h]”j9)�”}”(hŒsnd_pcm_lib_free_pages”h]”hŒsnd_pcm_lib_free_pages”…”�”}”(hjvhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjrhubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjQhh²hh³jchh´MÛubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj’hh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽhubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj°hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­hubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j²hŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jxhsbŒc.snd_pcm_lib_free_pages”†”asbuh1hhjŽhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽhubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÞhh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽhubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjëhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠhubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjQhh²hh³jchh´MÛubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjMhh²hh³jchh´MÛubah}”(h]”jHhah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jchh´MÛhjJhh²hubjv)�”}”(hhh]”j{)�”}”(hŒ!release the allocated DMA buffer.”h]”hŒ!release the allocated DMA buffer.”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MÛhjih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjJhh²hh³jchh´MÛubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j-ijšj-ij›‰jœ‰j�‰uh1hþh²hhjTh³Nh´NubjŸ)�”}”(hŒû**Parameters** ``struct snd_pcm_substream *substream`` the substream to release the DMA buffer **Description** Releases the DMA buffer allocated via snd_pcm_lib_malloc_pages(). **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj7ih]”hŒ Parameters”…”�”}”(hj9ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5iubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mßhj1iubj¿)�”}”(hhh]”jÄ)�”}”(hŒP``struct snd_pcm_substream *substream`` the substream to release the DMA buffer ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjVih]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjXih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjTiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MÜhjPiubjæ)�”}”(hhh]”j{)�”}”(hŒ'the substream to release the DMA buffer”h]”hŒ'the substream to release the DMA buffer”…”�”}”(hjoih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jkih´MÜhjliubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjPiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jkih´MÜhjMiubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj1iubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‘ih]”hŒ Description”…”�”}”(hj“ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�iubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MÞhj1iubj{)�”}”(hŒAReleases the DMA buffer allocated via snd_pcm_lib_malloc_pages().”h]”hŒAReleases the DMA buffer allocated via snd_pcm_lib_malloc_pages().”…”�”}”(hj§ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MÝhj1iubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¸ih]”hŒReturn”…”�”}”(hjºih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¶iubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Mßhj1iubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÎih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´Màhj1iubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjTh²hh³Nh´Nubeh}”(h]”Œpcm-memory-management”ah ]”h"]”Œpcm memory management”ah$]”h&]”uh1hµhjþ]h²hh³hÊh´K)ubh¶)�”}”(hhh]”(h»)�”}”(hŒPCM DMA Engine API”h]”hŒPCM DMA Engine API”…”�”}”(hjïih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjìih²hh³hÊh´K-ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ-snd_hwparams_to_dma_slave_config (C function)”Œ"c.snd_hwparams_to_dma_slave_config”hNt”auh1híhjìih²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒŸint snd_hwparams_to_dma_slave_config (const struct snd_pcm_substream *substream, const struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)”h]”j )�”}”(hŒžint snd_hwparams_to_dma_slave_config(const struct snd_pcm_substream *substream, const struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjh²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%jh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjh²hh³j$jh´K,ubj3)�”}”(hŒ snd_hwparams_to_dma_slave_config”h]”j9)�”}”(hŒ snd_hwparams_to_dma_slave_config”h]”hŒ snd_hwparams_to_dma_slave_config”…”�”}”(hj7jh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3jubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjjh²hh³j$jh´K,ubjT)�”}”(hŒz(const struct snd_pcm_substream *substream, const struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)”h]”(jZ)�”}”(hŒ)const struct snd_pcm_substream *substream”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjSjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjOjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`jh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOjubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjnjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjOjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{jh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOjubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjŒjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŽjŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j9jsbŒ"c.snd_hwparams_to_dma_slave_config”†”asbuh1hhjOjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬jh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjºjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjOjubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÇjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKjubjZ)�”}”(hŒ&const struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjàjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÜjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÜjubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjûjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÜjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÜjubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjkubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jkŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¨jŒ"c.snd_hwparams_to_dma_slave_config”†”asbuh1hhjÜjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÜjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjEkh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÜjubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hjRkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÜjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKjubjZ)�”}”(hŒ%struct dma_slave_config *slave_config”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjkkh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjgkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjgkubh)�”}”(hhh]”j9)�”}”(hŒdma_slave_config”h]”hŒdma_slave_config”…”�”}”(hj‰kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†kubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‹kŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¨jŒ"c.snd_hwparams_to_dma_slave_config”†”asbuh1hhjgkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjgkubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjµkh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjgkubj9)�”}”(hŒ slave_config”h]”hŒ slave_config”…”�”}”(hjÂkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjgkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKjubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjjh²hh³j$jh´K,ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjjh²hh³j$jh´K,ubah}”(h]”j jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j$jh´K,hj jh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Convert hw_params to dma_slave_config”h]”hŒ%Convert hw_params to dma_slave_config”…”�”}”(hjìkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K,hjékh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj jh²hh³j$jh´K,ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jljšjlj›‰jœ‰j�‰uh1hþh²hhjìih³Nh´NubjŸ)�”}”(hX™**Parameters** ``const struct snd_pcm_substream *substream`` PCM substream ``const struct snd_pcm_hw_params *params`` hw_params ``struct dma_slave_config *slave_config`` DMA slave config **Description** This function can be used to initialize a dma_slave_config from a substream and hw_params in a dmaengine based PCM driver implementation. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjlh]”hŒ Parameters”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj lubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K0hjlubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``const struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ-``const struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj-lh]”hŒ)const struct snd_pcm_substream *substream”…”�”}”(hj/lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj+lubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K-hj'lubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjFlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jBlh´K-hjClubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj'lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jBlh´K-hj$lubjÄ)�”}”(hŒ5``const struct snd_pcm_hw_params *params`` hw_params ”h]”(jÊ)�”}”(hŒ*``const struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hjflh]”hŒ&const struct snd_pcm_hw_params *params”…”�”}”(hjhlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjdlubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K.hj`lubjæ)�”}”(hhh]”j{)�”}”(hŒ hw_params”h]”hŒ hw_params”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j{lh´K.hj|lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj`lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j{lh´K.hj$lubjÄ)�”}”(hŒ;``struct dma_slave_config *slave_config`` DMA slave config ”h]”(jÊ)�”}”(hŒ)``struct dma_slave_config *slave_config``”h]”jÐ)�”}”(hjŸlh]”hŒ%struct dma_slave_config *slave_config”…”�”}”(hj¡lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�lubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K/hj™lubjæ)�”}”(hhh]”j{)�”}”(hŒDMA slave config”h]”hŒDMA slave config”…”�”}”(hj¸lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j´lh´K/hjµlubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj™lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j´lh´K/hj$lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjlubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÚlh]”hŒ Description”…”�”}”(hjÜlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjØlubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K1hjlubj{)�”}”(hŒ‰This function can be used to initialize a dma_slave_config from a substream and hw_params in a dmaengine based PCM driver implementation.”h]”hŒ‰This function can be used to initialize a dma_slave_config from a substream and hw_params in a dmaengine based PCM driver implementation.”…”�”}”(hjðlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K0hjlubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjmh]”hŒReturn”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÿlubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K3hjlubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K4hjlubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ7snd_dmaengine_pcm_set_config_from_dai_data (C function)”Œ,c.snd_dmaengine_pcm_set_config_from_dai_data”hNt”auh1híhjìih²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒµvoid snd_dmaengine_pcm_set_config_from_dai_data (const struct snd_pcm_substream *substream, const struct snd_dmaengine_dai_dma_data *dma_data, struct dma_slave_config *slave_config)”h]”j )�”}”(hŒ´void snd_dmaengine_pcm_set_config_from_dai_data(const struct snd_pcm_substream *substream, const struct snd_dmaengine_dai_dma_data *dma_data, struct dma_slave_config *slave_config)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjFmh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjBmh²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´KZubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUmh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjBmh²hh³jTmh´KZubj3)�”}”(hŒ*snd_dmaengine_pcm_set_config_from_dai_data”h]”j9)�”}”(hŒ*snd_dmaengine_pcm_set_config_from_dai_data”h]”hŒ*snd_dmaengine_pcm_set_config_from_dai_data”…”�”}”(hjgmh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjcmubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjBmh²hh³jTmh´KZubjT)�”}”(hŒ…(const struct snd_pcm_substream *substream, const struct snd_dmaengine_dai_dma_data *dma_data, struct dma_slave_config *slave_config)”h]”(jZ)�”}”(hŒ)const struct snd_pcm_substream *substream”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjƒmh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjmubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjžmh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjmubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj¼mh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹mubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¾mŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jimsbŒ,c.snd_dmaengine_pcm_set_config_from_dai_data”†”asbuh1hhjmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜmh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjmubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjêmh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjmubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj÷mh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj{mubjZ)�”}”(hŒ1const struct snd_dmaengine_dai_dma_data *dma_data”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj nubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj+nh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj nubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_dai_dma_data”h]”hŒsnd_dmaengine_dai_dma_data”…”�”}”(hjInh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjFnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jKnŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jØmŒ,c.snd_dmaengine_pcm_set_config_from_dai_data”†”asbuh1hhj nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgnh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj nubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjunh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj nubj9)�”}”(hŒdma_data”h]”hŒdma_data”…”�”}”(hj‚nh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj{mubjZ)�”}”(hŒ%struct dma_slave_config *slave_config”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj›nh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj—nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—nubh)�”}”(hhh]”j9)�”}”(hŒdma_slave_config”h]”hŒdma_slave_config”…”�”}”(hj¹nh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶nubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j»nŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jØmŒ,c.snd_dmaengine_pcm_set_config_from_dai_data”†”asbuh1hhj—nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—nubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjånh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj—nubj9)�”}”(hŒ slave_config”h]”hŒ slave_config”…”�”}”(hjònh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj{mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjBmh²hh³jTmh´KZubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj>mh²hh³jTmh´KZubah}”(h]”j9mah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jTmh´KZhj;mh²hubjv)�”}”(hhh]”j{)�”}”(hŒ2Initializes a dma slave config using DAI DMA data.”h]”hŒ2Initializes a dma slave config using DAI DMA data.”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´KZhjoh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj;mh²hh³jTmh´KZubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j4ojšj4oj›‰jœ‰j�‰uh1hþh²hhjìih³Nh´NubjŸ)�”}”(hXh**Parameters** ``const struct snd_pcm_substream *substream`` PCM substream ``const struct snd_dmaengine_dai_dma_data *dma_data`` DAI DMA data ``struct dma_slave_config *slave_config`` DMA slave configuration **Description** Initializes the {dst,src}_addr, {dst,src}_maxburst, {dst,src}_addr_width fields of the DMA slave config from the same fields of the DAI DMA data struct. The src and dst fields will be initialized depending on the direction of the substream. If the substream is a playback stream the dst fields will be initialized, if it is a capture stream the src fields will be initialized. The {dst,src}_addr_width field will only be initialized if the SND_DMAENGINE_PCM_DAI_FLAG_PACK flag is set or if the addr_width field of the DAI DMA data struct is not equal to DMA_SLAVE_BUSWIDTH_UNDEFINED. If both conditions are met the latter takes priority.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj>oh]”hŒ Parameters”…”�”}”(hj@oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjyh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjxh²hh³jxh´M)ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jYyjšjYyj›‰jœ‰j�‰uh1hþh²hhjìih³Nh´NubjŸ)�”}”(hX£**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``struct dma_chan *chan`` DMA channel to use for data transfers **Description** The function should usually be called from the pcm open callback. Note that this function will use private_data field of the substream's runtime. So it is not available to your pcm driver implementation. **Return** 0 on success, a negative error code otherwise”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjcyh]”hŒ Parameters”…”�”}”(hjeyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjayubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M-hj]yubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj‚yh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj„yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€yubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M*hj|yubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj›yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j—yh´M*hj˜yubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|yubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—yh´M*hjyyubjÄ)�”}”(hŒ@``struct dma_chan *chan`` DMA channel to use for data transfers ”h]”(jÊ)�”}”(hŒ``struct dma_chan *chan``”h]”jÐ)�”}”(hj»yh]”hŒstruct dma_chan *chan”…”�”}”(hj½yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¹yubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M+hjµyubjæ)�”}”(hhh]”j{)�”}”(hŒ%DMA channel to use for data transfers”h]”hŒ%DMA channel to use for data transfers”…”�”}”(hjÔyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐyh´M+hjÑyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµyubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐyh´M+hjyyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj]yubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjöyh]”hŒ Description”…”�”}”(hjøyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjôyubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M-hj]yubj{)�”}”(hŒËThe function should usually be called from the pcm open callback. Note that this function will use private_data field of the substream's runtime. So it is not available to your pcm driver implementation.”h]”hŒÍThe function should usually be called from the pcm open callback. Note that this function will use private_data field of the substream’s runtime. So it is not available to your pcm driver implementation.”…”�”}”(hj zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M,hj]yubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjzh]”hŒReturn”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M0hj]yubj{)�”}”(hŒ-0 on success, a negative error code otherwise”h]”hŒ-0 on success, a negative error code otherwise”…”�”}”(hj3zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M1hj]yubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_dmaengine_pcm_close (C function)”Œc.snd_dmaengine_pcm_close”hNt”auh1híhjìih²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒAint snd_dmaengine_pcm_close (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ@int snd_dmaengine_pcm_close(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjbzh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj^zh²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^zh²hh³jpzh´Mmubj3)�”}”(hŒsnd_dmaengine_pcm_close”h]”j9)�”}”(hŒsnd_dmaengine_pcm_close”h]”hŒsnd_dmaengine_pcm_close”…”�”}”(hjƒzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj^zh²hh³jpzh´MmubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŸzh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj›zubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬zh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›zubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj½zh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¿zŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j…zsbŒc.snd_dmaengine_pcm_close”†”asbuh1hhj›zubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›zubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjëzh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj›zubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjøzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj›zubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj—zubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj^zh²hh³jpzh´Mmubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjZzh²hh³jpzh´Mmubah}”(h]”jUzah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jpzh´MmhjWzh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Close a dmaengine based PCM substream”h]”hŒ%Close a dmaengine based PCM substream”…”�”}”(hj"{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mmhj{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjWzh²hh³jpzh´Mmubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j:{jšj:{j›‰jœ‰j�‰uh1hþh²hhjìih³Nh´NubjŸ)�”}”(hŒ‚**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Return** 0 on success, a negative error code otherwise”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjD{h]”hŒ Parameters”…”�”}”(hjF{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjB{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mqhj>{ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjc{h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hje{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhja{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mnhj]{ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj|{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jx{h´Mnhjy{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx{h´MnhjZ{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj>{ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjž{h]”hŒReturn”…”�”}”(hj {h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjœ{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mphj>{ubj{)�”}”(hŒ-0 on success, a negative error code otherwise”h]”hŒ-0 on success, a negative error code otherwise”…”�”}”(hj´{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mphj>{ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ1snd_dmaengine_pcm_close_release_chan (C function)”Œ&c.snd_dmaengine_pcm_close_release_chan”hNt”auh1híhjìih²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒNint snd_dmaengine_pcm_close_release_chan (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒMint snd_dmaengine_pcm_close_release_chan(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjã{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjß{h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjß{h²hh³jñ{h´Mzubj3)�”}”(hŒ$snd_dmaengine_pcm_close_release_chan”h]”j9)�”}”(hŒ$snd_dmaengine_pcm_close_release_chan”h]”hŒ$snd_dmaengine_pcm_close_release_chan”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj|ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjß{h²hh³jñ{h´MzubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj |h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj>|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j@|Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j|sbŒ&c.snd_dmaengine_pcm_close_release_chan”†”asbuh1hhj|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjl|h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj|ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjy|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj|ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjß{h²hh³jñ{h´Mzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛ{h²hh³jñ{h´Mzubah}”(h]”jÖ{ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jñ{h´MzhjØ{h²hubjv)�”}”(hhh]”j{)�”}”(hŒ9Close a dmaengine based PCM substream and release channel”h]”hŒ9Close a dmaengine based PCM substream and release channel”…”�”}”(hj£|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mzhj |h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjØ{h²hh³jñ{h´Mzubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j»|jšj»|j›‰jœ‰j�‰uh1hþh²hhjìih³Nh´NubjŸ)�”}”(hŒÏ**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** Releases the DMA channel associated with the PCM substream. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÅ|h]”hŒ Parameters”…”�”}”(hjÇ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÃ|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M~hj¿|ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjä|h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjæ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjâ|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M|hjÞ|ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjý|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jù|h´M|hjú|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞ|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jù|h´M|hjÛ|ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¿|ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj}h]”hŒ Description”…”�”}”(hj!}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M~hj¿|ubj{)�”}”(hŒ;Releases the DMA channel associated with the PCM substream.”h]”hŒ;Releases the DMA channel associated with the PCM substream.”…”�”}”(hj5}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M}hj¿|ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjF}h]”hŒReturn”…”�”}”(hjH}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjD}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mhj¿|ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hj\}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M€hj¿|ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ6snd_dmaengine_pcm_refine_runtime_hwparams (C function)”Œ+c.snd_dmaengine_pcm_refine_runtime_hwparams”hNt”auh1híhjìih²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ´int snd_dmaengine_pcm_refine_runtime_hwparams (struct snd_pcm_substream *substream, struct snd_dmaengine_dai_dma_data *dma_data, struct snd_pcm_hardware *hw, struct dma_chan *chan)”h]”j )�”}”(hŒ³int snd_dmaengine_pcm_refine_runtime_hwparams(struct snd_pcm_substream *substream, struct snd_dmaengine_dai_dma_data *dma_data, struct snd_pcm_hardware *hw, struct dma_chan *chan)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‹}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡}h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´MŠubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡}h²hh³j™}h´MŠubj3)�”}”(hŒ)snd_dmaengine_pcm_refine_runtime_hwparams”h]”j9)�”}”(hŒ)snd_dmaengine_pcm_refine_runtime_hwparams”h]”hŒ)snd_dmaengine_pcm_refine_runtime_hwparams”…”�”}”(hj¬}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨}ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‡}h²hh³j™}h´MŠubjT)�”}”(hŒ†(struct snd_pcm_substream *substream, struct snd_dmaengine_dai_dma_data *dma_data, struct snd_pcm_hardware *hw, struct dma_chan *chan)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÈ}h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÄ}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄ}ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjæ}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjã}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jè}Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j®}sbŒ+c.snd_dmaengine_pcm_refine_runtime_hwparams”†”asbuh1hhjÄ}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄ}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÄ}ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj!~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄ}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ}ubjZ)�”}”(hŒ+struct snd_dmaengine_dai_dma_data *dma_data”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj:~h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj6~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6~ubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_dai_dma_data”h]”hŒsnd_dmaengine_dai_dma_data”…”�”}”(hjX~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jZ~Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j~Œ+c.snd_dmaengine_pcm_refine_runtime_hwparams”†”asbuh1hhj6~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6~ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj„~h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj6~ubj9)�”}”(hŒdma_data”h]”hŒdma_data”…”�”}”(hj‘~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ}ubjZ)�”}”(hŒstruct snd_pcm_hardware *hw”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjª~h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¦~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦~ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hardware”h]”hŒsnd_pcm_hardware”…”�”}”(hjÈ~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÅ~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÊ~Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j~Œ+c.snd_dmaengine_pcm_refine_runtime_hwparams”†”asbuh1hhj¦~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæ~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦~ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjô~h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¦~ubj9)�”}”(hŒhw”h]”hŒhw”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ}ubjZ)�”}”(hŒstruct dma_chan *chan”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒdma_chan”h]”hŒdma_chan”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j:Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j~Œ+c.snd_dmaengine_pcm_refine_runtime_hwparams”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒchan”h]”hŒchan”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ}ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj‡}h²hh³j™}h´MŠubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjƒ}h²hh³j™}h´MŠubah}”(h]”j~}ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j™}h´MŠhj€}h²hubjv)�”}”(hhh]”j{)�”}”(hŒRefine runtime hw params”h]”hŒRefine runtime hw params”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´MŠhj˜h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj€}h²hh³j™}h´MŠubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j³jšj³j›‰jœ‰j�‰uh1hþh²hhjìih³Nh´NubjŸ)�”}”(hXš**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``struct snd_dmaengine_dai_dma_data *dma_data`` DAI DMA data ``struct snd_pcm_hardware *hw`` PCM hw params ``struct dma_chan *chan`` DMA channel to use for data transfers **Description** This function will query DMA capability, then refine the pcm hardware parameters. **Return** 0 on success, a negative error code otherwise”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj½h]”hŒ Parameters”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´MŽhj·ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÜh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M‹hjÖubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jñh´M‹hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jñh´M‹hjÓubjÄ)�”}”(hŒ=``struct snd_dmaengine_dai_dma_data *dma_data`` DAI DMA data ”h]”(jÊ)�”}”(hŒ/``struct snd_dmaengine_dai_dma_data *dma_data``”h]”jÐ)�”}”(hj€h]”hŒ+struct snd_dmaengine_dai_dma_data *dma_data”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´MŒhj€ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAI DMA data”h]”hŒ DAI DMA data”…”�”}”(hj.€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j*€h´MŒhj+€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j*€h´MŒhjÓubjÄ)�”}”(hŒ.``struct snd_pcm_hardware *hw`` PCM hw params ”h]”(jÊ)�”}”(hŒ``struct snd_pcm_hardware *hw``”h]”jÐ)�”}”(hjN€h]”hŒstruct snd_pcm_hardware *hw”…”�”}”(hjP€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjL€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M�hjH€ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM hw params”h]”hŒ PCM hw params”…”�”}”(hjg€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jc€h´M�hjd€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjH€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jc€h´M�hjÓubjÄ)�”}”(hŒ@``struct dma_chan *chan`` DMA channel to use for data transfers ”h]”(jÊ)�”}”(hŒ``struct dma_chan *chan``”h]”jÐ)�”}”(hj‡€h]”hŒstruct dma_chan *chan”…”�”}”(hj‰€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´MŽhj�€ubjæ)�”}”(hhh]”j{)�”}”(hŒ%DMA channel to use for data transfers”h]”hŒ%DMA channel to use for data transfers”…”�”}”(hj €h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœ€h´MŽhj�€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœ€h´MŽhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj·ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj€h]”hŒ Description”…”�”}”(hjÄ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÀ€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M�hj·ubj{)�”}”(hŒQThis function will query DMA capability, then refine the pcm hardware parameters.”h]”hŒQThis function will query DMA capability, then refine the pcm hardware parameters.”…”�”}”(hjØ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M�hj·ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjé€h]”hŒReturn”…”�”}”(hjë€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjç€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M’hj·ubj{)�”}”(hŒ-0 on success, a negative error code otherwise”h]”hŒ-0 on success, a negative error code otherwise”…”�”}”(hjÿ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M“hj·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ/snd_pcm_substream_to_dma_direction (C function)”Œ$c.snd_pcm_substream_to_dma_direction”hNt”auh1híhjìih²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒjenum dma_transfer_direction snd_pcm_substream_to_dma_direction (const struct snd_pcm_substream *substream)”h]”j )�”}”(hŒienum dma_transfer_direction snd_pcm_substream_to_dma_direction(const struct snd_pcm_substream *substream)”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hj/�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj+�h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+�h²hh³j<�h´Kubh)�”}”(hhh]”j9)�”}”(hŒdma_transfer_direction”h]”hŒdma_transfer_direction”…”�”}”(hjN�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjK�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jP�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œ"snd_pcm_substream_to_dma_direction”sbŒ$c.snd_pcm_substream_to_dma_direction”†”asbuh1hhj+�h²hh³j<�h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+�h²hh³j<�h´Kubj3)�”}”(hŒ"snd_pcm_substream_to_dma_direction”h]”j9)�”}”(hjl�h]”hŒ"snd_pcm_substream_to_dma_direction”…”�”}”(hj��h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}�ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+�h²hh³j<�h´KubjT)�”}”(hŒ+(const struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ)const struct snd_pcm_substream *substream”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjœ�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj˜�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj˜�ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj·�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj˜�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj˜�ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÕ�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒ�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j×�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jj�Œ$c.snd_pcm_substream_to_dma_direction”†”asbuh1hhj˜�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjó�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj˜�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj˜�ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˜�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj”�ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj+�h²hh³j<�h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj'�h²hh³j<�h´Kubah}”(h]”j!�ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j<�h´Khj$�h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Get dma_transfer_direction for a PCM substream”h]”hŒ.Get dma_transfer_direction for a PCM substream”…”�”}”(hj8‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khj5‚h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj$�h²hh³j<�h´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jP‚jšjP‚j›‰jœ‰j�‰uh1hþh²hhjìih³j#�h´NubjŸ)�”}”(hŒq**Parameters** ``const struct snd_pcm_substream *substream`` PCM substream **Return** DMA transfer direction”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjZ‚h]”hŒ Parameters”…”�”}”(hj\‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjX‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KhjT‚ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ<``const struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ-``const struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjy‚h]”hŒ)const struct snd_pcm_substream *substream”…”�”}”(hj{‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khjs‚ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj’‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽ‚h´Khj�‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjs‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽ‚h´Khjp‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjT‚ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj´‚h]”hŒReturn”…”�”}”(hj¶‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj²‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KhjT‚ubj{)�”}”(hŒDMA transfer direction”h]”hŒDMA transfer direction”…”�”}”(hjÊ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KhjT‚ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³j#�h´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_dmaengine_dai_dma_data (C struct)”Œc.snd_dmaengine_dai_dma_data”hNt”auh1híhjìih²hh³j#�h´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_dmaengine_dai_dma_data”h]”j )�”}”(hŒ!struct snd_dmaengine_dai_dma_data”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjù‚h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjõ‚h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõ‚h²hh³jƒh´Kubj3)�”}”(hŒsnd_dmaengine_dai_dma_data”h]”j9)�”}”(hjó‚h]”hŒsnd_dmaengine_dai_dma_data”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjõ‚h²hh³jƒh´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjñ‚h²hh³jƒh´Kubah}”(h]”jì‚ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jƒh´Khjî‚h²hubjv)�”}”(hhh]”j{)�”}”(hŒDAI DMA configuration data”h]”hŒDAI DMA configuration data”…”�”}”(hj;ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K:hj8ƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjî‚h²hh³jƒh´Kubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jSƒjšjSƒj›‰jœ‰j�‰uh1hþh²hhjìih³j#�h´NubjŸ)�”}”(hXž**Definition**:: struct snd_dmaengine_dai_dma_data { dma_addr_t addr; enum dma_slave_buswidth addr_width; u32 maxburst; void *filter_data; const char *chan_name; unsigned int fifo_size; unsigned int flags; void *peripheral_config; size_t peripheral_size; u32 port_window_size; }; **Members** ``addr`` Address of the DAI data source or destination register. ``addr_width`` Width of the DAI data source or destination register. ``maxburst`` Maximum number of words(note: words, as in units of the src_addr_width member, not bytes) that can be send to or received from the DAI in one burst. ``filter_data`` Custom DMA channel filter data, this will usually be used when requesting the DMA channel. ``chan_name`` Custom channel name to use when requesting DMA channel. ``fifo_size`` FIFO size of the DAI controller in bytes ``flags`` PCM_DAI flags, only SND_DMAENGINE_PCM_DAI_FLAG_PACK for now ``peripheral_config`` peripheral configuration for programming peripheral for dmaengine transfer ``peripheral_size`` peripheral configuration buffer size ``port_window_size`` The length of the register area in words the data need to be accessed on the device side. It is only used for devices which is using an area instead of a single register to send/receive the data. Typically the DMA loops in this area in order to transfer the data.”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj_ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj[ƒubhŒ:”…”�”}”(hj[ƒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K>hjWƒubhŒ literal_block”“”)�”}”(hX.struct snd_dmaengine_dai_dma_data { dma_addr_t addr; enum dma_slave_buswidth addr_width; u32 maxburst; void *filter_data; const char *chan_name; unsigned int fifo_size; unsigned int flags; void *peripheral_config; size_t peripheral_size; u32 port_window_size; };”h]”hX.struct snd_dmaengine_dai_dma_data { dma_addr_t addr; enum dma_slave_buswidth addr_width; u32 maxburst; void *filter_data; const char *chan_name; unsigned int fifo_size; unsigned int flags; void *peripheral_config; size_t peripheral_size; u32 port_window_size; };”…”�”}”hjzƒsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K@hjWƒubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj‹ƒh]”hŒMembers”…”�”}”(hj�ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‰ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KMhjWƒubj¿)�”}”(hhh]”(jÄ)�”}”(hŒA``addr`` Address of the DAI data source or destination register. ”h]”(jÊ)�”}”(hŒ``addr``”h]”•jÐ)�”}”(hjªƒh]”hŒaddr”…”�”}”(hj¬ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khj2„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1„h´K@hj¡ƒubjÄ)�”}”(hŒk``filter_data`` Custom DMA channel filter data, this will usually be used when requesting the DMA channel. ”h]”(jÊ)�”}”(hŒ``filter_data``”h]”jÐ)�”}”(hjV„h]”hŒ filter_data”…”�”}”(hjX„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjT„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KBhjP„ubjæ)�”}”(hhh]”j{)�”}”(hŒZCustom DMA channel filter data, this will usually be used when requesting the DMA channel.”h]”hŒZCustom DMA channel filter data, this will usually be used when requesting the DMA channel.”…”�”}”(hjo„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KAhjl„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjP„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jk„h´KBhj¡ƒubjÄ)�”}”(hŒF``chan_name`` Custom channel name to use when requesting DMA channel. ”h]”(jÊ)�”}”(hŒ ``chan_name``”h]”jÐ)�”}”(hj�„h]”hŒ chan_name”…”�”}”(hj’„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŽ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KChjŠ„ubjæ)�”}”(hhh]”j{)�”}”(hŒ7Custom channel name to use when requesting DMA channel.”h]”hŒ7Custom channel name to use when requesting DMA channel.”…”�”}”(hj©„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¥„h´KChj¦„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŠ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¥„h´KChj¡ƒubjÄ)�”}”(hŒ7``fifo_size`` FIFO size of the DAI controller in bytes ”h]”(jÊ)�”}”(hŒ ``fifo_size``”h]”jÐ)�”}”(hjÉ„h]”hŒ fifo_size”…”�”}”(hjË„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÇ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KDhjÄubjæ)�”}”(hhh]”j{)�”}”(hŒ(FIFO size of the DAI controller in bytes”h]”hŒ(FIFO size of the DAI controller in bytes”…”�”}”(hjâ„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÞ„h´KDhjß„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÞ„h´KDhj¡ƒubjÄ)�”}”(hŒF``flags`` PCM_DAI flags, only SND_DMAENGINE_PCM_DAI_FLAG_PACK for now ”h]”(jÊ)�”}”(hŒ ``flags``”h]”jÐ)�”}”(hj…h]”hŒflags”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KEhjü„ubjæ)�”}”(hhh]”j{)�”}”(hŒ;PCM_DAI flags, only SND_DMAENGINE_PCM_DAI_FLAG_PACK for now”h]”hŒ;PCM_DAI flags, only SND_DMAENGINE_PCM_DAI_FLAG_PACK for now”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j…h´KEhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjü„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j…h´KEhj¡ƒubjÄ)�”}”(hŒa``peripheral_config`` peripheral configuration for programming peripheral for dmaengine transfer ”h]”(jÊ)�”}”(hŒ``peripheral_config``”h]”jÐ)�”}”(hj;…h]”hŒperipheral_config”…”�”}”(hj=…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj9…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KGhj5…ubjæ)�”}”(hhh]”j{)�”}”(hŒJperipheral configuration for programming peripheral for dmaengine transfer”h]”hŒJperipheral configuration for programming peripheral for dmaengine transfer”…”�”}”(hjT…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KFhjQ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj5…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jP…h´KGhj¡ƒubjÄ)�”}”(hŒ9``peripheral_size`` peripheral configuration buffer size ”h]”(jÊ)�”}”(hŒ``peripheral_size``”h]”jÐ)�”}”(hju…h]”hŒperipheral_size”…”�”}”(hjw…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjs…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KHhjo…ubjæ)�”}”(hhh]”j{)�”}”(hŒ$peripheral configuration buffer size”h]”hŒ$peripheral configuration buffer size”…”�”}”(hjŽ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŠ…h´KHhj‹…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjo…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŠ…h´KHhj¡ƒubjÄ)�”}”(hX``port_window_size`` The length of the register area in words the data need to be accessed on the device side. It is only used for devices which is using an area instead of a single register to send/receive the data. Typically the DMA loops in this area in order to transfer the data.”h]”(jÊ)�”}”(hŒ``port_window_size``”h]”jÐ)�”}”(hj®…h]”hŒport_window_size”…”�”}”(hj°…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¬…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KKhj¨…ubjæ)�”}”(hhh]”j{)�”}”(hXThe length of the register area in words the data need to be accessed on the device side. It is only used for devices which is using an area instead of a single register to send/receive the data. Typically the DMA loops in this area in order to transfer the data.”h]”hXThe length of the register area in words the data need to be accessed on the device side. It is only used for devices which is using an area instead of a single register to send/receive the data. Typically the DMA loops in this area in order to transfer the data.”…”�”}”(hjÇ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KIhjÄ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¨…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÃ…h´KKhj¡ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjWƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³j#�h´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_dmaengine_pcm_config (C struct)”Œc.snd_dmaengine_pcm_config”hNt”auh1híhjìih²hh³j#�h´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_dmaengine_pcm_config”h]”j )�”}”(hŒstruct snd_dmaengine_pcm_config”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj†h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KRubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†h²hh³j†h´KRubj3)�”}”(hŒsnd_dmaengine_pcm_config”h]”j9)�”}”(hj†h]”hŒsnd_dmaengine_pcm_config”…”�”}”(hj(†h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$†ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj†h²hh³j†h´KRubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj†h²hh³j†h´KRubah}”(h]”jû…ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j†h´KRhjý…h²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Configuration data for dmaengine based PCM”h]”hŒ*Configuration data for dmaengine based PCM”…”�”}”(hjJ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KvhjG†h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjý…h²hh³j†h´KRubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jb†jšjb†j›‰jœ‰j�‰uh1hþh²hhjìih³j#�h´NubjŸ)�”}”(hXK**Definition**:: struct snd_dmaengine_pcm_config { int (*prepare_slave_config)(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config); struct dma_chan *(*compat_request_channel)( struct snd_soc_pcm_runtime *rtd, struct snd_pcm_substream *substream); int (*process)(struct snd_pcm_substream *substream, int channel, unsigned long hwoff, unsigned long bytes); const char *name; dma_filter_fn compat_filter_fn; struct device *dma_dev; const char *chan_names[SNDRV_PCM_STREAM_LAST + 1]; const struct snd_pcm_hardware *pcm_hardware; unsigned int prealloc_buffer_size; }; **Members** ``prepare_slave_config`` Callback used to fill in the DMA slave_config for a PCM substream. Will be called from the PCM drivers hwparams callback. ``compat_request_channel`` Callback to request a DMA channel for platforms which do not use devicetree. ``process`` Callback used to apply processing on samples transferred from/to user space. ``name`` Component name. If null, dev_name will be used. ``compat_filter_fn`` Will be used as the filter function when requesting a channel for platforms which do not use devicetree. The filter parameter will be the DAI's DMA data. ``dma_dev`` If set, request DMA channel on this device rather than the DAI device. ``chan_names`` If set, these custom DMA channel names will be requested at registration time. ``pcm_hardware`` snd_pcm_hardware struct to be used for the PCM. ``prealloc_buffer_size`` Size of the preallocated audio buffer.”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjn†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjj†ubhŒ:”…”�”}”(hjj†h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kzhjf†ubjyƒ)�”}”(hXstruct snd_dmaengine_pcm_config { int (*prepare_slave_config)(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config); struct dma_chan *(*compat_request_channel)( struct snd_soc_pcm_runtime *rtd, struct snd_pcm_substream *substream); int (*process)(struct snd_pcm_substream *substream, int channel, unsigned long hwoff, unsigned long bytes); const char *name; dma_filter_fn compat_filter_fn; struct device *dma_dev; const char *chan_names[SNDRV_PCM_STREAM_LAST + 1]; const struct snd_pcm_hardware *pcm_hardware; unsigned int prealloc_buffer_size; };”h]”hXstruct snd_dmaengine_pcm_config { int (*prepare_slave_config)(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config); struct dma_chan *(*compat_request_channel)( struct snd_soc_pcm_runtime *rtd, struct snd_pcm_substream *substream); int (*process)(struct snd_pcm_substream *substream, int channel, unsigned long hwoff, unsigned long bytes); const char *name; dma_filter_fn compat_filter_fn; struct device *dma_dev; const char *chan_names[SNDRV_PCM_STREAM_LAST + 1]; const struct snd_pcm_hardware *pcm_hardware; unsigned int prealloc_buffer_size; };”…”�”}”hj‡†sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K|hjf†ubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj˜†h]”hŒMembers”…”�”}”(hjš†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj–†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kˆhjf†ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ“``prepare_slave_config`` Callback used to fill in the DMA slave_config for a PCM substream. Will be called from the PCM drivers hwparams callback. ”h]”(jÊ)�”}”(hŒ``prepare_slave_config``”h]”jÐ)�”}”(hj·†h]”hŒprepare_slave_config”…”�”}”(hj¹†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjµ†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kyhj±†ubjæ)�”}”(hhh]”j{)�”}”(hŒyCallback used to fill in the DMA slave_config for a PCM substream. Will be called from the PCM drivers hwparams callback.”h]”hŒyCallback used to fill in the DMA slave_config for a PCM substream. Will be called from the PCM drivers hwparams callback.”…”�”}”(hjІh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kxhj͆ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj±†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j̆h´Kyhj®†ubjÄ)�”}”(hŒh``compat_request_channel`` Callback to request a DMA channel for platforms which do not use devicetree. ”h]”(jÊ)�”}”(hŒ``compat_request_channel``”h]”jÐ)�”}”(hjñ†h]”hŒcompat_request_channel”…”�”}”(hjó†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjï†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K{hjë†ubjæ)�”}”(hhh]”j{)�”}”(hŒLCallback to request a DMA channel for platforms which do not use devicetree.”h]”hŒLCallback to request a DMA channel for platforms which do not use devicetree.”…”�”}”(hj ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kzhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjë†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡h´K{hj®†ubjÄ)�”}”(hŒY``process`` Callback used to apply processing on samples transferred from/to user space. ”h]”(jÊ)�”}”(hŒ ``process``”h]”jÐ)�”}”(hj+‡h]”hŒprocess”…”�”}”(hj-‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj)‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K}hj%‡ubjæ)�”}”(hhh]”j{)�”}”(hŒLCallback used to apply processing on samples transferred from/to user space.”h]”hŒLCallback used to apply processing on samples transferred from/to user space.”…”�”}”(hjD‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K|hjA‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j@‡h´K}hj®†ubjÄ)�”}”(hŒ9``name`` Component name. If null, dev_name will be used. ”h]”(jÊ)�”}”(hŒ``name``”h]”jÐ)�”}”(hje‡h]”hŒname”…”�”}”(hjg‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjc‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K~hj_‡ubjæ)�”}”(hhh]”j{)�”}”(hŒ/Component name. If null, dev_name will be used.”h]”hŒ/Component name. If null, dev_name will be used.”…”�”}”(hj~‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jz‡h´K~hj{‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj_‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jz‡h´K~hj®†ubjÄ)�”}”(hŒ¯``compat_filter_fn`` Will be used as the filter function when requesting a channel for platforms which do not use devicetree. The filter parameter will be the DAI's DMA data. ”h]”(jÊ)�”}”(hŒ``compat_filter_fn``”h]”jÐ)�”}”(hjž‡h]”hŒcompat_filter_fn”…”�”}”(hj ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjœ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K�hj˜‡ubjæ)�”}”(hhh]”j{)�”}”(hŒ™Will be used as the filter function when requesting a channel for platforms which do not use devicetree. The filter parameter will be the DAI's DMA data.”h]”hŒ›Will be used as the filter function when requesting a channel for platforms which do not use devicetree. The filter parameter will be the DAI’s DMA data.”…”�”}”(hj·‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khj´‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj˜‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j³‡h´K�hj®†ubjÄ)�”}”(hŒS``dma_dev`` If set, request DMA channel on this device rather than the DAI device. ”h]”(jÊ)�”}”(hŒ ``dma_dev``”h]”jÐ)�”}”(hj؇h]”hŒdma_dev”…”�”}”(hjÚ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÖ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KƒhjÒ‡ubjæ)�”}”(hhh]”j{)�”}”(hŒFIf set, request DMA channel on this device rather than the DAI device.”h]”hŒFIf set, request DMA channel on this device rather than the DAI device.”…”�”}”(hjñ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K‚hjî‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÒ‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jí‡h´Kƒhj®†ubjÄ)�”}”(hŒ^``chan_names`` If set, these custom DMA channel names will be requested at registration time. ”h]”(jÊ)�”}”(hŒ``chan_names``”h]”jÐ)�”}”(hjˆh]”hŒ chan_names”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K…hj ˆubjæ)�”}”(hhh]”j{)�”}”(hŒNIf set, these custom DMA channel names will be requested at registration time.”h]”hŒNIf set, these custom DMA channel names will be requested at registration time.”…”�”}”(hj+ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K„hj(ˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j'ˆh´K…hj®†ubjÄ)�”}”(hŒA``pcm_hardware`` snd_pcm_hardware struct to be used for the PCM. ”h]”(jÊ)�”}”(hŒ``pcm_hardware``”h]”jÐ)�”}”(hjLˆh]”hŒ pcm_hardware”…”�”}”(hjNˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjJˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K†hjFˆubjæ)�”}”(hhh]”j{)�”}”(hŒ/snd_pcm_hardware struct to be used for the PCM.”h]”hŒ/snd_pcm_hardware struct to be used for the PCM.”…”�”}”(hjeˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jaˆh´K†hjbˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjFˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jaˆh´K†hj®†ubjÄ)�”}”(hŒ?``prealloc_buffer_size`` Size of the preallocated audio buffer.”h]”(jÊ)�”}”(hŒ``prealloc_buffer_size``”h]”jÐ)�”}”(hj…ˆh]”hŒprealloc_buffer_size”…”�”}”(hj‡ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjƒˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K†hjˆubjæ)�”}”(hhh]”j{)�”}”(hŒ&Size of the preallocated audio buffer.”h]”hŒ&Size of the preallocated audio buffer.”…”�”}”(hjžˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K‡hj›ˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jšˆh´K†hj®†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjf†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjìih²hh³j#�h´Nubj{)�”}”(hŒ**Note**”h]”j©)�”}”(hjȈh]”hŒNote”…”�”}”(hjʈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjƈubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´KŠhjìih²hubj{)�”}”(hX If both compat_request_channel and compat_filter_fn are set compat_request_channel will be used to request the channel and compat_filter_fn will be ignored. Otherwise the channel will be requested using dma_request_channel with compat_filter_fn as the filter function.”h]”hX If both compat_request_channel and compat_filter_fn are set compat_request_channel will be used to request the channel and compat_filter_fn will be ignored. Otherwise the channel will be requested using dma_request_channel with compat_filter_fn as the filter function.”…”�”}”(hjÞˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Kˆhjìih²hubeh}”(h]”Œpcm-dma-engine-api”ah ]”h"]”Œpcm dma engine api”ah$]”h&]”uh1hµhjþ]h²hh³hÊh´K-ubeh}”(h]”Œpcm-api”ah ]”h"]”Œpcm api”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒControl/Mixer API”h]”hŒControl/Mixer API”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjýˆh²hh³hÊh´K2ubh¶)�”}”(hhh]”(h»)�”}”(hŒGeneral Control Interface”h]”hŒGeneral Control Interface”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj‰h²hh³hÊh´K5ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_notify (C function)”Œc.snd_ctl_notify”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZvoid snd_ctl_notify (struct snd_card *card, unsigned int mask, struct snd_ctl_elem_id *id)”h]”j )�”}”(hŒYvoid snd_ctl_notify(struct snd_card *card, unsigned int mask, struct snd_ctl_elem_id *id)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj8‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj4‰h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4‰h²hh³jF‰h´K�ubj3)�”}”(hŒsnd_ctl_notify”h]”j9)�”}”(hŒsnd_ctl_notify”h]”hŒsnd_ctl_notify”…”�”}”(hjY‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU‰ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj4‰h²hh³jF‰h´K�ubjT)�”}”(hŒF(struct snd_card *card, unsigned int mask, struct snd_ctl_elem_id *id)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hju‰h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjq‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq‰ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj“‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�‰ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j•‰Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j[‰sbŒc.snd_ctl_notify”†”asbuh1hhjq‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq‰ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÁ‰h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjq‰ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjΉh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjq‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm‰ubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjç‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjã‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjã‰ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjã‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjã‰ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjã‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm‰ubjZ)�”}”(hŒstruct snd_ctl_elem_id *id”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj8Šh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj4Šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEŠh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4Šubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hjVŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjSŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jXŠŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¯‰Œc.snd_ctl_notify”†”asbuh1hhj4Šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtŠh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4Šubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‚Šh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj4Šubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj�Šh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4Šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm‰ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj4‰h²hh³jF‰h´K�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj0‰h²hh³jF‰h´K�ubah}”(h]”j+‰ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jF‰h´K�hj-‰h²hubjv)�”}”(hhh]”j{)�”}”(hŒ4Send notification to user-space for a control change”h]”hŒ4Send notification to user-space for a control change”…”�”}”(hj¹Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K�hj¶Šh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj-‰h²hh³jF‰h´K�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÑŠjšjÑŠj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXŒ**Parameters** ``struct snd_card *card`` the card to send notification ``unsigned int mask`` the event mask, SNDRV_CTL_EVENT_* ``struct snd_ctl_elem_id *id`` the ctl element id to send notification **Description** This function adds an event record with the given id and mask, appends to the list and wakes up the user-space for notification. This can be called in the atomic context.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÛŠh]”hŒ Parameters”…”�”}”(hjÝŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÙŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K“hjÕŠubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_card *card`` the card to send notification ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjúŠh]”hŒstruct snd_card *card”…”�”}”(hjüŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjøŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K�hjôŠubjæ)�”}”(hhh]”j{)�”}”(hŒthe card to send notification”h]”hŒthe card to send notification”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹h´K�hj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjôŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹h´K�hjñŠubjÄ)�”}”(hŒ8``unsigned int mask`` the event mask, SNDRV_CTL_EVENT_* ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hj3‹h]”hŒunsigned int mask”…”�”}”(hj5‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K‘hj-‹ubjæ)�”}”(hhh]”j{)�”}”(hŒ!the event mask, SNDRV_CTL_EVENT_*”h]”hŒ!the event mask, SNDRV_CTL_EVENT_*”…”�”}”(hjL‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jH‹h´K‘hjI‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jH‹h´K‘hjñŠubjÄ)�”}”(hŒG``struct snd_ctl_elem_id *id`` the ctl element id to send notification ”h]”(jÊ)�”}”(hŒ``struct snd_ctl_elem_id *id``”h]”jÐ)�”}”(hjl‹h]”hŒstruct snd_ctl_elem_id *id”…”�”}”(hjn‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K’hjf‹ubjæ)�”}”(hhh]”j{)�”}”(hŒ'the ctl element id to send notification”h]”hŒ'the ctl element id to send notification”…”�”}”(hj…‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�‹h´K’hj‚‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjf‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�‹h´K’hjñŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÕŠubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj§‹h]”hŒ Description”…”�”}”(hj©‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¥‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K”hjÕŠubj{)�”}”(hŒ«This function adds an event record with the given id and mask, appends to the list and wakes up the user-space for notification. This can be called in the atomic context.”h]”hŒ«This function adds an event record with the given id and mask, appends to the list and wakes up the user-space for notification. This can be called in the atomic context.”…”�”}”(hj½‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´K“hjÕŠubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_notify_one (C function)”Œc.snd_ctl_notify_one”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒpvoid snd_ctl_notify_one (struct snd_card *card, unsigned int mask, struct snd_kcontrol *kctl, unsigned int ioff)”h]”j )�”}”(hŒovoid snd_ctl_notify_one(struct snd_card *card, unsigned int mask, struct snd_kcontrol *kctl, unsigned int ioff)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjì‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjè‹h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÂubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjè‹h²hh³jú‹h´KÂubj3)�”}”(hŒsnd_ctl_notify_one”h]”j9)�”}”(hŒsnd_ctl_notify_one”h]”hŒsnd_ctl_notify_one”…”�”}”(hj Œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Œubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjè‹h²hh³jú‹h´KÂubjT)�”}”(hŒX(struct snd_card *card, unsigned int mask, struct snd_kcontrol *kctl, unsigned int ioff)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj)Œh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj%Œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6Œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%Œubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjGŒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjDŒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jIŒŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jŒsbŒc.snd_ctl_notify_one”†”asbuh1hhj%Œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%Œubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjuŒh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj%Œubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj‚Œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj%Œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj!ŒubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj›Œh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj—Œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©Œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—Œubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj·Œh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj—Œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—Œubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjÓŒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—Œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj!ŒubjZ)�”}”(hŒstruct snd_kcontrol *kctl”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjìŒh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjèŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjèŒubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j �Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jcŒŒc.snd_ctl_notify_one”†”asbuh1hhjèŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjèŒubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj6�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjèŒubj9)�”}”(hŒkctl”h]”hŒkctl”…”�”}”(hjC�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjèŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj!ŒubjZ)�”}”(hŒunsigned int ioff”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj\�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjX�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjX�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjx�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjX�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjX�ubj9)�”}”(hŒioff”h]”hŒioff”…”�”}”(hj”�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjX�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj!Œubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjè‹h²hh³jú‹h´KÂubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjä‹h²hh³jú‹h´KÂubah}”(h]”jß‹ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jú‹h´KÂhjá‹h²hubjv)�”}”(hhh]”j{)�”}”(hŒ4Send notification to user-space for a control change”h]”hŒ4Send notification to user-space for a control change”…”�”}”(hj¾�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÂhj»�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjá‹h²hh³jú‹h´KÂubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÖ�jšjÖ�j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXw**Parameters** ``struct snd_card *card`` the card to send notification ``unsigned int mask`` the event mask, SNDRV_CTL_EVENT_* ``struct snd_kcontrol *kctl`` the pointer with the control instance ``unsigned int ioff`` the additional offset to the control index **Description** This function calls snd_ctl_notify() and does additional jobs like LED state changes.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjà�h]”hŒ Parameters”…”�”}”(hjâ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÞ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÆhjÚ�ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_card *card`` the card to send notification ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjÿ�h]”hŒstruct snd_card *card”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjý�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÃhjù�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card to send notification”h]”hŒthe card to send notification”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽh´KÃhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjù�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽh´KÃhjö�ubjÄ)�”}”(hŒ8``unsigned int mask`` the event mask, SNDRV_CTL_EVENT_* ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hj8Žh]”hŒunsigned int mask”…”�”}”(hj:Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj6Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÄhj2Žubjæ)�”}”(hhh]”j{)�”}”(hŒ!the event mask, SNDRV_CTL_EVENT_*”h]”hŒ!the event mask, SNDRV_CTL_EVENT_*”…”�”}”(hjQŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jMŽh´KÄhjNŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj2Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jMŽh´KÄhjö�ubjÄ)�”}”(hŒD``struct snd_kcontrol *kctl`` the pointer with the control instance ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *kctl``”h]”jÐ)�”}”(hjqŽh]”hŒstruct snd_kcontrol *kctl”…”�”}”(hjsŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjoŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÅhjkŽubjæ)�”}”(hhh]”j{)�”}”(hŒ%the pointer with the control instance”h]”hŒ%the pointer with the control instance”…”�”}”(hjŠŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†Žh´KÅhj‡Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†Žh´KÅhjö�ubjÄ)�”}”(hŒA``unsigned int ioff`` the additional offset to the control index ”h]”(jÊ)�”}”(hŒ``unsigned int ioff``”h]”jÐ)�”}”(hjªŽh]”hŒunsigned int ioff”…”�”}”(hj¬Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÆhj¤Žubjæ)�”}”(hhh]”j{)�”}”(hŒ*the additional offset to the control index”h]”hŒ*the additional offset to the control index”…”�”}”(hjÃŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¿Žh´KÆhjÀŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿Žh´KÆhjö�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÚ�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjåŽh]”hŒ Description”…”�”}”(hjçŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjãŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÈhjÚ�ubj{)�”}”(hŒUThis function calls snd_ctl_notify() and does additional jobs like LED state changes.”h]”hŒUThis function calls snd_ctl_notify() and does additional jobs like LED state changes.”…”�”}”(hjûŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÇhjÚ�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_new (C function)”Œ c.snd_ctl_new”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒpint snd_ctl_new (struct snd_kcontrol **kctl, unsigned int count, unsigned int access, struct snd_ctl_file *file)”h]”j )�”}”(hŒoint snd_ctl_new(struct snd_kcontrol **kctl, unsigned int count, unsigned int access, struct snd_ctl_file *file)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj*�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj&�h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÛubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&�h²hh³j8�h´KÛubj3)�”}”(hŒ snd_ctl_new”h]”j9)�”}”(hŒ snd_ctl_new”h]”hŒ snd_ctl_new”…”�”}”(hjK�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjG�ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj&�h²hh³j8�h´KÛubjT)�”}”(hŒ`(struct snd_kcontrol **kctl, unsigned int count, unsigned int access, struct snd_ctl_file *file)”h]”(jZ)�”}”(hŒstruct snd_kcontrol **kctl”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjg�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjc�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjc�ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj…�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‡�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jM�sbŒ c.snd_ctl_new”†”asbuh1hhjc�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjc�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj³�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjc�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÀ�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjc�ubj9)�”}”(hŒkctl”h]”hŒkctl”…”�”}”(hjÍ�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjc�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_�ubjZ)�”}”(hŒunsigned int count”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjæ�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjâ�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjô�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâ�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjâ�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâ�ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâ�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_�ubjZ)�”}”(hŒunsigned int access”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj7�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjS�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hja�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3�ubj9)�”}”(hŒaccess”h]”hŒaccess”…”�”}”(hjo�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_�ubjZ)�”}”(hŒstruct snd_ctl_file *file”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjˆ�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj„�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„�ubh)�”}”(hhh]”j9)�”}”(hŒ snd_ctl_file”h]”hŒ snd_ctl_file”…”�”}”(hj¦�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj£�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¨�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¡�Œ c.snd_ctl_new”†”asbuh1hhj„�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÒ�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj„�ubj9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hjß�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj&�h²hh³j8�h´KÛubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj"�h²hh³j8�h´KÛubah}”(h]”j�ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j8�h´KÛhj�h²hubjv)�”}”(hhh]”j{)�”}”(hŒ0create a new control instance with some elements”h]”hŒ0create a new control instance with some elements”…”�”}”(hj ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÛhj‘h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�h²hh³j8�h´KÛubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j!‘jšj!‘j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXR**Parameters** ``struct snd_kcontrol **kctl`` the pointer to store new control instance ``unsigned int count`` the number of elements in this control ``unsigned int access`` the default access flags for elements in this control ``struct snd_ctl_file *file`` given when locking these elements **Description** Allocates a memory object for a new control instance. The instance has elements as many as the given number (**count**). Each element has given access permissions (**access**). Each element is locked when **file** is given. **Return** 0 on success, error code on failure”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj+‘h]”hŒ Parameters”…”�”}”(hj-‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj)‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kßhj%‘ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒI``struct snd_kcontrol **kctl`` the pointer to store new control instance ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol **kctl``”h]”jÐ)�”}”(hjJ‘h]”hŒstruct snd_kcontrol **kctl”…”�”}”(hjL‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjH‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÜhjD‘ubjæ)�”}”(hhh]”j{)�”}”(hŒ)the pointer to store new control instance”h]”hŒ)the pointer to store new control instance”…”�”}”(hjc‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_‘h´KÜhj`‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjD‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_‘h´KÜhjA‘ubjÄ)�”}”(hŒ>``unsigned int count`` the number of elements in this control ”h]”(jÊ)�”}”(hŒ``unsigned int count``”h]”jÐ)�”}”(hjƒ‘h]”hŒunsigned int count”…”�”}”(hj…‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÝhj}‘ubjæ)�”}”(hhh]”j{)�”}”(hŒ&the number of elements in this control”h]”hŒ&the number of elements in this control”…”�”}”(hjœ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j˜‘h´KÝhj™‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜‘h´KÝhjA‘ubjÄ)�”}”(hŒN``unsigned int access`` the default access flags for elements in this control ”h]”(jÊ)�”}”(hŒ``unsigned int access``”h]”jÐ)�”}”(hj¼‘h]”hŒunsigned int access”…”�”}”(hj¾‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjº‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´KÞhj¶‘ubjæ)�”}”(hhh]”j{)�”}”(hŒ5the default access flags for elements in this control”h]”hŒ5the default access flags for elements in this control”…”�”}”(hjÕ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÑ‘h´KÞhjÒ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¶‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÑ‘h´KÞhjA‘ubjÄ)�”}”(hŒ@``struct snd_ctl_file *file`` given when locking these elements ”h]”(jÊ)�”}”(hŒ``struct snd_ctl_file *file``”h]”jÐ)�”}”(hjõ‘h]”hŒstruct snd_ctl_file *file”…”�”}”(hj÷‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjó‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kßhjï‘ubjæ)�”}”(hhh]”j{)�”}”(hŒ!given when locking these elements”h]”hŒ!given when locking these elements”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j ’h´Kßhj ’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjï‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j ’h´KßhjA‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj%‘ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj0’h]”hŒ Description”…”�”}”(hj2’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj.’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Káhj%‘ubj{)�”}”(hŒßAllocates a memory object for a new control instance. The instance has elements as many as the given number (**count**). Each element has given access permissions (**access**). Each element is locked when **file** is given.”h]”(hŒmAllocates a memory object for a new control instance. The instance has elements as many as the given number (”…”�”}”(hjF’h²hh³Nh´Nubj©)�”}”(hŒ **count**”h]”hŒcount”…”�”}”(hjN’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjF’ubhŒ.). Each element has given access permissions (”…”�”}”(hjF’h²hh³Nh´Nubj©)�”}”(hŒ **access**”h]”hŒaccess”…”�”}”(hj`’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjF’ubhŒ). Each element is locked when ”…”�”}”(hjF’h²hh³Nh´Nubj©)�”}”(hŒ**file**”h]”hŒfile”…”�”}”(hjr’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjF’ubhŒ is given.”…”�”}”(hjF’h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kàhj%‘ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj�’h]”hŒReturn”…”�”}”(hj�’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‹’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kähj%‘ubj{)�”}”(hŒ#0 on success, error code on failure”h]”hŒ#0 on success, error code on failure”…”�”}”(hj£’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kåhj%‘ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_new1 (C function)”Œc.snd_ctl_new1”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`struct snd_kcontrol * snd_ctl_new1 (const struct snd_kcontrol_new *ncontrol, void *private_data)”h]”j )�”}”(hŒ^struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol, void *private_data)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÒ’h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÎ’h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kýubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎ’h²hh³jß’h´Kýubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjñ’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjî’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jó’Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œ snd_ctl_new1”sbŒc.snd_ctl_new1”†”asbuh1hhjÎ’h²hh³jß’h´Kýubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎ’h²hh³jß’h´Kýubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj “h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÎ’h²hh³jß’h´Kýubj3)�”}”(hŒ snd_ctl_new1”h]”j9)�”}”(hj“h]”hŒ snd_ctl_new1”…”�”}”(hj1“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-“ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÎ’h²hh³jß’h´KýubjT)�”}”(hŒ=(const struct snd_kcontrol_new *ncontrol, void *private_data)”h]”(jZ)�”}”(hŒ'const struct snd_kcontrol_new *ncontrol”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjL“h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjH“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjH“ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjg“h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjH“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjH“ubh)�”}”(hhh]”j9)�”}”(hŒsnd_kcontrol_new”h]”hŒsnd_kcontrol_new”…”�”}”(hj…“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚“ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‡“Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j “Œc.snd_ctl_new1”†”asbuh1hhjH“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjH“ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj±“h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjH“ubj9)�”}”(hŒncontrol”h]”hŒncontrol”…”�”}”(hj¾“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjH“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjD“ubjZ)�”}”(hŒvoid *private_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjדh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÓ“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå“h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓ“ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjó“h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÓ“ubj9)�”}”(hŒ private_data”h]”hŒ private_data”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓ“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjD“ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÎ’h²hh³jß’h´Kýubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÊ’h²hh³jß’h´Kýubah}”(h]”jÅ’ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jß’h´KýhjÇ’h²hubjv)�”}”(hhh]”j{)�”}”(hŒ+create a control instance from the template”h]”hŒ+create a control instance from the template”…”�”}”(hj*”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kýhj'”h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÇ’h²hh³jß’h´Kýubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jB”jšjB”j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX½**Parameters** ``const struct snd_kcontrol_new *ncontrol`` the initialization record ``void *private_data`` the private data to set **Description** Allocates a new struct snd_kcontrol instance and initialize from the given template. When the access field of ncontrol is 0, it's assumed as READWRITE access. When the count field is 0, it's assumes as one. **Return** The pointer of the newly generated instance, or ``NULL`` on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjL”h]”hŒ Parameters”…”�”}”(hjN”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MhjF”ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒF``const struct snd_kcontrol_new *ncontrol`` the initialization record ”h]”(jÊ)�”}”(hŒ+``const struct snd_kcontrol_new *ncontrol``”h]”jÐ)�”}”(hjk”h]”hŒ'const struct snd_kcontrol_new *ncontrol”…”�”}”(hjm”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhji”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kþhje”ubjæ)�”}”(hhh]”j{)�”}”(hŒthe initialization record”h]”hŒthe initialization record”…”�”}”(hj„”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€”h´Kþhj�”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€”h´Kþhjb”ubjÄ)�”}”(hŒ/``void *private_data`` the private data to set ”h]”(jÊ)�”}”(hŒ``void *private_data``”h]”jÐ)�”}”(hj¤”h]”hŒvoid *private_data”…”�”}”(hj¦”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Kÿhjž”ubjæ)�”}”(hhh]”j{)�”}”(hŒthe private data to set”h]”hŒthe private data to set”…”�”}”(hj½”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹”h´Kÿhjº”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjž”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹”h´Kÿhjb”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjF”ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjß”h]”hŒ Description”…”�”}”(hjá”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÝ”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MhjF”ubj{)�”}”(hŒÏAllocates a new struct snd_kcontrol instance and initialize from the given template. When the access field of ncontrol is 0, it's assumed as READWRITE access. When the count field is 0, it's assumes as one.”h]”hŒÓAllocates a new struct snd_kcontrol instance and initialize from the given template. When the access field of ncontrol is 0, it’s assumed as READWRITE access. When the count field is 0, it’s assumes as one.”…”�”}”(hjõ”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MhjF”ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj•h]”hŒReturn”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MhjF”ubj{)�”}”(hŒDThe pointer of the newly generated instance, or ``NULL`` on failure.”h]”(hŒ0The pointer of the newly generated instance, or ”…”�”}”(hj•h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj$•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj•ubhŒ on failure.”…”�”}”(hj•h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MhjF”ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_free_one (C function)”Œc.snd_ctl_free_one”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ5void snd_ctl_free_one (struct snd_kcontrol *kcontrol)”h]”j )�”}”(hŒ4void snd_ctl_free_one(struct snd_kcontrol *kcontrol)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj]•h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY•h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl•h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY•h²hh³jk•h´M?ubj3)�”}”(hŒsnd_ctl_free_one”h]”j9)�”}”(hŒsnd_ctl_free_one”h]”hŒsnd_ctl_free_one”…”�”}”(hj~•h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjz•ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjY•h²hh³jk•h´M?ubjT)�”}”(hŒ(struct snd_kcontrol *kcontrol)”h]”jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjš•h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj–•ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§•h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–•ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj¸•h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµ•ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jº•Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j€•sbŒc.snd_ctl_free_one”†”asbuh1hhj–•ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØ•h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–•ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjæ•h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj–•ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjó•h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–•ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj’•ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjY•h²hh³jk•h´M?ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjU•h²hh³jk•h´M?ubah}”(h]”jP•ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jk•h´M?hjR•h²hubjv)�”}”(hhh]”j{)�”}”(hŒrelease the control instance”h]”hŒrelease the control instance”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M?hj–h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjR•h²hh³jk•h´M?ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j5–jšj5–j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hŒÞ**Parameters** ``struct snd_kcontrol *kcontrol`` the control instance **Description** Releases the control instance created via snd_ctl_new() or snd_ctl_new1(). Don't call this after the control was added to the card.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj?–h]”hŒ Parameters”…”�”}”(hjA–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj=–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MChj9–ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ7``struct snd_kcontrol *kcontrol`` the control instance ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj^–h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj`–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj\–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M@hjX–ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control instance”h]”hŒthe control instance”…”�”}”(hjw–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³js–h´M@hjt–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjX–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³js–h´M@hjU–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj9–ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj™–h]”hŒ Description”…”�”}”(hj›–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MBhj9–ubj{)�”}”(hŒƒReleases the control instance created via snd_ctl_new() or snd_ctl_new1(). Don't call this after the control was added to the card.”h]”hŒ…Releases the control instance created via snd_ctl_new() or snd_ctl_new1(). Don’t call this after the control was added to the card.”…”�”}”(hj¯–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MAhj9–ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_add (C function)”Œ c.snd_ctl_add”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒFint snd_ctl_add (struct snd_card *card, struct snd_kcontrol *kcontrol)”h]”j )�”}”(hŒEint snd_ctl_add(struct snd_card *card, struct snd_kcontrol *kcontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞ–h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚ–h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí–h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚ–h²hh³jì–h´Mubj3)�”}”(hŒ snd_ctl_add”h]”j9)�”}”(hŒ snd_ctl_add”h]”hŒ snd_ctl_add”…”�”}”(hjÿ–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjû–ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÚ–h²hh³jì–h´MubjT)�”}”(hŒ6(struct snd_card *card, struct snd_kcontrol *kcontrol)”•h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj9—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;—Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j—sbŒ c.snd_ctl_add”†”asbuh1hhj—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjg—h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj—ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjt—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj—ubjZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�—h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‰—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰—ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj«—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j­—Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jU—Œ c.snd_ctl_add”†”asbuh1hhj‰—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰—ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj×—h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‰—ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjä—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj—ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÚ–h²hh³jì–h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÖ–h²hh³jì–h´Mubah}”(h]”jÑ–ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jì–h´MhjÓ–h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$add the control instance to the card”h]”hŒ$add the control instance to the card”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj ˜h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÓ–h²hh³jì–h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j&˜jšj&˜j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX�**Parameters** ``struct snd_card *card`` the card instance ``struct snd_kcontrol *kcontrol`` the control instance to add **Description** Adds the control instance created via snd_ctl_new() or snd_ctl_new1() to the given card. Assigns also an unique numid used for fast search. It frees automatically the control which cannot be added. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj0˜h]”hŒ Parameters”…”�”}”(hj2˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj.˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj*˜ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjO˜h]”hŒstruct snd_card *card”…”�”}”(hjQ˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjM˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MhjI˜ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjh˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jd˜h´Mhje˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjI˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jd˜h´MhjF˜ubjÄ)�”}”(hŒ>``struct snd_kcontrol *kcontrol`` the control instance to add ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjˆ˜h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjŠ˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj†˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj‚˜ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control instance to add”h]”hŒthe control instance to add”…”�”}”(hj¡˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�˜h´Mhjž˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�˜h´MhjF˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj*˜ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjØh]”hŒ Description”…”�”}”(hjŘh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÁ˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj*˜ubj{)�”}”(hŒ‹Adds the control instance created via snd_ctl_new() or snd_ctl_new1() to the given card. Assigns also an unique numid used for fast search.”h]”hŒ‹Adds the control instance created via snd_ctl_new() or snd_ctl_new1() to the given card. Assigns also an unique numid used for fast search.”…”�”}”(hjÙ˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj*˜ubj{)�”}”(hŒ9It frees automatically the control which cannot be added.”h]”hŒ9It frees automatically the control which cannot be added.”…”�”}”(hjè˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj*˜ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjù˜h]”hŒReturn”…”�”}”(hjû˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj÷˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M!hj*˜ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M"hj*˜ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_replace (C function)”Œc.snd_ctl_replace”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_int snd_ctl_replace (struct snd_card *card, struct snd_kcontrol *kcontrol, bool add_on_replace)”h]”j )�”}”(hŒ^int snd_ctl_replace(struct snd_card *card, struct snd_kcontrol *kcontrol, bool add_on_replace)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj>™h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj:™h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:™h²hh³jL™h´M,ubj3)�”}”(hŒsnd_ctl_replace”h]”j9)�”}”(hŒsnd_ctl_replace”h]”hŒsnd_ctl_replace”…”�”}”(hj_™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[™ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj:™h²hh³jL™h´M,ubjT)�”}”(hŒK(struct snd_card *card, struct snd_kcontrol *kcontrol, bool add_on_replace)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj{™h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjw™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw™ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj™™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–™ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j›™Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜ja™sbŒc.snd_ctl_replace”†”asbuh1hhjw™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw™ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÇ™h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjw™ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjÔ™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjw™ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjs™ubjZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjí™h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjé™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjé™ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj šh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j šŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jµ™Œc.snd_ctl_replace”†”asbuh1hhjé™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)šh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjé™ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj7šh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjé™ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjDšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjé™ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjs™ubjZ)�”}”(hŒbool add_on_replace”h]”(j)�”}”(hŒbool”h]”hŒbool”…”�”}”(hj]šh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjYšubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYšubj9)�”}”(hŒadd_on_replace”h]”hŒadd_on_replace”…”�”}”(hjyšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjYšubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjs™ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj:™h²hh³jL™h´M,ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj6™h²hh³jL™h´M,ubah}”(h]”j1™ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jL™h´M,hj3™h²hubjv)�”}”(hhh]”j{)�”}”(hŒ(replace the control instance of the card”h]”hŒ(replace the control instance of the card”…”�”}”(hj£šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M,hj šh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj3™h²hh³jL™h´M,ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j»šjšj»šj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX **Parameters** ``struct snd_card *card`` the card instance ``struct snd_kcontrol *kcontrol`` the control instance to replace ``bool add_on_replace`` add the control if not already added **Description** Replaces the given control. If the given control does not exist and the add_on_replace flag is set, the control is added. If the control exists, it is destroyed first. It frees automatically the control which cannot be added or replaced. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÅšh]”hŒ Parameters”…”�”}”(hjÇšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M0hj¿šubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjäšh]”hŒstruct snd_card *card”…”�”}”(hjæšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjâšubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M-hjÞšubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjýšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jùšh´M-hjúšubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞšubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jùšh´M-hjÛšubjÄ)�”}”(hŒB``struct snd_kcontrol *kcontrol`` the control instance to replace ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj›h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M.hj›ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control instance to replace”h]”hŒthe control instance to replace”…”�”}”(hj6›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j2›h´M.hj3›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j2›h´M.hjÛšubjÄ)�”}”(hŒ=``bool add_on_replace`` add the control if not already added ”h]”(jÊ)�”}”(hŒ``bool add_on_replace``”h]”jÐ)�”}”(hjV›h]”hŒbool add_on_replace”…”�”}”(hjX›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjT›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M/hjP›ubjæ)�”}”(hhh]”j{)�”}”(hŒ$add the control if not already added”h]”hŒ$add the control if not already added”…”�”}”(hjo›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jk›h´M/hjl›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjP›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jk›h´M/hjÛšubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¿šubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‘›h]”hŒ Description”…”�”}”(hj“›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M1hj¿šubj{)�”}”(hŒ©Replaces the given control. If the given control does not exist and the add_on_replace flag is set, the control is added. If the control exists, it is destroyed first.”h]”hŒ©Replaces the given control. If the given control does not exist and the add_on_replace flag is set, the control is added. If the control exists, it is destroyed first.”…”�”}”(hj§›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M0hj¿šubj{)�”}”(hŒEIt frees automatically the control which cannot be added or replaced.”h]”hŒEIt frees automatically the control which cannot be added or replaced.”…”�”}”(hj¶›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M4hj¿šubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÇ›h]”hŒReturn”…”�”}”(hjÉ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÅ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M6hj¿šubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÝ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M7hj¿šubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_remove (C function)”Œc.snd_ctl_remove”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIint snd_ctl_remove (struct snd_card *card, struct snd_kcontrol *kcontrol)”h]”j )�”}”(hŒHint snd_ctl_remove(struct snd_card *card, struct snd_kcontrol *kcontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj œh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjœh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Maubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœh²hh³jœh´Maubj3)�”}”(hŒsnd_ctl_remove”h]”j9)�”}”(hŒsnd_ctl_remove”h]”hŒsnd_ctl_remove”…”�”}”(hj-œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)œubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjœh²hh³jœh´MaubjT)�”}”(hŒ6(struct snd_card *card, struct snd_kcontrol *kcontrol)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjIœh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjEœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEœubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjgœh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jiœŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j/œsbŒc.snd_ctl_remove”†”asbuh1hhjEœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEœubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj•œh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjEœubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj¢œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEœubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjAœubjZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj»œh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj·œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·œubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÙœh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÛœŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jƒœŒc.snd_ctl_remove”†”asbuh1hhj·œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·œubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj·œubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjAœubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjœh²hh³jœh´Maubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjœh²hh³jœh´Maubah}”(h]”jÿ›ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jœh´Mahjœh²hubjv)�”}”(hhh]”j{)�”}”(hŒ/remove the control from the card and release it”h]”hŒ/remove the control from the card and release it”…”�”}”(hj<�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mahj9�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjœh²hh³jœh´Maubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jT�jšjT�j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXÃ**Parameters** ``struct snd_card *card`` the card instance ``struct snd_kcontrol *kcontrol`` the control instance to remove **Description** Removes the control from the card and then releases the instance. You don't need to call snd_ctl_free_one(). Passing NULL to **kcontrol** argument is allowed as noop. Note that this function takes card->controls_rwsem lock internally. **Return** 0 if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj^�h]”hŒ Parameters”…”�”}”(hj`�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj\�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MehjX�ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj}�h]”hŒstruct snd_card *card”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj{�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mbhjw�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj–�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j’�h´Mbhj“�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjw�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’�h´Mbhjt�ubjÄ)�”}”(hŒA``struct snd_kcontrol *kcontrol`` the control instance to remove ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj¶�h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj¸�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj´�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mchj°�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control instance to remove”h]”hŒthe control instance to remove”…”�”}”(hjÏ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jË�h´MchjÌ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj°�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jË�h´Mchjt�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjX�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjñ�h]”hŒ Description”…”�”}”(hjó�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjï�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MehjX�ubj{)�”}”(hŒ¦Removes the control from the card and then releases the instance. You don't need to call snd_ctl_free_one(). Passing NULL to **kcontrol** argument is allowed as noop.”h]”(hŒRemoves the control from the card and then releases the instance. You don’t need to call snd_ctl_free_one(). Passing NULL to ”…”�”}”(hjžh²hh³Nh´Nubj©)�”}”(hŒ **kcontrol**”h]”hŒkcontrol”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjžubhŒ argument is allowed as noop.”…”�”}”(hjžh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MdhjX�ubj{)�”}”(hŒCNote that this function takes card->controls_rwsem lock internally.”h]”hŒCNote that this function takes card->controls_rwsem lock internally.”…”�”}”(hj(žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MihjX�ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj9žh]”hŒReturn”…”�”}”(hj;žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj7žubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MkhjX�ubj{)�”}”(hŒ50 if successful, or a negative error code on failure.”h]”hŒ50 if successful, or a negative error code on failure.”…”�”}”(hjOžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MihjX�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_remove_id (C function)”Œc.snd_ctl_remove_id”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIint snd_ctl_remove_id (struct snd_card *card, struct snd_ctl_elem_id *id)”h]”j )�”}”(hŒHint snd_ctl_remove_id(struct snd_card *card, struct snd_ctl_elem_id *id)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj~žh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjzžh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�žh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzžh²hh³jŒžh´Mwubj3)�”}”(hŒsnd_ctl_remove_id”h]”j9)�”}”(hŒsnd_ctl_remove_id”h]”hŒsnd_ctl_remove_id”…”�”}”(hjŸžh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj›žubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjzžh²hh³jŒžh´MwubjT)�”}”(hŒ3(struct snd_card *card, struct snd_ctl_elem_id *id)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj»žh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj·žubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈžh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·žubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjÙžh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖžubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÛžŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¡žsbŒc.snd_ctl_remove_id”†”asbuh1hhj·žubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùžh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·žubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj·žubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·žubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj³žubjZ)�”}”(hŒstruct snd_ctl_elem_id *id”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj-Ÿh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj)Ÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)Ÿubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hjKŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjHŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jMŸŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jõžŒc.snd_ctl_remove_id”†”asbuh1hhj)Ÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiŸh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)Ÿubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjwŸh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj)Ÿubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj„Ÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)Ÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj³žubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjzžh²hh³jŒžh´Mwubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjvžh²hh³jŒžh´Mwubah}”(h]”jqžah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŒžh´Mwhjsžh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1remove the control of the given id and release it”h]”hŒ1remove the control of the given id and release it”…”�”}”(hj®Ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mwhj«Ÿh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjsžh²hh³jŒžh´Mwubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÆŸjšjÆŸj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX***Parameters** ``struct snd_card *card`` the card instance ``struct snd_ctl_elem_id *id`` the control id to remove **Description** Finds the control instance with the given id, removes it from the card list and releases it. **Return** 0 if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjПh]”hŒ Parameters”…”�”}”(hjÒŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjΟubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M{hjÊŸubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjïŸh]”hŒstruct snd_card *card”…”�”}”(hjñŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjíŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MxhjéŸubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´Mxhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjéŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´MxhjæŸubjÄ)�”}”(hŒ8``struct snd_ctl_elem_id *id`` the control id to remove ”h]”(jÊ)�”}”(hŒ``struct snd_ctl_elem_id *id``”h]”jÐ)�”}”(hj( h]”hŒstruct snd_ctl_elem_id *id”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj& ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Myhj" ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control id to remove”h]”hŒthe control id to remove”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j= h´Myhj> ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj" ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j= h´MyhjæŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÊŸubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjc h]”hŒ Description”…”�”}”(hje h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hja ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M{hjÊŸubj{)�”}”(hŒ\Finds the control instance with the given id, removes it from the card list and releases it.”h]”hŒ\Finds the control instance with the given id, removes it from the card list and releases it.”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MzhjÊŸubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjŠ h]”hŒReturn”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjˆ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M}hjÊŸubj{)�”}”(hŒ50 if successful, or a negative error code on failure.”h]”hŒ50 if successful, or a negative error code on failure.”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M~hjÊŸubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_ctl_remove_user_ctl (C function)”Œc.snd_ctl_remove_user_ctl”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒTint snd_ctl_remove_user_ctl (struct snd_ctl_file * file, struct snd_ctl_elem_id *id)”h]”j )�”}”(hŒRint snd_ctl_remove_user_ctl(struct snd_ctl_file *file, struct snd_ctl_elem_id *id)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjË h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjË h²hh³jÝ h´M�ubj3)�”}”(hŒsnd_ctl_remove_user_ctl”h]”j9)�”}”(hŒsnd_ctl_remove_user_ctl”h]”hŒsnd_ctl_remove_user_ctl”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjì ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjË h²hh³jÝ h´M�ubjT)�”}”(hŒ7(struct snd_ctl_file *file, struct snd_ctl_elem_id *id)”h]”(jZ)�”}”(hŒstruct snd_ctl_file *file”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj ¡h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡ubh)�”}”(hhh]”j9)�”}”(hŒ snd_ctl_file”h]”hŒ snd_ctl_file”…”�”}”(hj*¡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'¡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j,¡Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jò sbŒc.snd_ctl_remove_user_ctl”†”asbuh1hhj¡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ¡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjX¡h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¡ubj9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hje¡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¡ubjZ)�”}”(hŒstruct snd_ctl_elem_id *id”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj~¡h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjz¡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹¡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjz¡ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hjœ¡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™¡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jž¡Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jF¡Œc.snd_ctl_remove_user_ctl”†”asbuh1hhjz¡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº¡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjz¡ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÈ¡h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjz¡ubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hjÕ¡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjz¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¡ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjË h²hh³jÝ h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÇ h²hh³jÝ h´M�ubah}”(h]”j ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÝ h´M�hjÄ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ,remove and release the unlocked user control”h]”hŒ,remove and release the unlocked user control”…”�”}”(hjÿ¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M�hjü¡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÄ h²hh³jÝ h´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¢jšj¢j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX3**Parameters** ``struct snd_ctl_file * file`` active control handle ``struct snd_ctl_elem_id *id`` the control id to remove **Description** Finds the control instance with the given id, removes it from the card list and releases it. **Return** 0 if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj!¢h]”hŒ Parameters”…”�”}”(hj#¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M‘hj¢ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ5``struct snd_ctl_file * file`` active control handle ”h]”(jÊ)�”}”(hŒ``struct snd_ctl_file * file``”h]”jÐ)�”}”(hj@¢h]”hŒstruct snd_ctl_file * file”…”�”}”(hjB¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MŽhj:¢ubjæ)�”}”(hhh]”j{)�”}”(hŒactive control handle”h]”hŒactive control handle”…”�”}”(hjY¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU¢h´MŽhjV¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU¢h´MŽhj7¢ubjÄ)�”}”(hŒ8``struct snd_ctl_elem_id *id`` the control id to remove ”h]”(jÊ)�”}”(hŒ``struct snd_ctl_elem_id *id``”h]”jÐ)�”}”(hjy¢h]”hŒstruct snd_ctl_elem_id *id”…”�”}”(hj{¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M�hjs¢ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control id to remove”h]”hŒthe control id to remove”…”�”}”(hj’¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽ¢h´M�hj�¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjs¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽ¢h´M�hj7¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¢ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj´¢h]”hŒ Description”…”�”}”(hj¶¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj²¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M‘hj¢ubj{)�”}”(hŒ\Finds the control instance with the given id, removes it from the card list and releases it.”h]”hŒ\Finds the control instance with the given id, removes it from the card list and releases it.”…”�”}”(hjÊ¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M�hj¢ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÛ¢h]”hŒReturn”…”�”}”(hjÝ¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÙ¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M“hj¢ubj{)�”}”(hŒ50 if successful, or a negative error code on failure.”h]”hŒ50 if successful, or a negative error code on failure.”…”�”}”(hjñ¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M”hj¢ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_ctl_activate_id (C function)”Œc.snd_ctl_activate_id”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWint snd_ctl_activate_id (struct snd_card *card, struct snd_ctl_elem_id *id, int active)”h]”j )�”}”(hŒVint snd_ctl_activate_id(struct snd_card *card, struct snd_ctl_elem_id *id, int active)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj £h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj£h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mªubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£h²hh³j.£h´Mªubj3)�”}”(hŒsnd_ctl_activate_id”h]”j9)�”}”(hŒsnd_ctl_activate_id”h]”hŒsnd_ctl_activate_id”…”�”}”(hjA£h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj=£ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj£h²hh³j.£h´MªubjT)�”}”(hŒ?(struct snd_card *card, struct snd_ctl_elem_id *id, int active)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj]£h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjY£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY£ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj{£h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjx£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j}£Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jC£sbŒc.snd_ctl_activate_id”†”asbuh1hhjY£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY£ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj©£h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjY£ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj¶£h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjY£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjU£ubjZ)�”}”(hŒstruct snd_ctl_elem_id *id”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÏ£h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjË£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜ£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjË£ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hjí£h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjê£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jmodname”NŒ classname”NjœjŸ)�”}”j¢]”j—£Œc.snd_ctl_activate_id”†”asbuh1hhjË£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjË£ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjË£ubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj&¤h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjË£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjU£ubjZ)�”}”(hŒ int active”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj?¤h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj;¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;¤ubj9)�”}”(hŒactive”h]”hŒactive”…”�”}”(hj[¤h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjU£ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj£h²hh³j.£h´Mªubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj£h²hh³j.£h´Mªubah}”(h]”j£ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j.£h´Mªhj£h²hubjv)�”}”(hhh]”j{)�”}”(hŒ/activate/inactivate the control of the given id”h]”hŒ/activate/inactivate the control of the given id”…”�”}”(hj…¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mªhj‚¤h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj£h²hh³j.£h´Mªubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�¤jšj�¤j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX¾**Parameters** ``struct snd_card *card`` the card instance ``struct snd_ctl_elem_id *id`` the control id to activate/inactivate ``int active`` non-zero to activate **Description** Finds the control instance with the given id, and activate or inactivate the control together with notification, if changed. The given ID data is filled with full information. **Return** 0 if unchanged, 1 if changed, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj§¤h]”hŒ Parameters”…”�”}”(hj©¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¥¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M®hj¡¤ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjƤh]”hŒstruct snd_card *card”…”�”}”(hjȤh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjĤubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M«hjÀ¤ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjߤh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÛ¤h´M«hjܤubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÀ¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÛ¤h´M«hj½¤ubjÄ)�”}”(hŒE``struct snd_ctl_elem_id *id`` the control id to activate/inactivate ”h]”(jÊ)�”}”(hŒ``struct snd_ctl_elem_id *id``”h]”jÐ)�”}”(hjÿ¤h]”hŒstruct snd_ctl_elem_id *id”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjý¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M¬hjù¤ubjæ)�”}”(hhh]”j{)�”}”(hŒ%the control id to activate/inactivate”h]”hŒ%the control id to activate/inactivate”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¥h´M¬hj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjù¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¥h´M¬hj½¤ubjÄ)�”}”(hŒ$``int active`` non-zero to activate ”h]”(jÊ)�”}”(hŒ``int active``”h]”jÐ)�”}”(hj8¥h]”hŒ int active”…”�”}”(hj:¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj6¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M­hj2¥ubjæ)�”}”(hhh]”j{)�”}”(hŒnon-zero to activate”h]”hŒnon-zero to activate”…”�”}”(hjQ¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jM¥h´M­hjN¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj2¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jM¥h´M­hj½¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¡¤ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjs¥h]”hŒ Description”…”�”}”(hju¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjq¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M¯hj¡¤ubj{)�”}”(hŒ¯Finds the control instance with the given id, and activate or inactivate the control together with notification, if changed. The given ID data is filled with full information.”h]”hŒ¯Finds the control instance with the given id, and activate or inactivate the control together with notification, if changed. The given ID data is filled with full information.”…”�”}”(hj‰¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M®hj¡¤ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjš¥h]”hŒReturn”…”�”}”(hjœ¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj˜¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M²hj¡¤ubj{)�”}”(hŒB0 if unchanged, 1 if changed, or a negative error code on failure.”h]”hŒB0 if unchanged, 1 if changed, or a negative error code on failure.”…”�”}”(hj°¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M³hj¡¤ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_rename_id (C function)”Œc.snd_ctl_rename_id”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒmint snd_ctl_rename_id (struct snd_card *card, struct snd_ctl_elem_id *src_id, struct snd_ctl_elem_id *dst_id)”h]”j )�”}”(hŒlint snd_ctl_rename_id(struct snd_card *card, struct snd_ctl_elem_id *src_id, struct snd_ctl_elem_id *dst_id)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjߥh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÛ¥h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî¥h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÛ¥h²hh³jí¥h´MÜubj3)�”}”(hŒsnd_ctl_rename_id”h]”j9)�”}”(hŒsnd_ctl_rename_id”h]”hŒsnd_ctl_rename_id”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjü¥ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÛ¥h²hh³jí¥h´MÜubjT)�”}”(hŒW(struct snd_card *card, struct snd_ctl_elem_id *src_id, struct snd_ctl_elem_id *dst_id)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj:¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j<¦Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¦sbŒc.snd_ctl_rename_id”†”asbuh1hhj¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh¦h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¦ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hju¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¦ubjZ)�”}”(hŒstruct snd_ctl_elem_id *src_id”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjަh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjЦubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjЦubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hj¬¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j®¦Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jV¦Œc.snd_ctl_rename_id”†”asbuh1hhjЦubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjʦh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjЦubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjئh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjЦubj9)�”}”(hŒsrc_id”h]”hŒsrc_id”…”�”}”(hjå¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjЦubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¦ubjZ)�”}”(hŒstruct snd_ctl_elem_id *dst_id”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjþ¦h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjú¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj §h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjú¦ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j§Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jV¦Œc.snd_ctl_rename_id”†”asbuh1hhjú¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:§h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjú¦ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjH§h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjú¦ubj9)�”}”(hŒdst_id”h]”hŒdst_id”…”�”}”(hjU§h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjú¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¦ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÛ¥h²hh³jí¥h´MÜubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj×¥h²hh³jí¥h´MÜubah}”(h]”jÒ¥ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jí¥h´MÜhjÔ¥h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'replace the id of a control on the card”h]”hŒ'replace the id of a control on the card”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÜhj|§h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÔ¥h²hh³jí¥h´MÜubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j—§jšj—§j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXR**Parameters** ``struct snd_card *card`` the card instance ``struct snd_ctl_elem_id *src_id`` the old id ``struct snd_ctl_elem_id *dst_id`` the new id **Description** Finds the control with the old id from the card, and replaces the id with the new one. The function tries to keep the already assigned numid while replacing the rest. Note that this function should be used only in the card initialization phase. Calling after the card instantiation may cause issues with user-space expecting persistent numids. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¡§h]”hŒ Parameters”…”�”}”(hj£§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŸ§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Màhj›§ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjÀ§h]”hŒstruct snd_card *card”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÝhjº§ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjÙ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÕ§h´MÝhjÖ§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjº§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕ§h´MÝhj·§ubjÄ)�”}”(hŒ.``struct snd_ctl_elem_id *src_id`` the old id ”h]”(jÊ)�”}”(hŒ"``struct snd_ctl_elem_id *src_id``”h]”jÐ)�”}”(hjù§h]”hŒstruct snd_ctl_elem_id *src_id”…”�”}”(hjû§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj÷§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÞhjó§ubjæ)�”}”(hhh]”j{)�”}”(hŒ the old id”h]”hŒ the old id”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¨h´MÞhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjó§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¨h´MÞhj·§ubjÄ)�”}”(hŒ.``struct snd_ctl_elem_id *dst_id`` the new id ”h]”(jÊ)�”}”(hŒ"``struct snd_ctl_elem_id *dst_id``”h]”jÐ)�”}”(hj2¨h]”hŒstruct snd_ctl_elem_id *dst_id”…”�”}”(hj4¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mßhj,¨ubjæ)�”}”(hhh]”j{)�”}”(hŒ the new id”h]”hŒ the new id”…”�”}”(hjK¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jG¨h´MßhjH¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jG¨h´Mßhj·§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj›§ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjm¨h]”hŒ Description”…”�”}”(hjo¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjk¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Máhj›§ubj{)�”}”(hŒVFinds the control with the old id from the card, and replaces the id with the new one.”h]”hŒVFinds the control with the old id from the card, and replaces the id with the new one.”…”�”}”(hjƒ¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Màhj›§ubj{)�”}”(hŒOThe function tries to keep the already assigned numid while replacing the rest.”h]”hŒOThe function tries to keep the already assigned numid while replacing the rest.”…”�”}”(hj’¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mãhj›§ubj{)�”}”(hŒ±Note that this function should be used only in the card initialization phase. Calling after the card instantiation may cause issues with user-space expecting persistent numids.”h]”hŒ±Note that this function should be used only in the card initialization phase. Calling after the card instantiation may cause issues with user-space expecting persistent numids.”…”�”}”(hj¡¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mæhj›§ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj²¨h]”hŒReturn”…”�”}”(hj´¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj°¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mêhj›§ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjȨh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mëhj›§ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_rename (C function)”Œc.snd_ctl_rename”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒXvoid snd_ctl_rename (struct snd_card *card, struct snd_kcontrol *kctl, const char *name)”h]”j )�”}”(hŒWvoid snd_ctl_rename(struct snd_card *card, struct snd_kcontrol *kctl, const char *name)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj÷¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjó¨h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjó¨h²hh³j©h´Mubj3)�”}”(hŒsnd_ctl_rename”h]”j9)�”}”(hŒsnd_ctl_rename”h]”hŒsnd_ctl_rename”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjó¨h²hh³j©h´MubjT)�”}”(hŒD(struct snd_card *card, struct snd_kcontrol *kctl, const char *name)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj4©h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj0©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0©ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjR©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjO©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jT©Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j©sbŒc.snd_ctl_rename”†”asbuh1hhj0©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0©ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj€©h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj0©ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj�©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj,©ubjZ)�”}”(hŒstruct snd_kcontrol *kctl”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¦©h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¢©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢©ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÄ©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁ©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÆ©Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jn©Œc.snd_ctl_rename”†”asbuh1hhj¢©ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢©ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjð©h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¢©ubj9)�”}”(hŒkctl”h]”hŒkctl”…”�”}”(hjý©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj,©ubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjªubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#ªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjªubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj1ªh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjªubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?ªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjªubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjMªh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjªubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjZªh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjªubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj,©ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjó¨h²hh³j©h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjï¨h²hh³j©h´Mubah}”(h]”jê¨ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j©h´Mhjì¨h²hubjv)�”}”(hhh]”j{)�”}”(hŒrename the control on the card”h]”hŒrename the control on the card”…”�”}”(hj„ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj�ªh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjì¨h²hh³j©h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jœªjšjœªj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX+**Parameters** ``struct snd_card *card`` the card instance ``struct snd_kcontrol *kctl`` the control to rename ``const char *name`` the new name **Description** Renames the specified control on the card to the new name. Note that this function takes card->controls_rwsem lock internally.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¦ªh]”hŒ Parameters”…”�”}”(hj¨ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¤ªubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj ªubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjŪh]”hŒstruct snd_card *card”…”�”}”(hjǪh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj¿ªubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjÞªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚªh´MhjÛªubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿ªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚªh´Mhj¼ªubjÄ)�”}”(hŒ4``struct snd_kcontrol *kctl`` the control to rename ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *kctl``”h]”jÐ)�”}”(hjþªh]”hŒstruct snd_kcontrol *kctl”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjüªubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhjøªubjæ)�”}”(hhh]”j{)�”}”(hŒthe control to rename”h]”hŒthe control to rename”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j«h´Mhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjøªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j«h´Mhj¼ªubjÄ)�”}”(hŒ"``const char *name`` the new name ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hj7«h]”hŒconst char *name”…”�”}”(hj9«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj5«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj1«ubjæ)�”}”(hhh]”j{)�”}”(hŒ the new name”h]”hŒ the new name”…”�”}”(hjP«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jL«h´MhjM«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj1«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jL«h´Mhj¼ªubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj ªubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjr«h]”hŒ Description”…”�”}”(hjt«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjp«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj ªubj{)�”}”(hŒ:Renames the specified control on the card to the new name.”h]”hŒ:Renames the specified control on the card to the new name.”…”�”}”(hjˆ«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj ªubj{)�”}”(hŒCNote that this function takes card->controls_rwsem lock internally.”h]”hŒCNote that this function takes card->controls_rwsem lock internally.”…”�”}”(hj—«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mhj ªubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_find_numid (C function)”Œc.snd_ctl_find_numid”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒTstruct snd_kcontrol * snd_ctl_find_numid (struct snd_card *card, unsigned int numid)”h]”j )�”}”(hŒRstruct snd_kcontrol *snd_ctl_find_numid(struct snd_card *card, unsigned int numid)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÆ«h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj«h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ«h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«h²hh³jÓ«h´M(ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjå«h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâ«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j竌modname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_ctl_find_numid”sbŒc.snd_ctl_find_numid”†”asbuh1hhj«h²hh³jÓ«h´M(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«h²hh³jÓ«h´M(ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj«h²hh³jÓ«h´M(ubj3)�”}”(hŒsnd_ctl_find_numid”h]”j9)�”}”(hj¬h]”hŒsnd_ctl_find_numid”…”�”}”(hj%¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj!¬ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj«h²hh³jÓ«h´M(ubjT)�”}”(hŒ+(struct snd_card *card, unsigned int numid)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj@¬h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<¬ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj^¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1•Vj8hj[¬ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j`¬Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¬Œc.snd_ctl_find_numid”†”asbuh1hhj<¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<¬ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjЬh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj<¬ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj—¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<¬ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8¬ubjZ)�”}”(hŒunsigned int numid”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj°¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬¬ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj̬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚ¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬¬ubj9)�”}”(hŒnumid”h]”hŒnumid”…”�”}”(hjè¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬¬ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8¬ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj«h²hh³jÓ«h´M(ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¾«h²hh³jÓ«h´M(ubah}”(h]”j¹«ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÓ«h´M(hj»«h²hubjv)�”}”(hhh]”j{)�”}”(hŒ2find the control instance with the given number-id”h]”hŒ2find the control instance with the given number-id”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M(hj­h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj»«h²hh³jÓ«h´M(ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j*­jšj*­j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXR**Parameters** ``struct snd_card *card`` the card instance ``unsigned int numid`` the number-id to search **Description** Finds the control instance with the given number-id from the card. Note that this function takes card->controls_rwlock lock internally. **Return** The pointer of the instance if found, or ``NULL`` if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj4­h]”hŒ Parameters”…”�”}”(hj6­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj2­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M,hj.­ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjS­h]”hŒstruct snd_card *card”…”�”}”(hjU­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjQ­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M)hjM­ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjl­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh­h´M)hji­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjM­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh­h´M)hjJ­ubjÄ)�”}”(hŒ/``unsigned int numid`` the number-id to search ”h]”(jÊ)�”}”(hŒ``unsigned int numid``”h]”jÐ)�”}”(hjŒ­h]”hŒunsigned int numid”…”�”}”(hjŽ­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠ­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M*hj†­ubjæ)�”}”(hhh]”j{)�”}”(hŒthe number-id to search”h]”hŒthe number-id to search”…”�”}”(hj¥­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡­h´M*hj¢­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡­h´M*hjJ­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj.­ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÇ­h]”hŒ Description”…”�”}”(hjÉ­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÅ­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M,hj.­ubj{)�”}”(hŒBFinds the control instance with the given number-id from the card.”h]”hŒBFinds the control instance with the given number-id from the card.”…”�”}”(hjÝ­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M+hj.­ubj{)�”}”(hŒDNote that this function takes card->controls_rwlock lock internally.”h]”hŒDNote that this function takes card->controls_rwlock lock internally.”…”�”}”(hjì­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M.hj.­ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjý­h]”hŒReturn”…”�”}”(hjÿ­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjû­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M0hj.­ubj{)�”}”(hŒ9The pointer of the instance if found, or ``NULL`` if not.”h]”(hŒ)The pointer of the instance if found, or ”…”�”}”(hj®h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj®ubhŒ if not.”…”�”}”(hj®h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M.hj.­ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_find_id (C function)”Œc.snd_ctl_find_id”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_struct snd_kcontrol * snd_ctl_find_id (struct snd_card *card, const struct snd_ctl_elem_id *id)”h]”j )�”}”(hŒ]struct snd_kcontrol *snd_ctl_find_id(struct snd_card *card, const struct snd_ctl_elem_id *id)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjT®h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjP®h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjP®h²hh³ja®h´MAubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjs®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjp®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”ju®Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_ctl_find_id”sbŒc.snd_ctl_find_id”†”asbuh1hhjP®h²hh³ja®h´MAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjP®h²hh³ja®h´MAubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¢®h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjP®h²hh³ja®h´MAubj3)�”}”(hŒsnd_ctl_find_id”h]”j9)�”}”(hj‘®h]”hŒsnd_ctl_find_id”…”�”}”(hj³®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¯®ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjP®h²hh³ja®h´MAubjT)�”}”(hŒ9(struct snd_card *card, const struct snd_ctl_elem_id *id)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjήh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÊ®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊ®ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjì®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjé®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jmodname”NŒ classname”NjœjŸ)�”}”j¢]”j�®Œc.snd_ctl_find_id”†”asbuh1hhjÊ®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊ®ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÊ®ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj%¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊ®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÆ®ubjZ)�”}”(hŒ const struct snd_ctl_elem_id *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj>¯h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj:¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:¯ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjY¯h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj:¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:¯ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(hjw¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjt¯ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jy¯Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j�®Œc.snd_ctl_find_id”†”asbuh1hhj:¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:¯ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj£¯h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj:¯ubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj°¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÆ®ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjP®h²hh³ja®h´MAubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjL®h²hh³ja®h´MAubah}”(h]”jG®ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³ja®h´MAhjI®h²hubjv)�”}”(hhh]”j{)�”}”(hŒ+find the control instance with the given id”h]”hŒ+find the control instance with the given id”…”�”}”(hjÚ¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MAhjׯh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjI®h²hh³ja®h´MAubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jò¯jšjò¯j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hXR**Parameters** ``struct snd_card *card`` the card instance ``const struct snd_ctl_elem_id *id`` the id to search **Description** Finds the control instance with the given id from the card. Note that this function takes card->controls_rwlock lock internally. **Return** The pointer of the instance if found, or ``NULL`` if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjü¯h]”hŒ Parameters”…”�”}”(hjþ¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjú¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MEhjö¯ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj°h]”hŒstruct snd_card *card”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MBhj°ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj4°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j0°h´MBhj1°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j0°h´MBhj°ubjÄ)�”}”(hŒ6``const struct snd_ctl_elem_id *id`` the id to search ”h]”(jÊ)�”}”(hŒ$``const struct snd_ctl_elem_id *id``”h]”jÐ)�”}”(hjT°h]”hŒ const struct snd_ctl_elem_id *id”…”�”}”(hjV°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjR°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MChjN°ubjæ)�”}”(hhh]”j{)�”}”(hŒthe id to search”h]”hŒthe id to search”…”�”}”(hjm°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³ji°h´MChjj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjN°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³ji°h´MChj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjö¯ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj�°h]”hŒ Description”…”�”}”(hj‘°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MEhjö¯ubj{)�”}”(hŒ;Finds the control instance with the given id from the card.”h]”hŒ;Finds the control instance with the given id from the card.”…”�”}”(hj¥°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MDhjö¯ubj{)�”}”(hŒDNote that this function takes card->controls_rwlock lock internally.”h]”hŒDNote that this function takes card->controls_rwlock lock internally.”…”�”}”(hj´°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MGhjö¯ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjŰh]”hŒReturn”…”�”}”(hjǰh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MIhjö¯ubj{)�”}”(hŒ9The pointer of the instance if found, or ``NULL`` if not.”h]”(hŒ)The pointer of the instance if found, or ”…”�”}”(hjÛ°h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjã°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛ°ubhŒ if not.”…”�”}”(hjÛ°h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MGhjö¯ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_ctl_register_ioctl (C function)”Œc.snd_ctl_register_ioctl”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ6int snd_ctl_register_ioctl (snd_kctl_ioctl_func_t fcn)”h]”j )�”}”(hŒ5int snd_ctl_register_ioctl(snd_kctl_ioctl_func_t fcn)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj±h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mšubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj±h²hh³j*±h´Mšubj3)�”}”(hŒsnd_ctl_register_ioctl”h]”j9)�”}”(hŒsnd_ctl_register_ioctl”h]”hŒsnd_ctl_register_ioctl”…”�”}”(hj=±h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9±ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj±h²hh³j*±h´MšubjT)�”}”(hŒ(snd_kctl_ioctl_func_t fcn)”h]”jZ)�”}”(hŒsnd_kctl_ioctl_func_t fcn”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_kctl_ioctl_func_t”h]”hŒsnd_kctl_ioctl_func_t”…”�”}”(hj\±h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjY±ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j^±Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j?±sbŒc.snd_ctl_register_ioctl”†”asbuh1hhjU±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjU±ubj9)�”}”(hŒfcn”h]”hŒfcn”…”�”}”(hjбh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjQ±ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj±h²hh³j*±h´Mšubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj±h²hh³j*±h´Mšubah}”(h]”j±ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j*±h´Mšhj±h²hubjv)�”}”(hhh]”j{)�”}”(hŒ+register the device-specific control-ioctls”h]”hŒ+register the device-specific control-ioctls”…”�”}”(hj´±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mšhj±±h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj±h²hh³j*±h´Mšubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j̱jšj̱j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hŒÍ**Parameters** ``snd_kctl_ioctl_func_t fcn`` ioctl callback function **Description** called from each device manager like pcm.c, hwdep.c, etc. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÖ±h]”hŒ Parameters”…”�”}”(hjرh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÔ±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mžhjбubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``snd_kctl_ioctl_func_t fcn`` ioctl callback function ”h]”(jÊ)�”}”(hŒ``snd_kctl_ioctl_func_t fcn``”h]”jÐ)�”}”(hjõ±h]”hŒsnd_kctl_ioctl_func_t fcn”…”�”}”(hj÷±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjó±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M›hjï±ubjæ)�”}”(hhh]”j{)�”}”(hŒioctl callback function”h]”hŒioctl callback function”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j ²h´M›hj ²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjï±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j ²h´M›hjì±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjбubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj0²h]”hŒ Description”…”�”}”(hj2²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj.²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M�hjбubj{)�”}”(hŒ9called from each device manager like pcm.c, hwdep.c, etc.”h]”hŒ9called from each device manager like pcm.c, hwdep.c, etc.”…”�”}”(hjF²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mœhjбubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjW²h]”hŒReturn”…”�”}”(hjY²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjU²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mžhjбubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjm²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MŸhjбubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_ctl_register_ioctl_compat (C function)”Œc.snd_ctl_register_ioctl_compat”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=int snd_ctl_register_ioctl_compat (snd_kctl_ioctl_func_t fcn)”h]”j )�”}”(hŒint snd_ctl_unregister_ioctl_compat(snd_kctl_ioctl_func_t fcn)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjNµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJµh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]µh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJµh²hh³j\µh´MÚubj3)�”}”(hŒsnd_ctl_unregister_ioctl_compat”h]”j9)�”}”(hŒsnd_ctl_unregister_ioctl_compat”h]”hŒsnd_ctl_unregister_ioctl_compat”…”�”}”(hjoµh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjkµubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjJµh²hh³j\µh´MÚubjT)�”}”(hŒ(snd_kctl_ioctl_func_t fcn)”h]”jZ)�”}”(hŒsnd_kctl_ioctl_func_t fcn”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_kctl_ioctl_func_t”h]”hŒsnd_kctl_ioctl_func_t”…”�”}”(hj޵h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹µubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�µŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jqµsbŒ!c.snd_ctl_unregister_ioctl_compat”†”asbuh1hhj‡µubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®µh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡µubj9)�”}”(hŒfcn”h]”hŒfcn”…”�”}”(hj¼µh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡µubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjƒµubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjJµh²hh³j\µh´MÚubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjFµh²hh³j\µh´MÚubah}”(h]”jAµah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j\µh´MÚhjCµh²hubjv)�”}”(hhh]”j{)�”}”(hŒ;de-register the device-specific compat 32bit control-ioctls”h]”hŒ;de-register the device-specific compat 32bit control-ioctls”…”�”}”(hjæµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÚhjãµh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjCµh²hh³j\µh´MÚubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jþµjšjþµj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hŒ�**Parameters** ``snd_kctl_ioctl_func_t fcn`` ioctl callback function to unregister **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¶h]”hŒ Parameters”…”�”}”(hj ¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÞhj¶ubj¿)�”}”(hhh]”jÄ)�”}”(hŒD``snd_kctl_ioctl_func_t fcn`` ioctl callback function to unregister ”h]”(jÊ)�”}”(hŒ``snd_kctl_ioctl_func_t fcn``”h]”jÐ)�”}”(hj'¶h]”hŒsnd_kctl_ioctl_func_t fcn”…”�”}”(hj)¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÜhj!¶ubjæ)�”}”(hhh]”j{)�”}”(hŒ%ioctl callback function to unregister”h]”hŒ%ioctl callback function to unregister”…”�”}”(hj@¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j<¶h´MÜhj=¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j<¶h´MÜhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¶ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjb¶h]”hŒReturn”…”�”}”(hjd¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj`¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÞhj¶ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjx¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÞhj¶ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_ctl_request_layer (C function)”Œc.snd_ctl_request_layer”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ3int snd_ctl_request_layer (const char *module_name)”h]”j )�”}”(hŒ2int snd_ctl_request_layer(const char *module_name)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj§¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj£¶h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£¶h²hh³jµ¶h´M ubj3)�”}”(hŒsnd_ctl_request_layer”h]”j9)�”}”(hŒsnd_ctl_request_layer”h]”hŒsnd_ctl_request_layer”…”�”}”(hjȶh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjĶubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj£¶h²hh³jµ¶h´M ubjT)�”}”(hŒ(const char *module_name)”h]”jZ)�”}”(hŒconst char *module_name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjä¶h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjà¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñ¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjà¶ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÿ¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjà¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjà¶ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjà¶ubj9)�”}”(hŒ module_name”h]”hŒ module_name”…”�”}”(hj(·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjà¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjܶubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj£¶h²hh³jµ¶h´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjŸ¶h²hh³jµ¶h´M ubah}”(h]”jš¶ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jµ¶h´M hjœ¶h²hubjv)�”}”(hhh]”j{)�”}”(hŒrequest to use the layer”h]”hŒrequest to use the layer”…”�”}”(hjR·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjO·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjœ¶h²hh³jµ¶h´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jj·jšjj·j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hŒ­**Parameters** ``const char *module_name`` Name of the kernel module (NULL == build-in) **Return** zero if successful, or an error code when the module cannot be loaded”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjt·h]”hŒ Parameters”…”�”}”(hjv·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjr·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjn·ubj¿)�”}”(hhh]”jÄ)�”}”(hŒI``const char *module_name`` Name of the kernel module (NULL == build-in) ”h]”(jÊ)�”}”(hŒ``const char *module_name``”h]”jÐ)�”}”(hj“·h]”hŒconst char *module_name”…”�”}”(hj•·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‘·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hj�·ubjæ)�”}”(hhh]”j{)�”}”(hŒ,Name of the kernel module (NULL == build-in)”h]”hŒ,Name of the kernel module (NULL == build-in)”…”�”}”(hj¬·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¨·h´M hj©·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¨·h´M hjŠ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjn·ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjηh]”hŒReturn”…”�”}”(hjзh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÌ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjn·ubj{)�”}”(hŒEzero if successful, or an error code when the module cannot be loaded”h]”hŒEzero if successful, or an error code when the module cannot be loaded”…”�”}”(hjä·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjn·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_ctl_register_layer (C function)”Œc.snd_ctl_register_layer”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒvoid snd_ctl_disconnect_layer (struct snd_ctl_layer_ops *lops)”h]”j )�”}”(hŒ=void snd_ctl_disconnect_layer(struct snd_ctl_layer_ops *lops)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj”¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�¹h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MA ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�¹h²hh³j¢¹h´MA ubj3)�”}”(hŒsnd_ctl_disconnect_layer”h]”j9)�”}”(hŒsnd_ctl_disconnect_layer”h]”hŒsnd_ctl_disconnect_layer”…”�”}”(hjµ¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±¹ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�¹h²hh³j¢¹h´MA ubjT)�”}”(hŒ (struct snd_ctl_layer_ops *lops)”h]”jZ)�”}”(hŒstruct snd_ctl_layer_ops *lops”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjѹh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj͹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj͹ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_layer_ops”h]”hŒsnd_ctl_layer_ops”…”�”}”(hjï¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjì¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jñ¹Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j·¹sbŒc.snd_ctl_disconnect_layer”†”asbuh1hhj͹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj͹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj͹ubj9)�”}”(hŒlops”h]”hŒlops”…”�”}”(hj*ºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj͹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjɹubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�¹h²hh³j¢¹h´MA ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjŒ¹h²hh³j¢¹h´MA ubah}”(h]”j‡¹ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¢¹h´MA hj‰¹h²hubjv)�”}”(hhh]”j{)�”}”(hŒdisconnect control layer”h]”hŒdisconnect control layer”…”�”}”(hjTºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MA hjQºh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj‰¹h²hh³j¢¹h´MA ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jlºjšjlºj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hŒÚ**Parameters** ``struct snd_ctl_layer_ops *lops`` operation structure **Description** It is expected that the information about tracked cards is freed before this call (the disconnect callback is not called here).”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjvºh]”hŒ Parameters”…”�”}”(hjxºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjtºubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´ME hjpºubj¿)�”}”(hhh]”jÄ)�”}”(hŒ7``struct snd_ctl_layer_ops *lops`` operation structure ”h]”(jÊ)�”}”(hŒ"``struct snd_ctl_layer_ops *lops``”h]”jÐ)�”}”(hj•ºh]”hŒstruct snd_ctl_layer_ops *lops”…”�”}”(hj—ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj“ºubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MB hj�ºubjæ)�”}”(hhh]”j{)�”}”(hŒoperation structure”h]”hŒoperation structure”…”�”}”(hj®ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jªºh´MB hj«ºubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ºubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jªºh´MB hjŒºubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjpºubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjкh]”hŒ Description”…”�”}”(hjÒºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjκubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MD hjpºubj{)�”}”(hŒIt is expected that the information about tracked cards is freed before this call (the disconnect callback is not called here).”h]”hŒIt is expected that the information about tracked cards is freed before this call (the disconnect callback is not called here).”…”�”}”(hjæºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MC hjpºubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_ctl_boolean_mono_info (C function)”Œc.snd_ctl_boolean_mono_info”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ^int snd_ctl_boolean_mono_info (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒ]int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj»h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÏ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$»h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»h²hh³j#»h´MÏ ubj3)�”}”(hŒsnd_ctl_boolean_mono_info”h]”j9)�”}”(hŒsnd_ctl_boolean_mono_info”h]”hŒsnd_ctl_boolean_mono_info”…”�”}”(hj6»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2»ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj»h²hh³j#»h´MÏ ubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjR»h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjN»ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_»h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN»ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjp»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jr»Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j8»sbŒc.snd_ctl_boolean_mono_info”†”asbuh1hhjN»ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�»h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN»ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjž»h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjN»ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj«»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjN»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjJ»ubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÄ»h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÀ»ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ»h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ»ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hjâ»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjß»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j仌modname”NŒ classname”NjœjŸ)�”}”j¢]”jŒ»Œc.snd_ctl_boolean_mono_info”†”asbuh1hhjÀ»ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ»ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÀ»ubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀ»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjJ»ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj»h²hh³j#»h´MÏ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj »h²hh³j#»h´MÏ ubah}”(h]”j»ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j#»h´MÏ hj »h²hubjv)�”}”(hhh]”j{)�”}”(hŒHHelper function for a standard boolean info callback with a mono channel”h]”hŒHHelper function for a standard boolean info callback with a mono channel”…”�”}”(hjE¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÏ hjB¼h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj »h²hh³j#»h´MÏ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j]¼jšj]¼j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX&**Parameters** ``struct snd_kcontrol *kcontrol`` the kcontrol instance ``struct snd_ctl_elem_info *uinfo`` info to store **Description** This is a function that can be used as info callback for a standard boolean control with a single mono channel. **Return** Zero (always successful)”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjg¼h]”hŒ Parameters”…”�”}”(hji¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hje¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÓ hja¼ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_kcontrol *kcontrol`` the kcontrol instance ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj†¼h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjˆ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj„¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÑ hj€¼ubjæ)�”}”(hhh]”j{)�”}”(hŒthe kcontrol instance”h]”hŒthe kcontrol instance”…”�”}”(hjŸ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j›¼h´MÑ hjœ¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj€¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j›¼h´MÑ hj}¼ubjÄ)�”}”(hŒ2``struct snd_ctl_elem_info *uinfo`` info to store ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hj¿¼h]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hjÁ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj½¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÒ hj¹¼ubjæ)�”}”(hhh]”j{)�”}”(hŒ info to store”h]”hŒ info to store”…”�”}”(hjؼh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÔ¼h´MÒ hjÕ¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¹¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÔ¼h´MÒ hj}¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hja¼ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjú¼h]”hŒ Description”…”�”}”(hjü¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjø¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÔ hja¼ubj{)�”}”(hŒoThis is a function that can be used as info callback for a standard boolean control with a single mono channel.”h]”hŒoThis is a function that can be used as info callback for a standard boolean control with a single mono channel.”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÓ hja¼ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj!½h]”hŒReturn”…”�”}”(hj#½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÖ hja¼ubj{)�”}”(hŒZero (always successful)”h]”hŒZero (always successful)”…”�”}”(hj7½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M× hja¼ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_ctl_boolean_stereo_info (C function)”Œc.snd_ctl_boolean_stereo_info”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`int snd_ctl_boolean_stereo_info (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒ_int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjf½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjb½h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Må ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hju½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjb½h²hh³jt½h´Må ubj3)�”}”(hŒsnd_ctl_boolean_stereo_info”h]”j9)�”}”(hŒsnd_ctl_boolean_stereo_info”h]”hŒsnd_ctl_boolean_stereo_info”…”�”}”(hj‡½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒ½ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjb½h²hh³jt½h´Må ubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj£½h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŸ½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸ½ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÁ½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jýŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j‰½sbŒc.snd_ctl_boolean_stereo_info”†”asbuh1hhjŸ½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸ½ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjï½h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŸ½ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjü½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸ½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj›½ubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hj3¾h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0¾ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j5¾Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jݽŒc.snd_ctl_boolean_stereo_info”†”asbuh1hhj¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj_¾h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¾ubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hjl¾h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj›½ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjb½h²hh³jt½h´Må ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj^½h²hh³jt½h´Må ubah}”(h]”jY½ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jt½h´Må hj[½h²hubjv)�”}”(hhh]”j{)�”}”(hŒMHelper function for a standard boolean info callback with stereo two channels”h]”hŒMHelper function for a standard boolean info callback with stereo two channels”…”�”}”(hj–¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Må hj“¾h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj[½h²hh³jt½h´Må ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j®¾jšj®¾j›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX$**Parameters** ``struct snd_kcontrol *kcontrol`` the kcontrol instance ``struct snd_ctl_elem_info *uinfo`` info to store **Description** This is a function that can be used as info callback for a standard boolean control with stereo two channels. **Return** Zero (always successful)”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¸¾h]”hŒ Parameters”…”�”}”(hjº¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¶¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mé hj²¾ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_kcontrol *kcontrol`` the kcontrol instance ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj×¾h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjÙ¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÕ¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mç hjѾubjæ)�”}”(hhh]”j{)�”}”(hŒthe kcontrol instance”h]”hŒthe kcontrol instance”…”�”}”(hjð¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jì¾h´Mç hjí¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjѾubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jì¾h´Mç hjξubjÄ)�”}”(hŒ2``struct snd_ctl_elem_info *uinfo`` info to store ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hj¿h]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mè hj ¿ubjæ)�”}”(hhh]”j{)�”}”(hŒ info to store”h]”hŒ info to store”…”�”}”(hj)¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j%¿h´Mè hj&¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j%¿h´Mè hjξubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj²¾ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjK¿h]”hŒ Description”…”�”}”(hjM¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjI¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mê hj²¾ubj{)�”}”(hŒmThis is a function that can be used as info callback for a standard boolean control with stereo two channels.”h]”hŒmThis is a function that can be used as info callback for a standard boolean control with stereo two channels.”…”�”}”(hja¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mé hj²¾ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjr¿h]”hŒReturn”…”�”}”(hjt¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjp¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mì hj²¾ubj{)�”}”(hŒZero (always successful)”h]”hŒZero (always successful)”…”�”}”(hjˆ¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mí hj²¾ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ctl_enum_info (C function)”Œc.snd_ctl_enum_info”hNt”auh1híhj‰h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ|int snd_ctl_enum_info (struct snd_ctl_elem_info *info, unsigned int channels, unsigned int items, const char *const names[])”h]”j )�”}”(hŒ{int snd_ctl_enum_info(struct snd_ctl_elem_info *info, unsigned int channels, unsigned int items, const char *const names[])”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj·¿h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj³¿h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mû ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³¿h²hh³jÅ¿h´Mû ubj3)�”}”(hŒsnd_ctl_enum_info”h]”j9)�”}”(hŒsnd_ctl_enum_info”h]”hŒsnd_ctl_enum_info”…”�”}”(hjØ¿h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔ¿ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj³¿h²hh³jÅ¿h´Mû ubjT)�”}”(hŒf(struct snd_ctl_elem_info *info, unsigned int channels, unsigned int items, const char *const names[])”h]”(jZ)�”}”(hŒstruct snd_ctl_elem_info *info”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjô¿h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjð¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð¿ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÀŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÚ¿sbŒc.snd_ctl_enum_info”†”asbuh1hhjð¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2Àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð¿ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj@Àh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjð¿ubj9)�”}”(hŒinfo”h]”hŒinfo”…”�”}”(hjMÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjð¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì¿ubjZ)�”}”(hŒunsigned int channels”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjfÀh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbÀubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbÀubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‚Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbÀubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbÀubj9)�”}”(hŒchannels”h]”hŒchannels”…”�”}”(hjžÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì¿ubjZ)�”}”(hŒunsigned int items”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj·Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj³Àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³Àubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjÓÀh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj³Àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³Àubj9)�”}”(hŒitems”h]”hŒitems”…”�”}”(hjïÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj³Àubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì¿ubjZ)�”}”(hŒconst char *const names[]”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÁubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj#Áh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÁubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1Áh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj?Áh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÁubj`)�”}”(hjph]”hŒconst”…”�”}”(hjLÁh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÁubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYÁh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁubj9)�”}”(hŒnames”h]”hŒnames”…”�”}”(hjgÁh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁubj¹)�”}”(hŒ[”h]”hŒ[”…”�”}”(hjuÁh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÁubj¹)�”}”(hŒ]”h]”hŒ]”…”�”}”(hjƒÁh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÁubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì¿ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj³¿h²hh³jÅ¿h´Mû ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¯¿h²hh³jÅ¿h´Mû ubah}”(h]”jª¿ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅ¿h´Mû hj¬¿h²hubjv)�”}”(hhh]”j{)�”}”(hŒ2fills the info structure for an enumerated control”h]”hŒ2fills the info structure for an enumerated control”…”�”}”(hj­Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mû hjªÁh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¬¿h²hh³jÅ¿h´Mû ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÅÁjšjÅÁj›‰jœ‰j�‰uh1hþh²hhj‰h³Nh´NubjŸ)�”}”(hX2**Parameters** ``struct snd_ctl_elem_info *info`` the structure to be filled ``unsigned int channels`` the number of the control's channels; often one ``unsigned int items`` the number of control values; also the size of **names** ``const char *const names[]`` an array containing the names of all control values **Description** Sets all required fields in **info** to their appropriate values. If the control's accessibility is not the default (readable and writable), the caller has to fill **info->access**. **Return** Zero (always successful)”•h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÏÁh]”hŒ Parameters”…”�”}”(hjÑÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÍÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mÿ hjÉÁubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_ctl_elem_info *info`` the structure to be filled ”h]”(jÊ)�”}”(hŒ"``struct snd_ctl_elem_info *info``”h]”jÐ)�”}”(hjîÁh]”hŒstruct snd_ctl_elem_info *info”…”�”}”(hjðÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjìÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mü hjèÁubjæ)�”}”(hhh]”j{)�”}”(hŒthe structure to be filled”h]”hŒthe structure to be filled”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÂh´Mü hjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjèÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÂh´Mü hjåÁubjÄ)�”}”(hŒJ``unsigned int channels`` the number of the control's channels; often one ”h]”(jÊ)�”}”(hŒ``unsigned int channels``”h]”jÐ)�”}”(hj'Âh]”hŒunsigned int channels”…”�”}”(hj)Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%Âubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mý hj!Âubjæ)�”}”(hhh]”j{)�”}”(hŒ/the number of the control's channels; often one”h]”hŒ1the number of the control’s channels; often one”…”�”}”(hj@Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j<Âh´Mý hj=Âubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!Âubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j<Âh´Mý hjåÁubjÄ)�”}”(hŒP``unsigned int items`` the number of control values; also the size of **names** ”h]”(jÊ)�”}”(hŒ``unsigned int items``”h]”jÐ)�”}”(hj`Âh]”hŒunsigned int items”…”�”}”(hjbÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^Âubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mþ hjZÂubjæ)�”}”(hhh]”j{)�”}”(hŒ8the number of control values; also the size of **names**”h]”(hŒ/the number of control values; also the size of ”…”�”}”(hjyÂh²hh³Nh´Nubj©)�”}”(hŒ **names**”h]”hŒnames”…”�”}”(hj�Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjyÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³juÂh´Mþ hjvÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³juÂh´Mþ hjåÁubjÄ)�”}”(hŒR``const char *const names[]`` an array containing the names of all control values ”h]”(jÊ)�”}”(hŒ``const char *const names[]``”h]”jÐ)�”}”(hj§Âh]”hŒconst char *const names[]”…”�”}”(hj©Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¥Âubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´Mÿ hj¡Âubjæ)�”}”(hhh]”j{)�”}”(hŒ3an array containing the names of all control values”h]”hŒ3an array containing the names of all control values”…”�”}”(hjÀÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¼Âh´Mÿ hj½Âubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¡Âubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¼Âh´Mÿ hjåÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÉÁubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjâÂh]”hŒ Description”…”�”}”(hjäÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjàÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjÉÁubj{)�”}”(hŒµSets all required fields in **info** to their appropriate values. If the control's accessibility is not the default (readable and writable), the caller has to fill **info->access**.”h]”(hŒSets all required fields in ”…”�”}”(hjøÂh²hh³Nh´Nubj©)�”}”(hŒ**info**”h]”hŒinfo”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjøÂubhŒ‚ to their appropriate values. If the control’s accessibility is not the default (readable and writable), the caller has to fill ”…”�”}”(hjøÂh²hh³Nh´Nubj©)�”}”(hŒ**info->access**”h]”hŒ info->access”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjøÂubhŒ.”…”�”}”(hjøÂh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjÉÁubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj-Ãh]”hŒReturn”…”�”}”(hj/Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj+Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjÉÁubj{)�”}”(hŒZero (always successful)”h]”hŒZero (always successful)”…”�”}”(hjCÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´M hjÉÁubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‰h²hh³Nh´Nubeh}”(h]”Œgeneral-control-interface”ah ]”h"]”Œgeneral control interface”ah$]”h&]”uh1hµhjýˆh²hh³hÊh´K5ubh¶)�”}”(hhh]”(h»)�”}”(hŒAC97 Codec API”h]”hŒAC97 Codec API”…”�”}”(hjdÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjaÃh²hh³hÊh´K9ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_write (C function)”Œc.snd_ac97_write”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒUvoid snd_ac97_write (struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”j )�”}”(hŒTvoid snd_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‹Ãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡Ãh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšÃh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡Ãh²hh³j™Ãh´Mubj3)�”}”(hŒsnd_ac97_write”h]”j9)�”}”(hŒsnd_ac97_write”h]”hŒsnd_ac97_write”…”�”}”(hj¬Ãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨Ãubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‡Ãh²hh³j™Ãh´MubjT)�”}”(hŒA(struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÈÃh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÄÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕÃh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄÃubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjæÃh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjãÃubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jèÃŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j®ÃsbŒc.snd_ac97_write”†”asbuh1hhjÄÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄÃubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÄÃubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj!Äh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄÃubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀÃubjZ)�”}”(hŒunsigned short reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj:Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj6Äubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6Äubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjVÄh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj6Äubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6Äubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjrÄh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6Äubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀÃubjZ)�”}”(hŒunsigned short value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj‹Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡Äubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Äh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡Äubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hj§Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡Äubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡Äubj9)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjÃÄh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡Äubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀÃubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj‡Ãh²hh³j™Ãh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjƒÃh²hh³j™Ãh´Mubah}”(h]”j~Ãah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j™Ãh´Mhj€Ãh²hubjv)�”}”(hhh]”j{)�”}”(hŒ#write a value on the given register”h]”hŒ#write a value on the given register”…”�”}”(hjíÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MhjêÄh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj€Ãh²hh³j™Ãh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÅjšjÅj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hXÃ**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``unsigned short reg`` the register to change ``unsigned short value`` the value to set **Description** Writes a value on the given register. This will invoke the write callback directly after the register check. This function doesn't change the register cache unlike #snd_ca97_write_cache(), so use this only when you don't want to reflect the change to the suspend/resume state.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÅh]”hŒ Parameters”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mhj Åubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj.Åh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj0Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mhj(Åubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hjGÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jCÅh´MhjDÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(Åubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jCÅh´Mhj%ÅubjÄ)�”}”(hŒ.``unsigned short reg`` the register to change ”h]”(jÊ)�”}”(hŒ``unsigned short reg``”h]”jÐ)�”}”(hjgÅh]”hŒunsigned short reg”…”�”}”(hjiÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MhjaÅubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(hj€Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|Åh´Mhj}Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|Åh´Mhj%ÅubjÄ)�”}”(hŒ*``unsigned short value`` the value to set ”h]”(jÊ)�”}”(hŒ``unsigned short value``”h]”jÐ)�”}”(hj Åh]”hŒunsigned short value”…”�”}”(hj¢Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjžÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MhjšÅubjæ)�”}”(hhh]”j{)�”}”(hŒthe value to set”h]”hŒthe value to set”…”�”}”(hj¹Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jµÅh´Mhj¶Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjšÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jµÅh´Mhj%Åubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Åubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÛÅh]”hŒ Description”…”�”}”(hjÝÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÙÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hj Åubj{)�”}”(hXWrites a value on the given register. This will invoke the write callback directly after the register check. This function doesn't change the register cache unlike #snd_ca97_write_cache(), so use this only when you don't want to reflect the change to the suspend/resume state.”h]”hXWrites a value on the given register. This will invoke the write callback directly after the register check. This function doesn’t change the register cache unlike #snd_ca97_write_cache(), so use this only when you don’t want to reflect the change to the suspend/resume state.”…”�”}”(hjñÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mhj Åubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_read (C function)”Œc.snd_ac97_read”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒHunsigned short snd_ac97_read (struct snd_ac97 *ac97, unsigned short reg)”h]”j )�”}”(hŒGunsigned short snd_ac97_read(struct snd_ac97 *ac97, unsigned short reg)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj Æh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÆh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/Æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÆh²hh³j.Æh´Mubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hj=Æh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÆh²hh³j.Æh´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÆh²hh³j.Æh´Mubj3)�”}”(hŒ snd_ac97_read”h]”j9)�”}”(hŒ snd_ac97_read”h]”hŒ snd_ac97_read”…”�”}”(hj]Æh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjYÆubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÆh²hh³j.Æh´MubjT)�”}”(hŒ+(struct snd_ac97 *ac97, unsigned short reg)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjyÆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjuÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†Æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjuÆubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hj—Æh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj”Æubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j™ÆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j_ÆsbŒc.snd_ac97_read”†”asbuh1hhjuÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·Æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjuÆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÅÆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjuÆubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hjÒÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjuÆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjqÆubjZ)�”}”(hŒunsigned short reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjëÆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjçÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjçÆubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjçÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjçÆubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hj#Çh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçÆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjqÆubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÆh²hh³j.Æh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÆh²hh³j.Æh´Mubah}”(h]”jÆah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j.Æh´MhjÆh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$read a value from the given register”h]”hŒ$read a value from the given register”…”�”}”(hjMÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MhjJÇh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÆh²hh³j.Æh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jeÇjšjeÇj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hX **Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``unsigned short reg`` the register to read **Description** Reads a value from the given register. This will invoke the read callback directly after the register check. **Return** The read value.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjoÇh]”hŒ Parameters”…”�”}”(hjqÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjmÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M"hjiÇubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hjŽÇh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj�Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŒÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hjˆÇubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj§Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j£Çh´M hj¤Çubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j£Çh´M hj…ÇubjÄ)�”}”(hŒ,``unsigned short reg`` the register to read ”h]”(jÊ)�”}”(hŒ``unsigned short reg``”h]”jÐ)�”}”(hjÇÇh]”hŒunsigned short reg”…”�”}”(hjÉÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÅÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M!hjÁÇubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to read”h]”hŒthe register to read”…”�”}”(hjàÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜÇh´M!hjÝÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜÇh´M!hj…Çubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjiÇubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÈh]”hŒ Description”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M#hjiÇubj{)�”}”(hŒmReads a value from the given register. This will invoke the read callback directly after the register check.”h]”hŒmReads a value from the given register. This will invoke the read callback directly after the register check.”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M"hjiÇubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj)Èh]”hŒReturn”…”�”}”(hj+Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'Èubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M%hjiÇubj{)�”}”(hŒThe read value.”h]”hŒThe read value.”…”�”}”(hj?Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M&hjiÇubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_ac97_write_cache (C function)”Œc.snd_ac97_write_cache”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ[void snd_ac97_write_cache (struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”j )�”}”(hŒZvoid snd_ac97_write_cache(struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjnÈh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjÈh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}Èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjÈh²hh³j|Èh´M<ubj3)�”}”(hŒsnd_ac97_write_cache”h]”j9)�”}”(hŒsnd_ac97_write_cache”h]”hŒsnd_ac97_write_cache”…”�”}”(hj�Èh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹Èubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjjÈh²hh³j|Èh´M<ubjT)�”}”(hŒA(struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj«Èh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj§Èubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸Èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§Èubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjÉÈh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jËÈŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j‘ÈsbŒc.snd_ac97_write_cache”†”asbuh1hhj§Èubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéÈh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§Èubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj÷Èh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj§Èubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§Èubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj£ÈubjZ)�”}”(hŒunsigned short reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hj9Éh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGÉh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjUÉh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÉubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj£ÈubjZ)�”}”(hŒunsigned short value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjnÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjÉubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjŠÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjÉubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjÉubj9)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hj¦Éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjÉubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj£Èubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjjÈh²hh³j|Èh´M<ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjfÈh²hh³j|Èh´M<ubah}”(h]”jaÈah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j|Èh´M<hjcÈh²hubjv)�”}”(hhh]”j{)�”}”(hŒ8write a value on the given register and update the cache”h]”hŒ8write a value on the given register and update the cache”…”�”}”(hjÐÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M<hjÍÉh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjcÈh²hh³j|Èh´M<ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jèÉjšjèÉj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hX:**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``unsigned short reg`` the register to change ``unsigned short value`` the value to set **Description** Writes a value on the given register and updates the register cache. The cached values are used for the cached-read and the suspend/resume.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjòÉh]”hŒ Parameters”…”�”}”(hjôÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjðÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M@hjìÉubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hjÊh]”hŒstruct snd_ac97 *ac97”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M=hj Êubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj*Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j&Êh´M=hj'Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j&Êh´M=hjÊubjÄ)�”}”(hŒ.``unsigned short reg`` the register to change ”h]”(jÊ)�”}”(hŒ``unsigned short reg``”h]”jÐ)�”}”(hjJÊh]”hŒunsigned short reg”…”�”}”(hjLÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjHÊubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M>hjDÊubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(hjcÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_Êh´M>hj`Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjDÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_Êh´M>hjÊubjÄ)�”}”(hŒ*``unsigned short value`` the value to set ”h]”(jÊ)�”}”(hŒ``unsigned short value``”h]”jÐ)�”}”(hjƒÊh]”hŒunsigned short value”…”�”}”(hj…Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M?hj}Êubjæ)�”}”(hhh]”j{)�”}”(hŒthe value to set”h]”hŒthe value to set”…”�”}”(hjœÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j˜Êh´M?hj™Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜Êh´M?hjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjìÉubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¾Êh]”hŒ Description”…”�”}”(hjÀÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¼Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MAhjìÉubj{)�”}”(hŒŒWrites a value on the given register and updates the register cache. The cached values are used for the cached-read and the suspend/resume.”h]”hŒŒWrites a value on the given register and updates the register cache. The cached values are used for the cached-read and the suspend/resume.”…”�”}”(hjÔÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M@hjìÉubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_update (C function)”Œc.snd_ac97_update”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒUint snd_ac97_update (struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”j )�”}”(hŒTint snd_ac97_update(struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿÊh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MRubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿÊh²hh³jËh´MRubj3)�”}”(hŒsnd_ac97_update”h]”j9)�”}”(hŒsnd_ac97_update”h]”hŒsnd_ac97_update”…”�”}”(hj$Ëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Ëubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÿÊh²hh³jËh´MRubjT)�”}”(hŒA(struct snd_ac97 *ac97, unsigned short reg, unsigned short value)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj@Ëh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<Ëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<Ëubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hj^Ëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[Ëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j`ËŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j&ËsbŒc.snd_ac97_update”†”asbuh1hhj<Ëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~Ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<Ëubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŒËh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj<Ëubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj™Ëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<Ëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8ËubjZ)�”}”(hŒunsigned short reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj²Ëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®Ëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®Ëubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjÎËh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®Ëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®Ëubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjêËh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®Ëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8ËubjZ)�”}”(hŒunsigned short value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿËubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿËubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿËubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-Ìh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿËubj9)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hj;Ìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8Ëubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÿÊh²hh³jËh´MRubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjûÊh²hh³jËh´MRubah}”(h]”jöÊah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jËh´MRhjøÊh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&update the value on the given register”h]”hŒ&update the value on the given register”…”�”}”(hjeÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MRhjbÌh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjøÊh²hh³jËh´MRubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j}Ìjšj}Ìj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hXe**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``unsigned short reg`` the register to change ``unsigned short value`` the value to set **Description** Compares the value with the register cache and updates the value only when the value is changed. **Return** 1 if the value is changed, 0 if no change, or a negative code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‡Ìh]”hŒ Parameters”…”�”}”(hj‰Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj…Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MVhj�Ìubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj¦Ìh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj¨Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¤Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MShj Ìubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj¿Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j»Ìh´MShj¼Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j»Ìh´MShj�ÌubjÄ)�”}”(hŒ.``unsigned short reg`` the register to change ”h]”(jÊ)�”}”(hŒ``unsigned short reg``”h]”jÐ)�”}”(hjßÌh]”hŒunsigned short reg”…”�”}”(hjáÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÝÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MThjÙÌubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(hjøÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jôÌh´MThjõÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÙÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jôÌh´MThj�ÌubjÄ)�”}”(hŒ*``unsigned short value`` the value to set ”h]”(jÊ)�”}”(hŒ``unsigned short value``”h]”jÐ)�”}”(hjÍh]”hŒunsigned short value”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MUhjÍubjæ)�”}”(hhh]”j{)�”}”(hŒthe value to set”h]”hŒthe value to set”…”�”}”(hj1Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j-Íh´MUhj.Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j-Íh´MUhj�Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�Ìubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjSÍh]”hŒ Description”…”�”}”(hjUÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjQÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MWhj�Ìubj{)�”}”(hŒ`Compares the value with the register cache and updates the value only when the value is changed.”h]”hŒ`Compares the value with the register cache and updates the value only when the value is changed.”…”�”}”(hjiÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MVhj�Ìubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjzÍh]”hŒReturn”…”�”}”(hj|Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjxÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MYhj�Ìubj{)�”}”(hŒI1 if the value is changed, 0 if no change, or a negative code on failure.”h]”hŒI1 if the value is changed, 0 if no change, or a negative code on failure.”…”�”}”(hj�Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MZhj�Ìubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_ac97_update_bits (C function)”Œc.snd_ac97_update_bits”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒoint snd_ac97_update_bits (struct snd_ac97 *ac97, unsigned short reg, unsigned short mask, unsigned short value)”h]”j )�”}”(hŒnint snd_ac97_update_bits(struct snd_ac97 *ac97, unsigned short reg, unsigned short mask, unsigned short value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¿Íh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj»Íh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mpubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»Íh²hh³jÍÍh´Mpubj3)�”}”(hŒsnd_ac97_update_bits”h]”j9)�”}”(hŒsnd_ac97_update_bits”h]”hŒsnd_ac97_update_bits”…”�”}”(hjàÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÜÍubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj»Íh²hh³jÍÍh´MpubjT)�”}”(hŒV(struct snd_ac97 *ac97, unsigned short reg, unsigned short mask, unsigned short value)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjüÍh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjøÍubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjøÍubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÎŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jâÍsbŒc.snd_ac97_update_bits”†”asbuh1hhjøÍubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjøÍubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjHÎh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjøÍubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hjUÎh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjøÍubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjôÍubjZ)�”}”(hŒunsigned short reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjnÎh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjÎubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjŠÎh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjÎubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hj¦Îh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjÎubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjôÍubjZ)�”}”(hŒunsigned short mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¿Îh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj»Îubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍÎh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»Îubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjÛÎh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj»Îubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéÎh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»Îubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj÷Îh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»Îubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjôÍubjZ)�”}”(hŒunsigned short value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj Ïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Ïubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hj,Ïh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj Ïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Ïubj9)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjHÏh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Ïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjôÍubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj»Íh²hh³jÍÍh´Mpubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj·Íh²hh³jÍÍh´Mpubah}”(h]”j²Íah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÍÍh´Mphj´Íh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%update the bits on the given register”h]”hŒ%update the bits on the given register”…”�”}”(hjrÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MphjoÏh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj´Íh²hh³jÍÍh´Mpubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jŠÏjšjŠÏj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hX„**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``unsigned short reg`` the register to change ``unsigned short mask`` the bit-mask to change ``unsigned short value`` the value to set **Description** Updates the masked-bits on the given register only when the value is changed. **Return** 1 if the bits are changed, 0 if no change, or a negative code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj”Ïh]”hŒ Parameters”…”�”}”(hj–Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj’Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MthjŽÏubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj³Ïh]”hŒstruct snd_ac97 *ac97”…”�”}”(hjµÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj±Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mqhj­Ïubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hjÌÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÈÏh´MqhjÉÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj­Ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÈÏh´MqhjªÏubjÄ)�”}”(hŒ.``unsigned short reg`` the register to change ”h]”(jÊ)�”}”(hŒ``unsigned short reg``”h]”jÐ)�”}”(hjìÏh]”hŒunsigned short reg”…”�”}”(hjîÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjêÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MrhjæÏubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐh´MrhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjæÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐh´MrhjªÏubjÄ)�”}”(hŒ/``unsigned short mask`` the bit-mask to change ”h]”(jÊ)�”}”(hŒ``unsigned short mask``”h]”jÐ)�”}”(hj%Ðh]”hŒunsigned short mask”…”�”}”(hj'Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj#Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MshjÐubjæ)�”}”(hhh]”j{)�”}”(hŒthe bit-mask to change”h]”hŒthe bit-mask to change”…”�”}”(hj>Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j:Ðh´Mshj;Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j:Ðh´MshjªÏubjÄ)�”}”(hŒ*``unsigned short value`` the value to set ”h]”(jÊ)�”}”(hŒ``unsigned short value``”h]”jÐ)�”}”(hj^Ðh]”hŒunsigned short value”…”�”}”(hj`Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj\Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MthjXÐubjæ)�”}”(hhh]”j{)�”}”(hŒthe value to set”h]”hŒthe value to set”…”�”}”(hjwÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsÐh´MthjtÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsÐh´MthjªÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŽÏubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj™Ðh]”hŒ Description”…”�”}”(hj›Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MvhjŽÏubj{)�”}”(hŒMUpdates the masked-bits on the given register only when the value is changed.”h]”hŒMUpdates the masked-bits on the given register only when the value is changed.”…”�”}”(hj¯Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MuhjŽÏubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÀÐh]”hŒReturn”…”�”}”(hjÂÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¾Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MxhjŽÏubj{)�”}”(hŒI1 if the bits are changed, 0 if no change, or a negative code on failure.”h]”hŒI1 if the bits are changed, 0 if no change, or a negative code on failure.”…”�”}”(hjÖÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MyhjŽÏubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_ac97_get_short_name (C function)”Œc.snd_ac97_get_short_name”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒclock`` manually. The AC97 bus instance is registered as a low-level device, so you don't have to release it manually. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÕh]”hŒ Parameters”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj Õubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‹hj Õubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj.Õh]”hŒstruct snd_card *card”…”�”}”(hj0Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,Õubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mˆhj(Õubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjGÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jCÕh´MˆhjDÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(Õubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jCÕh´Mˆhj%ÕubjÄ)�”}”(hŒ``int num`` the bus number ”h]”(jÊ)�”}”(hŒ ``int num``”h]”jÐ)�”}”(hjgÕh]”hŒint num”…”�”}”(hjiÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‰hjaÕubjæ)�”}”(hhh]”j{)�”}”(hŒthe bus number”h]”hŒthe bus number”…”�”}”(hj€Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|Õh´M‰hj}Õubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaÕubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|Õh´M‰hj%ÕubjÄ)�”}”(hŒ?``const struct snd_ac97_bus_ops *ops`` the bus callbacks table ”h]”(jÊ)�”}”(hŒ&``const struct snd_ac97_bus_ops *ops``”h]”jÐ)�”}”(hj Õh]”hŒ"const struct snd_ac97_bus_ops *ops”…”�”}”(hj¢Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjžÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MŠhjšÕubjæ)�”}”(hhh]”j{)�”}”(hŒthe bus callbacks table”h]”hŒthe bus callbacks table”…”�”}”(hj¹Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jµÕh´MŠhj¶Õubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjšÕubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jµÕh´MŠhj%ÕubjÄ)�”}”(hŒA``void *private_data`` private data pointer for the new instance ”h]”(jÊ)�”}”(hŒ``void *private_data``”h]”jÐ)�”}”(hjÙÕh]”hŒvoid *private_data”…”�”}”(hjÛÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj×Õubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‹hjÓÕubjæ)�”}”(hhh]”j{)�”}”(hŒ)private data pointer for the new instance”h]”hŒ)private data pointer for the new instance”…”�”}”(hjòÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jîÕh´M‹hjïÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÓÕubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jîÕh´M‹hj%ÕubjÄ)�”}”(hŒO``struct snd_ac97_bus **rbus`` the pointer to store the new AC97 bus instance. ”h]”(jÊ)�”}”(hŒ``struct snd_ac97_bus **rbus``”h]”jÐ)�”}”(hjÖh]”hŒstruct snd_ac97_bus **rbus”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MŒhj Öubjæ)�”}”(hhh]”j{)�”}”(hŒ/the pointer to store the new AC97 bus instance.”h]”hŒ/the pointer to store the new AC97 bus instance.”…”�”}”(hj+Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j'Öh´MŒhj(Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Öubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j'Öh´MŒhj%Õubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Õubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjMÖh]”hŒ Description”…”�”}”(hjOÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjKÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MŽhj Õubj{)�”}”(hŒcCreates an AC97 bus component. An struct snd_ac97_bus instance is newly allocated and initialized.”h]”hŒcCreates an AC97 bus component. An struct snd_ac97_bus instance is newly allocated and initialized.”…”�”}”(hjcÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M�hj Õubj{)�”}”(hŒ~The ops table must include valid callbacks (at least read and write). The other callbacks, wait and reset, are not mandatory.”h]”hŒ~The ops table must include valid callbacks (at least read and write). The other callbacks, wait and reset, are not mandatory.”…”�”}”(hjrÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M�hj Õubj{)�”}”(hŒXThe clock is set to 48000. If another clock is needed, set ``(*rbus)->clock`` manually.”h]”(hŒclock``”h]”hŒ(*rbus)->clock”…”�”}”(hj‰Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�ÖubhŒ manually.”…”�”}”(hj�Öh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M“hj Õubj{)�”}”(hŒdThe AC97 bus instance is registered as a low-level device, so you don't have to release it manually.”h]”hŒfThe AC97 bus instance is registered as a low-level device, so you don’t have to release it manually.”…”�”}”(hj¢Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M–hj Õubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj³Öh]”hŒReturn”…”�”}”(hjµÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj±Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M™hj Õubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÉÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mšhj Õubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_mixer (C function)”Œc.snd_ac97_mixer”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒjint snd_ac97_mixer (struct snd_ac97_bus *bus, struct snd_ac97_template *template, struct snd_ac97 **rac97)”h]”j )�”}”(hŒiint snd_ac97_mixer(struct snd_ac97_bus *bus, struct snd_ac97_template *template, struct snd_ac97 **rac97)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjøÖh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjôÖh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjôÖh²hh³j×h´Mîubj3)�”}”(hŒsnd_ac97_mixer”h]”j9)�”}”(hŒsnd_ac97_mixer”h]”hŒsnd_ac97_mixer”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjôÖh²hh³j×h´MîubjT)�”}”(hŒW(struct snd_ac97_bus *bus, struct snd_ac97_template *template, struct snd_ac97 **rac97)”h]”(jZ)�”}”(hŒstruct snd_ac97_bus *bus”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj5×h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj1×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjB×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1×ubh)�”}”(hhh]”j9)�”}”(hŒ snd_ac97_bus”h]”hŒ snd_ac97_bus”…”�”}”(hjS×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjP×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jU׌modname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j×sbŒc.snd_ac97_mixer”†”asbuh1hhj1×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1×ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�×h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj1×ubj9)�”}”(hŒbus”h]”hŒbus”…”�”}”(hjŽ×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj-×ub•jZ)�”}”(hŒ"struct snd_ac97_template *template”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj§×h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj£×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£×ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97_template”h]”hŒsnd_ac97_template”…”�”}”(hjÅ×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂ×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÇ׌modname”NŒ classname”NjœjŸ)�”}”j¢]”jo׌c.snd_ac97_mixer”†”asbuh1hhj£×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjã×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£×ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjñ×h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj£×ubj9)�”}”(hŒtemplate”h]”hŒtemplate”…”�”}”(hjþ×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj£×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj-×ubjZ)�”}”(hŒstruct snd_ac97 **rac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Øh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hj5Øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2Øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j7ØŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jo׌c.snd_ac97_mixer”†”asbuh1hhjØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSØh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjaØh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjnØh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØubj9)�”}”(hŒrac97”h]”hŒrac97”…”�”}”(hj{Øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj-×ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjôÖh²hh³j×h´Mîubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjðÖh²hh³j×h´Mîubah}”(h]”jëÖah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j×h´MîhjíÖh²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate an Codec97 component”h]”hŒcreate an Codec97 component”…”�”}”(hj¥Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mîhj¢Øh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjíÖh²hh³j×h´Mîubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j½Øjšj½Øj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hXä**Parameters** ``struct snd_ac97_bus *bus`` the AC97 bus which codec is attached to ``struct snd_ac97_template *template`` the template of ac97, including index, callbacks and the private data. ``struct snd_ac97 **rac97`` the pointer to store the new ac97 instance. **Description** Creates an Codec97 component. An struct snd_ac97 instance is newly allocated and initialized from the template. The codec is then initialized by the standard procedure. The template must include the codec number (num) and address (addr), and the private data (private_data). The ac97 instance is registered as a low-level device, so you don't have to release it manually. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÇØh]”hŒ Parameters”…”�”}”(hjÉØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÅØubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MòhjÁØubj¿)�”}”(hhh]”(jÄ)�”}”(hŒE``struct snd_ac97_bus *bus`` the AC97 bus which codec is attached to ”h]”(jÊ)�”}”(hŒ``struct snd_ac97_bus *bus``”h]”jÐ)�”}”(hjæØh]”hŒstruct snd_ac97_bus *bus”…”�”}”(hjèØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjäØubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MïhjàØubjæ)�”}”(hhh]”j{)�”}”(hŒ'the AC97 bus which codec is attached to”h]”hŒ'the AC97 bus which codec is attached to”…”�”}”(hjÿØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jûØh´MïhjüØubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjàØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jûØh´MïhjÝØubjÄ)�”}”(hŒn``struct snd_ac97_template *template`` the template of ac97, including index, callbacks and the private data. ”h]”(jÊ)�”}”(hŒ&``struct snd_ac97_template *template``”h]”jÐ)�”}”(hjÙh]”hŒ"struct snd_ac97_template *template”…”�”}”(hj!Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MñhjÙubjæ)�”}”(hhh]”j{)�”}”(hŒFthe template of ac97, including index, callbacks and the private data.”h]”hŒFthe template of ac97, including index, callbacks and the private data.”…”�”}”(hj8Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mðhj5Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j4Ùh´MñhjÝØubjÄ)�”}”(hŒH``struct snd_ac97 **rac97`` the pointer to store the new ac97 instance. ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 **rac97``”h]”jÐ)�”}”(hjYÙh]”hŒstruct snd_ac97 **rac97”…”�”}”(hj[Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjWÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MòhjSÙubjæ)�”}”(hhh]”j{)�”}”(hŒ+the pointer to store the new ac97 instance.”h]”hŒ+the pointer to store the new ac97 instance.”…”�”}”(hjrÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jnÙh´MòhjoÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjSÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jnÙh´MòhjÝØubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÁØubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj”Ùh]”hŒ Description”…”�”}”(hj–Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj’Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MôhjÁØubj{)�”}”(hŒªCreates an Codec97 component. An struct snd_ac97 instance is newly allocated and initialized from the template. The codec is then initialized by the standard procedure.”h]”hŒªCreates an Codec97 component. An struct snd_ac97 instance is newly allocated and initialized from the template. The codec is then initialized by the standard procedure.”…”�”}”(hjªÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MóhjÁØubj{)�”}”(hŒiThe template must include the codec number (num) and address (addr), and the private data (private_data).”h]”hŒiThe template must include the codec number (num) and address (addr), and the private data (private_data).”…”�”}”(hj¹Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M÷hjÁØubj{)�”}”(hŒ`The ac97 instance is registered as a low-level device, so you don't have to release it manually.”h]”hŒbThe ac97 instance is registered as a low-level device, so you don’t have to release it manually.”…”�”}”(hjÈÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MúhjÁØubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÙÙh]”hŒReturn”…”�”}”(hjÛÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj×Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MýhjÁØubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjïÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MþhjÁØubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_ac97_update_power (C function)”Œc.snd_ac97_update_power”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒGint snd_ac97_update_power (struct snd_ac97 *ac97, int reg, int powerup)”h]”j )�”}”(hŒFint snd_ac97_update_power(struct snd_ac97 *ac97, int reg, int powerup)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Ms ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-Úh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚh²hh³j,Úh´Ms ubj3)�”}”(hŒsnd_ac97_update_power”h]”j9)�”}”(hŒsnd_ac97_update_power”h]”hŒsnd_ac97_update_power”…”�”}”(hj?Úh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;Úubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÚh²hh³j,Úh´Ms ubjT)�”}”(hŒ-(struct snd_ac97 *ac97, int reg, int powerup)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj[Úh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjWÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhÚh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWÚubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjyÚh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjvÚubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j{ÚŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jAÚsbŒc.snd_ac97_update_power”†”asbuh1hhjWÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Úh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWÚubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj§Úh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjWÚubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj´Úh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjSÚubjZ)�”}”(hŒint reg”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÍÚh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛÚh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉÚubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjéÚh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÉÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjSÚubjZ)�”}”(hŒ int powerup”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjþÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþÚubj9)�”}”(hŒpowerup”h]”hŒpowerup”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjþÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjSÚubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÚh²hh³j,Úh´Ms ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÚh²hh³j,Úh´Ms ubah}”(h]”jÚah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j,Úh´Ms hjÚh²hubjv)�”}”(hhh]”j{)�”}”(hŒupdate the powerdown register”h]”hŒupdate the powerdown register”…”�”}”(hjHÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Ms hjEÛh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÚh²hh³j,Úh´Ms ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j`Ûjšj`Ûj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_ac97 *ac97`` the codec instance ``int reg`` the rate register, e.g. AC97_PCM_FRONT_DAC_RATE ``int powerup`` non-zero when power up the part **Description** Update the AC97 powerdown register bits of the given part. **Return** Zero.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjjÛh]”hŒ Parameters”…”�”}”(hjlÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjhÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mw hjdÛubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ-``struct snd_ac97 *ac97`` the codec instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj‰Ûh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj‹Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‡Ûubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mt hjƒÛubjæ)�”}”(hhh]”j{)�”}”(hŒthe codec instance”h]”hŒthe codec instance”…”�”}”(hj¢Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jžÛh´Mt hjŸÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjƒÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jžÛh´Mt hj€ÛubjÄ)�”}”(hŒ<``int reg`` the rate register, e.g. AC97_PCM_FRONT_DAC_RATE ”h]”(jÊ)�”}”(hŒ ``int reg``”h]”jÐ)�”}”(hjÂÛh]”hŒint reg”…”�”}”(hjÄÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÀÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mu hj¼Ûubjæ)�”}”(hhh]”j{)�”}”(hŒ/the rate register, e.g. AC97_PCM_FRONT_DAC_RATE”h]”hŒ/the rate register, e.g. AC97_PCM_FRONT_DAC_RATE”…”�”}”(hjÛÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j×Ûh´Mu hjØÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¼Ûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j×Ûh´Mu hj€ÛubjÄ)�”}”(hŒ0``int powerup`` non-zero when power up the part ”h]”(jÊ)�”}”(hŒ``int powerup``”h]”jÐ)�”}”(hjûÛh]”hŒ int powerup”…”�”}”(hjýÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjùÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mv hjõÛubjæ)�”}”(hhh]”j{)�”}”(hŒnon-zero when power up the part”h]”hŒnon-zero when power up the part”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜh´Mv hjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜh´Mv hj€Ûubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjdÛubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj6Üh]”hŒ Description”…”�”}”(hj8Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4Üubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mx hjdÛubj{)�”}”(hŒ:Update the AC97 powerdown register bits of the given part.”h]”hŒ:Update the AC97 powerdown register bits of the given part.”…”�”}”(hjLÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mw hjdÛubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj]Üh]”hŒReturn”…”�”}”(hj_Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj[Üubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´My hjdÛubj{)�”}”(hŒZero.”h]”hŒZero.”…”�”}”(hjsÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mz hjdÛubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_suspend (C function)”Œc.snd_ac97_suspend”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ-void snd_ac97_suspend (struct snd_ac97 *ac97)”h]”j )�”}”(hŒ,void snd_ac97_suspend(struct snd_ac97 *ac97)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¢Üh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjžÜh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MÒ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±Üh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjžÜh²hh³j°Üh´MÒ ubj3)�”}”(hŒsnd_ac97_suspend”h]”j9)�”}”(hŒsnd_ac97_suspend”h]”hŒsnd_ac97_suspend”…”�”}”(hjÃÜh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¿Üubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjžÜh²hh³j°Üh´MÒ ubjT)�”}”(hŒ(struct snd_ac97 *ac97)”h]”jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjßÜh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÛÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÛÜubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjýÜh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjúÜubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÿÜŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÅÜsbŒc.snd_ac97_suspend”†”asbuh1hhjÛÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÛÜubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj+Ýh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÛÜubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj8Ýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛÜubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj×Üubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjžÜh²hh³j°Üh´MÒ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjšÜh²hh³j°Üh´MÒ ubah}”(h]”j•Üah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j°Üh´MÒ hj—Üh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'General suspend function for AC97 codec”h]”hŒ'General suspend function for AC97 codec”…”�”}”(hjbÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MÒ hj_Ýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj—Üh²hh³j°Üh´MÒ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jzÝjšjzÝj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hŒx**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance **Description** Suspends the codec, power down the chip.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj„Ýh]”hŒ Parameters”…”�”}”(hj†Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‚Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MÖ hj~Ýubj¿)�”}”(hhh]”jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj£Ýh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj¥Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¡Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MÓ hj�Ýubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj¼Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¸Ýh´MÓ hj¹Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Ýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¸Ýh´MÓ hjšÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj~Ýubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÞÝh]”hŒ Description”…”�”}”(hjàÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÜÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MÕ hj~Ýubj{)�”}”(hŒ(Suspends the codec, power down the chip.”h]”hŒ(Suspends the codec, power down the chip.”…”�”}”(hjôÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MÔ hj~Ýubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_resume (C function)”Œc.snd_ac97_resume”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ,void snd_ac97_resume (struct snd_ac97 *ac97)”h]”j )�”}”(hŒ+void snd_ac97_resume(struct snd_ac97 *ac97)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj#Þh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2Þh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞh²hh³j1Þh´M ubj3)�”}”(hŒsnd_ac97_resume”h]”j9)�”}”(hŒsnd_ac97_resume”h]”hŒsnd_ac97_resume”…”�”}”(hjDÞh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj@Þubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÞh²hh³j1Þh´M ubjT)�”}”(hŒ(struct snd_ac97 *ac97)”h]”jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj`Þh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj\Þubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmÞh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\Þubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hj~Þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{Þubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j€ÞŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jFÞsbŒc.snd_ac97_resume”†”asbuh1hhj\Þubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžÞh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\Þubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¬Þh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj\Þubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj¹Þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\Þubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjXÞubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÞh²hh³j1Þh´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÞh²hh³j1Þh´M ubah}”(h]”jÞah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j1Þh´M hjÞh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&General resume function for AC97 codec”h]”hŒ&General resume function for AC97 codec”…”�”}”(hjãÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hjàÞh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÞh²hh³j1Þh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jûÞjšjûÞj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hŒ¡**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance **Description** Do the standard resume procedure, power up and restoring the old register values.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjßh]”hŒ Parameters”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hjÿÞubj¿)�”}”(hhh]”jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj$ßh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj&ßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj"ßubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hjßubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj=ßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9ßh´M hj:ßubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9ßh´M hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÿÞubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj_ßh]”hŒ Description”…”�”}”(hjaßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj]ßubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hjÿÞubj{)�”}”(hŒQDo the standard resume procedure, power up and restoring the old register values.”h]”hŒQDo the standard resume procedure, power up and restoring the old register values.”…”�”}”(hjußh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M hjÿÞubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_ac97_tune_hardware (C function)”Œc.snd_ac97_tune_hardware”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒhint snd_ac97_tune_hardware (struct snd_ac97 *ac97, const struct ac97_quirk *quirk, const char *override)”h]”j )�”}”(hŒgint snd_ac97_tune_hardware(struct snd_ac97 *ac97, const struct ac97_quirk *quirk, const char *override)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¤ßh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ßh²hh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‚ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³ßh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ßh²hh³j²ßh´M‚ ubj3)�”}”(hŒsnd_ac97_tune_hardware”h]”j9)�”}”(hŒsnd_ac97_tune_hardware”h]”hŒsnd_ac97_tune_hardware”…”�”}”(hjÅßh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁßubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj ßh²hh³j²ßh´M‚ ubjT)�”}”(hŒM(struct snd_ac97 *ac97, const struct ac97_quirk *quirk, const char *override)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjáßh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÝßubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîßh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝßubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjÿßh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjüßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jàŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÇßsbŒc.snd_ac97_tune_hardware”†”asbuh1hhjÝßubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝßubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj-àh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÝßubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj:àh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÝßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÙßubjZ)�”}”(hŒconst struct ac97_quirk *quirk”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjSàh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjOàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOàubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjnàh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjOàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOàubh)�”}”(hhh]”j9)�”}”(hŒ ac97_quirk”h]”hŒ ac97_quirk”…”�”}”(hjŒàh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰àubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŽàŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jàŒc.snd_ac97_tune_hardware”†”asbuh1hhjOàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªàh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOàubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¸àh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjOàubj9)�”}”(hŒquirk”h]”hŒquirk”…”�”}”(hjÅàh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOàubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÙßubjZ)�”}”(hŒconst char *override”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÞàh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÚàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëàh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚàubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjùàh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚàubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÚàubj9)�”}”(hŒoverride”h]”hŒoverride”…”�”}”(hj"áh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚàubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÙßubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj ßh²hh³j²ßh´M‚ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjœßh²hh³j²ßh´M‚ ubah}”(h]”j—ßah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j²ßh´M‚ hj™ßh²hubjv)�”}”(hhh]”j{)�”}”(hŒtune up the hardware”h]”hŒtune up the hardware”…”�”}”(hjLáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‚ hjIáh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj™ßh²hh³j²ßh´M‚ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jdájšjdáj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hXÃ**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``const struct ac97_quirk *quirk`` quirk list ``const char *override`` explicit quirk value (overrides the list if non-NULL) **Description** Do some workaround for each pci device, such as renaming of the headphone (true line-out) control as "Master". The quirk-list must be terminated with a zero-filled entry. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjnáh]”hŒ Parameters”…”�”}”(hjpáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjláubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M† hjháubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj�áh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj�áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‹áubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´Mƒ hj‡áubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj¦áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¢áh´Mƒ hj£áubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‡áubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¢áh´Mƒ hj„áubjÄ)�”}”(hŒ.``const struct ac97_quirk *quirk`` quirk list ”h]”(jÊ)�”}”(hŒ"``const struct ac97_quirk *quirk``”h]”jÐ)�”}”(hjÆáh]”hŒconst struct ac97_quirk *quirk”…”�”}”(hjÈáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÄáubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M„ hjÀáubjæ)�”}”(hhh]”j{)�”}”(hŒ quirk list”h]”hŒ quirk list”…”�”}”(hjßáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÛáh´M„ hjÜáubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÀáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÛáh´M„ hj„áubjÄ)�”}”(hŒO``const char *override`` explicit quirk value (overrides the list if non-NULL) ”h]”(jÊ)�”}”(hŒ``const char *override``”h]”jÐ)�”}”(hjÿáh]”hŒconst char *override”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjýáubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M… hjùáubjæ)�”}”(hhh]”j{)�”}”(hŒ5explicit quirk value (overrides the list if non-NULL)”h]”hŒ5explicit quirk value (overrides the list if non-NULL)”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jâh´M… hjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjùáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jâh´M… hj„áubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjháubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj:âh]”hŒ Description”…”�”}”(hj<âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj8âubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‡ hjháubj{)�”}”(hŒªDo some workaround for each pci device, such as renaming of the headphone (true line-out) control as "Master". The quirk-list must be terminated with a zero-filled entry.”h]”hŒ®Do some workaround for each pci device, such as renaming of the headphone (true line-out) control as “Masterâ€�. The quirk-list must be terminated with a zero-filled entry.”…”�”}”(hjPâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M† hjháubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjaâh]”hŒReturn”…”�”}”(hjcâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj_âubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MŠ hjháubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjwâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M‹ hjháubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_set_rate (C function)”Œc.snd_ac97_set_rate”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIint snd_ac97_set_rate (struct snd_ac97 *ac97, int reg, unsigned int rate)”h]”j )�”}”(hŒHint snd_ac97_set_rate(struct snd_ac97 *ac97, int reg, unsigned int rate)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¦âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¢âh²hh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµâh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢âh²hh³j´âh´Kàubj3)�”}”(hŒsnd_ac97_set_rate”h]”j9)�”}”(hŒsnd_ac97_set_rate”h]”hŒsnd_ac97_set_rate”…”�”}”(hjÇâh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÃâubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¢âh²hh³j´âh´KàubjT)�”}”(hŒ3(struct snd_ac97 *ac97, int reg, unsigned int rate)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjãâh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjßâubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðâh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjßâubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjþâubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jãŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÉâsbŒc.snd_ac97_set_rate”†”asbuh1hhjßâubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!ãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjßâubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj/ãh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjßâubj9)�”}”(hŒac97”h]”hŒac97”…”�”}”(hj<ãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjßâubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÛâubjZ)�”}”(hŒint reg”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjUãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjQãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQãubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjqãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÛâubjZ)�”}”(hŒunsigned int rate”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjŠãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†ãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜ãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†ãubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¦ãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†ãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´ãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†ãubj9)�”}”(hŒrate”h]”hŒrate”…”�”}”(hjÂãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÛâubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¢âh²hh³j´âh´Kàubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjžâh²hh³j´âh´Kàubah}”(h]”j™âah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j´âh´Kàhj›âh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*change the rate of the given input/output.”h]”hŒ*change the rate of the given input/output.”…”�”}”(hjìãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kàhjéãh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj›âh²hh³j´âh´Kàubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jäjšjäj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hXw**Parameters** ``struct snd_ac97 *ac97`` the ac97 instance ``int reg`` the register to change ``unsigned int rate`` the sample rate to set **Description** Changes the rate of the given input/output on the codec. If the codec doesn't support VAR, the rate must be 48000 (except for SPDIF). The valid registers are AC97_PCM_MIC_ADC_RATE, AC97_PCM_FRONT_DAC_RATE, AC97_PCM_LR_ADC_RATE. AC97_PCM_SURR_DAC_RATE and AC97_PCM_LFE_DAC_RATE are accepted if the codec supports them. AC97_SPDIF is accepted as a pseudo register to modify the SPDIF status bits. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjäh]”hŒ Parameters”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj äubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kähjäubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hj-äh]”hŒstruct snd_ac97 *ac97”…”�”}”(hj/äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj+äubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Káhj'äubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hjFäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jBäh´KáhjCäubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj'äubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jBäh´Káhj$äubjÄ)�”}”(hŒ#``int reg`` the register to change ”h]”(jÊ)�”}”(hŒ ``int reg``”h]”jÐ)�”}”(hjfäh]”hŒint reg”…”�”}”(hjhäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjdäubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kâhj`äubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j{äh´Kâhj|äubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj`äubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j{äh´Kâhj$äubjÄ)�”}”(hŒ-``unsigned int rate`` the sample rate to set ”h]”(jÊ)�”}”(hŒ``unsigned int rate``”h]”jÐ)�”}”(hjŸäh]”hŒunsigned int rate”…”�”}”(hj¡äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�äubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kãhj™äubjæ)�”}”(hhh]”j{)�”}”(hŒthe sample rate to set”h]”hŒthe sample rate to set”…”�”}”(hj¸äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j´äh´Kãhjµäubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj™äubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j´äh´Kãhj$äubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjäubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÚäh]”hŒ Description”…”�”}”(hjÜäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjØäubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kåhjäubj{)�”}”(hŒ…Changes the rate of the given input/output on the codec. If the codec doesn't support VAR, the rate must be 48000 (except for SPDIF).”h]”hŒ‡Changes the rate of the given input/output on the codec. If the codec doesn’t support VAR, the rate must be 48000 (except for SPDIF).”…”�”}”(hjðäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kähjäubj{)�”}”(hXThe valid registers are AC97_PCM_MIC_ADC_RATE, AC97_PCM_FRONT_DAC_RATE, AC97_PCM_LR_ADC_RATE. AC97_PCM_SURR_DAC_RATE and AC97_PCM_LFE_DAC_RATE are accepted if the codec supports them. AC97_SPDIF is accepted as a pseudo register to modify the SPDIF status bits.”h]”hXThe valid registers are AC97_PCM_MIC_ADC_RATE, AC97_PCM_FRONT_DAC_RATE, AC97_PCM_LR_ADC_RATE. AC97_PCM_SURR_DAC_RATE and AC97_PCM_LFE_DAC_RATE are accepted if the codec supports them. AC97_SPDIF is accepted as a pseudo register to modify the SPDIF status bits.”…”�”}”(hjÿäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kèhjäubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjåh]”hŒReturn”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjåubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kïhjäubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj&åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Kðhjäubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_ac97_pcm_assign (C function)”Œc.snd_ac97_pcm_assign”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒjint snd_ac97_pcm_assign (struct snd_ac97_bus *bus, unsigned short pcms_count, const struct ac97_pcm *pcms)”h]”j )�”}”(hŒiint snd_ac97_pcm_assign(struct snd_ac97_bus *bus, unsigned short pcms_count, const struct ac97_pcm *pcms)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjUåh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjQåh²hh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdåh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQåh²hh³jcåh´M£ubj3)�”}”(hŒsnd_ac97_pcm_assign”h]”j9)�”}”(hŒsnd_ac97_pcm_assign”h]”hŒsnd_ac97_pcm_assign”…”�”}”(hjvåh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjråubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjQåh²hh³jcåh´M£ubjT)�”}”(hŒR(struct snd_ac97_bus *bus, unsigned short pcms_count, const struct ac97_pcm *pcms)”h]”(jZ)�”}”(hŒstruct snd_ac97_bus *bus”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj’åh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽåubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸåh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽåubh)�”}”(hhh]”j9)�”}”(hŒ snd_ac97_bus”h]”hŒ snd_ac97_bus”…”�”}”(hj°åh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­åubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j²åŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jxåsbŒc.snd_ac97_pcm_assign”†”asbuh1hhjŽåubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐåh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽåubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÞåh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽåubj9)�”}”(hŒbus”h]”hŒbus”…”�”}”(hjëåh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠåubjZ)�”}”(hŒunsigned short pcms_count”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hj æh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubj9)�”}”(hŒ pcms_count”h]”hŒ pcms_count”…”�”}”(hj<æh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠåubjZ)�”}”(hŒconst struct ac97_pcm *pcms”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjUæh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbæh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQæubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjpæh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQæubh)�”}”(hhh]”j9)�”}”(hŒac97_pcm”h]”hŒac97_pcm”…”�”}”(hjŽæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹æubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�æŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÌåŒc.snd_ac97_pcm_assign”†”asbuh1hhjQæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQæubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjºæh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQæubj9)�”}”(hŒpcms”h]”hŒpcms”…”�”}”(hjÇæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŠåubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjQåh²hh³jcåh´M£ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjMåh²hh³jcåh´M£ubah}”(h]”jHåah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jcåh´M£hjJåh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&assign AC97 slots to given PCM streams”h]”hŒ&assign AC97 slots to given PCM streams”…”�”}”(hjñæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M£hjîæh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjJåh²hh³jcåh´M£ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j çjšj çj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hX·**Parameters** ``struct snd_ac97_bus *bus`` the ac97 bus instance ``unsigned short pcms_count`` count of PCMs to be assigned ``const struct ac97_pcm *pcms`` PCMs to be assigned **Description** It assigns available AC97 slots for given PCMs. If none or only some slots are available, pcm->xxx.slots and pcm->xxx.rslots[] members are reduced and might be zero. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjçh]”hŒ Parameters”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjçubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M§hj çubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_ac97_bus *bus`` the ac97 bus instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97_bus *bus``”h]”jÐ)�”}”(hj2çh]”hŒstruct snd_ac97_bus *bus”…”�”}”(hj4çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0çubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M¤hj,çubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 bus instance”h]”hŒthe ac97 bus instance”…”�”}”(hjKçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jGçh´M¤hjHçubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jGçh´M¤hj)çubjÄ)�”}”(hŒ;``unsigned short pcms_count`` count of PCMs to be assigned ”h]”(jÊ)�”}”(hŒ``unsigned short pcms_count``”h]”jÐ)�”}”(hjkçh]”hŒunsigned short pcms_count”…”�”}”(hjmçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjiçubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M¥hjeçubjæ)�”}”(hhh]”j{)�”}”(hŒcount of PCMs to be assigned”h]”hŒcount of PCMs to be assigned”…”�”}”(hj„çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€çh´M¥hj�çubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjeçubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€çh´M¥hj)çubjÄ)�”}”(hŒ4``const struct ac97_pcm *pcms`` PCMs to be assigned ”h]”(jÊ)�”}”(hŒ``const struct ac97_pcm *pcms``”h]”jÐ)�”}”(hj¤çh]”hŒconst struct ac97_pcm *pcms”…”�”}”(hj¦çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢çubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M¦hjžçubjæ)�”}”(hhh]”j{)�”}”(hŒPCMs to be assigned”h]”hŒPCMs to be assigned”…”�”}”(hj½çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹çh´M¦hjºçubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjžçubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹çh´M¦hj)çubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj çubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjßçh]”hŒ Description”…”�”}”(hjáçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÝçubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M¨hj çubj{)�”}”(hŒ¥It assigns available AC97 slots for given PCMs. If none or only some slots are available, pcm->xxx.slots and pcm->xxx.rslots[] members are reduced and might be zero.”h]”hŒ¥It assigns available AC97 slots for given PCMs. If none or only some slots are available, pcm->xxx.slots and pcm->xxx.rslots[] members are reduced and might be zero.”…”�”}”(hjõçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M§hj çubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjèh]”hŒReturn”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M«hj çubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M¬hj çubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_pcm_open (C function)”Œc.snd_ac97_pcm_open”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒlint snd_ac97_pcm_open (struct ac97_pcm *pcm, unsigned int rate, enum ac97_pcm_cfg cfg, unsigned short slots)”h]”j )�”}”(hŒkint snd_ac97_pcm_open(struct ac97_pcm *pcm, unsigned int rate, enum ac97_pcm_cfg cfg, unsigned short slots)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjKèh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjGèh²hh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZèh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGèh²hh³jYèh´M ubj3)�”}”(hŒsnd_ac97_pcm_open”h]”j9)�”}”(hŒsnd_ac97_pcm_open”h]”hŒsnd_ac97_pcm_open”…”�”}”(hjlèh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhèubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjGèh²hh³jYèh´M ubjT)�”}”(hŒV(struct ac97_pcm *pcm, unsigned int rate, enum ac97_pcm_cfg cfg, unsigned short slots)”h]”(jZ)�”}”(hŒstruct ac97_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjˆèh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj„èubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„èubh)�”}”(hhh]”j9)�”}”(hŒac97_pcm”h]”hŒac97_pcm”…”�”}”(hj¦èh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj£èubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¨èŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jnèsbŒc.snd_ac97_pcm_open”†”asbuh1hhj„èubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆèh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„èubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÔèh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj„èubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjáèh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„èubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€èubjZ)�”}”(hŒunsigned int rate”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjúèh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjöèubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöèubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjöèubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöèubj9)�”}”(hŒrate”h]”hŒrate”…”�”}”(hj2éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjöèubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€èubjZ)�”}”(hŒenum ac97_pcm_cfg cfg”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hjKéh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjGéubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGéubh)�”}”(hhh]”j9)�”}”(hŒ ac97_pcm_cfg”h]”hŒ ac97_pcm_cfg”…”�”}”(hjiéh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjféubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jkéŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÂèŒc.snd_ac97_pcm_open”†”asbuh1hhjGéubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGéubj9)�”}”(hŒcfg”h]”hŒcfg”…”�”}”(hj•éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€èubjZ)�”}”(hŒunsigned short slots”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj®éh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjªéubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjªéubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjÊéh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjªéubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjªéubj9)�”}”(hŒslots”h]”hŒslots”…”�”}”(hjæéh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjªéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€èubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjGèh²hh³jYèh´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjCèh²hh³jYèh´M ubah}”(h]”j>èah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jYèh´M hj@èh²hubjv)�”}”(hhh]”j{)�”}”(hŒopens the given AC97 pcm”h]”hŒopens the given AC97 pcm”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M hj êh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj@èh²hh³jYèh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j(êjšj(êj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hXÕ**Parameters** ``struct ac97_pcm *pcm`` the ac97 pcm instance ``unsigned int rate`` rate in Hz, if codec does not support VRA, this value must be 48000Hz ``enum ac97_pcm_cfg cfg`` output stream characteristics ``unsigned short slots`` a subset of allocated slots (snd_ac97_pcm_assign) for this pcm **Description** It locks the specified slots and sets the given rate to AC97 registers. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj2êh]”hŒ Parameters”…”�”}”(hj4êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0êubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M$hj,êubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct ac97_pcm *pcm`` the ac97 pcm instance ”h]”(jÊ)�”}”(hŒ``struct ac97_pcm *pcm``”h]”jÐ)�”}”(hjQêh]”hŒstruct ac97_pcm *pcm”…”�”}”(hjSêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjOêubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M!hjKêubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 pcm instance”h]”hŒthe ac97 pcm instance”…”�”}”(hjjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jfêh´M!hjgêubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjKêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jfêh´M!hjHêubjÄ)�”}”(hŒ\``unsigned int rate`` rate in Hz, if codec does not support VRA, this value must be 48000Hz ”h]”(jÊ)�”}”(hŒ``unsigned int rate``”h]”jÐ)�”}”(hjŠêh]”hŒunsigned int rate”…”�”}”(hjŒêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjˆêubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M"hj„êubjæ)�”}”(hhh]”j{)�”}”(hŒErate in Hz, if codec does not support VRA, this value must be 48000Hz”h]”hŒErate in Hz, if codec does not support VRA, this value must be 48000Hz”…”�”}”(hj£êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŸêh´M"hj êubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj„êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŸêh´M"hjHêubjÄ)�”}”(hŒ8``enum ac97_pcm_cfg cfg`` output stream characteristics ”h]”(jÊ)�”}”(hŒ``enum ac97_pcm_cfg cfg``”h]”jÐ)�”}”(hjÃêh]”hŒenum ac97_pcm_cfg cfg”…”�”}”(hjÅêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÁêubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M#hj½êubjæ)�”}”(hhh]”j{)�”}”(hŒoutput stream characteristics”h]”hŒoutput stream characteristics”…”�”}”(hjÜêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jØêh´M#hjÙêubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj½êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jØêh´M#hjHêubjÄ)�”}”(hŒX``unsigned short slots`` a subset of allocated slots (snd_ac97_pcm_assign) for this pcm ”h]”(jÊ)�”}”(hŒ``unsigned short slots``”h]”jÐ)�”}”(hjüêh]”hŒunsigned short slots”…”�”}”(hjþêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjúêubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M$hjöêubjæ)�”}”(hhh]”j{)�”}”(hŒ>a subset of allocated slots (snd_ac97_pcm_assign) for this pcm”h]”hŒ>a subset of allocated slots (snd_ac97_pcm_assign) for this pcm”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jëh´M$hjëubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjöêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jëh´M$hjHêubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj,êubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj7ëh]”hŒ Description”…”�”}”(hj9ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M&hj,êubj{)�”}”(hŒGIt locks the specified slots and sets the given rate to AC97 registers.”h]”hŒGIt locks the specified slots and sets the given rate to AC97 registers.”…”�”}”(hjMëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M%hj,êubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj^ëh]”hŒReturn”…”�”}”(hj`ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj\ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M'hj,êubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjtëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M(hj,êubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_pcm_close (C function)”Œc.snd_ac97_pcm_close”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ-int snd_ac97_pcm_close (struct ac97_pcm *pcm)”h]”j )�”}”(hŒ,int snd_ac97_pcm_close(struct ac97_pcm *pcm)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj£ëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸëh²hh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸëh²hh³j±ëh´M|ubj3)�”}”(hŒsnd_ac97_pcm_close”h]”j9)�”}”(hŒsnd_ac97_pcm_close”h]”hŒsnd_ac97_pcm_close”…”�”}”(hjÄëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀëubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjŸëh²hh³j±ëh´M|ubjT)�”}”(hŒ(struct ac97_pcm *pcm)”h]”jZ)�”}”(hŒstruct ac97_pcm *pcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjàëh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÜëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÜëubh)�”}”(hhh]”j9)�”}”(hŒac97_pcm”h]”hŒac97_pcm”…”�”}”(hjþëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jìŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÆësbŒc.snd_ac97_pcm_close”†”asbuh1hhjÜëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÜëubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj,ìh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÜëubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hj9ìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÜëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjØëubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjŸëh²hh³j±ëh´M|ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj›ëh²hh³j±ëh´M|ubah}”(h]”j–ëah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j±ëh´M|hj˜ëh²hubjv)�”}”(hhh]”j{)�”}”(hŒcloses the given AC97 pcm”h]”hŒcloses the given AC97 pcm”…”�”}”(hjcìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M|hj`ìh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj˜ëh²hh³j±ëh´M|ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j{ìjšj{ìj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hŒ…**Parameters** ``struct ac97_pcm *pcm`` the ac97 pcm instance **Description** It frees the locked AC97 slots. **Return** Zero.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj…ìh]”hŒ Parameters”…”�”}”(hj‡ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjƒìubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M€hjìubj¿)�”}”(hhh]”jÄ)�”}”(hŒ/``struct ac97_pcm *pcm`` the ac97 pcm instance ”h]”(jÊ)�”}”(hŒ``struct ac97_pcm *pcm``”h]”jÐ)�”}”(hj¤ìh]”hŒstruct ac97_pcm *pcm”…”�”}”(hj¦ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M}hjžìubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 pcm instance”h]”hŒthe ac97 pcm instance”…”�”}”(hj½ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹ìh´M}hjºìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjžìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹ìh´M}hj›ìubah}”(h]”h ]”h"]”h$•']”h&]”uh1j¾hjìubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjßìh]”hŒ Description”…”�”}”(hjáìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÝìubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Mhjìubj{)�”}”(hŒIt frees the locked AC97 slots.”h]”hŒIt frees the locked AC97 slots.”…”�”}”(hjõìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M~hjìubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjíh]”hŒReturn”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M€hjìubj{)�”}”(hŒZero.”h]”hŒZero.”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M�hjìubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ+snd_ac97_pcm_double_rate_rules (C function)”Œ c.snd_ac97_pcm_double_rate_rules”hNt”auh1híhjaÃh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒDint snd_ac97_pcm_double_rate_rules (struct snd_pcm_runtime *runtime)”h]”j )�”}”(hŒCint snd_ac97_pcm_double_rate_rules(struct snd_pcm_runtime *runtime)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjKíh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjGíh²hh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZíh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGíh²hh³jYíh´MÆubj3)�”}”(hŒsnd_ac97_pcm_double_rate_rules”h]”j9)�”}”(hŒsnd_ac97_pcm_double_rate_rules”h]”hŒsnd_ac97_pcm_double_rate_rules”…”�”}”(hjlíh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhíubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjGíh²hh³jYíh´MÆubjT)�”}”(hŒ!(struct snd_pcm_runtime *runtime)”h]”jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjˆíh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj„íubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•íh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„íubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(hj¦íh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj£íubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¨íŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jnísbŒ c.snd_ac97_pcm_double_rate_rules”†”asbuh1hhj„íubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆíh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„íubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÔíh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj„íubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjáíh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„íubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€íubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjGíh²hh³jYíh´MÆubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjCíh²hh³jYíh´MÆubah}”(h]”j>íah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jYíh´MÆhj@íh²hubjv)�”}”(hhh]”j{)�”}”(hŒset double rate constraints”h]”hŒset double rate constraints”…”�”}”(hj îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÆhjîh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj@íh²hh³jYíh´MÆubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j#îjšj#îj›‰jœ‰j�‰uh1hþh²hhjaÃh³Nh´NubjŸ)�”}”(hX***Parameters** ``struct snd_pcm_runtime *runtime`` the runtime of the ac97 front playback pcm **Description** Installs the hardware constraint rules to prevent using double rates and more than two channels at the same time. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj-îh]”hŒ Parameters”…”�”}”(hj/îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj+îubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÊhj'îubj¿)�”}”(hhh]”jÄ)�”}”(hŒO``struct snd_pcm_runtime *runtime`` the runtime of the ac97 front playback pcm ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjLîh]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjNîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjJîubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÇhjFîubjæ)�”}”(hhh]”j{)�”}”(hŒ*the runtime of the ac97 front playback pcm”h]”hŒ*the runtime of the ac97 front playback pcm”…”�”}”(hjeîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jaîh´MÇhjbîubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjFîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jaîh´MÇhjCîubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj'îubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‡îh]”hŒ Description”…”�”}”(hj‰îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj…îubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÉhj'îubj{)�”}”(hŒqInstalls the hardware constraint rules to prevent using double rates and more than two channels at the same time.”h]”hŒqInstalls the hardware constraint rules to prevent using double rates and more than two channels at the same time.”…”�”}”(hj�îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÈhj'îubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj®îh]”hŒReturn”…”�”}”(hj°îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¬îubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MËhj'îubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÄîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÌhj'îubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjaÃh²hh³Nh´Nubeh}”(h]”Œac97-codec-api”ah ]”h"]”Œac97 codec api”ah$]”h&]”uh1hµhjýˆh²hh³hÊh´K9ubh¶)�”}”(hhh]”(h»)�”}”(hŒVirtual Master Control API”h]”hŒVirtual Master Control API”…”�”}”(hjåîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjâîh²hh³hÊh´K>ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_ctl_add_followers (C function)”Œc.snd_ctl_add_followers”hNt”auh1híhjâîh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒhint snd_ctl_add_followers (struct snd_card *card, struct snd_kcontrol *master, const char * const *list)”h]”j )�”}”(hŒfint snd_ctl_add_followers(struct snd_card *card, struct snd_kcontrol *master, const char *const *list)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj ïh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjïh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjïh²hh³jïh´Mubj3)�”}”(hŒsnd_ctl_add_followers”h]”j9)�”}”(hŒsnd_ctl_add_followers”h]”hŒsnd_ctl_add_followers”…”�”}”(hj-ïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)ïubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjïh²hh³jïh´MubjT)�”}”(hŒM(struct snd_card *card, struct snd_kcontrol *master, const char *const *list)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjIïh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjEïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEïubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjgïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jiïŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j/ïsbŒc.snd_ctl_add_followers”†”asbuh1hhjEïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEïubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj•ïh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjEïubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj¢ïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjAïubjZ)�”}”(hŒstruct snd_kcontrol *master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj»ïh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj·ïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·ïubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÙïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÛïŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jƒïŒc.snd_ctl_add_followers”†”asbuh1hhj·ïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·ïubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj·ïubj9)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·ïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjAïubjZ)�”}”(hŒconst char *const *list”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj+ðh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj'ðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8ðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'ðubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjFðh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'ðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'ðubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjbðh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj'ðubj`)�”}”(hjph]”hŒconst”…”�”}”(hjoðh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj'ðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|ðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'ðubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŠðh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj'ðubj9)�”}”(hŒlist”h]”hŒlist”…”�”}”(hj—ðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjAïubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjïh²hh³jïh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjïh²hh³jïh´Mubah}”(h]”jÿîah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jïh´Mhjïh²hubjv)�”}”(hhh]”j{)�”}”(hŒ!add multiple followers to vmaster”h]”hŒ!add multiple followers to vmaster”…”�”}”(hjÁðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhj¾ðh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjïh²hh³jïh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÙðjšjÙðj›‰jœ‰j�‰uh1hþh²hhjâîh³Nh´NubjŸ)�”}”(hXZ**Parameters** ``struct snd_card *card`` card instance ``struct snd_kcontrol *master`` the target vmaster kcontrol object ``const char * const *list`` NULL-terminated list of name strings of followers to be added **Description** Adds the multiple follower kcontrols with the given names. Returns 0 for success or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjãðh]”hŒ Parameters”…”�”}”(hjåðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjáðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´MhjÝðubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ(``struct snd_card *card`` card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjñh]”hŒstruct snd_card *card”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhjüðubjæ)�”}”(hhh]”j{)�”}”(hŒ card instance”h]”hŒ card instance”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jñh´Mhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjüðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jñh´MhjùðubjÄ)�”}”(hŒC``struct snd_kcontrol *master`` the target vmaster kcontrol object ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *master``”h]”jÐ)�”}”(hj;ñh]”hŒstruct snd_kcontrol *master”…”�”}”(hj=ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj9ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhj5ñubjæ)�”}”(hhh]”j{)�”}”(hŒ"the target vmaster kcontrol object”h]”hŒ"the target vmaster kcontrol object”…”�”}”(hjTñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jPñh´MhjQñubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj5ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jPñh´MhjùðubjÄ)�”}”(hŒ[``const char * const *list`` NULL-terminated list of name strings of followers to be added ”h]”(jÊ)�”}”(hŒ``const char * const *list``”h]”jÐ)�”}”(hjtñh]”hŒconst char * const *list”…”�”}”(hjvñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjrñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhjnñubjæ)�”}”(hhh]”j{)�”}”(hŒ=NULL-terminated list of name strings of followers to be added”h]”hŒ=NULL-terminated list of name strings of followers to be added”…”�”}”(hj�ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‰ñh´MhjŠñubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjnñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰ñh´Mhjùðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÝðubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¯ñh]”hŒ Description”…”�”}”(hj±ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj­ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hjÝðubj{)�”}”(hŒjAdds the multiple follower kcontrols with the given names. Returns 0 for success or a negative error code.”h]”hŒjAdds the multiple follower kcontrols with the given names. Returns 0 for success or a negative error code.”…”�”}”(hjÅñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´MhjÝðubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjâîh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_ctl_make_virtual_master (C function)”Œc.snd_ctl_make_virtual_master”hNt”auh1híhjâîh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWstruct snd_kcontrol * snd_ctl_make_virtual_master (char *name, const unsigned int *tlv)”h]”j )�”}”(hŒUstruct snd_kcontrol *snd_ctl_make_virtual_master(char *name, const unsigned int *tlv)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjôñh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjðñh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðñh²hh³jòh´M”ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jòŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_ctl_make_virtual_master”sbŒc.snd_ctl_make_virtual_master”†”asbuh1hhjðñh²hh³jòh´M”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4òh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðñh²hh³jòh´M”ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjBòh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjðñh²hh³jòh´M”ubj3)�”}”(hŒsnd_ctl_make_virtual_master”h]”j9)�”}”(hj1òh]”hŒsnd_ctl_make_virtual_master”…”�”}”(hjSòh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOòubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjðñh²hh³jòh´M”ubjT)�”}”(hŒ%(char *name, const unsigned int *tlv)”h]”(jZ)�”}”(hŒ char *name”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjnòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|òh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjòubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŠòh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjjòubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hj—òh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjfòubjZ)�”}”(hŒconst unsigned int *tlv”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj°òh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¬òubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½òh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬òubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjËòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬òubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬òubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjçòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬òubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬òubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¬òubj9)�”}”(hŒtlv”h]”hŒtlv”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬òubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjfòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjðñh²hh³jòh´M”ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjìñh²hh³jòh´M”ubah}”(h]”jçñah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jòh´M”hjéñh²hubjv)�”}”(hhh]”j{)�”}”(hŒCreate a virtual master control”h]”hŒCreate a virtual master control”…”�”}”(hj:óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M”hj7óh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjéñh²hh³jòh´M”ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jRójšjRój›‰jœ‰j�‰uh1hþh²hhjâîh³Nh´NubjŸ)�”}”(hX¼**Parameters** ``char *name`` name string of the control element to create ``const unsigned int *tlv`` optional TLV int array for dB information **Description** Creates a virtual master control with the given name string. After creating a vmaster element, you can add the follower controls via snd_ctl_add_follower() or snd_ctl_add_follower_uncached(). The optional argument **tlv** can be used to specify the TLV information for dB scale of the master control. It should be a single element with #SNDRV_CTL_TLVT_DB_SCALE, #SNDRV_CTL_TLV_DB_MINMAX or #SNDRV_CTL_TLVT_DB_MINMAX_MUTE type, and should be the max 0dB. **Return** The created control element, or ``NULL`` for errors (ENOMEM).”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj\óh]”hŒ Parameters”…”�”}”(hj^óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjZóubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M˜hjVóubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``char *name`` name string of the control element to create ”h]”(jÊ)�”}”(hŒ``char *name``”h]”jÐ)�”}”(hj{óh]”hŒ char *name”…”�”}”(hj}óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjyóubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M•hjuóubjæ)�”}”(hhh]”j{)�”}”(hŒ,name string of the control element to create”h]”hŒ,name string of the control element to create”…”�”}”(hj”óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�óh´M•hj‘óubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjuóubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�óh´M•hjróubjÄ)�”}”(hŒF``const unsigned int *tlv`` optional TLV int array for dB information ”h]”(jÊ)�”}”(hŒ``const unsigned int *tlv``”h]”jÐ)�”}”(hj´óh]”hŒconst unsigned int *tlv”…”�”}”(hj¶óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj²óubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M–hj®óubjæ)�”}”(hhh]”j{)�”}”(hŒ)optional TLV int array for dB information”h]”hŒ)optional TLV int array for dB information”…”�”}”(hjÍóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÉóh´M–hjÊóubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj®óubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÉóh´M–hjróubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjVóubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjïóh]”hŒ Description”…”�”}”(hjñóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjíóubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M˜hjVóubj{)�”}”(hŒùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Méhj:ùubjæ)�”}”(hhh]”j{)�”}”(hŒsync only the hook”h]”hŒsync only the hook”…”�”}”(hjYùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jUùh´MéhjVùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jUùh´Méhjþøubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjâøubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj{ùh]”hŒ Description”…”�”}”(hj}ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjyùubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mëhjâøubj{)�”}”(hŒ·Forcibly call the put callback of each follower and call the hook function to synchronize with the current value of the given vmaster element. NOP when NULL is passed to **kcontrol**.”h]”(hŒªForcibly call the put callback of each follower and call the hook function to synchronize with the current value of the given vmaster element. NOP when NULL is passed to ”…”�”}”(hj‘ùh²hh³Nh´Nubj©)�”}”(hŒ **kcontrol**”h]”hŒkcontrol”…”�”}”(hj™ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‘ùubhŒ.”…”�”}”(hj‘ùh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mêhjâøubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjâîh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,snd_ctl_apply_vmaster_followers (C function)”Œ!c.snd_ctl_apply_vmaster_followers”hNt”auh1híhjâîh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ¡int snd_ctl_apply_vmaster_followers (struct snd_kcontrol *kctl, int (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg), void *arg)”h]”j )�”}”(hŒ int snd_ctl_apply_vmaster_followers(struct snd_kcontrol *kctl, int (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg), void *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÒùh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÎùh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáùh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎùh²hh³jàùh´Mubj3)�”}”(hŒsnd_ctl_apply_vmaster_followers”h]”j9)�”}”(hŒsnd_ctl_apply_vmaster_followers”h]”hŒsnd_ctl_apply_vmaster_followers”…”�”}”(hjóùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjïùubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÎùh²hh³jàùh´MubjT)�”}”(hŒ}(struct snd_kcontrol *kctl, int (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg), void *arg)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kctl”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj úubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj-úh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*úubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j/úŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jõùsbŒ!c.snd_ctl_apply_vmaster_followers”†”asbuh1hhj úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMúh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj úubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj[úh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj úubj9)�”}”(hŒkctl”h]”hŒkctl”…”�”}”(hjhúh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj úubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjúubjZ)�”}”(hŒUint (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj�úh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�úh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hj�úh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjªúh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj9)�”}”(hŒfunc”h]”hŒfunc”…”�”}”(hj·úh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}úubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hjÅúh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hjÒúh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjßúh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìúh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjýúh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjúúubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÿúŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jIúŒ!c.snd_ctl_apply_vmaster_followers”†”asbuh1hhj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj)ûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj9)�”}”(hŒ vfollower”h]”hŒ vfollower”…”�”}”(hj6ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}úubj¹)�”}”(hjåõh]”hŒ,”…”�”}”(hjDûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj_ûh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj}ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jûŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jIúŒ!c.snd_ctl_apply_vmaster_followers”†”asbuh1hhj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›ûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj©ûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj9)�”}”(hŒfollower”h]”hŒfollower”…”�”}”(hj¶ûh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}úubj¹)�”}”(hjåõh]”hŒ,”…”�”}”(hjÄûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjßûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj}úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}úubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjûûh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubj9)�”}”(hŒarg”h]”hŒarg”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}úubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}úubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjúubjZ)�”}”(hŒ void *arg”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj.üh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj*üubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<üh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj*üubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjJüh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj*üubj9)�”}”(hŒarg”h]”hŒarg”…”�”}”(hjWüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*üubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjúubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÎùh²hh³jàùh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÊùh²hh³jàùh´Mubah}”(h]”jÅùah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jàùh´MhjÇùh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'Apply function to each vmaster follower”h]”hŒ'Apply function to each vmaster follower”…”�”}”(hj�üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhj~üh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÇùh²hh³jàùh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j™üjšj™üj›‰jœ‰j�‰uh1hþh²hhjâîh³Nh´NubjŸ)�”}”(hXu**Parameters** ``struct snd_kcontrol *kctl`` vmaster kctl element ``int (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg)`` function to apply ``void *arg`` optional function argument **Description** Apply the function **func** to each follower kctl of the given vmaster kctl. **Return** 0 if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj£üh]”hŒ Parameters”…”�”}”(hj¥üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¡üubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hj�üubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_kcontrol *kctl`` vmaster kctl element ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *kctl``”h]”jÐ)�”}”(hjÂüh]”hŒstruct snd_kcontrol *kctl”…”�”}”(hjÄüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÀüubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhj¼üubjæ)�”}”(hhh]”j{)�”}”(hŒvmaster kctl element”h]”hŒvmaster kctl element”…”�”}”(hjÛüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j×üh´MhjØüubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¼üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j×üh´Mhj¹üubjÄ)�”}”(hŒl``int (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg)`` function to apply ”h]”(jÊ)�”}”(hŒY``int (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg)``”h]”jÐ)�”}”(hjûüh]”hŒUint (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg)”…”�”}”(hjýüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjùüubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hjõüubjæ)�”}”(hhh]”j{)�”}”(hŒfunction to apply”h]”hŒfunction to apply”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jýh´M hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jýh´M hj¹üubjÄ)�”}”(hŒ)``void *arg`` optional function argument ”h]”(jÊ)�”}”(hŒ ``void *arg``”h]”jÐ)�”}”(hj4ýh]”hŒ void *arg”…”�”}”(hj6ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj2ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hj.ýubjæ)�”}”(hhh]”j{)�”}”(hŒoptional function argument”h]”hŒoptional function argument”…”�”}”(hjMýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jIýh´M hjJýubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj.ýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jIýh´M hj¹üubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�üubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjoýh]”hŒ Description”…”�”}”(hjqýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjmýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hj�üubj{)�”}”(hŒLApply the function **func** to each follower kctl of the given vmaster kctl.”h]”(hŒApply the function ”…”�”}”(hj…ýh²hh³Nh´Nubj©)�”}”(hŒ**func**”h]”hŒfunc”…”�”}”(hj�ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj…ýubhŒ1 to each follower kctl of the given vmaster kctl.”…”�”}”(hj…ýh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hj�üubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¨ýh]”hŒReturn”…”�”}”(hjªýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¦ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´M hj�üubj{)�”}”(hŒ)0 if successful, or a negative error code”h]”hŒ)0 if successful, or a negative error code”…”�”}”(hj¾ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´Mhj�üubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjâîh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_ctl_find_id_mixer (C function)”Œc.snd_ctl_find_id_mixer”hNt”auh1híhjâîh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒUstruct snd_kcontrol * snd_ctl_find_id_mixer (struct snd_card *card, const char *name)”h]”j )�”}”(hŒSstruct snd_kcontrol *snd_ctl_find_id_mixer(struct snd_card *card, const char *name)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjíýh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjéýh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjéýh²hh³júýh´K”ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj þubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jþŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_ctl_find_id_mixer”sbŒc.snd_ctl_find_id_mixer”†”asbuh1hhjéýh²hh³júýh´K”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-þh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjéýh²hh³júýh´K”ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj;þh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjéýh²hh³júýh´K”ubj3)�”}”(hŒsnd_ctl_find_id_mixer”h]”j9)�”}”(hj*þh]”hŒsnd_ctl_find_id_mixer”…”�”}”(hjLþh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjHþubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjéýh²hh³júýh´K”ubjT)�”}”(hŒ)(struct snd_card *card, const char *name)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjgþh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjcþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtþh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcþubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj…þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚þubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‡þŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j(þŒc.snd_ctl_find_id_mixer”†”asbuh1hhjcþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£þh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcþubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj±þh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjcþubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj¾þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjcþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_þubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj×þh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÓþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäþh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓþubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjòþh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÓþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓþubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÓþubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_þubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjéýh²hh³júýh´K”ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjåýh²hh³júýh´K”ubah}”(h]”jàýah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³júýh´K”hjâýh²hubjv)�”}”(hhh]”j{)�”}”(hŒ4find the control instance with the given name string”h]”hŒ4find the control instance with the given name string”…”�”}”(hjEÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K”hjBÿh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjâýh²hh³júýh´K”ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j]ÿjšj]ÿj›‰jœ‰j�‰uh1hþh²hhjâîh³Nh´NubjŸ)�”}”(hX_**Parameters** ``struct snd_card *card`` the card instance ``const char *name`` the name string **Description** Finds the control instance with the given name and **SNDRV_CTL_ELEM_IFACE_MIXER**. Other fields are set to zero. This is merely a wrapper to snd_ctl_find_id(). **Return** The pointer of the instance if found, or ``NULL`` if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjgÿh]”hŒ Parameters”…”�”}”(hjiÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjeÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K˜hjaÿubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj†ÿh]”hŒstruct snd_card *card”…”�”}”(hjˆÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj„ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K•hj€ÿubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjŸÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j›ÿh´K•hjœÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj€ÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j›ÿh´K•hj}ÿubjÄ)�”}”(hŒ%``const char *name`` the name string ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hj¿ÿh]”hŒconst char *name”…”�”}”(hjÁÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj½ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K–hj¹ÿubjæ)�”}”(hhh]”j{)�”}”(hŒthe name string”h]”hŒthe name string”…”�”}”(hjØÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÔÿh´K–hjÕÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¹ÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÔÿh´K–hj}ÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjaÿubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjúÿh]”hŒ Description”…”�”}”(hjüÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjøÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K˜hjaÿubj{)�”}”(hŒpFinds the control instance with the given name and **SNDRV_CTL_ELEM_IFACE_MIXER**. Other fields are set to zero.”h]”(hŒ3Finds the control instance with the given name and ”…”�”}”(hjh²hh³Nh´Nubj©)�”}”(hŒ**SNDRV_CTL_ELEM_IFACE_MIXER**”h]”hŒSNDRV_CTL_ELEM_IFACE_MIXER”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubhŒ. Other fields are set to zero.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K—hjaÿubj{)�”}”(hŒ.This is merely a wrapper to snd_ctl_find_id().”h]”hŒ.This is merely a wrapper to snd_ctl_find_id().”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kšhjaÿubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjBh]”hŒReturn”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kœhjaÿubj{)�”}”(hŒ9The pointer of the instance if found, or ``NULL`` if not.”h]”(hŒ)The pointer of the instance if found, or ”…”�”}”(hjXh²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjXubhŒ if not.”…”�”}”(hjXh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K�hjaÿubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjâîh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_ctl_add_follower (C function)”Œc.snd_ctl_add_follower”hNt”auh1híhjâîh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒUint snd_ctl_add_follower (struct snd_kcontrol *master, struct snd_kcontrol *follower)”h]”j )�”}”(hŒTint snd_ctl_add_follower(struct snd_kcontrol *master, struct snd_kcontrol *follower)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•h²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•h²hh³j§h´Kòubj3)�”}”(hŒsnd_ctl_add_follower”h]”j9)�”}”(hŒsnd_ctl_add_follower”h]”hŒsnd_ctl_add_follower”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj•h²hh³j§h´KòubjT)�”}”(hŒ<(struct snd_kcontrol *master, struct snd_kcontrol *follower)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jöŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¼sbŒc.snd_ctl_add_follower”†”asbuh1hhjÒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÒubj9)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÎubjZ)�”}”(hŒstruct snd_kcontrol *follower”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjDubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjcubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jhŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_ctl_add_follower”†”asbuh1hhjDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjDubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjDubj9)�”}”(hŒfollower”h]”hŒfollower”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÎubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj•h²hh³j§h´Kòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‘h²hh³j§h´Kòubah}”(h]”jŒah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j§h´KòhjŽh²hubjv)�”}”(hhh]”j{)�”}”(hŒAdd a virtual follower control”h]”hŒAdd a virtual follower control”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´KòhjÆh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjŽh²hh³j§h´Kòubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jájšjáj›‰jœ‰j�‰uh1hþh²hhjâîh³Nh´NubjŸ)�”}”(hX|**Parameters** ``struct snd_kcontrol *master`` vmaster element ``struct snd_kcontrol *follower`` follower element to add **Description** Add a virtual follower control to the given master element created via snd_ctl_create_virtual_master() beforehand. All followers must be the same type (returning the same information via info callback). The function doesn't check it, so it's your responsibility. Also, some additional limitations: at most two channels, logarithmic volume control (dB level) thus no linear volume, master can only attenuate the volume without gain **Return** Zero if successful or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjëh]”hŒ Parameters”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Köhjåubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *master`` vmaster element ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *master``”h]”jÐ)�”}”(hj h]”hŒstruct snd_kcontrol *master”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kóhjubjæ)�”}”(hhh]”j{)�”}”(hŒvmaster element”h]”hŒvmaster element”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Kóhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´KóhjubjÄ)�”}”(hŒ:``struct snd_kcontrol *follower`` follower element to add ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *follower``”h]”jÐ)�”}”(hjCh]”hŒstruct snd_kcontrol *follower”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kôhj=ubjæ)�”}”(hhh]”j{)�”}”(hŒfollower element to add”h]”hŒfollower element to add”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jXh´KôhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jXh´Kôhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjåubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj~h]”hŒ Description”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”•h´Köhjåubj{)�”}”(hŒrAdd a virtual follower control to the given master element created via snd_ctl_create_virtual_master() beforehand.”h]”hŒrAdd a virtual follower control to the given master element created via snd_ctl_create_virtual_master() beforehand.”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kõhjåubj{)�”}”(hŒ”All followers must be the same type (returning the same information via info callback). The function doesn't check it, so it's your responsibility.”h]”hŒ˜All followers must be the same type (returning the same information via info callback). The function doesn’t check it, so it’s your responsibility.”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Køhjåubj{)�”}”(hŒ§Also, some additional limitations: at most two channels, logarithmic volume control (dB level) thus no linear volume, master can only attenuate the volume without gain”h]”hŒ§Also, some additional limitations: at most two channels, logarithmic volume control (dB level) thus no linear volume, master can only attenuate the volume without gain”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Kühjåubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÃh]”hŒReturn”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mhjåubj{)�”}”(hŒ,Zero if successful or a negative error code.”h]”hŒ,Zero if successful or a negative error code.”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mhjåubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjâîh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_ctl_add_follower_uncached (C function)”Œc.snd_ctl_add_follower_uncached”hNt”auh1híhjâîh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ^int snd_ctl_add_follower_uncached (struct snd_kcontrol *master, struct snd_kcontrol *follower)”h]”j )�”}”(hŒ]int snd_ctl_add_follower_uncached(struct snd_kcontrol *master, struct snd_kcontrol *follower)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³jh´Mubj3)�”}”(hŒsnd_ctl_add_follower_uncached”h]”j9)�”}”(hŒsnd_ctl_add_follower_uncached”h]”hŒsnd_ctl_add_follower_uncached”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj%ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³jh´MubjT)�”}”(hŒ<(struct snd_kcontrol *master, struct snd_kcontrol *follower)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjAubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jeŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j+sbŒc.snd_ctl_add_follower_uncached”†”asbuh1hhjAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjAubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjAubj9)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj=ubjZ)�”}”(hŒstruct snd_kcontrol *follower”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj³ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j׌modname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_ctl_add_follower_uncached”†”asbuh1hhj³ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj³ubj9)�”}”(hŒfollower”h]”hŒfollower”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj=ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³jh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³jh´Mubah}”(h]”jûah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´Mhjýh²hubjv)�”}”(hhh]”j{)�”}”(hŒAdd a virtual follower control”h]”hŒAdd a virtual follower control”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mhj5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjýh²hh³jh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jPjšjPj›‰jœ‰j�‰uh1hþh²hhjâîh³Nh´NubjŸ)�”}”(hXp**Parameters** ``struct snd_kcontrol *master`` vmaster element ``struct snd_kcontrol *follower`` follower element to add **Description** Add a virtual follower control to the given master. Unlike snd_ctl_add_follower(), the element added via this function is supposed to have volatile values, and get callback is called at each time queried from the master. When the control peeks the hardware values directly and the value can be changed by other means than the put callback of the element, this function should be used to keep the value always up-to-date. **Return** Zero if successful or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjZh]”hŒ Parameters”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´MhjTubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *master`` vmaster element ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *master``”h]”jÐ)�”}”(hjyh]”hŒstruct snd_kcontrol *master”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mhjsubjæ)�”}”(hhh]”j{)�”}”(hŒvmaster element”h]”hŒvmaster element”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽh´Mhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽh´MhjpubjÄ)�”}”(hŒ:``struct snd_kcontrol *follower`` follower element to add ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *follower``”h]”jÐ)�”}”(hj²h]”hŒstruct snd_kcontrol *follower”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mhj¬ubjæ)�”}”(hhh]”j{)�”}”(hŒfollower element to add”h]”hŒfollower element to add”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÇh´MhjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÇh´Mhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjTubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjíh]”hŒ Description”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjëubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´MhjTubj{)�”}”(hŒÜAdd a virtual follower control to the given master. Unlike snd_ctl_add_follower(), the element added via this function is supposed to have volatile values, and get callback is called at each time queried from the master.”h]”hŒÜAdd a virtual follower control to the given master. Unlike snd_ctl_add_follower(), the element added via this function is supposed to have volatile values, and get callback is called at each time queried from the master.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´MhjTubj{)�”}”(hŒÇWhen the control peeks the hardware values directly and the value can be changed by other means than the put callback of the element, this function should be used to keep the value always up-to-date.”h]”hŒÇWhen the control peeks the hardware values directly and the value can be changed by other means than the put callback of the element, this function should be used to keep the value always up-to-date.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´MhjTubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj#h]”hŒReturn”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´MhjTubj{)�”}”(hŒ,Zero if successful or a negative error code.”h]”hŒ,Zero if successful or a negative error code.”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´MhjTubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjâîh²hh³Nh´Nubeh}”(h]”Œvirtual-master-control-api”ah ]”h"]”Œvirtual master control api”ah$]”h&]”uh1hµhjýˆh²hh³hÊh´K>ubeh}”(h]”Œcontrol-mixer-api”ah ]”h"]”Œcontrol/mixer api”ah$]”h&]”uh1hµhh·h²hh³hÊh´K2ubh¶)�”}”(hhh]”(h»)�”}”(hŒMIDI API”h]”hŒMIDI API”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj_h²hh³hÊh´KCubh¶)�”}”(hhh]”(h»)�”}”(hŒ Raw MIDI API”h]”hŒ Raw MIDI API”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjph²hh³hÊh´KFubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_rawmidi_receive (C function)”Œc.snd_rawmidi_receive”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒiint snd_rawmidi_receive (struct snd_rawmidi_substream *substream, const unsigned char *buffer, int count)”h]”j )�”}”(hŒhint snd_rawmidi_receive(struct snd_rawmidi_substream *substream, const unsigned char *buffer, int count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj–h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mqubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–h²hh³j¨h´Mqubj3)�”}”(hŒsnd_rawmidi_receive”h]”j9)�”}”(hŒsnd_rawmidi_receive”h]”hŒsnd_rawmidi_receive”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj–h²hh³j¨h´MqubjT)�”}”(hŒQ(struct snd_rawmidi_substream *substream, const unsigned char *buffer, int count)”h]”(jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j÷Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j½sbŒc.snd_rawmidi_receive”†”asbuh1hhjÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÓubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÏubjZ)�”}”(hŒconst unsigned char *buffer”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjEubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÏubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÏubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj–h²hh³j¨h´Mqubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj’h²hh³j¨h´Mqubah}”(h]”j�ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¨h´Mqhj�h²hubjv)�”}”(hhh]”j{)�”}”(hŒ&receive the input data from the device”h]”hŒ&receive the input data from the device”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mqhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�h²hh³j¨h´Mqubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j jšj j›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hX4**Parameters** ``struct snd_rawmidi_substream *substream`` the rawmidi substream ``const unsigned char *buffer`` the buffer pointer ``int count`` the data size to read **Description** Reads the data from the internal buffer. **Return** The size of read data, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj*h]”hŒ Parameters”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Muhj$ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒB``struct snd_rawmidi_substream *substream`` the rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjIh]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MrhjCubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi substream”h]”hŒthe rawmidi substream”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^h´Mrhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j^h´Mrhj@ubjÄ)�”}”(hŒ3``const unsigned char *buffer`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``const unsigned char *buffer``”h]”jÐ)�”}”(hj‚h]”hŒconst unsigned char *buffer”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mshj|ubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer pointer”h]”hŒthe buffer pointer”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j—h´Mshj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—h´Mshj@ubjÄ)�”}”(hŒ$``int count`` the data size to read ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hj»h]”hŒ int count”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mthjµubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to read”h]”hŒthe data size to read”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐh´MthjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐh´Mthj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj$ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjöh]”hŒ Description”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mvhj$ubj{)�”}”(hŒ(Reads the data from the internal buffer.”h]”hŒ(Reads the data from the internal buffer.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Muhj$ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mwhj$ubj{)�”}”(hŒ;The size of read data, or a negative error code on failure.”h]”hŒ;The size of read data, or a negative error code on failure.”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mxhj$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_rawmidi_transmit_empty (C function)”Œc.snd_rawmidi_transmit_empty”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒHint snd_rawmidi_transmit_empty (struct snd_rawmidi_substream *substream)”h]”j )�”}”(hŒGint snd_rawmidi_transmit_empty(struct snd_rawmidi_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj^h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^h²hh³jph´M1ubj3)�”}”(hŒsnd_rawmidi_transmit_empty”h]”j9)�”}”(hŒsnd_rawmidi_transmit_empty”h]”hŒsnd_rawmidi_transmit_empty”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj^h²hh³jph´M1ubjT)�”}”(hŒ)(struct snd_rawmidi_substream *substream)”h]”jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›ubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¿Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j…sbŒc.snd_rawmidi_transmit_empty”†”asbuh1hhj›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj›ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj—ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj^h²hh³jph´M1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjZh²hh³jph´M1ubah}”(h]”jUah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jph´M1hjWh²hubjv)�”}”(hhh]”j{)�”}”(hŒ(check whether the output buffer is empty”h]”hŒ(check whether the output buffer is empty”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M1hj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjWh²hh³jph´M1ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j: jšj: j›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hŒ”**Parameters** ``struct snd_rawmidi_substream *substream`` the rawmidi substream **Return** 1 if the internal output buffer is empty, 0 if not.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjD h]”hŒ Parameters”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjB ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M5hj> ubj¿)�”}”(hhh]”jÄ)�”}”(hŒB``struct snd_rawmidi_substream *substream`` the rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjc h]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hje h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhja ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M2hj] ubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi substream”h]”hŒthe rawmidi substream”…”�”}”(hj| h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jx h´M2hjy ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj] ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx h´M2hjZ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj> ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjž h]”hŒReturn”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjœ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M4hj> ubj{)�”}”(hŒ31 if the internal output buffer is empty, 0 if not.”h]”hŒ31 if the internal output buffer is empty, 0 if not.”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M4hj> ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_rawmidi_transmit_peek (C function)”Œc.snd_rawmidi_transmit_peek”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒiint snd_rawmidi_transmit_peek (struct snd_rawmidi_substream *substream, unsigned char *buffer, int count)”h]”j )�”}”(hŒhint snd_rawmidi_transmit_peek(struct snd_rawmidi_substream *substream, unsigned char *buffer, int count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjß h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjß h²hh³jñ h´M{ubj3)�”}”(hŒsnd_rawmidi_transmit_peek”h]”j9)�”}”(hŒsnd_rawmidi_transmit_peek”h]”hŒsnd_rawmidi_transmit_peek”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjß h²hh³jñ h´M{ubjT)�”}”(hŒK(struct snd_rawmidi_substream *substream, unsigned char *buffer, int count)”h]”(jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj- h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj; ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j@ Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j sbŒc.snd_rawmidi_transmit_peek”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubjZ)�”}”(hŒunsigned char *buffer”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŽ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽ ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŽ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽ ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÊ h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽ ubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj× h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjì ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjì ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjì ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjß h²hh³jñ h´M{ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛ h²hh³jñ h´M{ubah}”(h]”jÖ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jñ h´M{hjØ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ"copy data from the internal buffer”h]”hŒ"copy data from the internal buffer”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M{hj3 h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjØ h²hh³jñ h´M{ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jN jšjN j›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hXÓ**Parameters** ``struct snd_rawmidi_substream *substream`` the rawmidi substream ``unsigned char *buffer`` the buffer pointer ``int count`` data size to transfer **Description** Copies data from the internal output buffer to the given buffer. Call this in the interrupt handler when the midi output is ready, and call snd_rawmidi_transmit_ack() after the transmission is finished. **Return** The size of copied data, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjX h]”hŒ Parameters”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjV ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MhjR ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒB``struct snd_rawmidi_substream *substream`` the rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjw h]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhju ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M|hjq ubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi substream”h]”hŒthe rawmidi substream”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŒ h´M|hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjq ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŒ h´M|hjn ubjÄ)�”}”(hŒ-``unsigned char *buffer`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``unsigned char *buffer``”h]”jÐ)�”}”(hj° h]”hŒunsigned char *buffer”…”�”}”(hj² h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj® ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M}hjª ubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer pointer”h]”hŒthe buffer pointer”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÅ h´M}hjÆ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjª ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÅ h´M}hjn ubjÄ)�”}”(hŒ$``int count`` data size to transfer ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hjé h]”hŒ int count”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjç ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M~hjã ubjæ)�”}”(hhh]”j{)�”}”(hŒdata size to transfer”h]”hŒdata size to transfer”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþ h´M~hjÿ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjã ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþ h´M~hjn ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjR ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj$ h]”hŒ Description”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj" ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M€hjR ubj{)�”}”(hŒ@Copies data from the internal output buffer to the given buffer.”h]”hŒ@Copies data from the internal output buffer to the given buffer.”…”�”}”(hj: h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MhjR ubj{)�”}”(hŒ‰Call this in the interrupt handler when the midi output is ready, and call snd_rawmidi_transmit_ack() after the transmission is finished.”h]”hŒ‰Call this in the interrupt handler when the midi output is ready, and call snd_rawmidi_transmit_ack() after the transmission is finished.”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M�hjR ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjZ h]”hŒReturn”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjX ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M…hjR ubj{)�”}”(hŒ=The size of copied data, or a negative error code on failure.”h]”hŒ=The size of copied data, or a negative error code on failure.”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M†hjR ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_rawmidi_transmit_ack (C function)”Œc.snd_rawmidi_transmit_ack”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQint snd_rawmidi_transmit_ack (struct snd_rawmidi_substream *substream, int count)”h]”j )�”}”(hŒPint snd_rawmidi_transmit_ack(struct snd_rawmidi_substream *substream, int count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj› h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj› h²hh³j­ h´M±ubj3)�”}”(hŒsnd_rawmidi_transmit_ack”h]”j9)�”}”(hŒsnd_rawmidi_transmit_ack”h]”hŒsnd_rawmidi_transmit_ack”…”�”}”(hjÀ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¼ ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj› h²hh³j­ h´M±ubjT)�”}”(hŒ4(struct snd_rawmidi_substream *substream, int count)”h]”(jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjØ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØ ubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jü Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j sbŒc.snd_rawmidi_transmit_ack”†”asbuh1hhjØ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØ ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj( h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØ ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÔ ubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÔ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj› h²hh³j­ h´M±ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj— h²hh³j­ h´M±ubah}”(h]”j’ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j­ h´M±hj” h²hubjv)�”}”(hhh]”j{)�”}”(hŒacknowledge the transmission”h]”hŒacknowledge the transmission”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M±hj‘ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj” h²hh³j­ h´M±ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¬ jšj¬ j›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hXt**Parameters** ``struct snd_rawmidi_substream *substream`` the rawmidi substream ``int count`` the transferred count **Description** Advances the hardware pointer for the internal output buffer with the given size and updates the condition. Call after the transmission is finished. **Return** The advanced size if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¶ h]”hŒ Parameters”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj´ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mµhj° ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒB``struct snd_rawmidi_substream *substream`` the rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjÕ h]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hj× h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÓ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M²hjÏ ubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi substream”h]”hŒthe rawmidi substream”…”�”}”(hjî h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jê h´M²hjë ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÏ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jê h´M²hjÌ ubjÄ)�”}”(hŒ$``int count`` the transferred count ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hjh]”hŒ int count”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M³hjubjæ)�”}”(hhh]”j{)�”}”(hŒthe transferred count”h]”hŒthe transferred count”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j#h´M³hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j#h´M³hjÌ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj° ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjIh]”hŒ Description”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mµhj° ubj{)�”}”(hŒ”Advances the hardware pointer for the internal output buffer with the given size and updates the condition. Call after the transmission is finished.”h]”hŒ”Advances the hardware pointer for the internal output buffer with the given size and updates the condition. Call after the transmission is finished.”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M´hj° ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjph]”hŒReturn”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M¸hj° ubj{)�”}”(hŒEThe advanced size if successful, or a negative error code on failure.”h]”hŒEThe advanced size if successful, or a negative error code on failure.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M¹hj° ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_rawmidi_transmit (C function)”Œc.snd_rawmidi_transmit”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdint snd_rawmidi_transmit (struct snd_rawmidi_substream *substream, unsigned char *buffer, int count)”h]”j )�”}”(hŒcint snd_rawmidi_transmit(struct snd_rawmidi_substream *substream, unsigned char *buffer, int count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj±h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÅubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj±h²hh³jÃh´MÅubj3)�”}”(hŒsnd_rawmidi_transmit”h]”j9)�”}”(hŒsnd_rawmidi_transmit”h]”hŒsnd_rawmidi_transmit”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj±h²hh³jÃh´MÅubjT)�”}”(hŒK(struct snd_rawmidi_substream *substream, unsigned char *buffer, int count)”h]”(jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjîubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jØsbŒc.snd_rawmidi_transmit”†”asbuh1hhjîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjîubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjîubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjîubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjêubjZ)�”}”(hŒunsigned char *buffer”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj`ubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjêubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjêubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj±h²hh³jÃh´MÅubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj­h²hh³jÃh´MÅubah}”(h]”j¨ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÃh´MÅhjªh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"copy from the buffer to the device”h]”hŒ"copy from the buffer to the device”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÅhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjªh²hh³jÃh´MÅubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j jšj j›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hXU**Parameters** ``struct snd_rawmidi_substream *substream`` the rawmidi substream ``unsigned char *buffer`` the buffer pointer ``int count`` the data size to transfer **Description** Copies data from the buffer to the device and advances the pointer. **Return** The copied size if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj*h]”hŒ Parameters”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÉhj$ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒB``struct snd_rawmidi_substream *substream`` the rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjIh]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÆhjCubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi substream”h]”hŒthe rawmidi substream”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^h´MÆhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j^h´MÆhj@ubjÄ)�”}”(hŒ-``unsigned char *buffer`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``unsigned char *buffer``”h]”jÐ)�”}”(hj‚h]”hŒunsigned char *buffer”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÇhj|ubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer pointer”h]”hŒthe buffer pointer”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j—h´MÇhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—h´MÇhj@ubjÄ)�”}”(hŒ(``int count`` the data size to transfer ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hj»h]”hŒ int count”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÈhjµubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to transfer”h]”hŒthe data size to transfer”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐh´MÈhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐh´MÈhj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj$ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjöh]”hŒ Description”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÊhj$ubj{)�”}”(hŒCCopies data from the buffer to the device and advances the pointer.”h]”hŒCCopies data from the buffer to the device and advances the pointer.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÉhj$ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MËhj$ubj{)�”}”(hŒCThe copied size if successful, or a negative error code on failure.”h]”hŒCThe copied size if successful, or a negative error code on failure.”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÌhj$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_rawmidi_proceed (C function)”Œc.snd_rawmidi_proceed”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒAint snd_rawmidi_proceed (struct snd_rawmidi_substream *substream)”h]”j )�”}”(hŒ@int snd_rawmidi_proceed(struct snd_rawmidi_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj^h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^h²hh³jph´MÜubj3)�”}”(hŒsnd_rawmidi_proceed”h]”j9)�”}”(hŒsnd_rawmidi_proceed”h]”hŒsnd_rawmidi_proceed”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj^h²hh³jph´MÜubjT)�”}”(hŒ)(struct snd_rawmidi_substream *substream)”h]”jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›ubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¿Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j…sbŒc.snd_rawmidi_proceed”†”asbuh1hhj›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj›ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj—ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj^h²hh³jph´MÜubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjZh²hh³jph´MÜubah}”(h]”jUah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jph´MÜhjWh²hubjv)�”}”(hhh]”j{)�”}”(hŒ)Discard the all pending bytes and proceed”h]”hŒ)Discard the all pending bytes and proceed”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÜhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjWh²hh³jph´MÜubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j:jšj:j›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hŒz**Parameters** ``struct snd_rawmidi_substream *substream`` rawmidi substream **Return** the number of discarded bytes”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjDh]”hŒ Parameters”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Màhj>ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ>``struct snd_rawmidi_substream *substream`` rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjch]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MÝhj]ubjæ)�”}”(hhh]”j{)�”}”(hŒrawmidi substream”h]”hŒrawmidi substream”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jxh´MÝhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jxh´MÝhjZubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj>ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjžh]”hŒReturn”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mßhj>ubj{)�”}”(hŒthe number of discarded bytes”h]”hŒthe number of discarded bytes”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mßhj>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_rawmidi_new (C function)”Œc.snd_rawmidi_new”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒƒint snd_rawmidi_new (struct snd_card *card, char *id, int device, int output_count, int input_count, struct snd_rawmidi **rrawmidi)”h]”j )�”}”(hŒ‚int snd_rawmidi_new(struct snd_card *card, char *id, int device, int output_count, int input_count, struct snd_rawmidi **rrawmidi)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjßh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MSubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjßh²hh³jñh´MSubj3)�”}”(hŒsnd_rawmidi_new”h]”j9)�”}”(hŒsnd_rawmidi_new”h]”hŒsnd_rawmidi_new”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjßh²hh³jñh´MSubjT)�”}”(hŒo(struct snd_card *card, char *id, int device, int output_count, int input_count, struct snd_rawmidi **rrawmidi)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j@Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jsbŒc.snd_rawmidi_new”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒchar *id”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŽubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒ int device”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÐubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÐubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÐubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒint output_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj9)�”}”(hŒ output_count”h]”hŒ output_count”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒint input_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:ubj9)�”}”(hŒ input_count”h]”hŒ input_count”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒstruct snd_rawmidi **rrawmidi”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjoubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjoubh)�”}”(hhh]”j9)�”}”(hŒ snd_rawmidi”h]”hŒ snd_rawmidi”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j“Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jZŒc.snd_rawmidi_new”†”asbuh1hhjoubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjoubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjoubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjoubj9)�”}”(hŒrrawmidi”h]”hŒrrawmidi”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjoubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjßh²hh³jñh´MSubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛh²hh³jñh´MSubah}”(h]”jÖah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jñh´MShjØh²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate a rawmidi instance”h]”hŒcreate a rawmidi instance”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MShjþh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjØh²hh³jñh´MSubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jjšjj›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hXõ**Parameters** ``struct snd_card *card`` the card instance ``char *id`` the id string ``int device`` the device index ``int output_count`` the number of output streams ``int input_count`` the number of input streams ``struct snd_rawmidi **rrawmidi`` the pointer to store the new rawmidi instance **Description** Creates a new rawmidi instance. Use snd_rawmidi_set_ops() to set the operators to the new instance. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj#h]”hŒ Parameters”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MWhjubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjBh]”hŒstruct snd_card *card”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MThj<ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jWh´MThjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jWh´MThj9ubjÄ)�”}”(hŒ``char *id`` the id string ”h]”(jÊ)�”}”(hŒ ``char *id``”h]”jÐ)�”}”(hj{h]”hŒchar *id”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MUhjuubjæ)�”}”(hhh]”j{)�”}”(hŒ the id string”h]”hŒ the id string”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�h´MUhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�h´MUhj9ubjÄ)�”}”(hŒ ``int device`` the device index ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hj´h]”hŒ int device”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MVhj®ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index”h]”hŒthe device index”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÉh´MVhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÉh´MVhj9ubjÄ)�”}”(hŒ2``int output_count`` the number of output streams ”h]”(jÊ)�”}”(hŒ``int output_count``”h]”jÐ)�”}”(hjíh]”hŒint output_count”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjëubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MWhjçubjæ)�”}”(hhh]”j{)�”}”(hŒthe number of output streams”h]”hŒthe number of output streams”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´MWhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjçubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´MWhj9ubjÄ)�”}”(hŒ0``int input_count`` the number of input streams ”h]”(jÊ)�”}”(hŒ``int input_count``”h]”jÐ)�”}”(hj&h]”hŒint input_count”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MXhj ubjæ)�”}”(hhh]”j{)�”}”(hŒthe number of input streams”h]”hŒthe number of input streams”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j;h´MXhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j;h´MXhj9ubjÄ)�”}”(hŒP``struct snd_rawmidi **rrawmidi`` the pointer to store the new rawmidi instance ”h]”(jÊ)�”}”(hŒ!``struct snd_rawmidi **rrawmidi``”h]”jÐ)�”}”(hj_h]”hŒstruct snd_rawmidi **rrawmidi”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MYhjYubjæ)�”}”(hhh]”j{)�”}”(hŒ-the pointer to store the new rawmidi instance”h]”hŒ-the pointer to store the new rawmidi instance”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jth´MYhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jth´MYhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjšh]”hŒ Description”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M[hjubj{)�”}”(hŒcCreates a new rawmidi instance. Use snd_rawmidi_set_ops() to set the operators to the new instance.”h]”hŒcCreates a new rawmidi instance. Use snd_rawmidi_set_ops() to set the operators to the new instance.”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´MZhjubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÁh]”hŒReturn”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M]hjubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M^hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_rawmidi_set_ops (C function)”Œc.snd_rawmidi_set_ops”hNt”auh1híhjph²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒcvoid snd_rawmidi_set_ops (struct snd_rawmidi *rmidi, int stream, const struct snd_rawmidi_ops *ops)”h]”j )�”}”(hŒbvoid snd_rawmidi_set_ops(struct snd_rawmidi *rmidi, int stream, const struct snd_rawmidi_ops *ops)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³jh´M)ubj3)�”}”(hŒsnd_rawmidi_set_ops”h]”j9)�”}”(hŒsnd_rawmidi_set_ops”h]”hŒsnd_rawmidi_set_ops”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj#ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³jh´M)ubjT)�”}”(hŒJ(struct snd_rawmidi *rmidi, int stream, const struct snd_rawmidi_ops *ops)”h]”(jZ)�”}”(hŒstruct snd_rawmidi *rmidi”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj?ubh)�”}”(hhh]”j9)�”}”(hŒ snd_rawmidi”h]”hŒ snd_rawmidi”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jcŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j)sbŒc.snd_rawmidi_set_ops”†”asbuh1hhj?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj?ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj?ubj9)�”}”(hŒrmidi”h]”hŒrmidi”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj;ubjZ)�”}”(hŒ int stream”h]”(j•)�”}”(hŒint”h]”hŒint”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj±ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj;ubjZ)�”}”(hŒ!const struct snd_rawmidi_ops *ops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_ops”h]”hŒsnd_rawmidi_ops”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j%Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j}Œc.snd_rawmidi_set_ops”†”asbuh1hhjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjæubj9)�”}”(hŒops”h]”hŒops”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj;ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³jh´M)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjþh²hh³jh´M)ubah}”(h]”jùah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´M)hjûh²hubjv)�”}”(hhh]”j{)�”}”(hŒset the rawmidi operators”h]”hŒset the rawmidi operators”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M)hjƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjûh²hh³jh´M)ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jžjšjžj›‰jœ‰j�‰uh1hþh²hhjph³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_rawmidi *rmidi`` the rawmidi instance ``int stream`` the stream direction, SNDRV_RAWMIDI_STREAM_XXX ``const struct snd_rawmidi_ops *ops`` the operator table **Description** Sets the rawmidi operators for the given stream direction.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¨h]”hŒ Parameters”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M-hj¢ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_rawmidi *rmidi`` the rawmidi instance ”h]”(jÊ)�”}”(hŒ``struct snd_rawmidi *rmidi``”h]”jÐ)�”}”(hjÇh]”hŒstruct snd_rawmidi *rmidi”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M*hjÁubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi instance”h]”hŒthe rawmidi instance”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜh´M*hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜh´M*hj¾ubjÄ)�”}”(hŒ>``int stream`` the stream direction, SNDRV_RAWMIDI_STREAM_XXX ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hjh]”hŒ int stream”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M+hjúubjæ)�”}”(hhh]”j{)�”}”(hŒ.the stream direction, SNDRV_RAWMIDI_STREAM_XXX”h]”hŒ.the stream direction, SNDRV_RAWMIDI_STREAM_XXX”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´M+hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjúubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´M+hj¾ubjÄ)�”}”(hŒ9``const struct snd_rawmidi_ops *ops`` the operator table ”h]”(jÊ)�”}”(hŒ%``const struct snd_rawmidi_ops *ops``”h]”jÐ)�”}”(hj9h]”hŒ!const struct snd_rawmidi_ops *ops”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M,hj3ubjæ)�”}”(hhh]”j{)�”}”(hŒthe operator table”h]”hŒthe operator table”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jNh´M,hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jNh´M,hj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¢ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjth]”hŒ Description”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M.hj¢ubj{)�”}”(hŒ:Sets the rawmidi operators for the given stream direction.”h]”hŒ:Sets the rawmidi operators for the given stream direction.”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´M-hj¢ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjph²hh³Nh´Nubeh}”(h]”Œ raw-midi-api”ah ]”h"]”Œ raw midi api”ah$]”h&]”uh1hµhj_h²hh³hÊh´KFubh¶)�”}”(hhh]”(h»)�”}”(hŒMPU401-UART API”h]”hŒMPU401-UART API”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj¨h²hh³hÊh´KJubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_mpu401_uart_interrupt (C function)”Œc.snd_mpu401_uart_interrupt”hNt”auh1híhj¨h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=irqreturn_t snd_mpu401_uart_interrupt (int irq, void *dev_id)”h]”j )�”}”(hŒprivate_data (with struct snd_mpu401 magic-cast). **Return** Zero if successful, or a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÄ h]”hŒ Parameters”…”�”}”(hjÆ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mæhj¾ ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjã h]”hŒstruct snd_card *card”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjá ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´MãhjÝ ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jø h´Mãhjù ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÝ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jø h´MãhjÚ ubjÄ)�”}”(hŒ,``int device`` the device index, zero-based ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hj!h]”hŒ int device”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mähj!ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index, zero-based”h]”hŒthe device index, zero-based”…”�”}”(hj5!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1!h´Mähj2!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1!h´MähjÚ ubjÄ)�”}”(hŒ>``unsigned short hardware`` the hardware type, MPU401_HW_XXXX ”h]”(jÊ)�”}”(hŒ``unsigned short hardware``”h]”jÐ)�”}”(hjU!h]”hŒunsigned short hardware”…”�”}”(hjW!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjS!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´MåhjO!ubjæ)�”}”(hhh]”j{)�”}”(hŒ!the hardware type, MPU401_HW_XXXX”h]”hŒ!the hardware type, MPU401_HW_XXXX”…”�”}”(hjn!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jj!h´Måhjk!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjO!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jj!h´MåhjÚ ubjÄ)�”}”(hŒ7``unsigned long port`` the base address of MPU401 port ”h]”(jÊ)�”}”(hŒ``unsigned long port``”h]”jÐ)�”}”(hjŽ!h]”hŒunsigned long port”…”�”}”(hj�!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŒ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mæhjˆ!ubjæ)�”}”(hhh]”j{)�”}”(hŒthe base address of MPU401 port”h]”hŒthe base address of MPU401 port”…”�”}”(hj§!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j£!h´Mæhj¤!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆ!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j£!h´MæhjÚ ubjÄ)�”}”(hŒ5``unsigned int info_flags`` bitflags MPU401_INFO_XXX ”h]”(jÊ)�”}”(hŒ``unsigned int info_flags``”h]”jÐ)�”}”(hjÇ!h]”hŒunsigned int info_flags”…”�”}”(hjÉ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÅ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´MçhjÁ!ubjæ)�”}”(hhh]”j{)�”}”(hŒbitflags MPU401_INFO_XXX”h]”hŒbitflags MPU401_INFO_XXX”…”�”}”(hjà!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜ!h´MçhjÝ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁ!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜ!h´MçhjÚ ubjÄ)�”}”(hŒ:``int irq`` the ISA irq number, -1 if not to be allocated ”h]”(jÊ)�”}”(hŒ ``int irq``”h]”jÐ)�”}”(hj"h]”hŒint irq”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjþ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mèhjú!ubjæ)�”}”(hhh]”j{)�”}”(hŒ-the ISA irq number, -1 if not to be allocated”h]”hŒ-the ISA irq number, -1 if not to be allocated”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j"h´Mèhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjú!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"h´MèhjÚ ubjÄ)�”}”(hŒQ``struct snd_rawmidi ** rrawmidi`` the pointer to store the new rawmidi instance ”h]”(jÊ)�”}”(hŒ"``struct snd_rawmidi ** rrawmidi``”h]”jÐ)�”}”(hj9"h]”hŒstruct snd_rawmidi ** rrawmidi”…”�”}”(hj;"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Méhj3"ubjæ)�”}”(hhh]”j{)�”}”(hŒ-the pointer to store the new rawmidi instance”h]”hŒ-the pointer to store the new rawmidi instance”…”�”}”(hjR"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jN"h´MéhjO"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj3"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jN"h´MéhjÚ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¾ ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjt"h]”hŒ Description”…”�”}”(hjv"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjr"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mëhj¾ ubj{)�”}”(hŒCreates a new MPU-401 instance.”h]”hŒCreates a new MPU-401 instance.”…”�”}”(hjŠ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mêhj¾ ubj{)�”}”(hŒÌNote that the rawmidi instance is returned on the rrawmidi argument, not the mpu401 instance itself. To access to the mpu401 instance, cast from rawmidi->private_data (with struct snd_mpu401 magic-cast).”h]”hŒÌNote that the rawmidi instance is returned on the rrawmidi argument, not the mpu401 instance itself. To access to the mpu401 instance, cast from rawmidi->private_data (with struct snd_mpu401 magic-cast).”…”�”}”(hj™"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mìhj¾ ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjª"h]”hŒReturn”…”�”}”(hj¬"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¨"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mðhj¾ ubj{)�”}”(hŒ-Zero if successful, or a negative error code.”h]”hŒ-Zero if successful, or a negative error code.”…”�”}”(hjÀ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mñhj¾ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj¨h²hh³Nh´Nubeh}”(h]”Œmpu401-uart-api”ah ]”h"]”Œmpu401-uart api”ah$]”h&]”uh1hµhj_h²hh³hÊh´KJubeh}”(h]”Œmidi-api”ah ]”h"]”Œmidi api”ah$]”h&]”uh1hµhh·h²hh³hÊh´KCubh¶)�”}”(hhh]”(h»)�”}”(hŒ Proc Info API”h]”hŒ Proc Info API”…”�”}”(hjé"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjæ"h²hh³hÊh´KNubh¶)�”}”(hhh]”(h»)�”}”(hŒProc Info Interface”h]”hŒProc Info Interface”…”�”}”(hjú"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj÷"h²hh³hÊh´KQubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_info_get_line (C function)”Œc.snd_info_get_line”hNt”auh1híhj÷"h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒKint snd_info_get_line (struct snd_info_buffer *buffer, char *line, int len)”h]”j )�”}”(hŒJint snd_info_get_line(struct snd_info_buffer *buffer, char *line, int len)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj!#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj#h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M@ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#h²hh³j/#h´M@ubj3)�”}”(hŒsnd_info_get_line”h]”j9)�”}”(hŒsnd_info_get_line”h]”hŒsnd_info_get_line”…”�”}”(hjB#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>#ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj#h²hh³j/#h´M@ubjT)�”}”(hŒ5(struct snd_info_buffer *buffer, char *line, int len)”h]”(jZ)�”}”(hŒstruct snd_info_buffer *buffer”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj^#h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjZ#ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZ#ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_buffer”h]”hŒsnd_info_buffer”…”�”}”(hj|#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjy#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j~#Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jD#sbŒc.snd_info_get_line”†”asbuh1hhjZ#ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZ#ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjª#h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjZ#ubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj·#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZ#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjV#ubjZ)�”}”(hŒ char *line”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÐ#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÌ#ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ#ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjì#h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌ#ubj9)�”}”(hŒline”h]”hŒline”…”�”}”(hjù#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌ#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjV#ubjZ)�”}”(hŒint len”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj $h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$ubj9)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj.$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjV#ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj#h²hh³j/#h´M@ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj#h²hh³j/#h´M@ubah}”(h]”j#ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j/#h´M@hj#h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$read one line from the procfs buffer”h]”hŒ$read one line from the procfs buffer”…”�”}”(hjX$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M@hjU$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj#h²hh³j/#h´M@ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jp$jšjp$j›‰jœ‰j�‰uh1hþh²hhj÷"h³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_info_buffer *buffer`` the procfs buffer ``char *line`` the buffer to store ``int len`` the max. buffer size **Description** Reads one line from the buffer and stores the string. **Return** Zero if successful, or 1 if error or EOF.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjz$h]”hŒ Parameters”…”�”}”(hj|$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjx$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MDhjt$ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ5``struct snd_info_buffer *buffer`` the procfs buffer ”h]”(jÊ)�”}”(hŒ"``struct snd_info_buffer *buffer``”h]”jÐ)�”}”(hj™$h]”hŒstruct snd_info_buffer *buffer”…”�”}”(hj›$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj—$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MAhj“$ubjæ)�”}”(hhh]”j{)�”}”(hŒthe procfs buffer”h]”hŒthe procfs buffer”…”�”}”(hj²$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j®$h´MAhj¯$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj“$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j®$h´MAhj�$ubjÄ)�”}”(hŒ#``char *line`` the buffer to store ”h]”(jÊ)�”}”(hŒ``char *line``”h]”jÐ)�”}”(hjÒ$h]”hŒ char *line”…”�”}”(hjÔ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÐ$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MBhjÌ$ubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer to store”h]”hŒthe buffer to store”…”�”}”(hjë$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jç$h´MBhjè$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÌ$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jç$h´MBhj�$ubjÄ)�”}”(hŒ!``int len`` the max. buffer size ”h]”(jÊ)�”}”(hŒ ``int len``”h]”jÐ)�”}”(hj %h]”hŒint len”…”�”}”(hj %h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj %ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MChj%ubjæ)�”}”(hhh]”j{)�”}”(hŒthe max. buffer size”h]”hŒthe max. buffer size”…”�”}”(hj$%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j %h´MChj!%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j %h´MChj�$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjt$ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjF%h]”hŒ Description”…”�”}”(hjH%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjD%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MEhjt$ubj{)�”}”(hŒ5Reads one line from the buffer and stores the string.”h]”hŒ5Reads one line from the buffer and stores the string.”…”�”}”(hj\%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MDhjt$ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjm%h]”hŒReturn”…”�”}”(hjo%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjk%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MFhjt$ubj{)�”}”(hŒ)Zero if successful, or 1 if error or EOF.”h]”hŒ)Zero if successful, or 1 if error or EOF.”…”�”}”(hjƒ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MGhjt$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj÷"h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_info_get_str (C function)”Œc.snd_info_get_str”hNt”auh1híhj÷"h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒDconst char * snd_info_get_str (char *dest, const char *src, int len)”h]”j )�”}”(hŒBconst char *snd_info_get_str(char *dest, const char *src, int len)”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj²%h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj®%h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mdubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ%h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®%h²hh³j¿%h´Mdubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÎ%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®%h²hh³j¿%h´Mdubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜ%h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®%h²hh³j¿%h´Mdubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjê%h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj®%h²hh³j¿%h´Mdubj3)�”}”(hŒsnd_info_get_str”h]”j9)�”}”(hŒsnd_info_get_str”h]”hŒsnd_info_get_str”…”�”}”(hjû%h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷%ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj®%h²hh³j¿%h´MdubjT)�”}”(hŒ&(char *dest, const char *src, int len)”h]”(jZ)�”}”(hŒ char *dest”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj3&h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj&ubj9)�”}”(hŒdest”h]”hŒdest”…”�”}”(hj@&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj&ubjZ)�”}”(hŒconst char *src”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjY&h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjU&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjU&ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjt&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjU&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjU&ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�&h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjU&ubj9)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hj�&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj&ubjZ)�”}”(hŒint len”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj²&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²&ubj9)�”}”(hŒlen”h]”hŒlen”…”�”}”(hjÒ&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj²&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj&ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj®%h²hh³j¿%h´Mdubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjª%h²hh³j¿%h´Mdubah}”(h]”j¥%ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¿%h´Mdhj§%h²hubjv)�”}”(hhh]”j{)�”}”(hŒparse a string token”h]”hŒparse a string token”…”�”}”(hjü&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mdhjù&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj§%h²hh³j¿%h´Mdubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j'jšj'j›‰jœ‰j�‰uh1hþh²hhj÷"h³Nh´NubjŸ)�”}”(hXX**Parameters** ``char *dest`` the buffer to store the string token ``const char *src`` the original string ``int len`` the max. length of token - 1 **Description** Parses the original string and copy a token to the given string buffer. **Return** The updated pointer of the original string so that it can be used for the next call.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj'h]”hŒ Parameters”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mhhj'ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ4``char *dest`` the buffer to store the string token ”h]”(jÊ)�”}”(hŒ``char *dest``”h]”jÐ)�”}”(hj='h]”hŒ char *dest”…”�”}”(hj?'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj;'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mehj7'ubjæ)�”}”(hhh]”j{)�”}”(hŒ$the buffer to store the string token”h]”hŒ$the buffer to store the string token”…”�”}”(hjV'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jR'h´MehjS'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jR'h´Mehj4'ubjÄ)�”}”(hŒ(``const char *src`` the original string ”h]”(jÊ)�”}”(hŒ``const char *src``”h]”jÐ)�”}”(hjv'h]”hŒconst char *src”…”�”}”(hjx'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjt'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mfhjp'ubjæ)�”}”(hhh]”j{)�”}”(hŒthe original string”h]”hŒthe original string”…”�”}”(hj�'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹'h´MfhjŒ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjp'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹'h´Mfhj4'ubjÄ)�”}”(hŒ)``int len`` the max. length of token - 1 ”h]”(jÊ)�”}”(hŒ ``int len``”h]”jÐ)�”}”(hj¯'h]”hŒint len”…”�”}”(hj±'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj­'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mghj©'ubjæ)�”}”(hhh]”j{)�”}”(hŒthe max. length of token - 1”h]”hŒthe max. length of token - 1”…”�”}”(hjÈ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄ'h´MghjÅ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄ'h´Mghj4'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj'ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjê'h]”hŒ Description”…”�”}”(hjì'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjè'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mihj'ubj{)�”}”(hŒGParses the original string and copy a token to the given string buffer.”h]”hŒGParses the original string and copy a token to the given string buffer.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mhhj'ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj(h]”hŒReturn”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mkhj'ubj{)�”}”(hŒTThe updated pointer of the original string so that it can be used for the next call.”h]”hŒTThe updated pointer of the original string so that it can be used for the next call.”…”�”}”(hj'(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mlhj'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj÷"h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_info_create_module_entry (C function)”Œc.snd_info_create_module_entry”hNt”auh1híhj÷"h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~struct snd_info_entry * snd_info_create_module_entry (struct module * module, const char *name, struct snd_info_entry *parent)”h]”j )�”}”(hŒ{struct snd_info_entry *snd_info_create_module_entry(struct module *module, const char *name, struct snd_info_entry *parent)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjV(h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjR(h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjd(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjR(h²hh³jc(h´M±ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_entry”h]”hŒsnd_info_entry”…”�”}”(hju(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjr(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jw(Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_info_create_module_entry”sbŒc.snd_info_create_module_entry”†”asbuh1hhjR(h²hh³jc(h´M±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjR(h²hh³jc(h´M±ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¤(h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjR(h²hh³jc(h´M±ubj3)�”}”(hŒsnd_info_create_module_entry”h]”j9)�”}”(hj“(h]”hŒsnd_info_create_module_entry”…”�”}”(hjµ(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±(ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjR(h²hh³jc(h´M±ubjT)�”}”(hŒH(struct module *module, const char *name, struct snd_info_entry *parent)”h]”(jZ)�”}”(hŒstruct module *module”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÐ(h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÌ(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ(ubh)�”}”(hhh]”j9)�”}”(hŒmodule”h]”hŒmodule”…”�”}”(hjî(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjë(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jð(Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j‘(Œc.snd_info_create_module_entry”†”asbuh1hhjÌ(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ(ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌ(ubj9)�”}”(hŒmodule”h]”hŒmodule”…”�”}”(hj')h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌ(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ(ubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj@)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<)ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj[)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj<)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hji)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjw)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj<)ubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hj„)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ(ubjZ)�”}”(hŒstruct snd_info_entry *parent”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj™)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™)ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_entry”h]”hŒsnd_info_entry”…”�”}”(hj»)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j½)Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j‘(Œc.snd_info_create_module_entry”†”asbuh1hhj™)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙ)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjç)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj™)ubj9)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjô)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ(ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjR(h²hh³jc(h´M±ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjN(h²hh³jc(h´M±ubah}”(h]”jI(ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jc(h´M±hjK(h²hubjv)�”}”(hhh]”j{)�”}”(hŒ)create an info entry for the given module”h]”hŒ)create an info entry for the given module”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M±hj*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjK(h²hh³jc(h´M±ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j6*jšj6*j›‰jœ‰j�‰uh1hþh²hhj÷"h³Nh´NubjŸ)�”}”(hX4**Parameters** ``struct module * module`` the module pointer ``const char *name`` the file name ``struct snd_info_entry *parent`` the parent directory **Description** Creates a new info entry and assigns it to the given module. **Return** The pointer of the new instance, or ``NULL`` on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj@*h]”hŒ Parameters”…”�”}”(hjB*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj>*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mµhj:*ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct module * module`` the module pointer ”h]”(jÊ)�”}”(hŒ``struct module * module``”h]”jÐ)�”}”(hj_*h]”hŒstruct module * module”…”�”}”(hja*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M²hjY*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe module pointer”h]”hŒthe module pointer”…”�”}”(hjx*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jt*h´M²hju*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjY*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jt*h´M²hjV*ubjÄ)�”}”(hŒ#``const char *name`` the file name ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hj˜*h]”hŒconst char *name”…”�”}”(hjš*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj–*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M³hj’*ubjæ)�”}”(hhh]”j{)�”}”(hŒ the file name”h]”hŒ the file name”…”�”}”(hj±*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j­*h´M³hj®*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj’*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j­*h´M³hjV*ubjÄ)�”}”(hŒ7``struct snd_info_entry *parent`` the parent directory ”h]”(jÊ)�”}”(hŒ!``struct snd_info_entry *parent``”h]”jÐ)�”}”(hjÑ*h]”hŒstruct snd_info_entry *parent”…”�”}”(hjÓ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÏ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M´hjË*ubjæ)�”}”(hhh]”j{)�”}”(hŒthe parent directory”h]”hŒthe parent directory”…”�”}”(hjê*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jæ*h´M´hjç*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjË*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jæ*h´M´hjV*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj:*ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj +h]”hŒ Description”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj +ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M¶hj:*ubj{)�”}”(hŒ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MÊhjn-ubj{)�”}”(hŒ:Creates a new info entry and assigns it to the given card.”h]”hŒ:Creates a new info entry and assigns it to the given card.”…”�”}”(hjV.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MÉhjn-ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjg.h]”hŒReturn”…”�”}”(hji.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hje.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MËhjn-ubj{)�”}”(hŒ8The pointer of the new instance, or ``NULL`` on failure.”h]”(hŒ$The pointer of the new instance, or ”…”�”}”(hj}.h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj….h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj}.ubhŒ on failure.”…”�”}”(hj}.h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MÌhjn-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj÷"h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_info_free_entry (C function)”Œc.snd_info_free_entry”hNt”auh1híhj÷"h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8void snd_info_free_entry (struct snd_info_entry * entry)”h]”j )�”}”(hŒ6void snd_info_free_entry(struct snd_info_entry *entry)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¾.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjº.h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mäubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ.h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjº.h²hh³jÌ.h´Mäubj3)�”}”(hŒsnd_info_free_entry”h]”j9)�”}”(hŒsnd_info_free_entry”h]”hŒsnd_info_free_entry”…”�”}”(hjß.h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛ.ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjº.h²hh³jÌ.h´MäubjT)�”}”(hŒ(struct snd_info_entry *entry)”h]”jZ)�”}”(hŒstruct snd_info_entry *entry”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjû.h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj÷.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj÷.ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_entry”h]”hŒsnd_info_entry”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j/Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜já.sbŒc.snd_info_free_entry”†”asbuh1hhj÷.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj÷.ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjG/h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj÷.ubj9)�”}”(hŒentry”h]”hŒentry”…”�”}”(hjT/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjó.ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjº.h²hh³jÌ.h´Mäubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¶.h²hh³jÌ.h´Mäubah}”(h]”j±.ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÌ.h´Mähj³.h²hubjv)�”}”(hhh]”j{)�”}”(hŒrelease the info entry”h]”hŒrelease the info entry”…”�”}”(hj~/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mähj{/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj³.h²hh³jÌ.h´Mäubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j–/jšj–/j›‰jœ‰j�‰uh1hþh²hhj÷"h³Nh´NubjŸ)�”}”(hŒm**Parameters** ``struct snd_info_entry * entry`` the info entry **Description** Releases the info entry.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj /h]”hŒ Parameters”…”�”}”(hj¢/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjž/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mèhjš/ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ1``struct snd_info_entry * entry`` the info entry ”h]”(jÊ)�”}”(hŒ!``struct snd_info_entry * entry``”h]”jÐ)�”}”(hj¿/h]”hŒstruct snd_info_entry * entry”…”�”}”(hjÁ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj½/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Måhj¹/ubjæ)�”}”(hhh]”j{)�”}”(hŒthe info entry”h]”hŒthe info entry”…”�”}”(hjØ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÔ/h´MåhjÕ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¹/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÔ/h´Måhj¶/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjš/ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjú/h]”hŒ Description”…”�”}”(hjü/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjø/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mçhjš/ubj{)�”}”(hŒReleases the info entry.”h]”hŒReleases the info entry.”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´Mæhjš/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj÷"h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_info_register (C function)”Œc.snd_info_register”hNt”auh1híhj÷"h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ4int snd_info_register (struct snd_info_entry *entry)”h]”j )�”}”(hŒ3int snd_info_register(struct snd_info_entry *entry)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj?0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj;0h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;0h²hh³jM0h´M$ubj3)�”}”(hŒsnd_info_register”h]”j9)�”}”(hŒsnd_info_register”h]”hŒsnd_info_register”…”�”}”(hj`0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\0ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj;0h²hh³jM0h´M$ubjT)�”}”(hŒ(struct snd_info_entry *entry)”h]”jZ)�”}”(hŒstruct snd_info_entry *entry”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj|0h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjx0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjx0ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_entry”h]”hŒsnd_info_entry”…”�”}”(hjš0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jœ0Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jb0sbŒc.snd_info_register”†”asbuh1hhjx0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjx0ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÈ0h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjx0ubj9)�”}”(hŒentry”h]”hŒentry”…”�”}”(hjÕ0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjx0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjt0ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj;0h²hh³jM0h´M$ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj70h²hh³jM0h´M$ubah}”(h]”j20ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jM0h´M$hj40h²hubjv)�”}”(hhh]”j{)�”}”(hŒregister the info entry”h]”hŒregister the info entry”…”�”}”(hjÿ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M$hjü0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj40h²hh³jM0h´M$ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j1jšj1j›‰jœ‰j�‰uh1hþh²hhj÷"h³Nh´NubjŸ)�”}”(hŒí**Parameters** ``struct snd_info_entry *entry`` the info entry **Description** Registers the proc info entry. The all children entries are registered recursively. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj!1h]”hŒ Parameters”…”�”}”(hj#1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M(hj1ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``struct snd_info_entry *entry`` the info entry ”h]”(jÊ)�”}”(hŒ ``struct snd_info_entry *entry``”h]”jÐ)�”}”(hj@1h]”hŒstruct snd_info_entry *entry”…”�”}”(hjB1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M%hj:1ubjæ)�”}”(hhh]”j{)�”}”(hŒthe info entry”h]”hŒthe info entry”…”�”}”(hjY1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU1h´M%hjV1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU1h´M%hj71ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj1ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj{1h]”hŒ Description”…”�”}”(hj}1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjy1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M'hj1ubj{)�”}”(hŒSRegisters the proc info entry. The all children entries are registered recursively.”h]”hŒSRegisters the proc info entry. The all children entries are registered recursively.”…”�”}”(hj‘1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M&hj1ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¢1h]”hŒReturn”…”�”}”(hj¤1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj 1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M)hj1ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj¸1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´M*hj1ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj÷"h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_card_rw_proc_new (C function)”Œc.snd_card_rw_proc_new”hNt”auh1híhj÷"h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒäint snd_card_rw_proc_new (struct snd_card *card, const char *name, void *private_data, void (*read)(struct snd_info_entry *, struct snd_info_buffer *), void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer))”h]”j )�”}”(hŒáint snd_card_rw_proc_new(struct snd_card *card, const char *name, void *private_data, void (*read)(struct snd_info_entry*, struct snd_info_buffer*), void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer))”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjç1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjã1h²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MBubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjã1h²hh³jõ1h´MBubj3)�”}”(hŒsnd_card_rw_proc_new”h]”j9)�”}”(hŒsnd_card_rw_proc_new”h]”hŒsnd_card_rw_proc_new”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjã1h²hh³jõ1h´MBubjT)�”}”(hŒÉ(struct snd_card *card, const char *name, void *private_data, void (*read)(struct snd_info_entry*, struct snd_info_buffer*), void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer))”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj$2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj 2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj12h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj 2ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjB2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jD2Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j 2sbŒc.snd_card_rw_proc_new”†”asbuh1hhj 2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj 2ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjp2h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj 2ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj}2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj 2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj–2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj’2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’2ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj±2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj’2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’2ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÍ2h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj’2ubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjÚ2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubjZ)�”}”(hŒvoid *private_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjó2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjï2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjï2ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjï2ubj9)�”}”(hŒ private_data”h]”hŒ private_data”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjï2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubjZ)�”}”(hŒ=void (*read)(struct snd_info_entry*, struct snd_info_buffer*)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj53h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj13ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj13ubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hjQ3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj^3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj9)�”}”(hŒread”h]”hŒread”…”�”}”(hjk3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj13ubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hjy3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hj†3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj“3h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj13ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj 3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj13ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_entry”h]”hŒsnd_info_entry”…”�”}”(hj±3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j³3Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j^2Œc.snd_card_rw_proc_new”†”asbuh1hhj13ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÏ3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj¹)�”}”(hjåõh]”hŒ,”…”�”}”(hjÜ3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj13ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj÷3h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj13ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj13ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_buffer”h]”hŒsnd_info_buffer”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j4Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j^2Œc.snd_card_rw_proc_new”†”asbuh1hhj13ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj34h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hj@4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj13ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubjZ)�”}”(hŒKvoid (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjX4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjT4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT4ubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hjt4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj9)�”}”(hŒwrite”h]”hŒwrite”…”�”}”(hjŽ4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjT4ubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hjœ4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hj©4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj¶4h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjT4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT4ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_entry”h]”hŒsnd_info_entry”…”�”}”(hjÔ4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÑ4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÖ4Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j^2Œc.snd_card_rw_proc_new”†”asbuh1hhjT4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj9)�”}”(hŒentry”h]”hŒentry”…”�”}”(hj 5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjT4ubj¹)�”}”(hjåõh]”hŒ,”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT4ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj65h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjT4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT4ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_buffer”h]”hŒsnd_info_buffer”…”�”}”(hjT5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQ5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jV5Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j^2Œc.snd_card_rw_proc_new”†”asbuh1hhjT4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj€5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj�5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjT4ubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hj›5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjT4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj2ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjã1h²hh³jõ1h´MBubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjß1h²hh³jõ1h´MBubah}”(h]”jÚ1ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jõ1h´MBhjÜ1h²hubjv)�”}”(hhh]”j{)�”}”(hŒ5Create a read/write text proc file entry for the card”h]”hŒ5Create a read/write text proc file entry for the card”…”�”}”(hjÄ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MBhjÁ5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÜ1h²hh³jõ1h´MBubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÜ5jšjÜ5j›‰jœ‰j�‰uh1hþh²hhj÷"h³Nh´NubjŸ)�”}”(hX<**Parameters** ``struct snd_card *card`` the card instance ``const char *name`` the file name ``void *private_data`` the arbitrary private data ``void (*read)(struct snd_info_entry *, struct snd_info_buffer *)`` the read callback ``void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)`` the write callback, NULL for read-only **Description** This proc file entry will be registered via snd_card_register() call, and it will be removed automatically at the card removal, too. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjæ5h]”hŒ Parameters”…”�”}”(hjè5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjä5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MFhjà5ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj6h]”hŒstruct snd_card *card”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MChjÿ5ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j6h´MChj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÿ5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j6h´MChjü5ubjÄ)�”}”(hŒ#``const char *name`` the file name ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hj>6h]”hŒconst char *name”…”�”}”(hj@6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj<6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MDhj86ubjæ)�”}”(hhh]”j{)�”}”(hŒ the file name”h]”hŒ the file name”…”�”}”(hjW6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jS6h´MDhjT6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj86ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jS6h´MDhjü5ubjÄ)�”}”(hŒ2``void *private_data`` the arbitrary private data ”h]”(jÊ)�”}”(hŒ``void *private_data``”h]”jÐ)�”}”(hjw6h]”hŒvoid *private_data”…”�”}”(hjy6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhju6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MEhjq6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe arbitrary private data”h]”hŒthe arbitrary private data”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŒ6h´MEhj�6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjq6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŒ6h´MEhjü5ubjÄ)�”}”(hŒV``void (*read)(struct snd_info_entry *, struct snd_info_buffer *)`` the read callback ”h]”(jÊ)�”}”(hŒC``void (*read)(struct snd_info_entry *, struct snd_info_buffer *)``”h]”jÐ)�”}”(hj°6h]”hŒ?void (*read)(struct snd_info_entry *, struct snd_info_buffer *)”…”�”}”(hj²6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj®6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MFhjª6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe read callback”h]”hŒthe read callback”…”�”}”(hjÉ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÅ6h´MFhjÆ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjª6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÅ6h´MFhjü5ubjÄ)�”}”(hŒw``void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)`` the write callback, NULL for read-only ”h]”(jÊ)�”}”(hŒO``void (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)``”h]”jÐ)�”}”(hjé6h]”hŒKvoid (*write)(struct snd_info_entry *entry, struct snd_info_buffer *buffer)”…”�”}”(hjë6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjç6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MGhjã6ubjæ)�”}”(hhh]”j{)�”}”(hŒ&the write callback, NULL for read-only”h]”hŒ&the write callback, NULL for read-only”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþ6h´MGhjÿ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjã6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþ6h´MGhjü5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjà5ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj$7h]”hŒ Description”…”�”}”(hj&7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj"7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MIhjà5ubj{)�”}”(hŒ„This proc file entry will be registered via snd_card_register() call, and it will be removed automatically at the card removal, too.”h]”hŒ„This proc file entry will be registered via snd_card_register() call, and it will be removed automatically at the card removal, too.”…”�”}”(hj:7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MHhjà5ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjK7h]”hŒReturn”…”�”}”(hjM7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjI7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MKhjà5ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hja7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:82: ./sound/core/info.c”h´MLhjà5ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj÷"h²hh³Nh´Nubeh}”(h]”Œproc-info-interface”ah ]”h"]”Œproc info interface”ah$]”h&]”uh1hµhjæ"h²hh³hÊh´KQubeh}”(h]”Œ proc-info-api”ah ]”h"]”Œ proc info api”ah$]”h&]”uh1hµhh·h²hh³hÊh´KNubh¶)�”}”(hhh]”(h»)�”}”(hŒCompress Offload”h]”hŒCompress Offload”…”�”}”(hjŠ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj‡7h²hh³hÊh´KUubh¶)�”}”(hhh]”(h»)�”}”(hŒCompress Offload API”h]”hŒCompress Offload API”…”�”}”(hj›7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj˜7h²hh³hÊh´KXubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_compr_stop_error (C function)”Œc.snd_compr_stop_error”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQint snd_compr_stop_error (struct snd_compr_stream *stream, snd_pcm_state_t state)”h]”j )�”}”(hŒPint snd_compr_stop_error(struct snd_compr_stream *stream, snd_pcm_state_t state)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÂ7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾7h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Muubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾7h²hh³jÐ7h´Muubj3)�”}”(hŒsnd_compr_stop_error”h]”j9)�”}”(hŒsnd_compr_stop_error”h]”hŒsnd_compr_stop_error”…”�”}”(hjã7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjß7ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¾7h²hh³jÐ7h´MuubjT)�”}”(hŒ8(struct snd_compr_stream *stream, snd_pcm_state_t state)”h]”(jZ)�”}”(hŒstruct snd_compr_stream *stream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÿ7h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjû7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj 8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjû7ubh)�”}”(hhh]”j9)�”}”(hŒsnd_compr_stream”h]”hŒsnd_compr_stream”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j8Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jå7sbŒc.snd_compr_stop_error”†”asbuh1hhjû7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjû7ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjK8h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjû7ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjX8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjû7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷7ubjZ)�”}”(hŒsnd_pcm_state_t state”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_state_t”h]”hŒsnd_pcm_state_t”…”�”}”(hjt8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjq8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jv8Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j98Œc.snd_compr_stop_error”†”asbuh1hhjm8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjm8ubj9)�”}”(hŒstate”h]”hŒstate”…”�”}”(hj 8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷7ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¾7h²hh³jÐ7h´Muubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjº7h²hh³jÐ7h´Muubah}”(h]”jµ7ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÐ7h´Muhj·7h²hubjv)�”}”(hhh]”j{)�”}”(hŒ Report a fatal error on a stream”h]”hŒ Report a fatal error on a stream”…”�”}”(hjÊ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´MuhjÇ8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj·7h²hh³jÐ7h´Muubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jâ8jšjâ8j›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hX)**Parameters** ``struct snd_compr_stream *stream`` pointer to stream ``snd_pcm_state_t state`` state to transition the stream to **Description** Stop the stream and set its state. Should be called with compressed device lock held. **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjì8h]”hŒ Parameters”…”�”}”(hjî8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjê8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Myhjæ8ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_compr_stream *stream`` pointer to stream ”h]”(jÊ)�”}”(hŒ#``struct snd_compr_stream *stream``”h]”jÐ)�”}”(hj 9h]”hŒstruct snd_compr_stream *stream”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj 9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mvhj9ubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to stream”h]”hŒpointer to stream”…”�”}”(hj$9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j 9h´Mvhj!9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j 9h´Mvhj9ubjÄ)�”}”(hŒ<``snd_pcm_state_t state`` state to transition the stream to ”h]”(jÊ)�”}”(hŒ``snd_pcm_state_t state``”h]”jÐ)�”}”(hjD9h]”hŒsnd_pcm_state_t state”…”�”}”(hjF9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjB9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mwhj>9ubjæ)�”}”(hhh]”j{)�”}”(hŒ!state to transition the stream to”h]”hŒ!state to transition the stream to”…”�”}”(hj]9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jY9h´MwhjZ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jY9h´Mwhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjæ8ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj9h]”hŒ Description”…”�”}”(hj�9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj}9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Myhjæ8ubj{)�”}”(hŒ"Stop the stream and set its state.”h]”hŒ"Stop the stream and set its state.”…”�”}”(hj•9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mxhjæ8ubj{)�”}”(hŒ2Should be called with compressed device lock held.”h]”hŒ2Should be called with compressed device lock held.”…”�”}”(hj¤9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mzhjæ8ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjµ9h]”hŒReturn”…”�”}”(hj·9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj³9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M|hjæ8ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjË9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M}hjæ8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_compr_task_finished (C function)”Œc.snd_compr_task_finished”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒcvoid snd_compr_task_finished (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task)”h]”j )�”}”(hŒbvoid snd_compr_task_finished(struct snd_compr_stream *stream, struct snd_compr_task_runtime *task)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjú9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjö9h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj :h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjö9h²hh³j:h´M ubj3)�”}”(hŒsnd_compr_task_finished”h]”j9)�”}”(hŒsnd_compr_task_finished”h]”hŒsnd_compr_task_finished”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjö9h²hh³j:h´M ubjT)�”}”(hŒF(struct snd_compr_stream *stream, struct snd_compr_task_runtime *task)”h]”(jZ)�”}”(hŒstruct snd_compr_stream *stream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj7:h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj3:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3:ubh)�”}”(hhh]”j9)�”}”(hŒsnd_compr_stream”h]”hŒsnd_compr_stream”…”�”}”(hjU:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjR:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jW:Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j:sbŒc.snd_compr_task_finished”†”asbuh1hhj3:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hju:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3:ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjƒ:h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj3:ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj�:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj/:ubjZ)�”}”(hŒ#struct snd_compr_task_runtime *task”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj©:h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¥:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥:ubh)�”}”(hhh]”j9)�”}”(hŒsnd_compr_task_runtime”h]”hŒsnd_compr_task_runtime”…”�”}”(hjÇ:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄ:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÉ:Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jq:Œc.snd_compr_task_finished”†”asbuh1hhj¥:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥:ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjó:h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¥:ubj9)�”}”(hŒtask”h]”hŒtask”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¥:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj/:ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjö9h²hh³j:h´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjò9h²hh³j:h´M ubah}”(h]”jí9ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j:h´M hjï9h²hubjv)�”}”(hhh]”j{)�”}”(hŒ!Notify that the task was finished”h]”hŒ!Notify that the task was finished”…”�”}”(hj*;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M hj';h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjï9h²hh³j:h´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jB;jšjB;j›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hŒË**Parameters** ``struct snd_compr_stream *stream`` pointer to stream ``struct snd_compr_task_runtime *task`` runtime task structure **Description** Set the finished task state and notify waiters.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjL;h]”hŒ Parameters”…”�”}”(hjN;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M hjF;ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_compr_stream *stream`` pointer to stream ”h]”(jÊ)�”}”(hŒ#``struct snd_compr_stream *stream``”h]”jÐ)�”}”(hjk;h]”hŒstruct snd_compr_stream *stream”…”�”}”(hjm;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhji;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M hje;ubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to stream”h]”hŒpointer to stream”…”�”}”(hj„;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€;h´M hj�;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€;h´M hjb;ubjÄ)�”}”(hŒ?``struct snd_compr_task_runtime *task`` runtime task structure ”h]”(jÊ)�”}”(hŒ'``struct snd_compr_task_runtime *task``”h]”jÐ)�”}”(hj¤;h]”hŒ#struct snd_compr_task_runtime *task”…”�”}”(hj¦;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M hjž;ubjæ)�”}”(hhh]”j{)�”}”(hŒruntime task structure”h]”hŒruntime task structure”…”�”}”(hj½;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹;h´M hjº;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjž;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹;h´M hjb;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjF;ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjß;h]”hŒ Description”…”�”}”(hjá;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÝ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M hjF;ubj{)�”}”(hŒ/Set the finished task state and notify waiters.”h]”hŒ/Set the finished task state and notify waiters.”…”�”}”(hjõ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´M hjF;ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compress_new (C function)”Œc.snd_compress_new”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒkint snd_compress_new (struct snd_card *card, int device, int dirn, const char *id, struct snd_compr *compr)”h]”j )�”}”(hŒjint snd_compress_new(struct snd_card *card, int device, int dirn, const char *id, struct snd_compr *compr)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj$<h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj <h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mìubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj <h²hh³j2<h´Mìubj3)�”}”(hŒsnd_compress_new”h]”j9)�”}”(hŒsnd_compress_new”h]”hŒsnd_compress_new”…”�”}”(hjE<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjA<ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj <h²hh³j2<h´MìubjT)�”}”(hŒV(struct snd_card *card, int device, int dirn, const char *id, struct snd_compr *compr)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hja<h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj]<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjn<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj]<ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj|<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�<Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jG<sbŒc.snd_compress_new”†”asbuh1hhj]<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj]<ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj­<h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj]<ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjº<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjY<ubjZ)�”}”(hŒ int device”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÓ<h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÏ<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÏ<ubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjï<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÏ<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjY<ubjZ)�”}”(hŒint dirn”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=ubj9)�”}”(hŒdirn”h]”hŒdirn”…”�”}”(hj$=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjY<ubjZ)�”}”(hŒconst char *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj==h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj9=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9=ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjX=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj9=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9=ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjt=h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj9=ubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj�=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjY<ubjZ)�”}”(hŒstruct snd_compr *compr”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjš=h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj–=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–=ubh)�”}”(hhh]”j9)�”}”(hŒ snd_compr”h]”hŒ snd_compr”…”�”}”(hj¸=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµ=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jº=Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j›<Œc.snd_compress_new”†”asbuh1hhj–=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–=ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjä=h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj–=ubj9)�”}”(hŒcompr”h]”hŒcompr”…”�”}”(hjñ=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjY<ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj <h²hh³j2<h´Mìubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj<h²hh³j2<h´Mìubah}”(h]”j<ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j2<h´Mìhj<h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new compress device”h]”hŒcreate new compress device”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mìhj>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj<h²hh³j2<h´Mìubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j3>jšj3>j›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hX<**Parameters** ``struct snd_card *card`` sound card pointer ``int device`` device number ``int dirn`` device direction, should be of type enum snd_compr_direction ``const char *id`` ID string ``struct snd_compr *compr`` compress device pointer **Return** zero if successful, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj=>h]”hŒ Parameters”…”�”}”(hj?>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj;>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mðhj7>ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ-``struct snd_card *card`` sound card pointer ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj\>h]”hŒstruct snd_card *card”…”�”}”(hj^>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjZ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´MíhjV>ubjæ)�”}”(hhh]”j{)�”}”(hŒsound card pointer”h]”hŒsound card pointer”…”�”}”(hju>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jq>h´Míhjr>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjV>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jq>h´MíhjS>ubjÄ)�”}”(hŒ``int device`` device number ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hj•>h]”hŒ int device”…”�”}”(hj—>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj“>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mîhj�>ubjæ)�”}”(hhh]”j{)�”}”(hŒ device number”h]”hŒ device number”…”�”}”(hj®>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jª>h´Mîhj«>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jª>h´MîhjS>ubjÄ)�”}”(hŒJ``int dirn`` device direction, should be of type enum snd_compr_direction ”h]”(jÊ)�”}”(hŒ ``int dirn``”h]”jÐ)�”}”(hjÎ>h]”hŒint dirn”…”�”}”(hjÐ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÌ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´MïhjÈ>ubjæ)�”}”(hhh]”j{)�”}”(hŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jã>h´Mïhjä>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÈ>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jã>h´MïhjS>ubjÄ)�”}”(hŒ``const char *id`` ID string ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hj?h]”hŒconst char *id”…”�”}”(hj ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mðhj?ubjæ)�”}”(hhh]”j{)�”}”(hŒ ID string”h]”hŒ ID string”…”�”}”(hj ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j?h´Mðhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j?h´MðhjS>ubjÄ)�”}”(hŒ4``struct snd_compr *compr`` compress device pointer ”h]”(jÊ)�”}”(hŒ``struct snd_compr *compr``”h]”jÐ)�”}”(hj@?h]”hŒstruct snd_compr *compr”…”�”}”(hjB?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Mñhj:?ubjæ)�”}”(hhh]”j{)�”}”(hŒcompress device pointer”h]”hŒcompress device pointer”…”�”}”(hjY?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU?h´MñhjV?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU?h´MñhjS>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj7>ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj{?h]”hŒReturn”…”�”}”(hj}?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjy?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Móhj7>ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hj‘?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´Móhj7>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_compressed_buffer (C struct)”Œc.snd_compressed_buffer”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compressed_buffer”h]”j )�”}”(hŒstruct snd_compressed_buffer”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÀ?h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¼?h²hh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼?h²hh³jÍ?h´Kubj3)�”}”(hŒsnd_compressed_buffer”h]”j9)�”}”(hjº?h]”hŒsnd_compressed_buffer”…”�”}”(hjà?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÜ?ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¼?h²hh³jÍ?h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¸?h²hh³jÍ?h´Kubah}”(h]”j³?ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÍ?h´Khjµ?h²hubjv)�”}”(hhh]”j{)�”}”(hŒcompressed buffer”h]”hŒcompressed buffer”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khjÿ?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjµ?h²hh³jÍ?h´Kubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j@jšj@j›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hŒÖ**Definition**:: struct snd_compressed_buffer { __u32 fragment_size; __u32 fragments; }; **Members** ``fragment_size`` size of buffer fragment in bytes ``fragments`` number of such fragments”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj&@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj"@ubhŒ:”…”�”}”(hj"@h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khj@ubjyƒ)�”}”(hŒOstruct snd_compressed_buffer { __u32 fragment_size; __u32 fragments; };”h]”hŒOstruct snd_compressed_buffer { __u32 fragment_size; __u32 fragments; };”…”�”}”hj?@sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khj@ubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjP@h]”hŒMembers”…”�”}”(hjR@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjN@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khj@ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``fragment_size`` size of buffer fragment in bytes ”h]”(jÊ)�”}”(hŒ``fragment_size``”h]”jÐ)�”}”(hjo@h]”hŒ fragment_size”…”�”}”(hjq@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjm@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khji@ubjæ)�”}”(hhh]”j{)�”}”(hŒ size of buffer fragment in bytes”h]”hŒ size of buffer fragment in bytes”…”�”}”(hjˆ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j„@h´Khj…@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhji@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„@h´Khjf@ubjÄ)�”}”(hŒ&``fragments`` number of such fragments”h]”(jÊ)�”}”(hŒ ``fragments``”h]”jÐ)�”}”(hj¨@h]”hŒ fragments”…”�”}”(hjª@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¦@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khj¢@ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of such fragments”h]”hŒnumber of such fragments”…”�”}”(hjÁ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khj¾@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¢@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j½@h´Khjf@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_params (C struct)”Œc.snd_compr_params”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_params”h]”j )�”}”(hŒstruct snd_compr_params”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjþ@h²hh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþ@h²hh³jAh´Kubj3)�”}”(hŒsnd_compr_params”h]”j9)�”}”(hjü@h]”hŒsnd_compr_params”…”�”}”(hj"Ah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjAubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjþ@h²hh³jAh´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjú@h²hh³jAh´Kubah}”(h]”jõ@ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jAh´Khj÷@h²hubjv)�”}”(hhh]”j{)�”}”(hŒcompressed stream params”h]”hŒcompressed stream params”…”�”}”(hjDAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KhjAAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj÷@h²hh³jAh´Kubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j\Ajšj\Aj›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hX**Definition**:: struct snd_compr_params { struct snd_compressed_buffer buffer; struct snd_codec codec; __u8 no_wake_mode; }; **Members** ``buffer`` buffer description ``codec`` codec parameters ``no_wake_mode`` dont wake on fragment elapsed”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjhAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjdAubhŒ:”…”�”}”(hjdAh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K hj`Aubjyƒ)�”}”(hŒxstruct snd_compr_params { struct snd_compressed_buffer buffer; struct snd_codec codec; __u8 no_wake_mode; };”h]”hŒxstruct snd_compr_params { struct snd_compressed_buffer buffer; struct snd_codec codec; __u8 no_wake_mode; };”…”�”}”hj�Asbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K"hj`Aubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj’Ah]”hŒMembers”…”�”}”(hj”Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K(hj`Aubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``buffer`` buffer description ”h]”(jÊ)�”}”(hŒ ``buffer``”h]”jÐ)�”}”(hj±Ah]”hŒbuffer”…”�”}”(hj³Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¯Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´Khj«Aubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer description”h]”hŒbuffer description”…”�”}”(hjÊAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÆAh´KhjÇAubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj«Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÆAh´Khj¨AubjÄ)�”}”(hŒ``codec`` codec parameters ”h]”(jÊ)�”}”(hŒ ``codec``”h]”jÐ)�”}”(hjêAh]”hŒcodec”…”�”}”(hjìAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjèAubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KhjäAubjæ)�”}”(hhh]”j{)�”}”(hŒcodec parameters”h]”hŒcodec parameters”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÿAh´KhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjäAubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÿAh´Khj¨AubjÄ)�”}”(hŒ.``no_wake_mode`` dont wake on fragment elapsed”h]”(jÊ)�”}”(hŒ``no_wake_mode``”h]”jÐ)�”}”(hj#Bh]”hŒ no_wake_mode”…”�”}”(hj%Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj!Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KhjBubjæ)�”}”(hhh]”j{)�”}”(hŒdont wake on fragment elapsed”h]”hŒdont wake on fragment elapsed”…”�”}”(hjhjNEubjæ)�”}”(hhh]”j{)�”}”(hŒ:Total number of bytes copied from/to ring buffer to/by DSP”h]”hŒ:Total number of bytes copied from/to ring buffer to/by DSP”…”�”}”(hjmEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jiEh´K>hjjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjNEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jiEh´K>hjEubjÄ)�”}”(hŒÁ``pcm_frames`` Frames decoded or encoded by DSP. This field will evolve by large steps and should only be used to monitor encoding/decoding progress. It shall not be used for timing estimates. ”h]”(jÊ)�”}”(hŒ``pcm_frames``”h]”jÐ)�”}”(hj�Eh]”hŒ pcm_frames”…”�”}”(hj�Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‹Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KAhj‡Eubjæ)�”}”(hhh]”j{)�”}”(hŒ±Frames decoded or encoded by DSP. This field will evolve by large steps and should only be used to monitor encoding/decoding progress. It shall not be used for timing estimates.”h]”hŒ±Frames decoded or encoded by DSP. This field will evolve by large steps and should only be used to monitor encoding/decoding progress. It shall not be used for timing estimates.”…”�”}”(hj¦Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K?hj£Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‡Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¢Eh´KAhjEubjÄ)�”}”(hŒ–``pcm_io_frames`` Frames rendered or received by DSP into a mixer or an audio output/input. This field should be used for A/V sync or time estimates. ”h]”(jÊ)�”}”(hŒ``pcm_io_frames``”h]”jÐ)�”}”(hjÇEh]”hŒ pcm_io_frames”…”�”}”(hjÉEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÅEubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KChjÁEubjæ)�”}”(hhh]”j{)�”}”(hŒƒFrames rendered or received by DSP into a mixer or an audio output/input. This field should be used for A/V sync or time estimates.”h]”hŒƒFrames rendered or received by DSP into a mixer or an audio output/input. This field should be used for A/V sync or time estimates.”…”�”}”(hjàEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KBhjÝEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜEh´KChjEubjÄ)�”}”(hŒ(``sampling_rate`` sampling rate of audio”h]”(jÊ)�”}”(hŒ``sampling_rate``”h]”jÐ)�”}”(hjFh]”hŒ sampling_rate”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÿEubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KChjûEubjæ)�”}”(hhh]”j{)�”}”(hŒsampling rate of audio”h]”hŒsampling rate of audio”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KDhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjûEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jFh´KChjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÊDubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_avail (C struct)”Œc.snd_compr_avail”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_avail”h]”j )�”}”(hŒstruct snd_compr_avail”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj[Fh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjWFh²hh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KJubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiFh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWFh²hh³jhFh´KJubj3)�”}”(hŒsnd_compr_avail”h]”j9)�”}”(hjUFh]”hŒsnd_compr_avail”…”�”}”(hj{Fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwFubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjWFh²hh³jhFh´KJubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjSFh²hh³jhFh´KJubah}”(h]”jNFah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jhFh´KJhjPFh²hubjv)�”}”(hhh]”j{)�”}”(hŒavail descriptor”h]”hŒavail descriptor”…”�”}”(hj�Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KNhjšFh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjPFh²hh³jhFh´KJubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jµFjšjµFj›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hŒå**Definition**:: struct snd_compr_avail { __u64 avail; struct snd_compr_tstamp tstamp; }; **Members** ``avail`` Number of bytes available in ring buffer for writing/reading ``tstamp`` timestamp information”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÁFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj½FubhŒ:”…”�”}”(hj½Fh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KRhj¹Fubjyƒ)�”}”(hŒPstruct snd_compr_avail { __u64 avail; struct snd_compr_tstamp tstamp; };”h]”hŒPstruct snd_compr_avail { __u64 avail; struct snd_compr_tstamp tstamp; };”…”�”}”hjÚFsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KThj¹Fubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjëFh]”hŒMembers”…”�”}”(hjíFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjéFubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KYhj¹Fubj¿)�”}”(hhh]”(jÄ)�”}”(hŒG``avail`` Number of bytes available in ring buffer for writing/reading ”h]”(jÊ)�”}”(hŒ ``avail``”h]”jÐ)�”}”(hj Gh]”hŒavail”…”�”}”(hj Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KPhjGubjæ)�”}”(hhh]”j{)�”}”(hŒ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj:[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MLhj6[ubjæ)�”}”(hhh]”j{)�”}”(hŒeUsually should be '1' but can be split into major (4 upper bits) and minor (4 lower bits) sub-fields.”h]”hŒiUsually should be ‘1’ but can be split into major (4 upper bits) and minor (4 lower bits) sub-fields.”…”�”}”(hjU[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MKhjR[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj6[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jQ[h´MLhj3[ubjÄ)�”}”(hŒ,``num_channels`` Number of output channels. ”h]”(jÊ)�”}”(hŒ``num_channels``”h]”jÐ)�”}”(hjv[h]”hŒ num_channels”…”�”}”(hjx[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjt[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MMhjp[ubjæ)�”}”(hhh]”j{)�”}”(hŒNumber of output channels.”h]”hŒNumber of output channels.”…”�”}”(hj�[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹[h´MMhjŒ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjp[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹[h´MMhj3[ubjÄ)�”}”(hŒ5``pre_skip`` Number of samples to discard at 48 kHz. ”h]”(jÊ)�”}”(hŒ ``pre_skip``”h]”jÐ)�”}”(hj¯[h]”hŒpre_skip”…”�”}”(hj±[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj­[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MNhj©[ubjæ)�”}”(hhh]”j{)�”}”(hŒ'Number of samples to discard at 48 kHz.”h]”hŒ'Number of samples to discard at 48 kHz.”…”�”}”(hjÈ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄ[h´MNhjÅ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄ[h´MNhj3[ubjÄ)�”}”(hŒ/``sample_rate`` Sample rate of original input. ”h]”(jÊ)�”}”(hŒ``sample_rate``”h]”jÐ)�”}”(hjè[h]”hŒ sample_rate”…”�”}”(hjê[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjæ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MOhjâ[ubjæ)�”}”(hhh]”j{)�”}”(hŒSample rate of original input.”h]”hŒSample rate of original input.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jý[h´MOhjþ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjâ[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jý[h´MOhj3[ubjÄ)�”}”(hŒ>``output_gain`` Gain to apply when decoding (in Q7.8 format). ”h]”(jÊ)�”}”(hŒ``output_gain``”h]”jÐ)�”}”(hj!\h]”hŒ output_gain”…”�”}”(hj#\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MPhj\ubjæ)�”}”(hhh]”j{)�”}”(hŒ-Gain to apply when decoding (in Q7.8 format).”h]”hŒ-Gain to apply when decoding (in Q7.8 format).”…”�”}”(hj:\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j6\h´MPhj7\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j6\h´MPhj3[ubjÄ)�”}”(hŒ‹``mapping_family`` Order and meaning of output channels. Only values 0 and 1 are expected; values 2..255 are not recommended for playback. ”h]”(jÊ)�”}”(hŒ``mapping_family``”h]”jÐ)�”}”(hjZ\h]”hŒmapping_family”…”�”}”(hj\\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjX\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MRhjT\ubjæ)�”}”(hhh]”j{)�”}”(hŒwOrder and meaning of output channels. Only values 0 and 1 are expected; values 2..255 are not recommended for playback.”h]”hŒwOrder and meaning of output channels. Only values 0 and 1 are expected; values 2..255 are not recommended for playback.”…”�”}”(hjs\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MQhjp\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjT\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jo\h´MRhj3[ubjÄ)�”}”(hŒl``chan_map`` Optional channel mapping table. Describes mapping of opus streams to decoded channels. Fields: ”h]”(jÊ)�”}”(hŒ ``chan_map``”h]”jÐ)�”}”(hj”\h]”hŒchan_map”…”�”}”(hj–\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj’\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MUhjŽ\ubjæ)�”}”(hhh]”j{)�”}”(hŒ^Optional channel mapping table. Describes mapping of opus streams to decoded channels. Fields:”h]”hŒ^Optional channel mapping table. Describes mapping of opus streams to decoded channels. Fields:”…”�”}”(hj­\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MThjª\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŽ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j©\h´MUhj3[ubjÄ)�”}”(hŒH``chan_map.stream_count`` Number of streams encoded in each Ogg packet. ”h]”(jÊ)�”}”(hŒ``chan_map.stream_count``”h]”jÐ)�”}”(hjÎ\h]”hŒchan_map.stream_count”…”�”}”(hjÐ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÌ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MVhjÈ\ubjæ)�”}”(hhh]”j{)�”}”(hŒ-Number of streams encoded in each Ogg packet.”h]”hŒ-Number of streams encoded in each Ogg packet.”…”�”}”(hjç\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jã\h´MVhjä\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÈ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jã\h´MVhj3[ubjÄ)�”}”(hŒW``chan_map.coupled_count`` Number of streams whose decoders are used for two channels. ”h]”(jÊ)�”}”(hŒ``chan_map.coupled_count``”h]”jÐ)�”}”(hj]h]”hŒchan_map.coupled_count”…”�”}”(hj ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MXhj]ubjæ)�”}”(hhh]”j{)�”}”(hŒ;Number of streams whose decoders are used for two channels.”h]”hŒ;Number of streams whose decoders are used for two channels.”…”�”}”(hj ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MWhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]h´MXhj3[ubjÄ)�”}”(hŒŒ``chan_map.channel_map`` Which decoded channel to be used for each one. Supports only mapping families 0 and 1, max number of channels is 8.”h]”(jÊ)�”}”(hŒ``chan_map.channel_map``”h]”jÐ)�”}”(hjA]h]”hŒchan_map.channel_map”…”�”}”(hjC]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj?]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MZhj;]ubjæ)�”}”(hhh]”j{)�”}”(hŒsWhich decoded channel to be used for each one. Supports only mapping families 0 and 1, max number of channels is 8.”h]”hŒsWhich decoded channel to be used for each one. Supports only mapping families 0 and 1, max number of channels is 8.”…”�”}”(hjZ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MYhjW]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj;]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jV]h´MZhj3[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjëZubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³jUh´Nubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj„]h]”hŒ Description”…”�”}”(hj†]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‚]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´M^hj˜7h²hubj{)�”}”(hŒ4These options were extracted from RFC7845 Section 5.”h]”hŒ4These options were extracted from RFC7845 Section 5.”…”�”}”(hjš]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´M[hj˜7h²hubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_compr_task_runtime (C struct)”Œc.snd_compr_task_runtime”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_task_runtime”h]”j )�”}”(hŒstruct snd_compr_task_runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÂ]h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¾]h²hh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ]h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾]h²hh³jÏ]h´Kubj3)�”}”(hŒsnd_compr_task_runtime”h]”j9)�”}”(hj¼]h]”hŒsnd_compr_task_runtime”…”�”}”(hjâ]h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞ]ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¾]h²hh³jÏ]h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjº]h²hh³jÏ]h´Kubah}”(h]”jµ]ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÏ]h´Khj·]h²hubjv)�”}”(hhh]”j{)�”}”(hŒtask runtime description”h]”hŒtask runtime description”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khj^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj·]h²hh³jÏ]h´Kubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j^jšj^j›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hX†**Definition**:: struct snd_compr_task_runtime { struct list_head list; struct dma_buf *input; struct dma_buf *output; u64 seqno; u64 input_size; u64 output_size; u32 flags; u8 state; void *private_value; }; **Members** ``list`` list of all managed tasks ``input`` input DMA buffer ``output`` output DMA buffer ``seqno`` sequence number ``input_size`` really used data in the input buffer ``output_size`` really used data in the output buffer ``flags`` see SND_COMPRESS_TFLG_* ``state`` actual task state ``private_value`` used by the lowlevel driver (opaque)”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj(^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj$^ubhŒ:”…”�”}”(hj$^h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khj ^ubjyƒ)�”}”(hŒâstruct snd_compr_task_runtime { struct list_head list; struct dma_buf *input; struct dma_buf *output; u64 seqno; u64 input_size; u64 output_size; u32 flags; u8 state; void *private_value; };”h]”hŒâstruct snd_compr_task_runtime { struct list_head list; struct dma_buf *input; struct dma_buf *output; u64 seqno; u64 input_size; u64 output_size; u32 flags; u8 state; void *private_value; };”…”�”}”hjA^sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khj ^ubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjR^h]”hŒMembers”…”�”}”(hjT^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjP^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K)hj ^ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ#``list`` list of all managed tasks ”h]”(jÊ)�”}”(hŒ``list``”h]”jÐ)�”}”(hjq^h]”hŒlist”…”�”}”(hjs^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjo^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khjk^ubjæ)�”}”(hhh]”j{)�”}”(hŒlist of all managed tasks”h]”hŒlist of all managed tasks”…”�”}”(hjŠ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†^h´Khj‡^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjk^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†^h´Khjh^ubjÄ)�”}”(hŒ``input`` input DMA buffer ”h]”(jÊ)�”}”(hŒ ``input``”h]”jÐ)�”}”(hjª^h]”hŒinput”…”�”}”(hj¬^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khj¤^ubjæ)�”}”(hhh]”j{)�”}”(hŒinput DMA buffer”h]”hŒinput DMA buffer”…”�”}”(hjÃ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¿^h´KhjÀ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿^h´Khjh^ubjÄ)�”}”(hŒ``output`` output DMA buffer ”h]”(jÊ)�”}”(hŒ ``output``”h]”jÐ)�”}”(hjã^h]”hŒoutput”…”�”}”(hjå^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjá^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KhjÝ^ubjæ)�”}”(hhh]”j{)�”}”(hŒoutput DMA buffer”h]”hŒoutput DMA buffer”…”�”}”(hjü^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jø^h´Khjù^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÝ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jø^h´Khjh^ubjÄ)�”}”(hŒ``seqno`` sequence number ”h]”(jÊ)�”}”(hŒ ``seqno``”h]”jÐ)�”}”(hj_h]”hŒseqno”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khj_ubjæ)�”}”(hhh]”j{)�”}”(hŒsequence number”h]”hŒsequence number”…”�”}”(hj5_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1_h´Khj2_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1_h´Khjh^ubjÄ)�”}”(hŒ4``input_size`` really used data in the input buffer ”h]”(jÊ)�”}”(hŒ``input_size``”h]”jÐ)�”}”(hjU_h]”hŒ input_size”…”�”}”(hjW_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjS_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KhjO_ubjæ)�”}”(hhh]”j{)�”}”(hŒ$really used data in the input buffer”h]”hŒ$really used data in the input buffer”…”�”}”(hjn_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jj_h´Khjk_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjO_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jj_h´Khjh^ubjÄ)�”}”(hŒ6``output_size`` really used data in the output buffer ”h]”(jÊ)�”}”(hŒ``output_size``”h]”jÐ)�”}”(hjŽ_h]”hŒ output_size”…”�”}”(hj�_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŒ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khjˆ_ubjæ)�”}”(hhh]”j{)�”}”(hŒ%really used data in the output buffer”h]”hŒ%really used data in the output buffer”…”�”}”(hj§_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j£_h´Khj¤_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆ_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j£_h´Khjh^ubjÄ)�”}”(hŒ"``flags`` see SND_COMPRESS_TFLG_* ”h]”(jÊ)�”}”(hŒ ``flags``”h]”jÐ)�”}”(hjÇ_h]”hŒflags”…”�”}”(hjÉ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÅ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KhjÁ_ubjæ)�”}”(hhh]”j{)�”}”(hŒsee SND_COMPRESS_TFLG_*”h]”hŒsee SND_COMPRESS_TFLG_*”…”�”}”(hjà_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜ_h´KhjÝ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁ_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜ_h´Khjh^ubjÄ)�”}”(hŒ``state`` actual task state ”h]”(jÊ)�”}”(hŒ ``state``”h]”jÐ)�”}”(hj`h]”hŒstate”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjþ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K hjú_ubjæ)�”}”(hhh]”j{)�”}”(hŒactual task state”h]”hŒactual task state”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j`h´K hj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjú_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j`h´K hjh^ubjÄ)�”}”(hŒ6``private_value`` used by the lowlevel driver (opaque)”h]”(jÊ)�”}”(hŒ``private_value``”h]”jÐ)�”}”(hj9`h]”hŒ private_value”…”�”}”(hj;`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K hj3`ubjæ)�”}”(hhh]”j{)�”}”(hŒ$used by the lowlevel driver (opaque)”h]”hŒ$used by the lowlevel driver (opaque)”…”�”}”(hjR`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K!hjO`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj3`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jN`h´K hjh^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj ^ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_runtime (C struct)”Œc.snd_compr_runtime”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_runtime”h]”j )�”}”(hŒstruct snd_compr_runtime”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj“`h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�`h²hh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�`h²hh³j `h´K'ubj3)�”}”(hŒsnd_compr_runtime”h]”j9)�”}”(hj�`h]”hŒsnd_compr_runtime”…”�”}”(hj³`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¯`ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�`h²hh³j `h´K'ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‹`h²hh³j `h´K'ubah}”(h]”j†`ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j `h´K'hjˆ`h²hubjv)�”}”(hhh]”j{)�”}”(hŒruntime stream description”h]”hŒruntime stream description”…”�”}”(hjÕ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K/hjÒ`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjˆ`h²hh³j `h´K'ubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jí`jšjí`j›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hXî**Definition**:: struct snd_compr_runtime { snd_pcm_state_t state; struct snd_compr_ops *ops; void *buffer; u64 buffer_size; u32 fragment_size; u32 fragments; u64 total_bytes_available; u64 total_bytes_transferred; wait_queue_head_t sleep; void *private_data; unsigned char *dma_area; dma_addr_t dma_addr; size_t dma_bytes; struct snd_dma_buffer *dma_buffer_p; #if IS_ENABLED(CONFIG_SND_COMPRESS_ACCEL); u32 active_tasks; u32 total_tasks; u64 task_seqno; struct list_head tasks; #endif; }; **Members** ``state`` stream state ``ops`` pointer to DSP callbacks ``buffer`` pointer to kernel buffer, valid only when not in mmap mode or DSP doesn't implement copy ``buffer_size`` size of the above buffer ``fragment_size`` size of buffer fragment in bytes ``fragments`` number of such fragments ``total_bytes_available`` cumulative number of bytes made available in the ring buffer ``total_bytes_transferred`` cumulative bytes transferred by offload DSP ``sleep`` poll sleep ``private_data`` driver private data pointer ``dma_area`` virtual buffer address ``dma_addr`` physical buffer address (not accessible from main CPU) ``dma_bytes`` size of DMA area ``dma_buffer_p`` runtime dma buffer pointer ``active_tasks`` count of active tasks ``total_tasks`` count of all tasks ``task_seqno`` last task sequence number (!= 0) ``tasks`` list of all tasks”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjù`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjõ`ubhŒ:”…”�”}”(hjõ`h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K3hjñ`ubjyƒ)�”}”(hX struct snd_compr_runtime { snd_pcm_state_t state; struct snd_compr_ops *ops; void *buffer; u64 buffer_size; u32 fragment_size; u32 fragments; u64 total_bytes_available; u64 total_bytes_transferred; wait_queue_head_t sleep; void *private_data; unsigned char *dma_area; dma_addr_t dma_addr; size_t dma_bytes; struct snd_dma_buffer *dma_buffer_p; #if IS_ENABLED(CONFIG_SND_COMPRESS_ACCEL); u32 active_tasks; u32 total_tasks; u64 task_seqno; struct list_head tasks; #endif; };”h]”hX struct snd_compr_runtime { snd_pcm_state_t state; struct snd_compr_ops *ops; void *buffer; u64 buffer_size; u32 fragment_size; u32 fragments; u64 total_bytes_available; u64 total_bytes_transferred; wait_queue_head_t sleep; void *private_data; unsigned char *dma_area; dma_addr_t dma_addr; size_t dma_bytes; struct snd_dma_buffer *dma_buffer_p; #if IS_ENABLED(CONFIG_SND_COMPRESS_ACCEL); u32 active_tasks; u32 total_tasks; u64 task_seqno; struct list_head tasks; #endif; };”…”�”}”hjasbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K5hjñ`ubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj#ah]”hŒMembers”…”�”}”(hj%ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj!aubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KLhjñ`ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``state`` stream state ”h]”(jÊ)�”}”(hŒ ``state``”h]”jÐ)�”}”(hjBah]”hŒstate”…”�”}”(hjDah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj@aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K1hjhj±cubjæ)�”}”(hhh]”j{)�”}”(hŒ6physical buffer address (not accessible from main CPU)”h]”hŒ6physical buffer address (not accessible from main CPU)”…”�”}”(hjÐch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÌch´K>hjÍcubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj±cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÌch´K>hj9aubjÄ)�”}”(hŒ``dma_bytes`` size of DMA area ”h]”(jÊ)�”}”(hŒ ``dma_bytes``”h]”jÐ)�”}”(hjðch]”hŒ dma_bytes”…”�”}”(hjòch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjîcubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K?hjêcubjæ)�”}”(hhh]”j{)�”}”(hŒsize of DMA area”h]”hŒsize of DMA area”…”�”}”(hj dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jdh´K?hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjêcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jdh´K?hj9aubjÄ)�”}”(hŒ,``dma_buffer_p`` runtime dma buffer pointer ”h]”(jÊ)�”}”(hŒ``dma_buffer_p``”h]”jÐ)�”}”(hj)dh]”hŒ dma_buffer_p”…”�”}”(hj+dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj'dubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K@hj#dubjæ)�”}”(hhh]”j{)�”}”(hŒruntime dma buffer pointer”h]”hŒruntime dma buffer pointer”…”�”}”(hjBdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j>dh´K@hj?dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj#dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j>dh´K@hj9aubjÄ)�”}”(hŒ'``active_tasks`` count of active tasks ”h]”(jÊ)�”}”(hŒ``active_tasks``”h]”jÐ)�”}”(hjbdh]”hŒ active_tasks”…”�”}”(hjddh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj`dubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KAhj\dubjæ)�”}”(hhh]”j{)�”}”(hŒcount of active tasks”h]”hŒcount of active tasks”…”�”}”(hj{dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jwdh´KAhjxdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jwdh´KAhj9aubjÄ)�”}”(hŒ#``total_tasks`` count of all tasks ”h]”(jÊ)�”}”(hŒ``total_tasks``”h]”jÐ)�”}”(hj›dh]”hŒ total_tasks”…”�”}”(hj�dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj™dubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KBhj•dubjæ)�”}”(hhh]”j{)�”}”(hŒcount of all tasks”h]”hŒcount of all tasks”…”�”}”(hj´dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j°dh´KBhj±dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj•dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j°dh´KBhj9aubjÄ)�”}”(hŒ0``task_seqno`` last task sequence number (!= 0) ”h]”(jÊ)�”}”(hŒ``task_seqno``”h]”jÐ)�”}”(hjÔdh]”hŒ task_seqno”…”�”}”(hjÖdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÒdubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KChjÎdubjæ)�”}”(hhh]”j{)�”}”(hŒ last task sequence number (!= 0)”h]”hŒ last task sequence number (!= 0)”…”�”}”(hjídh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jédh´KChjêdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÎdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jédh´KChj9aubjÄ)�”}”(hŒ``tasks`` list of all tasks”h]”(jÊ)�”}”(hŒ ``tasks``”h]”jÐ)�”}”(hj eh]”hŒtasks”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj eubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KChjeubjæ)�”}”(hhh]”j{)�”}”(hŒlist of all tasks”h]”hŒlist of all tasks”…”�”}”(hj&eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KDhj#eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"eh´KChj9aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjñ`ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_stream (C struct)”Œc.snd_compr_stream”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_stream”h]”j )�”}”(hŒstruct snd_compr_stream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjgeh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjceh²hh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KJubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjueh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjceh²hh³jteh´KJubj3)�”}”(hŒsnd_compr_stream”h]”j9)�”}”(hjaeh]”hŒsnd_compr_stream”…”�”}”(hj‡eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒeubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjceh²hh³jteh´KJubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj_eh²hh³jteh´KJubah}”(h]”jZeah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jteh´KJhj\eh²hubjv)�”}”(hhh]”j{)�”}”(hŒcompressed stream”h]”hŒcompressed stream”…”�”}”(hj©eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K_hj¦eh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj\eh²hh³jteh´KJubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jÁejšjÁej›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hX***Definition**:: struct snd_compr_stream { const char *name; struct snd_compr_ops *ops; struct snd_compr_runtime *runtime; struct snd_compr *device; struct delayed_work error_work; enum snd_compr_direction direction; bool metadata_set; bool next_track; bool partial_drain; bool pause_in_draining; void *private_data; struct snd_dma_buffer dma_buffer; }; **Members** ``name`` device name ``ops`` pointer to DSP callbacks ``runtime`` pointer to runtime structure ``device`` device pointer ``error_work`` delayed work used when closing the stream due to an error ``direction`` stream direction, playback/recording ``metadata_set`` metadata set flag, true when set ``next_track`` has userspace signal next track transition, true when set ``partial_drain`` undergoing partial_drain for stream, true when set ``pause_in_draining`` paused during draining state, true when set ``private_data`` pointer to DSP private data ``dma_buffer`` allocated buffer if any”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÍeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÉeubhŒ:”…”�”}”(hjÉeh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KchjÅeubjyƒ)�”}”(hX€struct snd_compr_stream { const char *name; struct snd_compr_ops *ops; struct snd_compr_runtime *runtime; struct snd_compr *device; struct delayed_work error_work; enum snd_compr_direction direction; bool metadata_set; bool next_track; bool partial_drain; bool pause_in_draining; void *private_data; struct snd_dma_buffer dma_buffer; };”h]”hX€struct snd_compr_stream { const char *name; struct snd_compr_ops *ops; struct snd_compr_runtime *runtime; struct snd_compr *device; struct delayed_work error_work; enum snd_compr_direction direction; bool metadata_set; bool next_track; bool partial_drain; bool pause_in_draining; void *private_data; struct snd_dma_buffer dma_buffer; };”…”�”}”hjæesbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KehjÅeubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj÷eh]”hŒMembers”…”�”}”(hjùeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjõeubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KthjÅeubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``name`` device name ”h]”(jÊ)�”}”(hŒ``name``”h]”jÐ)�”}”(hjfh]”hŒname”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kahjfubjæ)�”}”(hhh]”j{)�”}”(hŒ device name”h]”hŒ device name”…”�”}”(hj/fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j+fh´Kahj,fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j+fh´Kahj fubjÄ)�”}”(hŒ!``ops`` pointer to DSP callbacks ”h]”(jÊ)�”}”(hŒ``ops``”h]”jÐ)�”}”(hjOfh]”hŒops”…”�”}”(hjQfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjMfubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KbhjIfubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to DSP callbacks”h]”hŒpointer to DSP callbacks”…”�”}”(hjhfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jdfh´Kbhjefubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjIfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jdfh´Kbhj fubjÄ)�”}”(hŒ)``runtime`` pointer to runtime structure ”h]”(jÊ)�”}”(hŒ ``runtime``”h]”jÐ)�”}”(hjˆfh]”hŒruntime”…”�”}”(hjŠfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj†fubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kchj‚fubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to runtime structure”h]”hŒpointer to runtime structure”…”�”}”(hj¡fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�fh´Kchjžfubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�fh´Kchj fubjÄ)�”}”(hŒ``device`` device pointer ”h]”(jÊ)�”}”(hŒ ``device``”h]”jÐ)�”}”(hjÁfh]”hŒdevice”…”�”}”(hjÃfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¿fubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kdhj»fubjæ)�”}”(hhh]”j{)�”}”(hŒdevice pointer”h]”hŒdevice pointer”…”�”}”(hjÚfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÖfh´Kdhj×fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj»fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÖfh´Kdhj fubjÄ)�”}”(hŒI``error_work`` delayed work used when closing the stream due to an error ”h]”(jÊ)�”}”(hŒ``error_work``”h]”jÐ)�”}”(hjúfh]”hŒ error_work”…”�”}”(hjüfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjøfubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kehjôfubjæ)�”}”(hhh]”j{)�”}”(hŒ9delayed work used when closing the stream due to an error”h]”hŒ9delayed work used when closing the stream due to an error”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jgh´Kehjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjôfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jgh´Kehj fubjÄ)�”}”(hŒ3``direction`` stream direction, playback/recording ”h]”(jÊ)�”}”(hŒ ``direction``”h]”jÐ)�”}”(hj3gh]”hŒ direction”…”�”}”(hj5gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1guba•?h}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kfhj-gubjæ)�”}”(hhh]”j{)�”}”(hŒ$stream direction, playback/recording”h]”hŒ$stream direction, playback/recording”…”�”}”(hjLgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jHgh´KfhjIgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jHgh´Kfhj fubjÄ)�”}”(hŒ2``metadata_set`` metadata set flag, true when set ”h]”(jÊ)�”}”(hŒ``metadata_set``”h]”jÐ)�”}”(hjlgh]”hŒ metadata_set”…”�”}”(hjngh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kghjfgubjæ)�”}”(hhh]”j{)�”}”(hŒ metadata set flag, true when set”h]”hŒ metadata set flag, true when set”…”�”}”(hj…gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�gh´Kghj‚gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjfgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�gh´Kghj fubjÄ)�”}”(hŒI``next_track`` has userspace signal next track transition, true when set ”h]”(jÊ)�”}”(hŒ``next_track``”h]”jÐ)�”}”(hj¥gh]”hŒ next_track”…”�”}”(hj§gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj£gubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KhhjŸgubjæ)�”}”(hhh]”j{)�”}”(hŒ9has userspace signal next track transition, true when set”h]”hŒ9has userspace signal next track transition, true when set”…”�”}”(hj¾gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jºgh´Khhj»gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŸgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jºgh´Khhj fubjÄ)�”}”(hŒE``partial_drain`` undergoing partial_drain for stream, true when set ”h]”(jÊ)�”}”(hŒ``partial_drain``”h]”jÐ)�”}”(hjÞgh]”hŒ partial_drain”…”�”}”(hjàgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÜgubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KihjØgubjæ)�”}”(hhh]”j{)�”}”(hŒ2undergoing partial_drain for stream, true when set”h]”hŒ2undergoing partial_drain for stream, true when set”…”�”}”(hj÷gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jógh´Kihjôgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjØgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jógh´Kihj fubjÄ)�”}”(hŒB``pause_in_draining`` paused during draining state, true when set ”h]”(jÊ)�”}”(hŒ``pause_in_draining``”h]”jÐ)�”}”(hjhh]”hŒpause_in_draining”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kjhjhubjæ)�”}”(hhh]”j{)�”}”(hŒ+paused during draining state, true when set”h]”hŒ+paused during draining state, true when set”…”�”}”(hj0hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j,hh´Kjhj-hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j,hh´Kjhj fubjÄ)�”}”(hŒ-``private_data`` pointer to DSP private data ”h]”(jÊ)�”}”(hŒ``private_data``”h]”jÐ)�”}”(hjPhh]”hŒ private_data”…”�”}”(hjRhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjNhubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KkhjJhubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to DSP private data”h]”hŒpointer to DSP private data”…”�”}”(hjihh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jehh´Kkhjfhubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjJhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jehh´Kkhj fubjÄ)�”}”(hŒ&``dma_buffer`` allocated buffer if any”h]”(jÊ)�”}”(hŒ``dma_buffer``”h]”jÐ)�”}”(hj‰hh]”hŒ dma_buffer”…”�”}”(hj‹hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‡hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kkhjƒhubjæ)�”}”(hhh]”j{)�”}”(hŒallocated buffer if any”h]”hŒallocated buffer if any”…”�”}”(hj¢hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KlhjŸhubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjƒhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jžhh´Kkhj fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÅeubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_ops (C struct)”Œc.snd_compr_ops”hNt”auh1híhj˜7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ snd_compr_ops”h]”j )�”}”(hŒstruct snd_compr_ops”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjãhh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjßhh²hh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Krubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjßhh²hh³jðhh´Krubj3)�”}”(hŒ snd_compr_ops”h]”j9)�”}”(hjÝhh]”hŒ snd_compr_ops”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿhubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjßhh²hh³jðhh´Krubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛhh²hh³jðhh´Krubah}”(h]”jÖhah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jðhh´KrhjØhh²hubjv)�”}”(hhh]”j{)�”}”(hŒcompressed path DSP operations”h]”hŒcompressed path DSP operations”…”�”}”(hj%ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K}hj"ih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjØhh²hh³jðhh´Krubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j=ijšj=ij›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hXV **Definition**:: struct snd_compr_ops { int (*open)(struct snd_compr_stream *stream); int (*free)(struct snd_compr_stream *stream); int (*set_params)(struct snd_compr_stream *stream, struct snd_compr_params *params); int (*get_params)(struct snd_compr_stream *stream, struct snd_codec *params); int (*set_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*get_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*trigger)(struct snd_compr_stream *stream, int cmd); int (*pointer)(struct snd_compr_stream *stream, struct snd_compr_tstamp64 *tstamp); int (*copy)(struct snd_compr_stream *stream, char __user *buf, size_t count); int (*mmap)(struct snd_compr_stream *stream, struct vm_area_struct *vma); int (*ack)(struct snd_compr_stream *stream, size_t bytes); int (*get_caps) (struct snd_compr_stream *stream, struct snd_compr_caps *caps); int (*get_codec_caps) (struct snd_compr_stream *stream, struct snd_compr_codec_caps *codec); #if IS_ENABLED(CONFIG_SND_COMPRESS_ACCEL); int (*task_create) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_start) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_stop) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_free) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); #endif; }; **Members** ``open`` Open the compressed stream This callback is mandatory and shall keep dsp ready to receive the stream parameter ``free`` Close the compressed stream, mandatory ``set_params`` Sets the compressed stream parameters, mandatory This can be called in during stream creation only to set codec params and the stream properties ``get_params`` retrieve the codec parameters, mandatory ``set_metadata`` Set the metadata values for a stream ``get_metadata`` retrieves the requested metadata values from stream ``trigger`` Trigger operations like start, pause, resume, drain, stop. This callback is mandatory ``pointer`` Retrieve current h/w pointer information. Mandatory ``copy`` Copy the compressed data to/from userspace, Optional Can't be implemented if DSP supports mmap ``mmap`` DSP mmap method to mmap DSP memory ``ack`` Ack for DSP when data is written to audio buffer, Optional Not valid if copy is implemented ``get_caps`` Retrieve DSP capabilities, mandatory ``get_codec_caps`` Retrieve capabilities for a specific codec, mandatory ``task_create`` Create a set of input/output buffers for accel operations ``task_start`` Start (queue) a task for accel operations ``task_stop`` Stop (dequeue) a task for accel operations ``task_free`` Free a set of input/output buffers for accel operations”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjIih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjEiubhŒ:”…”�”}”(hjEih²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K�hjAiubjyƒ)�”}”(hXºstruct snd_compr_ops { int (*open)(struct snd_compr_stream *stream); int (*free)(struct snd_compr_stream *stream); int (*set_params)(struct snd_compr_stream *stream, struct snd_compr_params *params); int (*get_params)(struct snd_compr_stream *stream, struct snd_codec *params); int (*set_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*get_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*trigger)(struct snd_compr_stream *stream, int cmd); int (*pointer)(struct snd_compr_stream *stream, struct snd_compr_tstamp64 *tstamp); int (*copy)(struct snd_compr_stream *stream, char __user *buf, size_t count); int (*mmap)(struct snd_compr_stream *stream, struct vm_area_struct *vma); int (*ack)(struct snd_compr_stream *stream, size_t bytes); int (*get_caps) (struct snd_compr_stream *stream, struct snd_compr_caps *caps); int (*get_codec_caps) (struct snd_compr_stream *stream, struct snd_compr_codec_caps *codec); #if IS_ENABLED(CONFIG_SND_COMPRESS_ACCEL); int (*task_create) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_start) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_stop) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_free) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); #endif; };”h]”hXºstruct snd_compr_ops { int (*open)(struct snd_compr_stream *stream); int (*free)(struct snd_compr_stream *stream); int (*set_params)(struct snd_compr_stream *stream, struct snd_compr_params *params); int (*get_params)(struct snd_compr_stream *stream, struct snd_codec *params); int (*set_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*get_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*trigger)(struct snd_compr_stream *stream, int cmd); int (*pointer)(struct snd_compr_stream *stream, struct snd_compr_tstamp64 *tstamp); int (*copy)(struct snd_compr_stream *stream, char __user *buf, size_t count); int (*mmap)(struct snd_compr_stream *stream, struct vm_area_struct *vma); int (*ack)(struct snd_compr_stream *stream, size_t bytes); int (*get_caps) (struct snd_compr_stream *stream, struct snd_compr_caps *caps); int (*get_codec_caps) (struct snd_compr_stream *stream, struct snd_compr_codec_caps *codec); #if IS_ENABLED(CONFIG_SND_COMPRESS_ACCEL); int (*task_create) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_start) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_stop) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); int (*task_free) (struct snd_compr_stream *stream, struct snd_compr_task_runtime *task); #endif; };”…”�”}”hjbisbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jxƒh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KƒhjAiubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjsih]”hŒMembers”…”�”}”(hjuih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjqiubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K™hjAiubj¿)�”}”(hhh]”(jÄ)�”}”(hŒx``open`` Open the compressed stream This callback is mandatory and shall keep dsp ready to receive the stream parameter ”h]”(jÊ)�”}”(hŒ``open``”h]”jÐ)�”}”(hj’ih]”hŒopen”…”�”}”(hj”ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�iubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K�hjŒiubjæ)�”}”(hhh]”j{)�”}”(hŒnOpen the compressed stream This callback is mandatory and shall keep dsp ready to receive the stream parameter”h]”hŒnOpen the compressed stream This callback is mandatory and shall keep dsp ready to receive the stream parameter”…”�”}”(hj«ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Khj¨iubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŒiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j§ih´K�hj‰iubjÄ)�”}”(hŒ0``free`` Close the compressed stream, mandatory ”h]”(jÊ)�”}”(hŒ``free``”h]”jÐ)�”}”(hjÌih]”hŒfree”…”�”}”(hjÎih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÊiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K‚hjÆiubjæ)�”}”(hhh]”j{)�”}”(hŒ&Close the compressed stream, mandatory”h]”hŒ&Close the compressed stream, mandatory”…”�”}”(hjåih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jáih´K‚hjâiubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÆiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jáih´K‚hj‰iubjÄ)�”}”(hŒ ``set_params`` Sets the compressed stream parameters, mandatory This can be called in during stream creation only to set codec params and the stream properties ”h]”(jÊ)�”}”(hŒ``set_params``”h]”jÐ)�”}”(hjjh]”hŒ set_params”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K…hjÿiubjæ)�”}”(hhh]”j{)�”}”(hŒ�Sets the compressed stream parameters, mandatory This can be called in during stream creation only to set codec params and the stream properties”h]”hŒ�Sets the compressed stream parameters, mandatory This can be called in during stream creation only to set codec params and the stream properties”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kƒhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÿiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jjh´K…hj‰iubjÄ)�”}”(hŒ8``get_params`` retrieve the codec parameters, mandatory ”h]”(jÊ)�”}”(hŒ``get_params``”h]”jÐ)�”}”(hj?jh]”hŒ get_params”…”�”}”(hjAjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj=jubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K†hj9jubjæ)�”}”(hhh]”j{)�”}”(hŒ(retrieve the codec parameters, mandatory”h]”hŒ(retrieve the codec parameters, mandatory”…”�”}”(hjXjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jTjh´K†hjUjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jTjh´K†hj‰iubjÄ)�”}”(hŒ6``set_metadata`` Set the metadata values for a stream ”h]”(jÊ)�”}”(hŒ``set_metadata``”h]”jÐ)�”}”(hjxjh]”hŒ set_metadata”…”�”}”(hjzjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjvjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K‡hjrjubjæ)�”}”(hhh]”j{)�”}”(hŒ$Set the metadata values for a stream”h]”hŒ$Set the metadata values for a stream”…”�”}”(hj‘jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�jh´K‡hjŽjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjrjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�jh´K‡hj‰iubjÄ)�”}”(hŒE``get_metadata`` retrieves the requested metadata values from stream ”h]”(jÊ)�”}”(hŒ``get_metadata``”h]”jÐ)�”}”(hj±jh]”hŒ get_metadata”…”�”}”(hj³jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¯jubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kˆhj«jubjæ)�”}”(hhh]”j{)�”}”(hŒ3retrieves the requested metadata values from stream”h]”hŒ3retrieves the requested metadata values from stream”…”�”}”(hjÊjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÆjh´KˆhjÇjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj«jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÆjh´Kˆhj‰iubjÄ)�”}”(hŒb``trigger`` Trigger operations like start, pause, resume, drain, stop. This callback is mandatory ”h]”(jÊ)�”}”(hŒ ``trigger``”h]”jÐ)�”}”(hjêjh]”hŒtrigger”…”�”}”(hjìjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjèjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KŠhjäjubjæ)�”}”(hhh]”j{)�”}”(hŒUTrigger operations like start, pause, resume, drain, stop. This callback is mandatory”h]”hŒUTrigger operations like start, pause, resume, drain, stop. This callback is mandatory”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K‰hjkubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjäjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÿjh´KŠhj‰iubjÄ)�”}”(hŒ@``pointer`` Retrieve current h/w pointer information. Mandatory ”h]”(jÊ)�”}”(hŒ ``pointer``”h]”jÐ)�”}”(hj$kh]”hŒpointer”…”�”}”(hj&kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj"kubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K‹hjkubjæ)�”}”(hhh]”j{)�”}”(hŒ3Retrieve current h/w pointer information. Mandatory”h]”hŒ3Retrieve current h/w pointer information. Mandatory”…”�”}”(hj=kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9kh´K‹hj:kubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9kh´K‹hj‰iubjÄ)�”}”(hŒh``copy`` Copy the compressed data to/from userspace, Optional Can't be implemented if DSP supports mmap ”h]”(jÊ)�”}”(hŒ``copy``”h]”jÐ)�”}”(hj]kh]”hŒcopy”…”�”}”(hj_kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj[kubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K�hjWkubjæ)�”}”(hhh]”j{)�”}”(hŒ^Copy the compressed data to/from userspace, Optional Can't be implemented if DSP supports mmap”h]”hŒ`Copy the compressed data to/from userspace, Optional Can’t be implemented if DSP supports mmap”…”�”}”(hjvkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KŒhjskubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjWkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jrkh´K�hj‰iubjÄ)�”}”(hŒ,``mmap`` DSP mmap method to mmap DSP memory ”h]”(jÊ)�”}”(hŒ``mmap``”h]”jÐ)�”}”(hj—kh]”hŒmmap”…”�”}”(hj™kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj•kubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KŽhj‘kubjæ)�”}”(hhh]”j{)�”}”(hŒ"DSP mmap method to mmap DSP memory”h]”hŒ"DSP mmap method to mmap DSP memory”…”�”}”(hj°kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¬kh´KŽhj­kubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‘kubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¬kh´KŽhj‰iubjÄ)�”}”(hŒd``ack`` Ack for DSP when data is written to audio buffer, Optional Not valid if copy is implemented ”h]”(jÊ)�”}”(hŒ``ack``”h]”jÐ)�”}”(hjÐkh]”hŒack”…”�”}”(hjÒkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÎkubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K�hjÊkubjæ)�”}”(hhh]”j{)�”}”(hŒ[Ack for DSP when data is written to audio buffer, Optional Not valid if copy is implemented”h]”hŒ[Ack for DSP when data is written to audio buffer, Optional Not valid if copy is implemented”…”�”}”(hjékh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K�hjækubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÊkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jåkh´K�hj‰iubjÄ)�”}”(hŒ2``get_caps`` Retrieve DSP capabilities, mandatory ”h]”(jÊ)�”}”(hŒ ``get_caps``”h]”jÐ)�”}”(hj lh]”hŒget_caps”…”�”}”(hj lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K‘hjlubjæ)�”}”(hhh]”j{)�”}”(hŒ$Retrieve DSP capabilities, mandatory”h]”hŒ$Retrieve DSP capabilities, mandatory”…”�”}”(hj#lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jlh´K‘hj lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jlh´K‘hj‰iubjÄ)�”}”(hŒI``get_codec_caps`` Retrieve capabilities for a specific codec, mandatory ”h]”(jÊ)�”}”(hŒ``get_codec_caps``”h]”jÐ)�”}”(hjClh]”hŒget_codec_caps”…”�”}”(hjElh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjAlubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K’hj=lubjæ)�”}”(hhh]”j{)�”}”(hŒ5Retrieve capabilities for a specific codec, mandatory”h]”hŒ5Retrieve capabilities for a specific codec, mandatory”…”�”}”(hj\lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jXlh´K’hjYlubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jXlh´K’hj‰iubjÄ)�”}”(hŒJ``task_create`` Create a set of input/output buffers for accel operations ”h]”(jÊ)�”}”(hŒ``task_create``”h]”jÐ)�”}”(hj|lh]”hŒ task_create”…”�”}”(hj~lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjzlubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K“hjvlubjæ)�”}”(hhh]”j{)�”}”(hŒ9Create a set of input/output buffers for accel operations”h]”hŒ9Create a set of input/output buffers for accel operations”…”�”}”(hj•lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‘lh´K“hj’lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjvlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‘lh´K“hj‰iubjÄ)�”}”(hŒ9``task_start`` Start (queue) a task for accel operations ”h]”(jÊ)�”}”(hŒ``task_start``”h]”jÐ)�”}”(hjµlh]”hŒ task_start”…”�”}”(hj·lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj³lubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K”hj¯lubjæ)�”}”(hhh]”j{)�”}”(hŒ)Start (queue) a task for accel operations”h]”hŒ)Start (queue) a task for accel operations”…”�”}”(hjÎlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÊlh´K”hjËlubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¯lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÊlh´K”hj‰iubjÄ)�”}”(hŒ9``task_stop`` Stop (dequeue) a task for accel operations ”h]”(jÊ)�”}”(hŒ ``task_stop``”h]”jÐ)�”}”(hjîlh]”hŒ task_stop”…”�”}”(hjðlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjìlubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K•hjèlubjæ)�”}”(hhh]”j{)�”}”(hŒ*Stop (dequeue) a task for accel operations”h]”hŒ*Stop (dequeue) a task for accel operations”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jmh´K•hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjèlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jmh´K•hj‰iubjÄ)�”}”(hŒE``task_free`` Free a set of input/output buffers for accel operations”h]”(jÊ)�”}”(hŒ ``task_free``”h]”jÐ)�”}”(hj'mh]”hŒ task_free”…”�”}”(hj)mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj%mubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K•hj!mubjæ)�”}”(hhh]”j{)�”}”(hŒ7Free a set of input/output buffers for accel operations”h]”hŒ7Free a set of input/output buffers for accel operations”…”�”}”(hj@mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K–hj=mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj!mubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(struct snd_compr_stream *stream, struct snd_dma_buffer *bufp)”h]”(jZ)�”}”(hŒstruct snd_compr_stream *stream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj rubh)�”}”(hhh]”j9)�”}”(hŒsnd_compr_stream”h]”hŒsnd_compr_stream”…”�”}”(hj.rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj+rubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j0rŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jöqsbŒc.snd_compr_set_runtime_buffer”†”asbuh1hhj rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNrh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj rubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj\rh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj rubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjirh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjrubjZ)�”}”(hŒstruct snd_dma_buffer *bufp”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‚rh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�rh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~rubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hj rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�rubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¢rŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jJrŒc.snd_compr_set_runtime_buffer”†”asbuh1hhj~rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾rh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~rubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÌrh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj~rubj9)�”}”(hŒbufp”h]”hŒbufp”…”�”}”(hjÙrh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjrubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÏqh²hh³jáqh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjËqh²hh³jáqh´Mubah}”(h]”jÆqah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jáqh´MhjÈqh²hubjv)�”}”(hhh]”j{)�”}”(hŒSet the Compress runtime buffer”h]”hŒSet the Compress runtime buffer”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mhjsh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÈqh²hh³jáqh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jsjšjsj›‰jœ‰j�‰uh1hþh²hhj˜7h³Nh´NubjŸ)�”}”(hX$**Parameters** ``struct snd_compr_stream *stream`` compress stream to set ``struct snd_dma_buffer *bufp`` the buffer information, NULL to clear **Description** Copy the buffer information to runtime buffer when **bufp** is non-NULL. Otherwise it clears the current buffer information.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj%sh]”hŒ Parameters”…”�”}”(hj'sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj#subah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mhjsubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ;``struct snd_compr_stream *stream`` compress stream to set ”h]”(jÊ)�”}”(hŒ#``struct snd_compr_stream *stream``”h]”jÐ)�”}”(hjDsh]”hŒstruct snd_compr_stream *stream”…”�”}”(hjFsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjBsubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mhj>subjæ)�”}”(hhh]”j{)�”}”(hŒcompress stream to set”h]”hŒcompress stream to set”…”�”}”(hj]sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jYsh´MhjZsubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>subeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jYsh´Mhj;subjÄ)�”}”(hŒF``struct snd_dma_buffer *bufp`` the buffer information, NULL to clear ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *bufp``”h]”jÐ)�”}”(hj}sh]”hŒstruct snd_dma_buffer *bufp”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj{subah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mhjwsubjæ)�”}”(hhh]”j{)�”}”(hŒ%the buffer information, NULL to clear”h]”hŒ%the buffer information, NULL to clear”…”�”}”(hj–sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j’sh´Mhj“subah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjwsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’sh´Mhj;subeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjsubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¸sh]”hŒ Description”…”�”}”(hjºsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¶subah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mhjsubj{)�”}”(hŒ|Copy the buffer information to runtime buffer when **bufp** is non-NULL. Otherwise it clears the current buffer information.”h]”(hŒ3Copy the buffer information to runtime buffer when ”…”�”}”(hjÎsh²hh³Nh´Nubj©)�”}”(hŒ**bufp**”h]”hŒbufp”…”�”}”(hjÖsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÎsubhŒA is non-NULL. Otherwise it clears the current buffer information.”…”�”}”(hjÎsh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mhjsubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜7h²hh³Nh´Nubeh}”(h]”Œcompress-offload-api”ah ]”h"]”Œcompress offload api”ah$]”h&]”uh1hµhj‡7h²hh³hÊh´KXubeh}”(h]”Œcompress-offload”ah ]”h"]”Œcompress offload”ah$]”h&]”uh1hµhh·h²hh³hÊh´KUubh¶)�”}”(hhh]”(h»)�”}”(hŒASoC”h]”hŒASoC”…”�”}”(hj th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjth²hh³hÊh´K_ubh¶)�”}”(hhh]”(h»)�”}”(hŒ ASoC Core API”h]”hŒ ASoC Core API”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjth²hh³hÊh´Kbubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_find_dai (C function)”Œc.snd_soc_find_dai”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒTstruct snd_soc_dai * snd_soc_find_dai (const struct snd_soc_dai_link_component *dlc)”h]”j )�”}”(hŒRstruct snd_soc_dai *snd_soc_find_dai(const struct snd_soc_dai_link_component *dlc)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjAth²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj=th²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=th²hh³jNth´M�ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_dai”h]”hŒ snd_soc_dai”…”�”}”(hj`th²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]tubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jbtŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_find_dai”sbŒc.snd_soc_find_dai”†”asbuh1hhj=th²hh³jNth´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�th²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=th²hh³jNth´M�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�th²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj=th²hh³jNth´M�ubj3)�”}”(hŒsnd_soc_find_dai”h]”j9)�”}”(hj~th]”hŒsnd_soc_find_dai”…”�”}”(hj th²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœtubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj=th²hh³jNth´M�ubjT)�”}”(hŒ.(const struct snd_soc_dai_link_component *dlc)”h]”jZ)�”}”(hŒ,const struct snd_soc_dai_link_component *dlc”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj»th²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj·tubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·tubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjÖth²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj·tubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·tubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dai_link_component”h]”hŒsnd_soc_dai_link_component”…”�”}”(hjôth²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjñtubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jötŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j|tŒc.snd_soc_find_dai”†”asbuh1hhj·tubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj·tubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj uh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj·tubj9)�”}”(hŒdlc”h]”hŒdlc”…”�”}”(hj-uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj³tubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj=th²hh³jNth´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj9th²hh³jNth´M�ubah}”(h]”j4tah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jNth´M�hj6th²hubjv)�”}”(hhh]”j{)�”}”(hŒFind a registered DAI”h]”hŒFind a registered DAI”…”�”}”(hjWuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hjTuh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj6th²hh³jNth´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™joujšjouj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXz**Parameters** ``const struct snd_soc_dai_link_component *dlc`` name of the DAI or the DAI driver and optional component info to match **Description** This function will search all registered components and their DAIs to find the DAI of the same name. The component's of_node and name should also match if being specified. **Return** pointer of DAI, or NULL if not found.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjyuh]”hŒ Parameters”…”�”}”(hj{uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjwuubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M‘hjsuubj¿)�”}”(hhh]”jÄ)�”}”(hŒx``const struct snd_soc_dai_link_component *dlc`` name of the DAI or the DAI driver and optional component info to match ”h]”(jÊ)�”}”(hŒ0``const struct snd_soc_dai_link_component *dlc``”h]”jÐ)�”}”(hj˜uh]”hŒ,const struct snd_soc_dai_link_component *dlc”…”�”}”(hjšuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj–uubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hj’uubjæ)�”}”(hhh]”j{)�”}”(hŒFname of the DAI or the DAI driver and optional component info to match”h]”hŒFname of the DAI or the DAI driver and optional component info to match”…”�”}”(hj±uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j­uh´M�hj®uubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj’uubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j­uh´M�hj�uubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjsuubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÓuh]”hŒ Description”…”�”}”(hjÕuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÑuubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M‘hjsuubj{)�”}”(hŒ«This function will search all registered components and their DAIs to find the DAI of the same name. The component's of_node and name should also match if being specified.”h]”hŒ­This function will search all registered components and their DAIs to find the DAI of the same name. The component’s of_node and name should also match if being specified.”…”�”}”(hjéuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hjsuubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjúuh]”hŒReturn”…”�”}”(hjüuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjøuubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M”hjsuubj{)�”}”(hŒ%pointer of DAI, or NULL if not found.”h]”hŒ%pointer of DAI, or NULL if not found.”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M•hjsuubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_soc_remove_pcm_runtime (C function)”Œc.snd_soc_remove_pcm_runtime”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ\void snd_soc_remove_pcm_runtime (struct snd_soc_card *card, struct snd_soc_pcm_runtime *rtd)”h]”j )�”}”(hŒ[void snd_soc_remove_pcm_runtime(struct snd_soc_card *card, struct snd_soc_pcm_runtime *rtd)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj?vh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj;vh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Msubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;vh²hh³jMvh´Msubj3)�”}”(hŒsnd_soc_remove_pcm_runtime”h]”j9)�”}”(hŒsnd_soc_remove_pcm_runtime”h]”hŒsnd_soc_remove_pcm_runtime”…”�”}”(hj`vh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\vubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj;vh²hh³jMvh´MsubjT)�”}”(hŒ<(struct snd_soc_card *card, struct snd_soc_pcm_runtime *rtd)”h]”(jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj|vh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjxvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰vh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxvubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjšvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—vubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jœvŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jbvsbŒc.snd_soc_remove_pcm_runtime”†”asbuh1hhjxvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxvubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÈvh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjxvubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjÕvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtvubjZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjîvh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjêvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjêvubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hj wh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jwŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¶vŒc.snd_soc_remove_pcm_runtime”†”asbuh1hhjêvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjêvubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj8wh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjêvubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hjEwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtvubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj;vh²hh³jMvh´Msubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj7vh²hh³jMvh´Msubah}”(h]”j2vah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jMvh´Mshj4vh²hubjv)�”}”(hhh]”j{)�”}”(hŒRemove a pcm_runtime from card”h]”hŒRemove a pcm_runtime from card”…”�”}”(hjowh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mshjlwh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj4vh²hh³jMvh´Msubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j‡wjšj‡wj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒå**Parameters** ``struct snd_soc_card *card`` The ASoC card to which the pcm_runtime has ``struct snd_soc_pcm_runtime *rtd`` The pcm_runtime to remove **Description** This function removes a pcm_runtime from the ASoC card.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‘wh]”hŒ Parameters”…”�”}”(hj“wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�wubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mwhj‹wubj¿)�”}”(hhh]”(jÄ)�”}”(hŒI``struct snd_soc_card *card`` The ASoC card to which the pcm_runtime has ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hj°wh]”hŒstruct snd_soc_card *card”…”�”}”(hj²wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj®wubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mthjªwubjæ)�”}”(hhh]”j{)�”}”(hŒ*The ASoC card to which the pcm_runtime has”h]”hŒ*The ASoC card to which the pcm_runtime has”…”�”}”(hjÉwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÅwh´MthjÆwubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjªwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÅwh´Mthj§wubjÄ)�”}”(hŒ>``struct snd_soc_pcm_runtime *rtd`` The pcm_runtime to remove ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hjéwh]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjëwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjçwubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Muhjãwubjæ)�”}”(hhh]”j{)�”}”(hŒThe pcm_runtime to remove”h]”hŒThe pcm_runtime to remove”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþwh´Muhjÿwubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjãwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþwh´Muhj§wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‹wubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj$xh]”hŒ Description”…”�”}”(hj&xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj"xubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mwhj‹wubj{)�”}”(hŒ7This function removes a pcm_runtime from the ASoC card.”h]”hŒ7This function removes a pcm_runtime from the ASoC card.”…”�”}”(hj:xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mvhj‹wubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_add_pcm_runtime (C function)”Œc.snd_soc_add_pcm_runtime”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_add_pcm_runtime (struct snd_soc_card *card, struct snd_soc_dai_link *dai_link)”h]”j )�”}”(hŒYint snd_soc_add_pcm_runtime(struct snd_soc_card *card, struct snd_soc_dai_link *dai_link)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjixh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjexh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M‹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjexh²hh³jwxh´M‹ubj3)�”}”(hŒsnd_soc_add_pcm_runtime”h]”j9)�”}”(hŒsnd_soc_add_pcm_runtime”h]”hŒsnd_soc_add_pcm_runtime”…”�”}”(hjŠxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†xubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjexh²hh³jwxh´M‹ubjT)�”}”(hŒ>(struct snd_soc_card *card, struct snd_soc_dai_link *dai_link)”h]”(jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¦xh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¢xubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³xh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢xubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjÄxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÆxŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jŒxsbŒc.snd_soc_add_pcm_runtime”†”asbuh1hhj¢xubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢xubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjòxh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¢xubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjÿxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjžxubjZ)�”}”(hŒ!struct snd_soc_dai_link *dai_link”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjyubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjyubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dai_link”h]”hŒsnd_soc_dai_link”…”�”}”(hj6yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j8yŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jàxŒc.snd_soc_add_pcm_runtime”†”asbuh1hhjyubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjyubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjbyh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjyubj9)�”}”(hŒdai_link”h]”hŒdai_link”…”�”}”(hjoyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjyubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjžxubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjexh²hh³jwxh´M‹ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjaxh²hh³jwxh´M‹ubah}”(h]”j\xah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jwxh´M‹hj^xh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Add a pcm_runtime dynamically via dai_link”h]”hŒ*Add a pcm_runtime dynamically via dai_link”…”�”}”(hj™yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M‹hj–yh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj^xh²hh³jwxh´M‹ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j±yjšj±yj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXŸ**Parameters** ``struct snd_soc_card *card`` The ASoC card to which the pcm_runtime is added ``struct snd_soc_dai_link *dai_link`` The DAI link to find pcm_runtime **Description** This function adds a pcm_runtime ASoC card by using dai_link. **Note** Topology can use this API to add pcm_runtime when probing the topology component. And machine drivers can still define static DAI links in dai_link array.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj»yh]”hŒ Parameters”…”�”}”(hj½yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¹yubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hjµyubj¿)�”}”(hhh]”(jÄ)�”}”(hŒN``struct snd_soc_card *card`` The ASoC card to which the pcm_runtime is added ”•h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hjÚyh]”hŒstruct snd_soc_card *card”…”�”}”(hjÜyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjØyubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MŒhjÔyubjæ)�”}”(hhh]”j{)�”}”(hŒ/The ASoC card to which the pcm_runtime is added”h]”hŒ/The ASoC card to which the pcm_runtime is added”…”�”}”(hjóyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jïyh´MŒhjðyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÔyubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jïyh´MŒhjÑyubjÄ)�”}”(hŒG``struct snd_soc_dai_link *dai_link`` The DAI link to find pcm_runtime ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dai_link *dai_link``”h]”jÐ)�”}”(hjzh]”hŒ!struct snd_soc_dai_link *dai_link”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hj zubjæ)�”}”(hhh]”j{)�”}”(hŒ The DAI link to find pcm_runtime”h]”hŒ The DAI link to find pcm_runtime”…”�”}”(hj,zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j(zh´M�hj)zubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj zubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(zh´M�hjÑyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjµyubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjNzh]”hŒ Description”…”�”}”(hjPzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjLzubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hjµyubj{)�”}”(hŒ=This function adds a pcm_runtime ASoC card by using dai_link.”h]”hŒ=This function adds a pcm_runtime ASoC card by using dai_link.”…”�”}”(hjdzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MŽhjµyubj{)�”}”(hŒ**Note**”h]”j©)�”}”(hjuzh]”hŒNote”…”�”}”(hjwzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjszubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M�hjµyubj{)�”}”(hŒšTopology can use this API to add pcm_runtime when probing the topology component. And machine drivers can still define static DAI links in dai_link array.”h]”hŒšTopology can use this API to add pcm_runtime when probing the topology component. And machine drivers can still define static DAI links in dai_link array.”…”�”}”(hj‹zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M‘hjµyubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_runtime_set_dai_fmt (C function)”Œc.snd_soc_runtime_set_dai_fmt”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWint snd_soc_runtime_set_dai_fmt (struct snd_soc_pcm_runtime *rtd, unsigned int dai_fmt)”h]”j )�”}”(hŒVint snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, unsigned int dai_fmt)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjºzh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶zh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶zh²hh³jÈzh´Mubj3)�”}”(hŒsnd_soc_runtime_set_dai_fmt”h]”j9)�”}”(hŒsnd_soc_runtime_set_dai_fmt”h]”hŒsnd_soc_runtime_set_dai_fmt”…”�”}”(hjÛzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj×zubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¶zh²hh³jÈzh´MubjT)�”}”(hŒ7(struct snd_soc_pcm_runtime *rtd, unsigned int dai_fmt)”h]”(jZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj÷zh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjózubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjózubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j{Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÝzsbŒc.snd_soc_runtime_set_dai_fmt”†”asbuh1hhjózubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjózubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjC{h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjózubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hjP{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjózubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjïzubjZ)�”}”(hŒunsigned int dai_fmt”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hji{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhje{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hje{ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj…{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhje{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hje{ubj9)�”}”(hŒdai_fmt”h]”hŒdai_fmt”…”�”}”(hj¡{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hje{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjïzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¶zh²hh³jÈzh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj²zh²hh³jÈzh´Mubah}”(h]”j­zah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÈzh´Mhj¯zh²hubjv)�”}”(hhh]”j{)�”}”(hŒ)Change DAI link format for a ASoC runtime”h]”hŒ)Change DAI link format for a ASoC runtime”…”�”}”(hjË{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MhjÈ{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¯zh²hh³jÈzh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jã{jšjã{j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXå**Parameters** ``struct snd_soc_pcm_runtime *rtd`` The runtime for which the DAI link format should be changed ``unsigned int dai_fmt`` The new DAI link format **Description** This function updates the DAI link format for all DAIs connected to the DAI link for the specified runtime. **Note** For setups with a static format set the dai_fmt field in the corresponding snd_dai_link struct instead of using this function. Returns 0 on success, otherwise a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjí{h]”hŒ Parameters”…”�”}”(hjï{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjë{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjç{ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ```struct snd_soc_pcm_runtime *rtd`` The runtime for which the DAI link format should be changed ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hj |h]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj |ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hj|ubjæ)�”}”(hhh]”j{)�”}”(hŒ;The runtime for which the DAI link format should be changed”h]”hŒ;The runtime for which the DAI link format should be changed”…”�”}”(hj%|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j!|h´M hj"|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j!|h´M hj|ubjÄ)�”}”(hŒ1``unsigned int dai_fmt`` The new DAI link format ”h]”(jÊ)�”}”(hŒ``unsigned int dai_fmt``”h]”jÐ)�”}”(hjE|h]”hŒunsigned int dai_fmt”…”�”}”(hjG|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjC|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hj?|ubjæ)�”}”(hhh]”j{)�”}”(hŒThe new DAI link format”h]”hŒThe new DAI link format”…”�”}”(hj^|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jZ|h´M hj[|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj?|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jZ|h´M hj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjç{ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj€|h]”hŒ Description”…”�”}”(hj‚|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj~|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjç{ubj{)�”}”(hŒkThis function updates the DAI link format for all DAIs connected to the DAI link for the specified runtime.”h]”hŒkThis function updates the DAI link format for all DAIs connected to the DAI link for the specified runtime.”…”�”}”(hj–|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjç{ubj{)�”}”(hŒ**Note**”h]”j©)�”}”(hj§|h]”hŒNote”…”�”}”(hj©|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¥|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mhjç{ubj{)�”}”(hŒ~For setups with a static format set the dai_fmt field in the corresponding snd_dai_link struct instead of using this function.”h]”hŒ~For setups with a static format set the dai_fmt field in the corresponding snd_dai_link struct instead of using this function.”…”�”}”(hj½|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mhjç{ubj{)�”}”(hŒ6Returns 0 on success, otherwise a negative error code.”h]”hŒ6Returns 0 on success, otherwise a negative error code.”…”�”}”(hjÌ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mhjç{ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_soc_set_dmi_name (C function)”Œc.snd_soc_set_dmi_name”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ4int snd_soc_set_dmi_name (struct snd_soc_card *card)”h]”j )�”}”(hŒ3int snd_soc_set_dmi_name(struct snd_soc_card *card)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjû|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷|h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj }h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj÷|h²hh³j }h´MÎubj3)�”}”(hŒsnd_soc_set_dmi_name”h]”j9)�”}”(hŒsnd_soc_set_dmi_name”h]”hŒsnd_soc_set_dmi_name”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj÷|h²hh³j }h´MÎubjT)�”}”(hŒ(struct snd_soc_card *card)”h]”jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj8}h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj4}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4}ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjV}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjS}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jX}Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j}sbŒc.snd_soc_set_dmi_name”†”asbuh1hhj4}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv}h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj„}h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj4}ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj‘}h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj0}ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj÷|h²hh³j }h´MÎubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjó|h²hh³j }h´MÎubah}”(h]”jî|ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j }h´MÎhjð|h²hubjv)�”}”(hhh]”j{)�”}”(hŒRegister DMI names to card”h]”hŒRegister DMI names to card”…”�”}”(hj»}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÎhj¸}h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjð|h²hh³j }h´MÎubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÓ}jšjÓ}j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_card *card`` The card to register DMI names **Description** An Intel machine driver may be used by many different devices but are difficult for userspace to differentiate, since machine drivers usually use their own name as the card short name and leave the card long name blank. To differentiate such devices and fix bugs due to lack of device-specific configurations, this function allows DMI info to be used as the sound card long name, in the format of "vendor-product-version-board" (Character '-' is used to separate different DMI fields here). This will help the user space to load the device-specific Use Case Manager (UCM) configurations for the card. Possible card long names may be: DellInc.-XPS139343-01-0310JH ASUSTeKCOMPUTERINC.-T100TA-1.0-T100TA Circuitco-MinnowboardMaxD0PLATFORM-D0-MinnowBoardMAX This function also supports flavoring the card longname to provide the extra differentiation, like "vendor-product-version-board-flavor". We only keep number and alphabet characters and a few separator characters in the card long name since UCM in the user space uses the card long names as card configuration directory names and AudoConf cannot support special characters like SPACE. Returns 0 on success, otherwise a negative error code.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÝ}h]”hŒ Parameters”…”�”}”(hjß}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÛ}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÒhj×}ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ=``struct snd_soc_card *card`` The card to register DMI names ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hjü}h]”hŒstruct snd_soc_card *card”…”�”}”(hjþ}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjú}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÏhjö}ubjæ)�”}”(hhh]”j{)�”}”(hŒThe card to register DMI names”h]”hŒThe card to register DMI names”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j~h´MÏhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjö}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j~h´MÏhjó}ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj×}ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj7~h]”hŒ Description”…”�”}”(hj9~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÑhj×}ubj{)�”}”(hXXAn Intel machine driver may be used by many different devices but are difficult for userspace to differentiate, since machine drivers usually use their own name as the card short name and leave the card long name blank. To differentiate such devices and fix bugs due to lack of device-specific configurations, this function allows DMI info to be used as the sound card long name, in the format of "vendor-product-version-board" (Character '-' is used to separate different DMI fields here). This will help the user space to load the device-specific Use Case Manager (UCM) configurations for the card.”h]”hX`An Intel machine driver may be used by many different devices but are difficult for userspace to differentiate, since machine drivers usually use their own name as the card short name and leave the card long name blank. To differentiate such devices and fix bugs due to lack of device-specific configurations, this function allows DMI info to be used as the sound card long name, in the format of “vendor-product-version-boardâ€� (Character ‘-’ is used to separate different DMI fields here). This will help the user space to load the device-specific Use Case Manager (UCM) configurations for the card.”…”�”}”(hjM~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÐhj×}ubj{)�”}”(hŒ˜Possible card long names may be: DellInc.-XPS139343-01-0310JH ASUSTeKCOMPUTERINC.-T100TA-1.0-T100TA Circuitco-MinnowboardMaxD0PLATFORM-D0-MinnowBoardMAX”h]”hŒ˜Possible card long names may be: DellInc.-XPS139343-01-0310JH ASUSTeKCOMPUTERINC.-T100TA-1.0-T100TA Circuitco-MinnowboardMaxD0PLATFORM-D0-MinnowBoardMAX”…”�”}”(hj\~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MÛhj×}ubj{)�”}”(hŒ‰This function also supports flavoring the card longname to provide the extra differentiation, like "vendor-product-version-board-flavor".”h]”hŒ�This function also supports flavoring the card longname to provide the extra differentiation, like “vendor-product-version-board-flavorâ€�.”…”�”}”(hjk~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Màhj×}ubj{)�”}”(hŒöWe only keep number and alphabet characters and a few separator characters in the card long name since UCM in the user space uses the card long names as card configuration directory names and AudoConf cannot support special characters like SPACE.”h]”hŒöWe only keep number and alphabet characters and a few separator characters in the card long name since UCM in the user space uses the card long names as card configuration directory names and AudoConf cannot support special characters like SPACE.”…”�”}”(hjz~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mãhj×}ubj{)�”}”(hŒ6Returns 0 on success, otherwise a negative error code.”h]”hŒ6Returns 0 on success, otherwise a negative error code.”…”�”}”(hj‰~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mèhj×}ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_cnew (C function)”Œc.snd_soc_cnew”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ„struct snd_kcontrol * snd_soc_cnew (const struct snd_kcontrol_new *_template, void *data, const char *long_name, const char *prefix)”h]”j )�”}”(hŒ‚struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template, void *data, const char *long_name, const char *prefix)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¸~h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj´~h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´~h²hh³jÅ~h´M ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj×~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔ~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÙ~Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œ snd_soc_cnew”sbŒc.snd_soc_cnew”†”asbuh1hhj´~h²hh³jÅ~h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´~h²hh³jÅ~h´M ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj´~h²hh³jÅ~h´M ubj3)�”}”(hŒ snd_soc_cnew”h]”j9)�”}”(hjõ~h]”hŒ snd_soc_cnew”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj´~h²hh³jÅ~h´M ubjT)�”}”(hŒa(const struct snd_kcontrol_new *_template, void *data, const char *long_name, const char *prefix)”h]”(jZ)�”}”(hŒ(const struct snd_kcontrol_new *_template”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.ubh)�”}”(hhh]”j9)�”}”(hŒsnd_kcontrol_new”h]”hŒsnd_kcontrol_new”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jmŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jó~Œc.snd_soc_cnew”†”asbuh1hhj.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj.ubj9)�”}”(hŒ _template”h]”hŒ _template”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj*ubjZ)�”}”(hŒ void *data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¹ubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj*ubjZ)�”}”(hŒconst char *long_name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjûubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj €h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjûubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjûubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjûubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj6€h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjûubj9)�”}”(hŒ long_name”h]”hŒ long_name”…”�”}”(hjC€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj*ubjZ)�”}”(hŒconst char *prefix”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj\€h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjX€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hji€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjX€ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjw€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjX€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjX€ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj“€h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjX€ubj9)�”}”(hŒprefix”h]”hŒprefix”…”�”}”(hj €h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjX€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj*ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj´~h²hh³jÅ~h´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj°~h²hh³jÅ~h´M ubah}”(h]”j«~ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅ~h´M hj­~h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new control”h]”hŒcreate new control”…”�”}”(hjÊ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjÇ€h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj­~h²hh³jÅ~h´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jâ€jšjâ€j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX=**Parameters** ``const struct snd_kcontrol_new *_template`` control template ``void *data`` control private data ``const char *long_name`` control long name ``const char *prefix`` control name prefix **Description** Create a new mixer control from a template control. Returns 0 for success, else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjì€h]”hŒ Parameters”…”�”}”(hjî€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjê€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjæ€ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``const struct snd_kcontrol_new *_template`` control template ”h]”(jÊ)�”}”(hŒ,``const struct snd_kcontrol_new *_template``”h]”jÐ)�”}”(hj �h]”hŒ(const struct snd_kcontrol_new *_template”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj �ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hj�ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol template”h]”hŒcontrol template”…”�”}”(hj$�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j �h´M hj!�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j �h´M hj�ubjÄ)�”}”(hŒ$``void *data`` control private data ”h]”(jÊ)�”}”(hŒ``void *data``”h]”jÐ)�”}”(hjD�h]”hŒ void *data”…”�”}”(hjF�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjB�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hj>�ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol private data”h]”hŒcontrol private data”…”�”}”(hj]�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jY�h´M hjZ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jY�h´M hj�ubjÄ)�”}”(hŒ,``const char *long_name`` control long name ”h]”(jÊ)�”}”(hŒ``const char *long_name``”h]”jÐ)�”}”(hj}�h]”hŒconst char *long_name”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj{�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjw�ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol long name”h]”hŒcontrol long name”…”�”}”(hj–�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j’�h´M hj“�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjw�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’�h´M hj�ubjÄ)�”}”(hŒ+``const char *prefix`` control name prefix ”h]”(jÊ)�”}”(hŒ``const char *prefix``”h]”jÐ)�”}”(hj¶�h]”hŒconst char *prefix”…”�”}”(hj¸�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj´�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hj°�ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol name prefix”h]”hŒcontrol name prefix”…”�”}”(hjÏ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jË�h´M hjÌ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj°�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jË�h´M hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjæ€ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjñ�h]”hŒ Description”…”�”}”(hjó�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjï�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjæ€ubj{)�”}”(hŒ3Create a new mixer control from a template control.”h]”hŒ3Create a new mixer control from a template control.”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjæ€ubj{)�”}”(hŒ"Returns 0 for success, else error.”h]”hŒ"Returns 0 for success, else error.”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjæ€ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ+snd_soc_add_component_controls (C function)”Œ c.snd_soc_add_component_controls”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒŒint snd_soc_add_component_controls (struct snd_soc_component *component, const struct snd_kcontrol_new *controls, unsigned int num_controls)”h]”j )�”}”(hŒ‹int snd_soc_add_component_controls(struct snd_soc_component *component, const struct snd_kcontrol_new *controls, unsigned int num_controls)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjE‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjA‚h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M? ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjA‚h²hh³jS‚h´M? ubj3)�”}”(hŒsnd_soc_add_component_controls”h]”j9)�”}”(hŒsnd_soc_add_component_controls”h]”hŒsnd_soc_add_component_controls”…”�”}”(hjf‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb‚ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjA‚h²hh³jS‚h´M? ubjT)�”}”(hŒi(struct snd_soc_component *component, const struct snd_kcontrol_new *controls, unsigned int num_controls)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‚‚h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~‚ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj ‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¢‚Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jh‚sbŒ c.snd_soc_add_component_controls”†”asbuh1hhj~‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~‚ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj΂h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj~‚ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjÛ‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz‚ubjZ)�”}”(hŒ'const struct snd_kcontrol_new *controls”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjô‚h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjð‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð‚ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjð‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð‚ubh)�”}”(hhh]”j9)�”}”(hŒsnd_kcontrol_new”h]”hŒsnd_kcontrol_new”…”�”}”(hj-ƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*ƒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j/ƒŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¼‚Œ c.snd_soc_add_component_controls”†”asbuh1hhjð‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð‚ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjYƒh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjð‚ubj9)�”}”(hŒcontrols”h]”hŒcontrols”…”�”}”(hjfƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjð‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz‚ubjZ)�”}”(hŒunsigned int num_controls”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{ƒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{ƒubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj›ƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{ƒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©ƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{ƒubj9)�”}”(hŒ num_controls”h]”hŒ num_controls”…”�”}”(hj·ƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{ƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjz‚ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjA‚h²hh³jS‚h´M? ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj=‚h²hh³jS‚h´M? ubah}”(h]”j8‚ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jS‚h´M? hj:‚h²hubjv)�”}”(hhh]”j{)�”}”(hŒ(Add an array of controls to a component.”h]”hŒ(Add an array of controls to a component.”…”�”}”(hjáƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M? hjÞƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj:‚h²hh³jS‚h´M? ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jùƒjšjùƒj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_component *component`` Component to add controls to ``const struct snd_kcontrol_new *controls`` Array of controls to add ``unsigned int num_controls`` Number of elements in the array **Return** 0 for success, else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj„h]”hŒ Parameters”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MC hjýƒubj¿)�”}”(hhh]”(jÄ)�”}”(hŒE``struct snd_soc_component *component`` Component to add controls to ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj"„h]”hŒ#struct snd_soc_component *component”…”�”}”(hj$„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj „ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MA hj„ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to add controls to”h]”hŒComponent to add controls to”…”�”}”(hj;„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7„h´MA hj8„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7„h´MA hj„ubjÄ)�”}”(hŒE``const struct snd_kcontrol_new *controls`` Array of controls to add ”h]”(jÊ)�”}”(hŒ+``const struct snd_kcontrol_new *controls``”h]”jÐ)�”}”(hj[„h]”hŒ'const struct snd_kcontrol_new *controls”…”�”}”(hj]„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjY„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MB hjU„ubjæ)�”}”(hhh]”j{)�”}”(hŒArray of controls to add”h]”hŒArray of controls to add”…”�”}”(hjt„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jp„h´MB hjq„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjU„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jp„h´MB hj„ubjÄ)�”}”(hŒ>``unsigned int num_controls`` Number of elements in the array ”h]”(jÊ)�”}”(hŒ``unsigned int num_controls``”h]”jÐ)�”}”(hj”„h]”hŒunsigned int num_controls”…”�”}”(hj–„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj’„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MC hjŽ„ubjæ)�”}”(hhh]”j{)�”}”(hŒNumber of elements in the array”h]”hŒNumber of elements in the array”…”�”}”(hj­„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j©„h´MC hjª„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŽ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j©„h´MC hj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjýƒubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÏ„h]”hŒReturn”…”�”}”(hjÑ„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÍ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´ME hjýƒubj{)�”}”(hŒ0 for success, else error.”h]”hŒ0 for success, else error.”…”�”}”(hjå„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´ME hjýƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_soc_add_card_controls (C function)”Œc.snd_soc_add_card_controls”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒxint snd_soc_add_card_controls (struct snd_soc_card *soc_card, const struct snd_kcontrol_new *controls, int num_controls)”h]”j )�”}”(hŒwint snd_soc_add_card_controls(struct snd_soc_card *soc_card, const struct snd_kcontrol_new *controls, int num_controls)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj…h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MR ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj…h²hh³j"…h´MR ubj3)�”}”(hŒsnd_soc_add_card_controls”h]”j9)�”}”(hŒsnd_soc_add_card_controls”h]”hŒsnd_soc_add_card_controls”…”�”}”(hj5…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1…ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj…h²hh³j"…h´MR ubjT)�”}”(hŒZ(struct snd_soc_card *soc_card, const struct snd_kcontrol_new *controls, int num_controls)”h]”(jZ)�”}”(hŒstruct snd_soc_card *soc_card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjQ…h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjM…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM…ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjo…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjl…ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jq…Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j7…sbŒc.snd_soc_add_card_controls”†”asbuh1hhjM…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM…ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�…h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjM…ubj9)�”}”(hŒsoc_card”h]”hŒsoc_card”…”�”}”(hjª…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjM…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjI…ubjZ)�”}”(hŒ'const struct snd_kcontrol_new *controls”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÃ…h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¿…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¿…ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjÞ…h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¿…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¿…ubh)�”}”(hhh]”j9)�”}”(hŒsnd_kcontrol_new”h]”hŒsnd_kcontrol_new”…”�”}”(hjü…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjù…ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jþ…Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j‹…Œc.snd_soc_add_card_controls”†”asbuh1hhj¿…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¿…ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj(†h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¿…ubj9)�”}”(hŒcontrols”h]”hŒcontrols”…”�”}”(hj5†h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¿…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjI…ubjZ)�”}”(hŒint num_controls”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjN†h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJ†ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\†h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ†ubj9)�”}”(hŒ num_controls”h]”hŒ num_controls”…”�”}”(hjj†h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjI…ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj…h²hh³j"…h´MR ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj …h²hh³j"…h´MR ubah}”(h]”j…ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j"…h´MR hj …h²hubjv)�”}”(hhh]”j{)�”}”(hŒWadd an array of controls to a SoC card. Convenience function to add a list of controls.”h]”hŒWadd an array of controls to a SoC card. Convenience function to add a list of controls.”…”�”}”(hj”†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MR hj‘†h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj …h²hh³j"…h´MR ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¬†jšj¬†j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_card *soc_card`` SoC card to add controls to ``const struct snd_kcontrol_new *controls`` array of controls to add ``int num_controls`` number of elements in the array **Description** Return 0 for success, else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¶†h]”hŒ Parameters”…”�”}”(hj¸†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj´†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MV hj°†ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_soc_card *soc_card`` SoC card to add controls to ”h]”(jÊ)�”}”(hŒ!``struct snd_soc_card *soc_card``”h]”jÐ)�”}”(hjÕ†h]”hŒstruct snd_soc_card *soc_card”…”�”}”(hj׆h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÓ†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MU hjφubjæ)�”}”(hhh]”j{)�”}”(hŒSoC card to add controls to”h]”hŒSoC card to add controls to”…”�”}”(hjî†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jê†h´MU hjë†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjφubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jê†h´MU hj̆ubjÄ)�”}”(hŒE``const struct snd_kcontrol_new *controls`` array of controls to add ”h]”(jÊ)�”}”(hŒ+``const struct snd_kcontrol_new *controls``”h]”jÐ)�”}”(hj‡h]”hŒ'const struct snd_kcontrol_new *controls”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MV hj‡ubjæ)�”}”(hhh]”j{)�”}”(hŒarray of controls to add”h]”hŒarray of controls to add”…”�”}”(hj'‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j#‡h´MV hj$‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j#‡h´MV hj̆ubjÄ)�”}”(hŒ5``int num_controls`` number of elements in the array ”h]”(jÊ)�”}”(hŒ``int num_controls``”h]”jÐ)�”}”(hjG‡h]”hŒint num_controls”…”�”}”(hjI‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjE‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MW hjA‡ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of elements in the array”h]”hŒnumber of elements in the array”…”�”}”(hj`‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j\‡h´MW hj]‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjA‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j\‡h´MW hj̆ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj°†ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‚‡h]”hŒ Description”…”�”}”(hj„‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj€‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MY hj°†ubj{)�”}”(hŒ!Return 0 for success, else error.”h]”hŒ!Return 0 for success, else error.”…”�”}”(hj˜‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MX hj°†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_soc_add_dai_controls (C function)”Œc.snd_soc_add_dai_controls”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒqint snd_soc_add_dai_controls (struct snd_soc_dai *dai, const struct snd_kcontrol_new *controls, int num_controls)”h]”j )�”}”(hŒpint snd_soc_add_dai_controls(struct snd_soc_dai *dai, const struct snd_kcontrol_new *controls, int num_controls)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjLJh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÇh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mf ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÇh²hh³jÕ‡h´Mf ubj3)�”}”(hŒsnd_soc_add_dai_controls”h]”j9)�”}”(hŒsnd_soc_add_dai_controls”h]”hŒsnd_soc_add_dai_controls”…”�”}”(hjè‡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjä‡ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÇh²hh³jÕ‡h´Mf ubjT)�”}”(hŒT(struct snd_soc_dai *dai, const struct snd_kcontrol_new *controls, int num_controls)”h]”(jZ)�”}”(hŒstruct snd_soc_dai *dai”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_dai”h]”hŒ snd_soc_dai”…”�”}”(hj"ˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j$ˆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jê‡sbŒc.snd_soc_add_dai_controls”†”asbuh1hhjˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjPˆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjˆubj9)�”}”(hŒdai”h]”hŒdai”…”�”}”(hj]ˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjü‡ubjZ)�”}”(hŒ'const struct snd_kcontrol_new *controls”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjvˆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjrˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjrˆubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj‘ˆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjrˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžˆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjrˆubh)�”}”(hhh]”j9)�”}”(hŒsnd_kcontrol_new”h]”hŒsnd_kcontrol_new”…”�”}”(hj¯ˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬ˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j±ˆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j>ˆŒc.snd_soc_add_dai_controls”†”asbuh1hhjrˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj͈h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjrˆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÛˆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjrˆubj9)�”}”(hŒcontrols”h]”hŒcontrols”…”�”}”(hjèˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjrˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjü‡ubjZ)�”}”(hŒint num_controls”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjýˆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjýˆubj9)�”}”(hŒ num_controls”h]”hŒ num_controls”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjýˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjü‡ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÇh²hh³jÕ‡h´Mf ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¿‡h²hh³jÕ‡h´Mf ubah}”(h]”jº‡ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÕ‡h´Mf hj¼‡h²hubjv)�”}”(hhh]”j{)�”}”(hŒRadd an array of controls to a DAI. Convenience function to add a list of controls.”h]”hŒRadd an array of controls to a DAI. Convenience function to add a list of controls.”…”�”}”(hjG‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mf hjD‰h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¼‡h²hh³jÕ‡h´Mf ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j_‰jšj_‰j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒø**Parameters** ``struct snd_soc_dai *dai`` DAI to add controls to ``const struct snd_kcontrol_new *controls`` array of controls to add ``int num_controls`` number of elements in the array **Description** Return 0 for success, else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hji‰h]”hŒ Parameters”…”�”}”(hjk‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjg‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mj hjc‰ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dai *dai`` DAI to add controls to ”h]”(jÊ)�”}”(hŒ``struct snd_soc_dai *dai``”h]”jÐ)�”}”(hjˆ‰h]”hŒstruct snd_soc_dai *dai”…”�”}”(hjЉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj†‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mi hj‚‰ubjæ)�”}”(hhh]”j{)�”}”(hŒDAI to add controls to”h]”hŒDAI to add controls to”…”�”}”(hj¡‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�‰h´Mi hjž‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�‰h´Mi hj‰ubjÄ)�”}”(hŒE``const struct snd_kcontrol_new *controls`` array of controls to add ”h]”(jÊ)�”}”(hŒ+``const struct snd_kcontrol_new *controls``”h]”jÐ)�”}”(hjÁ‰h]”hŒ'const struct snd_kcontrol_new *controls”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¿‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mj hj»‰ubjæ)�”}”(hhh]”j{)�”}”(hŒarray of controls to add”h]”hŒarray of controls to add”…”�”}”(hjÚ‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÖ‰h´Mj hj׉ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj»‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÖ‰h´Mj hj‰ubjÄ)�”}”(hŒ5``int num_controls`` number of elements in the array ”h]”(jÊ)�”}”(hŒ``int num_controls``”h]”jÐ)�”}”(hjú‰h]”hŒint num_controls”…”�”}”(hjü‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjø‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mk hjô‰ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of elements in the array”h]”hŒnumber of elements in the array”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŠh´Mk hjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjô‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŠh´Mk hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjc‰ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj5Šh]”hŒ Description”…”�”}”(hj7Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj3Šubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mm hjc‰ubj{)�”}”(hŒ!Return 0 for success, else error.”h]”hŒ!Return 0 for success, else error.”…”�”}”(hjKŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Ml hjc‰ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_soc_register_card (C function)”Œc.snd_soc_register_card”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ5int snd_soc_register_card (struct snd_soc_card *card)”h]”j )�”}”(hŒ4int snd_soc_register_card(struct snd_soc_card *card)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjzŠh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjvŠh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mz ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰Šh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjvŠh²hh³jˆŠh´Mz ubj3)�”}”(hŒsnd_soc_register_card”h]”j9)�”}”(hŒsnd_soc_register_card”h]”hŒsnd_soc_register_card”…”�”}”(hj›Šh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—Šubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjvŠh²hh³jˆŠh´Mz ubjT)�”}”(hŒ(struct snd_soc_card *card)”h]”jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj·Šh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj³Šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄŠh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³Šubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjÕŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j׊Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j�ŠsbŒc.snd_soc_register_card”†”asbuh1hhj³Šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõŠh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³Šubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj³Šubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj³Šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¯Šubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjvŠh²hh³jˆŠh´Mz ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjrŠh²hh³jˆŠh´Mz ubah}”(h]”jmŠah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jˆŠh´Mz hjoŠh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Register a card with the ASoC core”h]”hŒ"Register a card with the ASoC core”…”�”}”(hj:‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mz hj7‹h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjoŠh²hh³jˆŠh´Mz ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jR‹jšjR‹j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒ@**Parameters** ``struct snd_soc_card *card`` Card to register”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj\‹h]”hŒ Parameters”…”�”}”(hj^‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjZ‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M~ hjV‹ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_soc_card *card`` Card to register”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hj{‹h]”hŒstruct snd_soc_card *card”…”�”}”(hj}‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjy‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M€ hju‹ubjæ)�”}”(hhh]”j{)�”}”(hŒCard to register”h]”hŒCard to register”…”�”}”(hj”‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M| hj‘‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhju‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�‹h´M€ hjr‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjV‹ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_unregister_card (C function)”Œc.snd_soc_unregister_card”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8void snd_soc_unregister_card (struct snd_soc_card *card)”h]”j )�”}”(hŒ7void snd_soc_unregister_card(struct snd_soc_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÕ‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÑ‹h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MŸ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÑ‹h²hh³jã‹h´MŸ ubj3)�”}”(hŒsnd_soc_unregister_card”h]”j9)�”}”(hŒsnd_soc_unregister_card”h]”hŒsnd_soc_unregister_card”…”�”}”(hjö‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjò‹ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÑ‹h²hh³jã‹h´MŸ ubjT)�”}”(hŒ(struct snd_soc_card *card)”h]”jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hj0Œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-Œubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j2ŒŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jø‹sbŒc.snd_soc_unregister_card”†”asbuh1hhjŒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj^Œh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŒubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjkŒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj Œubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÑ‹h²hh³jã‹h´MŸ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÍ‹h²hh³jã‹h´MŸ ubah}”(h]”jÈ‹ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jã‹h´MŸ hjÊ‹h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$Unregister a card with the ASoC core”h]”hŒ$Unregister a card with the ASoC core”…”�”}”(hj•Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MŸ hj’Œh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÊ‹h²hh³jã‹h´MŸ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j­Œjšj­Œj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒB**Parameters** ``struct snd_soc_card *card`` Card to unregister”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj·Œh]”hŒ Parameters”…”�”}”(hj¹Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjµŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M£ hj±Œubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``struct snd_soc_card *card`` Card to unregister”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hjÖŒh]”hŒstruct snd_soc_card *card”…”�”}”(hjØŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÔŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M¥ hjÐŒubjæ)�”}”(hhh]”j{)�”}”(hŒCard to unregister”h]”hŒCard to unregister”…”�”}”(hjïŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M¡ hjìŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÐŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jëŒh´M¥ hjÍŒubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj±Œubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_soc_register_dai (C function)”Œc.snd_soc_register_dai”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ‹struct snd_soc_dai * snd_soc_register_dai (struct snd_soc_component *component, struct snd_soc_dai_driver *dai_drv, bool legacy_dai_naming)”h]”j )�”}”(hŒ‰struct snd_soc_dai *snd_soc_register_dai(struct snd_soc_component *component, struct snd_soc_dai_driver *dai_drv, bool legacy_dai_naming)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj0�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj,�h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mû ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj,�h²hh³j=�h´Mû ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_dai”h]”hŒ snd_soc_dai”…”�”}”(hjO�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQ�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_register_dai”sbŒc.snd_soc_register_dai”†”asbuh1hhj,�h²hh³j=�h´Mû ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj,�h²hh³j=�h´Mû ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj~�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj,�h²hh³j=�h´Mû ubj3)�”}”(hŒsnd_soc_register_dai”h]”j9)�”}”(hjm�h]”hŒsnd_soc_register_dai”…”�”}”(hj��h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹�ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj,�h²hh³j=�h´Mû ubjT)�”}”(hŒa(struct snd_soc_component *component, struct snd_soc_dai_driver *dai_drv, bool legacy_dai_naming)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjª�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¦�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦�ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjÈ�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÅ�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÊ�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jk�Œc.snd_soc_register_dai”†”asbuh1hhj¦�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæ�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjô�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¦�ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¢�ubjZ)�”}”(hŒ"struct snd_soc_dai_driver *dai_drv”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Žh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dai_driver”h]”hŒsnd_soc_dai_driver”…”�”}”(hj8Žh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5Žubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j:ŽŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jk�Œc.snd_soc_register_dai”†”asbuh1hhjŽubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjdŽh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŽubj9)�”}”(hŒdai_drv”h]”hŒdai_drv”…”�”}”(hjqŽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¢�ubjZ)�”}”(hŒbool legacy_dai_naming”h]”(j)�”}”(hj_šh]”hŒbool”…”�”}”(hjŠŽh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†Žubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—Žh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†Žubj9)�”}”(hŒlegacy_dai_naming”h]”hŒlegacy_dai_naming”…”�”}”(hj¥Žh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†Žubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¢�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj,�h²hh³j=�h´Mû ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj(�h²hh³j=�h´Mû ubah}”(h]”j#�ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j=�h´Mû hj%�h²hubjv)�”}”(hhh]”j{)�”}”(hŒ/Register a DAI dynamically & create its widgets”h]”hŒ/Register a DAI dynamically & create its widgets”…”�”}”(•hjÏŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mû hjÌŽh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj%�h²hh³j=�h´Mû ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jçŽjšjçŽj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXâ**Parameters** ``struct snd_soc_component *component`` The component the DAIs are registered for ``struct snd_soc_dai_driver *dai_drv`` DAI driver to use for the DAI ``bool legacy_dai_naming`` if ``true``, use legacy single-name format; if ``false``, use multiple-name format; **Description** Topology can use this API to register DAIs when probing a component. These DAIs's widgets will be freed in the card cleanup and the DAIs will be freed in the component cleanup.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjñŽh]”hŒ Parameters”…”�”}”(hjóŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjïŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mÿ hjëŽubj¿)�”}”(hhh]”(jÄ)�”}”(hŒR``struct snd_soc_component *component`` The component the DAIs are registered for ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj�h]”hŒ#struct snd_soc_component *component”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mý hj �ubjæ)�”}”(hhh]”j{)�”}”(hŒ)The component the DAIs are registered for”h]”hŒ)The component the DAIs are registered for”…”�”}”(hj)�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j%�h´Mý hj&�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj �ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j%�h´Mý hj�ubjÄ)�”}”(hŒE``struct snd_soc_dai_driver *dai_drv`` DAI driver to use for the DAI ”h]”(jÊ)�”}”(hŒ&``struct snd_soc_dai_driver *dai_drv``”h]”jÐ)�”}”(hjI�h]”hŒ"struct snd_soc_dai_driver *dai_drv”…”�”}”(hjK�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjG�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mþ hjC�ubjæ)�”}”(hhh]”j{)�”}”(hŒDAI driver to use for the DAI”h]”hŒDAI driver to use for the DAI”…”�”}”(hjb�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^�h´Mþ hj_�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjC�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j^�h´Mþ hj�ubjÄ)�”}”(hŒo``bool legacy_dai_naming`` if ``true``, use legacy single-name format; if ``false``, use multiple-name format; ”h]”(jÊ)�”}”(hŒ``bool legacy_dai_naming``”h]”jÐ)�”}”(hj‚�h]”hŒbool legacy_dai_naming”…”�”}”(hj„�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hj|�ubjæ)�”}”(hhh]”j{)�”}”(hŒSif ``true``, use legacy single-name format; if ``false``, use multiple-name format;”h]”(hŒif ”…”�”}”(hj›�h²hh³Nh´NubjÐ)�”}”(hŒ``true``”h]”hŒtrue”…”�”}”(hj£�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj›�ubhŒ$, use legacy single-name format; if ”…”�”}”(hj›�h²hh³Nh´NubjÐ)�”}”(hŒ ``false``”h]”hŒfalse”…”�”}”(hjµ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj›�ubhŒ, use multiple-name format;”…”�”}”(hj›�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mÿ hj˜�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—�h´M hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjëŽubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjâ�h]”hŒ Description”…”�”}”(hjä�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjà�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjëŽubj{)�”}”(hŒ°Topology can use this API to register DAIs when probing a component. These DAIs's widgets will be freed in the card cleanup and the DAIs will be freed in the component cleanup.”h]”hŒ²Topology can use this API to register DAIs when probing a component. These DAIs’s widgets will be freed in the card cleanup and the DAIs will be freed in the component cleanup.”…”�”}”(hjø�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M hjëŽubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_unregister_dais (C function)”Œc.snd_soc_unregister_dais”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒBvoid snd_soc_unregister_dais (struct snd_soc_component *component)”h]”j )�”}”(hŒAvoid snd_soc_unregister_dais(struct snd_soc_component *component)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj'�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj#�h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M6 ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#�h²hh³j5�h´M6 ubj3)�”}”(hŒsnd_soc_unregister_dais”h]”j9)�”}”(hŒsnd_soc_unregister_dais”h]”hŒsnd_soc_unregister_dais”…”�”}”(hjH�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjD�ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj#�h²hh³j5�h´M6 ubjT)�”}”(hŒ%(struct snd_soc_component *component)”h]”jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjd�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj`�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`�ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj‚�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j„�Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jJ�sbŒc.snd_soc_unregister_dais”†”asbuh1hhj`�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj°�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj`�ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj½�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj\�ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj#�h²hh³j5�h´M6 ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�h²hh³j5�h´M6 ubah}”(h]”j�ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j5�h´M6 hj�h²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Unregister DAIs from the ASoC core”h]”hŒ"Unregister DAIs from the ASoC core”…”�”}”(hjç�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M6 hjä�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�h²hh³j5�h´M6 ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÿ�jšjÿ�j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒq**Parameters** ``struct snd_soc_component *component`` The component for which the DAIs should be unregistered”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj ‘h]”hŒ Parameters”…”�”}”(hj ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M: hj‘ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ_``struct snd_soc_component *component`` The component for which the DAIs should be unregistered”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj(‘h]”hŒ#struct snd_soc_component *component”…”�”}”(hj*‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj&‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M< hj"‘ubjæ)�”}”(hhh]”j{)�”}”(hŒ7The component for which the DAIs should be unregistered”h]”hŒ7The component for which the DAIs should be unregistered”…”�”}”(hjA‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´M8 hj>‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj"‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j=‘h´M< hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj‘ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_soc_register_dais (C function)”Œc.snd_soc_register_dais”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒqint snd_soc_register_dais (struct snd_soc_component *component, struct snd_soc_dai_driver *dai_drv, size_t count)”h]”j )�”}”(hŒpint snd_soc_register_dais(struct snd_soc_component *component, struct snd_soc_dai_driver *dai_drv, size_t count)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‚‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj~‘h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MC ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~‘h²hh³j�‘h´MC ubj3)�”}”(hŒsnd_soc_register_dais”h]”j9)�”}”(hŒsnd_soc_register_dais”h]”hŒsnd_soc_register_dais”…”�”}”(hj£‘h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸ‘ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj~‘h²hh³j�‘h´MC ubjT)�”}”(hŒW(struct snd_soc_component *component, struct snd_soc_dai_driver *dai_drv, size_t count)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¿‘h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj»‘ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌ‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»‘ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjÝ‘h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚ‘ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jß‘Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¥‘sbŒc.snd_soc_register_dais”†”asbuh1hhj»‘ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»‘ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj ’h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj»‘ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·‘ubjZ)�”}”(hŒ"struct snd_soc_dai_driver *dai_drv”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj1’h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj-’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-’ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dai_driver”h]”hŒsnd_soc_dai_driver”…”�”}”(hjO’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQ’Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jù‘Œc.snd_soc_register_dais”†”asbuh1hhj-’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-’ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj{’h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj-’ubj9)�”}”(hŒdai_drv”h]”hŒdai_drv”…”�”}”(hjˆ’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·‘ubjZ)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj¤’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¡’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¦’Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jù‘Œc.snd_soc_register_dais”†”asbuh1hhj�’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂ’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�’ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjÐ’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·‘ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj~‘h²hh³j�‘h´MC ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjz‘h²hh³j�‘h´MC ubah}”(h]”ju‘ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�‘h´MC hjw‘h²hubjv)�”}”(hhh]”j{)�”}”(hŒ!Register a DAI with the ASoC core”h]”hŒ!Register a DAI with the ASoC core”…”�”}”(hjú’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MC hj÷’h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjw‘h²hh³j�‘h´MC ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j“jšj“j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒÏ**Parameters** ``struct snd_soc_component *component`` The component the DAIs are registered for ``struct snd_soc_dai_driver *dai_drv`` DAI driver to use for the DAIs ``size_t count`` Number of DAIs”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj“h]”hŒ Parameters”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MG hj“ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒR``struct snd_soc_component *component`` The component the DAIs are registered for ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj;“h]”hŒ#struct snd_soc_component *component”…”�”}”(hj=“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj9“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´ME hj5“ubjæ)�”}”(hhh]”j{)�”}”(hŒ)The component the DAIs are registered for”h]”hŒ)The component the DAIs are registered for”…”�”}”(hjT“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jP“h´ME hjQ“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj5“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jP“h´ME hj2“ubjÄ)�”}”(hŒF``struct snd_soc_dai_driver *dai_drv`` DAI driver to use for the DAIs ”h]”(jÊ)�”}”(hŒ&``struct snd_soc_dai_driver *dai_drv``”h]”jÐ)�”}”(hjt“h]”hŒ"struct snd_soc_dai_driver *dai_drv”…”�”}”(hjv“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjr“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MF hjn“ubjæ)�”}”(hhh]”j{)�”}”(hŒDAI driver to use for the DAIs”h]”hŒDAI driver to use for the DAIs”…”�”}”(hj�“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‰“h´MF hjŠ“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjn“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰“h´MF hj2“ubjÄ)�”}”(hŒ``size_t count`` Number of DAIs”h]”(jÊ)�”}”(hŒ``size_t count``”h]”jÐ)�”}”(hj­“h]”hŒ size_t count”…”�”}”(hj¯“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj«“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MH hj§“ubjæ)�”}”(hhh]”j{)�”}”(hŒNumber of DAIs”h]”hŒNumber of DAIs”…”�”}”(hjÆ“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MG hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj§“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j“h´MH hj2“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj“ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ3snd_soc_unregister_component_by_driver (C function)”Œ(c.snd_soc_unregister_component_by_driver”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒyvoid snd_soc_unregister_component_by_driver (struct device *dev, const struct snd_soc_component_driver *component_driver)”h]”j )�”}”(hŒxvoid snd_soc_unregister_component_by_driver(struct device *dev, const struct snd_soc_component_driver *component_driver)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj”h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mü ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj”h²hh³j”h´Mü ubj3)�”}”(hŒ&snd_soc_unregister_component_by_driver”h]”j9)�”}”(hŒ&snd_soc_unregister_component_by_driver”h]”hŒ&snd_soc_unregister_component_by_driver”…”�”}”(hj(”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$”ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj”h²hh³j”h´Mü ubjT)�”}”(hŒM(struct device *dev, const struct snd_soc_component_driver *component_driver)”h]”(jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjD”h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj@”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj@”ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjb”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jd”Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j*”sbŒ(c.snd_soc_unregister_component_by_driver”†”asbuh1hhj@”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj@”ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�”h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj@”ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj�”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj@”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj<”ubjZ)�”}”(hŒ7const struct snd_soc_component_driver *component_driver”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj¶”h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj²”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²”ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjÑ”h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj²”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²”ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component_driver”h]”hŒsnd_soc_component_driver”…”�”}”(hjï”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjì”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jñ”Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j~”Œ(c.snd_soc_unregister_component_by_driver”†”asbuh1hhj²”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj •h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²”ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj²”ubj9)�”}”(hŒcomponent_driver”h]”hŒcomponent_driver”…”�”}”(hj(•h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj²”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj<”ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj”h²hh³j”h´Mü ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÿ“h²hh³j”h´Mü ubah}”(h]”jú“ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j”h´Mü hjü“h²hubjv)�”}”(hhh]”j{)�”}”(hŒšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-šubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjOšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQšŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jù™Œc.devm_snd_soc_register_card”†”asbuh1hhj-šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-šubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj{šh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj-šubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjˆšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·™ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj~™h²hh³j�™h´K5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjz™h²hh³j�™h´K5ubah}”(h]”ju™ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�™h´K5hjw™h²hubjv)�”}”(hhh]”j{)�”}”(hŒ"resource managed card registration”h]”hŒ"resource managed card registration”…”�”}”(hj²šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K5hj¯šh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjw™h²hh³j�™h´K5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÊšjšjÊšj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒÖ**Parameters** ``struct device *dev`` Device used to manage card ``struct snd_soc_card *card`` Card to register **Description** Register a card with automatic unregistration when the device is unregistered.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÔšh]”hŒ Parameters”…”�”}”(hjÖšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÒšubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K9hjΚubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``struct device *dev`` Device used to manage card ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjóšh]”hŒstruct device *dev”…”�”}”(hjõšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjñšubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K6hjíšubjæ)�”}”(hhh]”j{)�”}”(hŒDevice used to manage card”h]”hŒDevice used to manage card”…”�”}”(hj ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j›h´K6hj ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjíšubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j›h´K6hjêšubjÄ)�”}”(hŒ/``struct snd_soc_card *card`` Card to register ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hj,›h]”hŒstruct snd_soc_card *card”…”�”}”(hj.›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj*›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K7hj&›ubjæ)�”}”(hhh]”j{)�”}”(hŒCard to register”h]”hŒCard to register”…”�”}”(hjE›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jA›h´K7hjB›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj&›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jA›h´K7hjêšubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjΚubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjg›h]”hŒ Description”…”�”}”(hji›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hje›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K9hjΚubj{)�”}”(hŒNRegister a card with automatic unregistration when the device is unregistered.”h]”hŒNRegister a card with automatic unregistration when the device is unregistered.”…”�”}”(hj}›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K8hjΚubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,devm_snd_dmaengine_pcm_register (C function)”Œ!c.devm_snd_dmaengine_pcm_register”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ{int devm_snd_dmaengine_pcm_register (struct device *dev, const struct snd_dmaengine_pcm_config *config, unsigned int flags)”h]”j )�”}”(hŒzint devm_snd_dmaengine_pcm_register(struct device *dev, const struct snd_dmaengine_pcm_config *config, unsigned int flags)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¬›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¨›h²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨›h²hh³jº›h´KKubj3)�”}”(hŒdevm_snd_dmaengine_pcm_register”h]”j9)�”}”(hŒdevm_snd_dmaengine_pcm_register”h]”hŒdevm_snd_dmaengine_pcm_register”…”�”}”(hjÍ›h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÉ›ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¨›h²hh³jº›h´KKubjT)�”}”(hŒW(struct device *dev, const struct snd_dmaengine_pcm_config *config, unsigned int flags)”h]”(jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjé›h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjå›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö›h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjå›ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j œŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÏ›sbŒ!c.devm_snd_dmaengine_pcm_register”†”asbuh1hhjå›ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjå›ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj5œh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjå›ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjBœh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjå›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjá›ubjZ)�”}”(hŒ-const struct snd_dmaengine_pcm_config *config”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj[œh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjWœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWœubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjvœh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjWœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWœubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_pcm_config”h]”hŒsnd_dmaengine_pcm_config”…”�”}”(hj”œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘œubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j–œŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j#œŒ!c.devm_snd_dmaengine_pcm_register”†”asbuh1hhjWœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²œh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWœubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÀœh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjWœubj9)�”}”(hŒconfig”h]”hŒconfig”…”�”}”(hjÍœh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWœubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjá›ubjZ)�”}”(hŒunsigned int flags”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjæœh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjâœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâœubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjâœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâœubj9)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâœubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjá›ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¨›h²hh³jº›h´KKubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¤›h²hh³jº›h´KKubah}”(h]”jŸ›ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jº›h´KKhj¡›h²hubjv)�”}”(hhh]”j{)�”}”(hŒ+resource managed dmaengine PCM registration”h]”hŒ+resource managed dmaengine PCM registration”…”�”}”(hjH�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KKhjE�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¡›h²hh³jº›h´KKubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j`�jšj`�j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXP**Parameters** ``struct device *dev`` The parent device for the PCM device ``const struct snd_dmaengine_pcm_config *config`` Platform specific PCM configuration ``unsigned int flags`` Platform specific quirks **Description** Register a dmaengine based PCM device with automatic unregistration when the device is unregistered.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjj�h]”hŒ Parameters”…”�”}”(hjl�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjh�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KOhjd�ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct device *dev`` The parent device for the PCM device ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hj‰�h]”hŒstruct device *dev”…”�”}”(hj‹�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‡�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KLhjƒ�ubjæ)�”}”(hhh]”j{)�”}”(hŒ$The parent device for the PCM device”h]”hŒ$The parent device for the PCM device”…”�”}”(hj¢�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jž�h´KLhjŸ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjƒ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jž�h´KLhj€�ubjÄ)�”}”(hŒV``const struct snd_dmaengine_pcm_config *config`` Platform specific PCM configuration ”h]”(jÊ)�”}”(hŒ1``const struct snd_dmaengine_pcm_config *config``”h]”jÐ)�”}”(hjÂ�h]”hŒ-const struct snd_dmaengine_pcm_config *config”…”�”}”(hjÄ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÀ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KMhj¼�ubjæ)�”}”(hhh]”j{)�”}”(hŒ#Platform specific PCM configuration”h]”hŒ#Platform specific PCM configuration”…”�”}”(hjÛ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j×�h´KMhjØ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¼�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j×�h´KMhj€�ubjÄ)�”}”(hŒ0``unsigned int flags`` Platform specific quirks ”h]”(jÊ)�”}”(hŒ``unsigned int flags``”h]”jÐ)�”}”(hjû�h]”hŒunsigned int flags”…”�”}”(hjý�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjù�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KNhjõ�ubjæ)�”}”(hhh]”j{)�”}”(hŒPlatform specific quirks”h]”hŒPlatform specific quirks”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jžh´KNhjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jžh´KNhj€�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjd�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj6žh]”hŒ Description”…”�”}”(hj8žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4žubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KPhjd�ubj{)�”}”(hŒdRegister a dmaengine based PCM device with automatic unregistration when the device is unregistered.”h]”hŒdRegister a dmaengine based PCM device with automatic unregistration when the device is unregistered.”…”�”}”(hjLžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´KOhjd�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_component_set_sysclk (C function)”Œc.snd_soc_component_set_sysclk”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒzint snd_soc_component_set_sysclk (struct snd_soc_component *component, int clk_id, int source, unsigned int freq, int dir)”h]”j )�”}”(hŒyint snd_soc_component_set_sysclk(struct snd_soc_component *component, int clk_id, int source, unsigned int freq, int dir)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj{žh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjwžh²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´K^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠžh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjwžh²hh³j‰žh´K^ubj3)�”}”(hŒsnd_soc_component_set_sysclk”h]”j9)�”}”(hŒsnd_soc_component_set_sysclk”h]”hŒsnd_soc_component_set_sysclk”…”�”}”(hjœžh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˜žubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjwžh²hh³j‰žh´K^ubjT)�”}”(hŒY(struct snd_soc_component *component, int clk_id, int source, unsigned int freq, int dir)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¸žh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj´žubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅžh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´žubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjÖžh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓžubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jØžŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jžžsbŒc.snd_soc_component_set_sysclk”†”asbuh1hhj´žubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöžh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´žubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj´žubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj´žubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°žubjZ)�”}”(hŒ int clk_id”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj*Ÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj&Ÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8Ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&Ÿubj9)�”}”(hŒclk_id”h]”hŒclk_id”…”�”}”(hjFŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&Ÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°žubjZ)�”}”(hŒ int source”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj_Ÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[Ÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmŸh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[Ÿubj9)�”}”(hŒsource”h]”hŒsource”…”�”}”(hj{Ÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[Ÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°žubjZ)�”}”(hŒunsigned int freq”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj”Ÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�Ÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢Ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Ÿubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj°Ÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�Ÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾Ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Ÿubj9)�”}”(hŒfreq”h]”hŒfreq”…”�”}”(hjÌŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Ÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°žubjZ)�”}”(hŒint dir”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjåŸh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjáŸubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóŸh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjáŸubj9)�”}”(hŒdir”h]”hŒdir”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjáŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°žubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjwžh²hh³j‰žh´K^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjsžh²hh³j‰žh´K^ubah}”(h]”jnžah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‰žh´K^hjpžh²hubjv)�”}”(hhh]”j{)�”}”(hŒ+configure COMPONENT system or master clock.”h]”hŒ+configure COMPONENT system or master clock.”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´K^hj( h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjpžh²hh³j‰žh´K^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jC jšjC j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXJ**Parameters** ``struct snd_soc_component *component`` COMPONENT ``int clk_id`` DAI specific clock ID ``int source`` Source for the clock ``unsigned int freq`` new clock frequency in Hz ``int dir`` new clock direction - input/output. **Description** Configures the CODEC master (MCLK) or system (SYSCLK) clocking.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjM h]”hŒ Parameters”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjK ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KbhjG ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``struct snd_soc_component *component`` COMPONENT ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjl h]”hŒ#struct snd_soc_component *component”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´K_hjf ubjæ)�”}”(hhh]”j{)�”}”(hŒ COMPONENT”h]”hŒ COMPONENT”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j� h´K_hj‚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjf ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j� h´K_hjc ubjÄ)�”}”(hŒ%``int clk_id`` DAI specific clock ID ”h]”(jÊ)�”}”(hŒ``int clk_id``”h]”jÐ)�”}”(hj¥ h]”hŒ int clk_id”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj£ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´K`hjŸ ubjæ)�”}”(hhh]”j{)�”}”(hŒDAI specific clock ID”h]”hŒDAI specific clock ID”…”�”}”(hj¾ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jº h´K`hj» ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŸ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jº h´K`hjc ubjÄ)�”}”(hŒ$``int source`` Source for the clock ”h]”(jÊ)�”}”(hŒ``int source``”h]”jÐ)�”}”(hjÞ h]”hŒ int source”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÜ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KahjØ ubjæ)�”}”(hhh]”j{)�”}”(hŒSource for the clock”h]”hŒSource for the clock”…”�”}”(hj÷ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jó h´Kahjô ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjØ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jó h´Kahjc ubjÄ)�”}”(hŒ0``unsigned int freq`` new clock frequency in Hz ”h]”(jÊ)�”}”(hŒ``unsigned int freq``”h]”jÐ)�”}”(hj¡h]”hŒunsigned int freq”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Kbhj¡ubjæ)�”}”(hhh]”j{)�”}”(hŒnew clock frequency in Hz”h]”hŒnew clock frequency in Hz”…”�”}”(hj0¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j,¡h´Kbhj-¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j,¡h´Kbhjc ubjÄ)�”}”(hŒ0``int dir`` new clock direction - input/output. ”h]”(jÊ)�”}”(hŒ ``int dir``”h]”jÐ)�”}”(hjP¡h]”hŒint dir”…”�”}”(hjR¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjN¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KchjJ¡ubjæ)�”}”(hhh]”j{)�”}”(hŒ#new clock direction - input/output.”h]”hŒ#new clock direction - input/output.”…”�”}”(hji¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³je¡h´Kchjf¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjJ¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³je¡h´Kchjc ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjG ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‹¡h]”hŒ Description”…”�”}”(hj�¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‰¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KehjG ubj{)�”}”(hŒ?Configures the CODEC master (MCLK) or system (SYSCLK) clocking.”h]”hŒ?Configures the CODEC master (MCLK) or system (SYSCLK) clocking.”…”�”}”(hj¡¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KdhjG ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_soc_component_set_jack (C function)”Œc.snd_soc_component_set_jack”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒkint snd_soc_component_set_jack (struct snd_soc_component *component, struct snd_soc_jack *jack, void *data)”h]”j )�”}”(hŒjint snd_soc_component_set_jack(struct snd_soc_component *component, struct snd_soc_jack *jack, void *data)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjСh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÌ¡h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÐubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß¡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ¡h²hh³jÞ¡h´KÐubj3)�”}”(hŒsnd_soc_component_set_jack”h]”j9)�”}”(hŒsnd_soc_component_set_jack”h]”hŒsnd_soc_component_set_jack”…”�”}”(hjñ¡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjí¡ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÌ¡h²hh³jÞ¡h´KÐubjT)�”}”(hŒL(struct snd_soc_component *component, struct snd_soc_jack *jack, void *data)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj ¢h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ¢ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ¢ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj+¢h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj(¢ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j-¢Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jó¡sbŒc.snd_soc_component_set_jack”†”asbuh1hhj ¢ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ¢ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjY¢h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ¢ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjf¢h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¢ubjZ)�”}”(hŒstruct snd_soc_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj{¢ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{¢ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_jack”h]”hŒ snd_soc_jack”…”�”}”(hj�¢h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjš¢ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŸ¢Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jG¢Œc.snd_soc_component_set_jack”†”asbuh1hhj{¢ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{¢ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÉ¢h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj{¢ubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjÖ¢h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¢ubjZ)�”}”(hŒ void *data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjï¢h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjë¢ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjë¢ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj £h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjë¢ubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjë¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÌ¡h²hh³jÞ¡h´KÐubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÈ¡h²hh³jÞ¡h´KÐubah}”(h]”jáah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÞ¡h´KÐhjÅ¡h²hubjv)�”}”(hhh]”j{)�”}”(hŒconfigure component jack.”h]”hŒconfigure component jack.”…”�”}”(hjB£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÐhj?£h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÅ¡h²hh³jÞ¡h´KÐubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jZ£jšjZ£j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_component *component`` COMPONENTs ``struct snd_soc_jack *jack`` structure to use for the jack ``void *data`` can be used if codec driver need extra data for configuring jack **Description** Configures and enables jack detection function.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjd£h]”hŒ Parameters”…”�”}”(hjf£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjb£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÔhj^£ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_component *component`` COMPONENTs ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjƒ£h]”hŒ#struct snd_soc_component *component”…”�”}”(hj…£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÑhj}£ubjæ)�”}”(hhh]”j{)�”}”(hŒ COMPONENTs”h]”hŒ COMPONENTs”…”�”}”(hjœ£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j˜£h´KÑhj™£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜£h´KÑhjz£ubjÄ)�”}”(hŒ<``struct snd_soc_jack *jack`` structure to use for the jack ”h]”(jÊ)�”}”(hŒ``struct snd_soc_jack *jack``”h]”jÐ)�”}”(hj¼£h]”hŒstruct snd_soc_jack *jack”…”�”}”(hj¾£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjº£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÒhj¶£ubjæ)�”}”(hhh]”j{)�”}”(hŒstructure to use for the jack”h]”hŒstructure to use for the jack”…”�”}”(hjÕ£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÑ£h´KÒhjÒ£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¶£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÑ£h´KÒhjz£ubjÄ)�”}”(hŒP``void *data`` can be used if codec driver need extra data for configuring jack ”h]”(jÊ)�”}”(hŒ``void *data``”h]”jÐ)�”}”(hjõ£h]”hŒ void *data”…”�”}”(hj÷£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjó£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÓhjï£ubjæ)�”}”(hhh]”j{)�”}”(hŒ@can be used if codec driver need extra data for configuring jack”h]”hŒ@can be used if codec driver need extra data for configuring jack”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j ¤h´KÓhj ¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjï£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j ¤h´KÓhjz£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj^£ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj0¤h]”hŒ Description”…”�”}”(hj2¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj.¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÕhj^£ubj{)�”}”(hŒ/Configures and enables jack detection function.”h]”hŒ/Configures and enables jack detection function.”…”�”}”(hjF¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÔhj^£ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,snd_soc_component_get_jack_type (C function)”Œ!c.snd_soc_component_get_jack_type”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIint snd_soc_component_get_jack_type (struct snd_soc_component *component)”h]”j )�”}”(hŒHint snd_soc_component_get_jack_type(struct snd_soc_component *component)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hju¤h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjq¤h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Käubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq¤h²hh³jƒ¤h´Käubj3)�”}”(hŒsnd_soc_component_get_jack_type”h]”j9)�”}”(hŒsnd_soc_component_get_jack_type”h]”hŒsnd_soc_component_get_jack_type”…”�”}”(hj–¤h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’¤ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjq¤h²hh³jƒ¤h´KäubjT)�”}”(hŒ%(struct snd_soc_component *component)”h]”jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj²¤h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj®¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®¤ubh)�”}”(hhh]”j9)�”}”(•hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjФh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjͤubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÒ¤Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j˜¤sbŒ!c.snd_soc_component_get_jack_type”†”asbuh1hhj®¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®¤ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjþ¤h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj®¤ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj ¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjª¤ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjq¤h²hh³jƒ¤h´Käubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjm¤h²hh³jƒ¤h´Käubah}”(h]”jh¤ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jƒ¤h´Kähjj¤h²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjj¤h²hh³jƒ¤h´Käubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j>¥jšj>¥j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒÝ**Parameters** ``struct snd_soc_component *component`` COMPONENTs **Description** Returns the jack type of the component This can either be the supported type or one read from devicetree with the property: jack-type.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjH¥h]”hŒ Parameters”…”�”}”(hjJ¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjF¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KèhjB¥ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ3``struct snd_soc_component *component`` COMPONENTs ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjg¥h]”hŒ#struct snd_soc_component *component”…”�”}”(hji¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhje¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Kåhja¥ubjæ)�”}”(hhh]”j{)�”}”(hŒ COMPONENTs”h]”hŒ COMPONENTs”…”�”}”(hj€¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|¥h´Kåhj}¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhja¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|¥h´Kåhj^¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjB¥ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¢¥h]”hŒ Description”…”�”}”(hj¤¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KçhjB¥ubj{)�”}”(hŒ†Returns the jack type of the component This can either be the supported type or one read from devicetree with the property: jack-type.”h]”hŒ†Returns the jack type of the component This can either be the supported type or one read from devicetree with the property: jack-type.”…”�”}”(hj¸¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KæhjB¥ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_component_init_regmap (C function)”Œc.snd_soc_component_init_regmap”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_void snd_soc_component_init_regmap (struct snd_soc_component *component, struct regmap *regmap)”h]”j )�”}”(hŒ^void snd_soc_component_init_regmap(struct snd_soc_component *component, struct regmap *regmap)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjç¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjã¥h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö¥h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjã¥h²hh³jõ¥h´M�ubj3)�”}”(hŒsnd_soc_component_init_regmap”h]”j9)�”}”(hŒsnd_soc_component_init_regmap”h]”hŒsnd_soc_component_init_regmap”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjã¥h²hh³jõ¥h´M�ubjT)�”}”(hŒ<(struct snd_soc_component *component, struct regmap *regmap)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj$¦h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ¦ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjB¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jD¦Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j ¦sbŒc.snd_soc_component_init_regmap”†”asbuh1hhj ¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ¦ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjp¦h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ¦ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj}¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¦ubjZ)�”}”(hŒstruct regmap *regmap”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj–¦h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj’¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’¦ubh)�”}”(hhh]”j9)�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hj´¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¶¦Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j^¦Œc.snd_soc_component_init_regmap”†”asbuh1hhj’¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’¦ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjà¦h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj’¦ubj9)�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hjí¦h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¦ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjã¥h²hh³jõ¥h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjߥh²hh³jõ¥h´M�ubah}”(h]”jÚ¥ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jõ¥h´M�hjÜ¥h²hubjv)�”}”(hhh]”j{)�”}”(hŒ,Initialize regmap instance for the component”h]”hŒ,Initialize regmap instance for the component”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M�hj§h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÜ¥h²hh³jõ¥h´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j/§jšj/§j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXé**Parameters** ``struct snd_soc_component *component`` The component for which to initialize the regmap instance ``struct regmap *regmap`` The regmap instance that should be used by the component **Description** This function allows deferred assignment of the regmap instance that is associated with the component. Only use this if the regmap instance is not yet ready when the component is registered. The function must also be called before the first IO attempt of the component.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj9§h]”hŒ Parameters”…”�”}”(hj;§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj7§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M”hj3§ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒb``struct snd_soc_component *component`` The component for which to initialize the regmap instance ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjX§h]”hŒ#struct snd_soc_component *component”…”�”}”(hjZ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjV§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M’hjR§ubjæ)�”}”(hhh]”j{)�”}”(hŒ9The component for which to initialize the regmap instance”h]”hŒ9The component for which to initialize the regmap instance”…”�”}”(hjq§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jm§h´M’hjn§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjR§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jm§h´M’hjO§ubjÄ)�”}”(hŒS``struct regmap *regmap`` The regmap instance that should be used by the component ”h]”(jÊ)�”}”(hŒ``struct regmap *regmap``”h]”jÐ)�”}”(hj‘§h]”hŒstruct regmap *regmap”…”�”}”(hj“§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M“hj‹§ubjæ)�”}”(hhh]”j{)�”}”(hŒ8The regmap instance that should be used by the component”h]”hŒ8The regmap instance that should be used by the component”…”�”}”(hjª§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¦§h´M“hj§§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‹§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¦§h´M“hjO§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj3§ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj̧h]”hŒ Description”…”�”}”(hjΧh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjʧubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M•hj3§ubj{)�”}”(hX This function allows deferred assignment of the regmap instance that is associated with the component. Only use this if the regmap instance is not yet ready when the component is registered. The function must also be called before the first IO attempt of the component.”h]”hX This function allows deferred assignment of the regmap instance that is associated with the component. Only use this if the regmap instance is not yet ready when the component is registered. The function must also be called before the first IO attempt of the component.”…”�”}”(hjâ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M”hj3§ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_component_exit_regmap (C function)”Œc.snd_soc_component_exit_regmap”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒHvoid snd_soc_component_exit_regmap (struct snd_soc_component *component)”h]”j )�”}”(hŒGvoid snd_soc_component_exit_regmap(struct snd_soc_component *component)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ¨h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M¢ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ¨h²hh³j¨h´M¢ubj3)�”}”(hŒsnd_soc_component_exit_regmap”h]”j9)�”}”(hŒsnd_soc_component_exit_regmap”h]”hŒsnd_soc_component_exit_regmap”…”�”}”(hj2¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.¨ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj ¨h²hh³j¨h´M¢ubjT)�”}”(hŒ%(struct snd_soc_component *component)”h]”jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjN¨h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjJ¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ¨ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjl¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hji¨ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jn¨Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j4¨sbŒc.snd_soc_component_exit_regmap”†”asbuh1hhjJ¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ¨h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ¨ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjš¨h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjJ¨ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj§¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ¨ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjF¨ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj ¨h²hh³j¨h´M¢ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj ¨h²hh³j¨h´M¢ubah}”(h]”j¨ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¨h´M¢hj¨h²hubjv)�”}”(hhh]”j{)�”}”(hŒ/De-initialize regmap instance for the component”h]”hŒ/De-initialize regmap instance for the component”…”�”}”(hjѨh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M¢hjΨh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¨h²hh³j¨h´M¢ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jé¨jšjé¨j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXu**Parameters** ``struct snd_soc_component *component`` The component for which to de-initialize the regmap instance **Description** Calls regmap_exit() on the regmap instance associated to the component and removes the regmap instance from the component. This function should only be used if snd_soc_component_init_regmap() was used to initialize the regmap instance.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjó¨h]”hŒ Parameters”…”�”}”(hjõ¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjñ¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M¦hjí¨ubj¿)�”}”(hhh]”jÄ)�”}”(hŒe``struct snd_soc_component *component`` The component for which to de-initialize the regmap instance ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj©h]”hŒ#struct snd_soc_component *component”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M¤hj ©ubjæ)�”}”(hhh]”j{)�”}”(hŒ``struct snd_soc_component *component`` Component to write to ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjk­h]”hŒ#struct snd_soc_component *component”…”�”}”(hjm­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhji­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mæhje­ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to write to”h]”hŒComponent to write to”…”�”}”(hj„­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€­h´Mæhj�­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€­h´Mæhjb­ubjÄ)�”}”(hŒ'``unsigned int reg`` Register to write ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hj¤­h]”hŒunsigned int reg”…”�”}”(hj¦­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mçhjž­ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to write”h]”hŒRegister to write”…”�”}”(hj½­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹­h´Mçhjº­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjž­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹­h´Mçhjb­ubjÄ)�”}”(hŒ4``unsigned int val`` Value to write to the register ”h]”(jÊ)�”}”(hŒ``unsigned int val``”h]”jÐ)�”}”(hjÝ­h]”hŒunsigned int val”…”�”}”(hjß­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛ­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mèhj×­ubjæ)�”}”(hhh]”j{)�”}”(hŒValue to write to the register”h]”hŒValue to write to the register”…”�”}”(hjö­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jò­h´Mèhjó­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jò­h´Mèhjb­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjF­ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj®h]”hŒReturn”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MêhjF­ubj{)�”}”(hŒ.0 on success, a negative error code otherwise.”h]”hŒ.0 on success, a negative error code otherwise.”…”�”}”(hj.®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MêhjF­ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_component_update_bits (C function)”Œc.snd_soc_component_update_bits”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~int snd_soc_component_update_bits (struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”j )�”}”(hŒ}int snd_soc_component_update_bits(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj]®h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY®h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY®h²hh³jk®h´Mubj3)�”}”(hŒsnd_soc_component_update_bits”h]”j9)�”}”(hŒsnd_soc_component_update_bits”h]”hŒsnd_soc_component_update_bits”…”�”}”(hj~®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjz®ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjY®h²hh³jk®h´MubjT)�”}”(hŒ\(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjš®h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj–®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–®ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj¸®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµ®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jº®Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j€®sbŒc.snd_soc_component_update_bits”†”asbuh1hhj–®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØ®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–®ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjæ®h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj–®ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjó®h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj’®ubjZ)�”}”(hŒunsigned int reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj ¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¯ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj(¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¯ubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjD¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj’®ubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj]¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY¯ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjy¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY¯ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj•¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjY¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj’®ubjZ)�”}”(hŒunsigned int val”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj®¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjª¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjª¯ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjʯh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjª¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjدh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjª¯ubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hjæ¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjª¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj’®ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjY®h²hh³jk®h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjU®h²hh³jk®h´Mubah}”(h]”jP®ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jk®h´MhjR®h²hubjv)�”}”(hhh]”j{)�”}”(hŒPerform read/modify/write cycle”h]”hŒPerform read/modify/write cycle”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhj °h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjR®h²hh³jk®h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j(°jšj(°j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX»**Parameters** ``struct snd_soc_component *component`` Component to update ``unsigned int reg`` Register to update ``unsigned int mask`` Mask that specifies which bits to update ``unsigned int val`` New value for the bits specified by mask **Return** 1 if the operation was successful and the value of the register changed, 0 if the operation was successful, but the value did not change. Returns a negative error code otherwise.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj2°h]”hŒ Parameters”…”�”}”(hj4°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhj,°ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct snd_soc_component *component`` Component to update ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjQ°h]”hŒ#struct snd_soc_component *component”…”�”}”(hjS°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjO°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MhjK°ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to update”h]”hŒComponent to update”…”�”}”(hjj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jf°h´Mhjg°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjK°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jf°h´MhjH°ubjÄ)�”}”(hŒ(``unsigned int reg`` Register to update ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjаh]”hŒunsigned int reg”…”�”}”(hjŒ°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjˆ°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhj„°ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to update”h]”hŒRegister to update”…”�”}”(hj£°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŸ°h´Mhj °ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj„°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŸ°h´MhjH°ubjÄ)�”}”(hŒ?``unsigned int mask`` Mask that specifies which bits to update ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hjðh]”hŒunsigned int mask”…”�”}”(hjŰh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÁ°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhj½°ubjæ)�”}”(hhh]”j{)�”}”(hŒ(Mask that specifies which bits to update”h]”hŒ(Mask that specifies which bits to update”…”�”}”(hjܰh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jذh´MhjÙ°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj½°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jذh´MhjH°ubjÄ)�”}”(hŒ>``unsigned int val`` New value for the bits specified by mask ”h]”(jÊ)�”}”(hŒ``unsigned int val``”h]”jÐ)�”}”(hjü°h]”hŒunsigned int val”…”�”}”(hjþ°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjú°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhjö°ubjæ)�”}”(hhh]”j{)�”}”(hŒ(New value for the bits specified by mask”h]”hŒ(New value for the bits specified by mask”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j±h´Mhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjö°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j±h´MhjH°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj,°ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj7±h]”hŒReturn”…”�”}”(hj9±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhj,°ubj{)�”}”(hŒ²1 if the operation was successful and the value of the register changed, 0 if the operation was successful, but the value did not change. Returns a negative error code otherwise.”h]”hŒ²1 if the operation was successful and the value of the register changed, 0 if the operation was successful, but the value did not change. Returns a negative error code otherwise.”…”�”}”(hjM±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mhj,°ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ0snd_soc_component_update_bits_async (C function)”Œ%c.snd_soc_component_update_bits_async”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ„int snd_soc_component_update_bits_async (struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”j )�”}”(hŒƒint snd_soc_component_update_bits_async(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj|±h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjx±h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjx±h²hh³jбh´M-ubj3)�”}”(hŒ#snd_soc_component_update_bits_async”h]”j9)�”}”(hŒ#snd_soc_component_update_bits_async”h]”hŒ#snd_soc_component_update_bits_async”…”�”}”(hj�±h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™±ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjx±h²hh³jбh´M-ubjT)�”}”(hŒ\(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¹±h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjµ±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƱh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjµ±ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj×±h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔ±ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÙ±Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jŸ±sbŒ%c.snd_soc_component_update_bits_async”†”asbuh1hhjµ±ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjµ±ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjµ±ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµ±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj±±ubjZ)�”}”(hŒunsigned int reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj+²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'²ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjG²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'²ubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjc²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj±±ubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj|²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjx²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjвh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjx²ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj˜²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjx²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjx²ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj´²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjx²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj±±ubjZ)�”}”(hŒunsigned int val”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjͲh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjɲubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjɲubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjé²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjɲubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjɲubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjɲubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj±±ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjx±h²hh³jбh´M-ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjt±h²hh³jбh´M-ubah}”(h]”jo±ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jбh´M-hjq±h²hubjv)�”}”(hhh]”j{)�”}”(hŒ,Perform asynchronous read/modify/write cycle”h]”hŒ,Perform asynchronous read/modify/write cycle”…”�”}”(hj/³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M-hj,³h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjq±h²hh³jбh´M-ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jG³jšjG³j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXí**Parameters** ``struct snd_soc_component *component`` Component to update ``unsigned int reg`` Register to update ``unsigned int mask`` Mask that specifies which bits to update ``unsigned int val`` New value for the bits specified by mask **Description** This function is similar to snd_soc_component_update_bits(), but the update operation is scheduled asynchronously. This means it may not be completed when the function returns. To make sure that all scheduled updates have been completed snd_soc_component_async_complete() must be called. **Return** 1 if the operation was successful and the value of the register changed, 0 if the operation was successful, but the value did not change. Returns a negative error code otherwise.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjQ³h]”hŒ Parameters”…”�”}”(hjS³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjO³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M1hjK³ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct snd_soc_component *component`` Component to update ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjp³h]”hŒ#struct snd_soc_component *component”…”�”}”(hjr³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjn³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M/hjj³ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to update”h]”hŒComponent to update”…”�”}”(hj‰³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j…³h´M/hj†³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j…³h´M/hjg³ubjÄ)�”}”(hŒ(``unsigned int reg`` Register to update ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hj©³h]”hŒunsigned int reg”…”�”}”(hj«³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj§³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M0hj£³ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to update”h]”hŒRegister to update”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¾³h´M0hj¿³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj£³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¾³h´M0hjg³ubjÄ)�”}”(hŒ?``unsigned int mask`` Mask that specifies which bits to update ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hjâ³h]”hŒunsigned int mask”…”�”}”(hjä³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjà³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M1hjܳubjæ)�”}”(hhh]”j{)�”}”(hŒ(Mask that specifies which bits to update”h]”hŒ(Mask that specifies which bits to update”…”�”}”(hjû³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j÷³h´M1hjø³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjܳubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j÷³h´M1hjg³ubjÄ)�”}”(hŒ>``unsigned int val`` New value for the bits specified by mask ”h]”(jÊ)�”}”(hŒ``unsigned int val``”h]”jÐ)�”}”(hj´h]”hŒunsigned int val”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M2hj´ubjæ)�”}”(hhh]”j{)�”}”(hŒ(New value for the bits specified by mask”h]”hŒ(New value for the bits specified by mask”…”�”}”(hj4´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j0´h´M2hj1´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j0´h´M2hjg³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjK³ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjV´h]”hŒ Description”…”�”}”(hjX´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjT´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M4hjK³ubj{)�”}”(hXThis function is similar to snd_soc_component_update_bits(), but the update operation is scheduled asynchronously. This means it may not be completed when the function returns. To make sure that all scheduled updates have been completed snd_soc_component_async_complete() must be called.”h]”hXThis function is similar to snd_soc_component_update_bits(), but the update operation is scheduled asynchronously. This means it may not be completed when the function returns. To make sure that all scheduled updates have been completed snd_soc_component_async_complete() must be called.”…”�”}”(hjl´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M3hjK³ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj}´h]”hŒReturn”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj{´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M8hjK³ubj{)�”}”(hŒ²1 if the operation was successful and the value of the register changed, 0 if the operation was successful, but the value did not change. Returns a negative error code otherwise.”h]”hŒ²1 if the operation was successful and the value of the register changed, 0 if the operation was successful, but the value did not change. Returns a negative error code otherwise.”…”�”}”(hj“´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M9hjK³ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_component_read_field (C function)”Œc.snd_soc_component_read_field”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒtunsigned int snd_soc_component_read_field (struct snd_soc_component *component, unsigned int reg, unsigned int mask)”h]”j )�”}”(hŒsunsigned int snd_soc_component_read_field(struct snd_soc_component *component, unsigned int reg, unsigned int mask)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾´h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M]ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾´h²hh³jдh´M]ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjß´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾´h²hh³jдh´M]ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾´h²hh³jдh´M]ubj3)�”}”(hŒsnd_soc_component_read_field”h]”j9)�”}”(hŒsnd_soc_component_read_field”h]”hŒsnd_soc_component_read_field”…”�”}”(hjÿ´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjû´ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¾´h²hh³jдh´M]ubjT)�”}”(hŒJ(struct snd_soc_component *component, unsigned int reg, unsigned int mask)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(µh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjµubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj9µh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6µubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;µŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jµsbŒc.snd_soc_component_read_field”†”asbuh1hhjµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjµubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgµh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjµubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjtµh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjµubjZ)�”}”(hŒunsigned int reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj�µh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰µubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›µh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰µubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj©µh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰µubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·µh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰µubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjŵh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰µubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjµubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÞµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚµubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjúµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚµubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚµubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjµubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¾´h²hh³jдh´M]ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjº´h²hh³jдh´M]ubah}”(h]”jµ´ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jдh´M]hj·´h²hubjv)�”}”(hhh]”j{)�”}”(hŒRead register field value”h]”hŒRead register field value”…”�”}”(hj@¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M]hj=¶h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj·´h²hh³jдh´M]ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jX¶jšjX¶j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒØ**Parameters** ``struct snd_soc_component *component`` Component to read from ``unsigned int reg`` Register to read ``unsigned int mask`` mask of the register field **Return** read value of register field.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjb¶h]”hŒ Parameters”…”�”}”(hjd¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj`¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mahj\¶ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ?``struct snd_soc_component *component`` Component to read from ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj�¶h]”hŒ#struct snd_soc_component *component”…”�”}”(hjƒ¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M^hj{¶ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to read from”h]”hŒComponent to read from”…”�”}”(hjš¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–¶h´M^hj—¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–¶h´M^hjx¶ubjÄ)�”}”(hŒ&``unsigned int reg`` Register to read ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjº¶h]”hŒunsigned int reg”…”�”}”(hj¼¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¸¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M_hj´¶ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to read”h]”hŒRegister to read”…”�”}”(hjÓ¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j϶h´M_hjжubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj´¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j϶h´M_hjx¶ubjÄ)�”}”(hŒ1``unsigned int mask`` mask of the register field ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hjó¶h]”hŒunsigned int mask”…”�”}”(hjõ¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjñ¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M`hjí¶ubjæ)�”}”(hhh]”j{)�”}”(hŒmask of the register field”h]”hŒmask of the register field”…”�”}”(hj ·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j·h´M`hj ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjí¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j·h´M`hjx¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj\¶ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj.·h]”hŒReturn”…”�”}”(hj0·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj,·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mbhj\¶ubj{)�”}”(hŒread value of register field.”h]”hŒread value of register field.”…”�”}”(hjD·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mbhj\¶ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_component_write_field (C function)”Œc.snd_soc_component_write_field”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~int snd_soc_component_write_field (struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”j )�”}”(hŒ}int snd_soc_component_write_field(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjs·h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjo·h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mrubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo·h²hh³j�·h´Mrubj3)�”}”(hŒsnd_soc_component_write_field”h]”j9)�”}”(hŒsnd_soc_component_write_field”h]”hŒsnd_soc_component_write_field”…”�”}”(hj”·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�·ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjo·h²hh³j�·h´MrubjT)�”}”(hŒ\(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int val)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj°·h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¬·ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬·ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjηh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjË·ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jзŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j–·sbŒc.snd_soc_component_write_field”†”asbuh1hhj¬·ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬·ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjü·h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¬·ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj ¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¨·ubjZ)�”}”(hŒunsigned int reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj"¸h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj>¸h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸ubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjZ¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¨·ubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjs¸h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjo¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo¸ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj�¸h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjo¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjo¸ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj«¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjo¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¨·ubjZ)�”}”(hŒunsigned int val”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjĸh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÀ¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ¸ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjà¸h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÀ¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀ¸ubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hjü¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀ¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¨·ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjo·h²hh³j�·h´Mrubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjk·h²hh³j�·h´Mrubah}”(h]”jf·ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�·h´Mrhjh·h²hubjv)�”}”(hhh]”j{)�”}”(hŒwrite to register field”h]”hŒwrite to register field”…”�”}”(hj&¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mrhj#¹h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh·h²hh³j�·h´Mrubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j>¹jšj>¹j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_component *component`` Component to write to ``unsigned int reg`` Register to write ``unsigned int mask`` mask of the register field to update ``unsigned int val`` value of the field to write **Return** 1 for change, otherwise 0.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjH¹h]”hŒ Parameters”…”�”}”(hjJ¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjF¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MvhjB¹ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_soc_component *component`` Component to write to ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjg¹h]”hŒ#struct snd_soc_component *component”…”�”}”(hji¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhje¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mshja¹ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to write to”h]”hŒComponent to write to”…”�”}”(hj€¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|¹h´Mshj}¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhja¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|¹h´Mshj^¹ubjÄ)�”}”(hŒ'``unsigned int reg`` Register to write ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hj ¹h]”hŒunsigned int reg”…”�”}”(hj¢¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjž¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mthjš¹ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to write”h]”hŒRegister to write”…”�”}”(hj¹¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jµ¹h´Mthj¶¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjš¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jµ¹h´Mthj^¹ubjÄ)�”}”(hŒ;``unsigned int mask`` mask of the register field to update ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hjÙ¹h]”hŒunsigned int mask”…”�”}”(hjÛ¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj×¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MuhjÓ¹ubjæ)�”}”(hhh]”j{)�”}”(hŒ$mask of the register field to update”h]”hŒ$mask of the register field to update”…”�”}”(hjò¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jî¹h´Muhjï¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÓ¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jî¹h´Muhj^¹ubjÄ)�”}”(hŒ1``unsigned int val`` value of the field to write ”h]”(jÊ)�”}”(hŒ``unsigned int val``”h]”jÐ)�”}”(hjºh]”hŒunsigned int val”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mvhj ºubjæ)�”}”(hhh]”j{)�”}”(hŒvalue of the field to write”h]”hŒvalue of the field to write”…”�”}”(hj+ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j'ºh´Mvhj(ºubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ºubeh}”(h]”h ]”•h"]”h$]”h&]”uh1jÃh³j'ºh´Mvhj^¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjB¹ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjMºh]”hŒReturn”…”�”}”(hjOºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjKºubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MxhjB¹ubj{)�”}”(hŒ1 for change, otherwise 0.”h]”hŒ1 for change, otherwise 0.”…”�”}”(hjcºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MxhjB¹ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ-snd_soc_component_async_complete (C function)”Œ"c.snd_soc_component_async_complete”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒKvoid snd_soc_component_async_complete (struct snd_soc_component *component)”h]”j )�”}”(hŒJvoid snd_soc_component_async_complete(struct snd_soc_component *component)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj’ºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŽºh²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M†ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡ºh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŽºh²hh³j ºh´M†ubj3)�”}”(hŒ snd_soc_component_async_complete”h]”j9)�”}”(hŒ snd_soc_component_async_complete”h]”hŒ snd_soc_component_async_complete”…”�”}”(hj³ºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¯ºubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjŽºh²hh³j ºh´M†ubjT)�”}”(hŒ%(struct snd_soc_component *component)”h]”jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjϺh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj˺ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjܺh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj˺ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjíºh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jﺌmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jµºsbŒ"c.snd_soc_component_async_complete”†”asbuh1hhj˺ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj »h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj˺ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj˺ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj(»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˺ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjǺubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjŽºh²hh³j ºh´M†ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjŠºh²hh³j ºh´M†ubah}”(h]”j…ºah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j ºh´M†hj‡ºh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Ensure asynchronous I/O has completed”h]”hŒ%Ensure asynchronous I/O has completed”…”�”}”(hjR»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M†hjO»h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj‡ºh²hh³j ºh´M†ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jj»jšjj»j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒö**Parameters** ``struct snd_soc_component *component`` Component for which to wait **Description** This function blocks until all asynchronous I/O which has previously been scheduled using snd_soc_component_update_bits_async() has completed.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjt»h]”hŒ Parameters”…”�”}”(hjv»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjr»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MŠhjn»ubj¿)�”}”(hhh]”jÄ)�”}”(hŒD``struct snd_soc_component *component`` Component for which to wait ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj“»h]”hŒ#struct snd_soc_component *component”…”�”}”(hj•»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‘»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M‡hj�»ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent for which to wait”h]”hŒComponent for which to wait”…”�”}”(hj¬»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¨»h´M‡hj©»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¨»h´M‡hjŠ»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjn»ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjλh]”hŒ Description”…”�”}”(hjлh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÌ»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M‰hjn»ubj{)�”}”(hŒŽThis function blocks until all asynchronous I/O which has previously been scheduled using snd_soc_component_update_bits_async() has completed.”h]”hŒŽThis function blocks until all asynchronous I/O which has previously been scheduled using snd_soc_component_update_bits_async() has completed.”…”�”}”(hjä»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mˆhjn»ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_component_test_bits (C function)”Œc.snd_soc_component_test_bits”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~int snd_soc_component_test_bits (struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int value)”h]”j )�”}”(hŒ}int snd_soc_component_test_bits(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¼h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼h²hh³j!¼h´M”ubj3)�”}”(hŒsnd_soc_component_test_bits”h]”j9)�”}”(hŒsnd_soc_component_test_bits”h]”hŒsnd_soc_component_test_bits”…”�”}”(hj4¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0¼ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¼h²hh³j!¼h´M”ubjT)�”}”(hŒ^(struct snd_soc_component *component, unsigned int reg, unsigned int mask, unsigned int value)”h]”(jZ)�”}”(hŒ#struct snd_soc_component *component”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjP¼h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjL¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjL¼ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjn¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjk¼ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jp¼Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j6¼sbŒc.snd_soc_component_test_bits”†”asbuh1hhjL¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj޼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjL¼ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjœ¼h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjL¼ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj©¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjH¼ubjZ)�”}”(hŒunsigned int reg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjмh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾¼ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞ¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¾¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾¼ubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjú¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjH¼ubjZ)�”}”(hŒunsigned int mask”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj/½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjK½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjH¼ubjZ)�”}”(hŒunsigned int value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjd½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj`½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr½h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`½ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj€½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj`½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj޽h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`½ubj9)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjœ½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjH¼ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¼h²hh³j!¼h´M”ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj ¼h²hh³j!¼h´M”ubah}”(h]”j¼ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j!¼h´M”hj¼h²hubjv)�”}”(hhh]”j{)�”}”(hŒTest register for change”h]”hŒTest register for change”…”�”}”(hjƽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M”hjýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¼h²hh³j!¼h´M”ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÞ½jšjÞ½j›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXu**Parameters** ``struct snd_soc_component *component`` component ``unsigned int reg`` Register to test ``unsigned int mask`` Mask that specifies which bits to test ``unsigned int value`` Value to test against **Description** Tests a register with a new value and checks if the new value is different from the old value. **Return** 1 for change, otherwise 0.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjè½h]”hŒ Parameters”…”�”}”(hjê½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjæ½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M˜hjâ½ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``struct snd_soc_component *component`` component ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hj¾h]”hŒ#struct snd_soc_component *component”…”�”}”(hj ¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M•hj¾ubjæ)�”}”(hhh]”j{)�”}”(hŒ component”h]”hŒ component”…”�”}”(hj ¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¾h´M•hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¾h´M•hjþ½ubjÄ)�”}”(hŒ&``unsigned int reg`` Register to test ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hj@¾h]”hŒunsigned int reg”…”�”}”(hjB¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M–hj:¾ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to test”h]”hŒRegister to test”…”�”}”(hjY¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU¾h´M–hjV¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU¾h´M–hjþ½ubjÄ)�”}”(hŒ=``unsigned int mask`` Mask that specifies which bits to test ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hjy¾h]”hŒunsigned int mask”…”�”}”(hj{¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M—hjs¾ubjæ)�”}”(hhh]”j{)�”}”(hŒ&Mask that specifies which bits to test”h]”hŒ&Mask that specifies which bits to test”…”�”}”(hj’¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j޾h´M—hj�¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjs¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j޾h´M—hjþ½ubjÄ)�”}”(hŒ-``unsigned int value`` Value to test against ”h]”(jÊ)�”}”(hŒ``unsigned int value``”h]”jÐ)�”}”(hj²¾h]”hŒunsigned int value”…”�”}”(hj´¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj°¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M˜hj¬¾ubjæ)�”}”(hhh]”j{)�”}”(hŒValue to test against”h]”hŒValue to test against”…”�”}”(hj˾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jǾh´M˜hjȾubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¬¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jǾh´M˜hjþ½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjâ½ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjí¾h]”hŒ Description”…”�”}”(hjï¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjë¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mšhjâ½ubj{)�”}”(hŒ^Tests a register with a new value and checks if the new value is different from the old value.”h]”hŒ^Tests a register with a new value and checks if the new value is different from the old value.”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M™hjâ½ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¿h]”hŒReturn”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mœhjâ½ubj{)�”}”(hŒ1 for change, otherwise 0.”h]”hŒ1 for change, otherwise 0.”…”�”}”(hj*¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M�hjâ½ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_soc_runtime_action (C function)”Œc.snd_soc_runtime_action”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒUvoid snd_soc_runtime_action (struct snd_soc_pcm_runtime *rtd, int stream, int action)”h]”j )�”}”(hŒTvoid snd_soc_runtime_action(struct snd_soc_pcm_runtime *rtd, int stream, int action)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjY¿h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjU¿h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M\ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjU¿h²hh³jg¿h´M\ubj3)�”}”(hŒsnd_soc_runtime_action”h]”j9)�”}”(hŒsnd_soc_runtime_action”h]”hŒsnd_soc_runtime_action”…”�”}”(hjz¿h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjv¿ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjU¿h²hh³jg¿h´M\ubjT)�”}”(hŒ9(struct snd_soc_pcm_runtime *rtd, int stream, int action)”h]”(jZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj–¿h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj’¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’¿ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hj´¿h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±¿ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¶¿Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j|¿sbŒc.snd_soc_runtime_action”†”asbuh1hhj’¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’¿ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjâ¿h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj’¿ubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hjï¿h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŽ¿ubjZ)�”}”(hŒ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÀubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÀubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj$Àh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŽ¿ubjZ)�”}”(hŒ int action”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj=Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj9Àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKÀh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9Àubj9)�”}”(hŒaction”h]”hŒaction”…”�”}”(hjYÀh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9Àubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŽ¿ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjU¿h²hh³jg¿h´M\ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjQ¿h²hh³jg¿h´M\ubah}”(h]”jL¿ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jg¿h´M\hjN¿h²hubjv)�”}”(hhh]”j{)�”}”(hŒ;Increment/Decrement active count for PCM runtime components”h]”hŒ;Increment/Decrement active count for PCM runtime components”…”�”}”(hjƒÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M\hj€Àh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjN¿h²hh³jg¿h´M\ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j›Àjšj›Àj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX¡**Parameters** ``struct snd_soc_pcm_runtime *rtd`` ASoC PCM runtime that is activated ``int stream`` Direction of the PCM stream ``int action`` Activate stream if 1. Deactivate if -1. **Description** Increments/Decrements the active count for all the DAIs and components attached to a PCM runtime. Should typically be called when a stream is opened. Must be called with the rtd->card->pcm_mutex being held”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¥Àh]”hŒ Parameters”…”�”}”(hj§Àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj£Àubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M`hjŸÀubj¿)�”}”(hhh]”(jÄ)�”}”(hŒG``struct snd_soc_pcm_runtime *rtd`` ASoC PCM runtime that is activated ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hjÄÀh]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjÆÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÂÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M^hj¾Àubjæ)�”}”(hhh]”j{)�”}”(hŒ"ASoC PCM runtime that is activated”h]”hŒ"ASoC PCM runtime that is activated”…”�”}”(hjÝÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÙÀh´M^hjÚÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¾Àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÙÀh´M^hj»ÀubjÄ)�”}”(hŒ+``int stream`` Direction of the PCM stream ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hjýÀh]”hŒ int stream”…”�”}”(hjÿÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjûÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M_hj÷Àubjæ)�”}”(hhh]”j{)�”}”(hŒDirection of the PCM stream”h]”hŒDirection of the PCM stream”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÁh´M_hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj÷Àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÁh´M_hj»ÀubjÄ)�”}”(hŒ7``int action`` Activate stream if 1. Deactivate if -1. ”h]”(jÊ)�”}”(hŒ``int action``”h]”jÐ)�”}”(hj6Áh]”hŒ int action”…”�”}”(hj8Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj4Áubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M`hj0Áubjæ)�”}”(hhh]”j{)�”}”(hŒ'Activate stream if 1. Deactivate if -1.”h]”hŒ'Activate stream if 1. Deactivate if -1.”…”�”}”(hjOÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jKÁh´M`hjLÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj0Áubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jKÁh´M`hj»Àubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŸÀubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjqÁh]”hŒ Description”…”�”}”(hjsÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjoÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MbhjŸÀubj{)�”}”(hŒ•Increments/Decrements the active count for all the DAIs and components attached to a PCM runtime. Should typically be called when a stream is opened.”h]”hŒ•Increments/Decrements the active count for all the DAIs and components attached to a PCM runtime. Should typically be called when a stream is opened.”…”�”}”(hj‡Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MahjŸÀubj{)�”}”(hŒ7Must be called with the rtd->card->pcm_mutex being held”h]”hŒ7Must be called with the rtd->card->pcm_mutex being held”…”�”}”(hj–Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MehjŸÀubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ/snd_soc_runtime_ignore_pmdown_time (C function)”Œ$c.snd_soc_runtime_ignore_pmdown_time”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIbool snd_soc_runtime_ignore_pmdown_time (struct snd_soc_pcm_runtime *rtd)”h]”j )�”}”(hŒHbool snd_soc_runtime_ignore_pmdown_time(struct snd_soc_pcm_runtime *rtd)”h]”(j)�”}”(hj_šh]”hŒbool”…”�”}”(hjÅÁh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÁÁh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓÁh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁÁh²hh³jÒÁh´M~ubj3)�”}”(hŒ"snd_soc_runtime_ignore_pmdown_time”h]”j9)�”}”(hŒ"snd_soc_runtime_ignore_pmdown_time”h]”hŒ"snd_soc_runtime_ignore_pmdown_time”…”�”}”(hjåÁh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjáÁubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÁÁh²hh³jÒÁh´M~ubjT)�”}”(hŒ!(struct snd_soc_pcm_runtime *rtd)”h]”jZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjýÁubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjýÁubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j!ÂŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jçÁsbŒ$c.snd_soc_runtime_ignore_pmdown_time”†”asbuh1hhjýÁubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?Âh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjýÁubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjMÂh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjýÁubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hjZÂh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjýÁubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjùÁubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÁÁh²hh³jÒÁh´M~ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj½Áh²hh³jÒÁh´M~ubah}”(h]”j¸Áah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÒÁh´M~hjºÁh²hubjv)�”}”(hhh]”j{)�”}”(hŒ,Check whether to ignore the power down delay”h]”hŒ,Check whether to ignore the power down delay”…”�”}”(hj„Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M~hj�Âh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjºÁh²hh³jÒÁh´M~ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jœÂjšjœÂj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXj**Parameters** ``struct snd_soc_pcm_runtime *rtd`` The ASoC PCM runtime that should be checked. **Description** This function checks whether the power down delay should be ignored for a specific PCM runtime. Returns true if the delay is 0, if the DAI link has been configured to ignore the delay, or if none of the components benefits from having the delay.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¦Âh]”hŒ Parameters”…”�”}”(hj¨Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¤Âubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M‚hj Âubj¿)�”}”(hhh]”jÄ)�”}”(hŒQ``struct snd_soc_pcm_runtime *rtd`` The ASoC PCM runtime that should be checked. ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hjÅÂh]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjÇÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÃÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´Mhj¿Âubjæ)�”}”(hhh]”j{)�”}”(hŒ,The ASoC PCM runtime that should be checked.”h]”hŒ,The ASoC PCM runtime that should be checked.”…”�”}”(hjÞÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚÂh´MhjÛÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿Âubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚÂh´Mhj¼Âubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Âubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÃh]”hŒ Description”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjþÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M�hj Âubj{)�”}”(hŒõThis function checks whether the power down delay should be ignored for a specific PCM runtime. Returns true if the delay is 0, if the DAI link has been configured to ignore the delay, or if none of the components benefits from having the delay.”h]”hŒõThis function checks whether the power down delay should be ignored for a specific PCM runtime. Returns true if the delay is 0, if the DAI link has been configured to ignore the delay, or if none of the components benefits from having the delay.”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´M€hj Âubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_runtime_calc_hw (C function)”Œc.snd_soc_runtime_calc_hw”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒfint snd_soc_runtime_calc_hw (struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hardware *hw, int stream)”h]”j )�”}”(hŒeint snd_soc_runtime_calc_hw(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hardware *hw, int stream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjEÃh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjAÃh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´Mßubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTÃh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjAÃh²hh³jSÃh´Mßubj3)�”}”(hŒsnd_soc_runtime_calc_hw”h]”j9)�”}”(hŒsnd_soc_runtime_calc_hw”h]”hŒsnd_soc_runtime_calc_hw”…”�”}”(hjfÃh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbÃubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjAÃh²hh³jSÃh´MßubjT)�”}”(hŒJ(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hardware *hw, int stream)”h]”(jZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‚Ãh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj~Ãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Ãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~Ãubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hj Ãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Ãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¢ÃŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jhÃsbŒc.snd_soc_runtime_calc_hw”†”asbuh1hhj~Ãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀÃh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~Ãubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÎÃh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj~Ãubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hjÛÃh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~Ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjzÃubjZ)�”}”(hŒstruct snd_pcm_hardware *hw”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjôÃh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjðÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðÃubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hardware”h]”hŒsnd_pcm_hardware”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÄŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¼ÃŒc.snd_soc_runtime_calc_hw”†”asbuh1hhjðÃubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Äh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðÃubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj>Äh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjðÃubj9)�”}”(hŒhw”h]”hŒhw”…”�”}”(hjKÄh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðÃubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjzÃubjZ)�”}”(hŒ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjdÄh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj`Äubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrÄh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`Äubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj€Äh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`Äubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjzÃubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjAÃh²hh³jSÃh´Mßubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj=Ãh²hh³jSÃh´Mßubah}”(h]”j8Ãah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jSÃh´Mßhj:Ãh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$Calculate hw limits for a PCM stream”h]”hŒ$Calculate hw limits for a PCM stream”…”�”}”(hjªÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´Mßhj§Äh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj:Ãh²hh³jSÃh´Mßubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÂÄjšjÂÄj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX+**Parameters** ``struct snd_soc_pcm_runtime *rtd`` ASoC PCM runtime ``struct snd_pcm_hardware *hw`` PCM hardware parameters (output) ``int stream`` Direction of the PCM stream **Description** Calculates the subset of stream parameters supported by all DAIs associated with the PCM stream.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÌÄh]”hŒ Parameters”…”�”}”(hjÎÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÊÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MãhjÆÄubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ5``struct snd_soc_pcm_runtime *rtd`` ASoC PCM runtime ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hjëÄh]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjíÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjéÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MàhjåÄubjæ)�”}”(hhh]”j{)�”}”(hŒASoC PCM runtime”h]”hŒASoC PCM runtime”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÅh´MàhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjåÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÅh´MàhjâÄubjÄ)�”}”(hŒA``struct snd_pcm_hardware *hw`` PCM hardware parameters (output) ”h]”(jÊ)�”}”(hŒ``struct snd_pcm_hardware *hw``”h]”jÐ)�”}”(hj$Åh]”hŒstruct snd_pcm_hardware *hw”…”�”}”(hj&Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj"Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MáhjÅubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM hardware parameters (output)”h]”hŒ PCM hardware parameters (output)”…”�”}”(hj=Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9Åh´Máhj:Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9Åh´MáhjâÄubjÄ)�”}”(hŒ+``int stream`` Direction of the PCM stream ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hj]Åh]”hŒ int stream”…”�”}”(hj_Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj[Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MâhjWÅubjæ)�”}”(hhh]”j{)�”}”(hŒDirection of the PCM stream”h]”hŒDirection of the PCM stream”…”�”}”(hjvÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jrÅh´MâhjsÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjWÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jrÅh´MâhjâÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÆÄubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj˜Åh]”hŒ Description”…”�”}”(hjšÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj–Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MähjÆÄubj{)�”}”(hŒ`Calculates the subset of stream parameters supported by all DAIs associated with the PCM stream.”h]”hŒ`Calculates the subset of stream parameters supported by all DAIs associated with the PCM stream.”…”�”}”(hj®Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:103: ./sound/soc/soc-pcm.c”h´MãhjÆÄubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_soc_info_enum_double (C function)”Œc.snd_soc_info_enum_double”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ]int snd_soc_info_enum_double (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒ\int snd_soc_info_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÝÅh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÙÅh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìÅh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÙÅh²hh³jëÅh´Kubj3)�”}”(hŒsnd_soc_info_enum_double”h]”j9)�”}”(hŒsnd_soc_info_enum_double”h]”hŒsnd_soc_info_enum_double”…”�”}”(hjþÅh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjúÅubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÙÅh²hh³jëÅh´KubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÆubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj8Æh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5Æubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j:ÆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÆsbŒc.snd_soc_info_enum_double”†”asbuh1hhjÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjfÆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÆubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjsÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÆubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŒÆh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjˆÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆÆubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hjªÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§Æubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¬ÆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jTÆŒc.snd_soc_info_enum_double”†”asbuh1hhjˆÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆÆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÖÆh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjˆÆubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hjãÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆÆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÆubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÙÅh²hh³jëÅh´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÕÅh²hh³jëÅh´Kubah}”(h]”jÐÅah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jëÅh´KhjÒÅh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%enumerated double mixer info callback”h]”hŒ%enumerated double mixer info callback”…”�”}”(hj Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Khj Çh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÒÅh²hh³jëÅh´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j%Çjšj%Çj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒ÷**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_info *uinfo`` control element information **Description** Callback to provide information about a double enumerated mixer control. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj/Çh]”hŒ Parameters”…”�”}”(hj1Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj-Çubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K"hj)Çubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjNÇh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjPÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjLÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KhjHÇubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjgÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jcÇh´KhjdÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjHÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jcÇh´KhjEÇubjÄ)�”}”(hŒ@``struct snd_ctl_elem_info *uinfo`` control element information ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hj‡Çh]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hj‰Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…Çubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K hj�Çubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœÇh´K hj�Çubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœÇh´K hjEÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj)Çubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÂÇh]”hŒ Description”…”�”}”(hjÄÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÀÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K"hj)Çubj{)�”}”(hŒHCallback to provide information about a double enumerated mixer control.”h]”hŒHCallback to provide information about a double enumerated mixer control.”…”�”}”(hjØÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K!hj)Çubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjçÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K$hj)Çubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_get_enum_double (C function)”Œc.snd_soc_get_enum_double”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`int snd_soc_get_enum_double (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒ_int snd_soc_get_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÈh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÈh²hh³j$Èh´K2ubj3)�”}”(hŒsnd_soc_get_enum_double”h]”j9)�”}”(hŒsnd_soc_get_enum_double”h]”hŒsnd_soc_get_enum_double”…”�”}”(hj7Èh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Èubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÈh²hh³j$Èh´K2ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjSÈh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjOÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOÈubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjqÈh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjnÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jsÈŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j9ÈsbŒc.snd_soc_get_enum_double”†”asbuh1hhjOÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOÈubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸÈh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjOÈubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj¬Èh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKÈubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÅÈh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÁÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒÈh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁÈubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjãÈh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjàÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jåÈŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j�ÈŒc.snd_soc_get_enum_double”†”asbuh1hhjÁÈubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁÈubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÁÈubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKÈubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÈh²hh³j$Èh´K2ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÈh²hh³j$Èh´K2ubah}”(h]”j Èah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j$Èh´K2hj Èh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$enumerated double mixer get callback”h]”hŒ$enumerated double mixer get callback”…”�”}”(hjFÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K2hjCÉh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj Èh²hh³j$Èh´K2ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j^Éjšj^Éj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒê**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to get the value of a double enumerated mixer. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjhÉh]”hŒ Parameters”…”�”}”(hjjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjfÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K6hjbÉubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj‡Éh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj‰Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…Éubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K3hj�Éubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœÉh´K3hj�Éubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Éubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœÉh´K3hj~ÉubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjÀÉh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjÂÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾Éubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K4hjºÉubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjÙÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÕÉh´K4hjÖÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjºÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕÉh´K4hj~Éubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjbÉubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjûÉh]”hŒ Description”…”�”}”(hjýÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjùÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K6hjbÉubj{)�”}”(hŒ7Callback to get the value of a double enumerated mixer.”h]”hŒ7Callback to get the value of a double enumerated mixer.”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K5hjbÉubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´K7hjbÉubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_put_enum_double (C function)”Œc.snd_soc_put_enum_double”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`int snd_soc_put_enum_double (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒ_int snd_soc_put_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjOÊh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjKÊh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^Êh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjKÊh²hh³j]Êh´KQubj3)�”}”(hŒsnd_soc_put_enum_double”h]”j9)�”}”(hŒsnd_soc_put_enum_double”h]”hŒsnd_soc_put_enum_double”…”�”}”(hjpÊh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjlÊubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjKÊh²hh³j]Êh´KQubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjŒÊh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjˆÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Êh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆÊubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjªÊh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§Êubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¬ÊŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jrÊsbŒc.snd_soc_put_enum_double”†”asbuh1hhjˆÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊÊh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆÊubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjØÊh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjˆÊubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjåÊh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆÊubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj„ÊubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjþÊh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjúÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjúÊubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjËubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jËŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÆÊŒc.snd_soc_put_enum_double”†”asbuh1hhjúÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjúÊubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjHËh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjúÊubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjUËh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjúÊubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj„Êubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjKÊh²hh³j]Êh´KQubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjGÊh²hh³j]Êh´KQubah}”(h]”jBÊah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j]Êh´KQhjDÊh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$enumerated double mixer put callback”h]”hŒ$enumerated double mixer put callback”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KQhj|Ëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjDÊh²hh³j]Êh´KQubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j—Ëjšj—Ëj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒê**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to set the value of a double enumerated mixer. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¡Ëh]”hŒ Parameters”…”�”}”(hj£Ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŸËubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KUhj›Ëubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjÀËh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjÂËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾Ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KRhjºËubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjÙËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÕËh´KRhjÖËubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjºËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕËh´KRhj·ËubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjùËh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjûËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj÷Ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KShjóËubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÌh´KShjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjóËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÌh´KShj·Ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj›Ëubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj4Ìh]”hŒ Description”…”�”}”(hj6Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj2Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KUhj›Ëubj{)�”}”(hŒ7Callback to set the value of a double enumerated mixer.”h]”hŒ7Callback to set the value of a double enumerated mixer.”…”�”}”(hjJÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KThj›Ëubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjYÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´KVhj›Ëubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_info_volsw (C function)”Œc.snd_soc_info_volsw”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWint snd_soc_info_volsw (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒVint snd_soc_info_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjˆÌh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj„Ìh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—Ìh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„Ìh²hh³j–Ìh´Mubj3)�”}”(hŒsnd_soc_info_volsw”h]”j9)�”}”(hŒsnd_soc_info_volsw”h]”hŒsnd_soc_info_volsw”…”�”}”(hj©Ìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¥Ìubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj„Ìh²hh³j–Ìh´MubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÅÌh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÁÌubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒÌh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁÌubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjãÌh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjàÌubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jåÌŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j«ÌsbŒc.snd_soc_info_volsw”†”asbuh1hhjÁÌubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁÌubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÁÌubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁÌubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj½ÌubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj7Íh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj3Íubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3Íubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hjUÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjRÍubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jWÍŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÿÌŒc.snd_soc_info_volsw”†”asbuh1hhj3Íubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3Íubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�Íh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj3Íubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hjŽÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Íubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj½Ìubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj„Ìh²hh³j–Ìh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj€Ìh²hh³j–Ìh´Mubah}”(h]”j{Ìah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j–Ìh´Mhj}Ìh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&single mixer info callback with range.”h]”hŒ&single mixer info callback with range.”…”�”}”(hj¸Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MhjµÍh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj}Ìh²hh³j–Ìh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÐÍjšjÐÍj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX-**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_info *uinfo`` control element information **Description** Callback to provide information, with a range, about a single mixer control, or a double mixer control that spans 2 registers. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÚÍh]”hŒ Parameters”…”�”}”(hjÜÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjØÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MhjÔÍubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjùÍh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjûÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj÷Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MhjóÍubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÎh´MhjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjóÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÎh´MhjðÍubjÄ)�”}”(hŒ@``struct snd_ctl_elem_info *uinfo`` control element information ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hj2Îh]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hj4Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0Îubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhj,Îubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjKÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jGÎh´MhjHÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,Îubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jGÎh´MhjðÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÔÍubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjmÎh]”hŒ Description”…”�”}”(hjoÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MhjÔÍubj{)�”}”(hŒ~Callback to provide information, with a range, about a single mixer control, or a double mixer control that spans 2 registers.”h]”hŒ~Callback to provide information, with a range, about a single mixer control, or a double mixer control that spans 2 registers.”…”�”}”(hjƒÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MhjÔÍubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj’Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MhjÔÍubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_soc_info_volsw_sx (C function)”Œc.snd_soc_info_volsw_sx”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_info_volsw_sx (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒYint snd_soc_info_volsw_sx(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÁÎh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj½Îh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐÎh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½Îh²hh³jÏÎh´M-ubj3)�”}”(hŒsnd_soc_info_volsw_sx”h]”j9)�”}”(hŒsnd_soc_info_volsw_sx”h]”hŒsnd_soc_info_volsw_sx”…”�”}”(hjâÎh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞÎubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj½Îh²hh³jÏÎh´M-ubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjþÎh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjúÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjúÎubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÏubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÏŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jäÎsbŒc.snd_soc_info_volsw_sx”†”asbuh1hhjúÎubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<Ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjúÎubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjJÏh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjúÎubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjWÏh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjúÎubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjöÎubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjpÏh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjlÏubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}Ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjlÏubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hjŽÏh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹Ïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�ÏŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j8ÏŒc.snd_soc_info_volsw_sx”†”asbuh1hhjlÏubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Ïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjlÏubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjºÏh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjlÏub•j9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hjÇÏh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjlÏubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjöÎubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj½Îh²hh³jÏÎh´M-ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¹Îh²hh³jÏÎh´M-ubah}”(h]”j´Îah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÏÎh´M-hj¶Îh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'Mixer info callback for SX TLV controls”h]”hŒ'Mixer info callback for SX TLV controls”…”�”}”(hjñÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M-hjîÏh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¶Îh²hh³jÏÎh´M-ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j Ðjšj Ðj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hXë**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_info *uinfo`` control element information **Description** Callback to provide information about a single mixer control, or a double mixer control that spans 2 registers of the SX TLV type. SX TLV controls have a range that represents both positive and negative values either side of zero but without a sign bit. min is the minimum register value, max is the number of steps. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÐh]”hŒ Parameters”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M1hj Ðubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj2Ðh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj4Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M.hj,Ðubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjKÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jGÐh´M.hjHÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,Ðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jGÐh´M.hj)ÐubjÄ)�”}”(hŒ@``struct snd_ctl_elem_info *uinfo`` control element information ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hjkÐh]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hjmÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjiÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M/hjeÐubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj„Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€Ðh´M/hj�Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjeÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€Ðh´M/hj)Ðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Ðubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¦Ðh]”hŒ Description”…”�”}”(hj¨Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¤Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M1hj Ðubj{)�”}”(hX<Callback to provide information about a single mixer control, or a double mixer control that spans 2 registers of the SX TLV type. SX TLV controls have a range that represents both positive and negative values either side of zero but without a sign bit. min is the minimum register value, max is the number of steps.”h]”hX<Callback to provide information about a single mixer control, or a double mixer control that spans 2 registers of the SX TLV type. SX TLV controls have a range that represents both positive and negative values either side of zero but without a sign bit. min is the minimum register value, max is the number of steps.”…”�”}”(hj¼Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M0hj Ðubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjËÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M6hj Ðubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_get_volsw (C function)”Œc.snd_soc_get_volsw”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_get_volsw (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒYint snd_soc_get_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjúÐh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjöÐh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ñh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöÐh²hh³jÑh´MDubj3)�”}”(hŒsnd_soc_get_volsw”h]”j9)�”}”(hŒsnd_soc_get_volsw”h]”hŒsnd_soc_get_volsw”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÑubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjöÐh²hh³jÑh´MDubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj7Ñh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj3Ñubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDÑh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3Ñubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjUÑh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjRÑubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jWÑŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÑsbŒc.snd_soc_get_volsw”†”asbuh1hhj3Ñubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuÑh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3Ñubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjƒÑh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj3Ñubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj�Ñh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Ñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj/ÑubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj©Ñh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¥Ñubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶Ñh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥Ñubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjÇÑh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄÑubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÉÑŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jqÑŒc.snd_soc_get_volsw”†”asbuh1hhj¥Ñubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåÑh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥Ñubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjóÑh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¥Ñubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¥Ñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj/Ñubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjöÐh²hh³jÑh´MDubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjòÐh²hh³jÑh´MDubah}”(h]”jíÐah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÑh´MDhjïÐh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$single mixer get callback with range”h]”hŒ$single mixer get callback with range”…”�”}”(hj*Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MDhj'Òh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjïÐh²hh³jÑh´MDubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jBÒjšjBÒj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX***Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to get the value, within a range, of a single mixer control, or a double mixer control that spans 2 registers. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjLÒh]”hŒ Parameters”…”�”}”(hjNÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MHhjFÒubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjkÒh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjmÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjiÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MEhjeÒubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj„Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€Òh´MEhj�Òubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjeÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€Òh´MEhjbÒubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hj¤Òh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj¦Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢Òubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MFhjžÒubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj½Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹Òh´MFhjºÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjžÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹Òh´MFhjbÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjFÒubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjßÒh]”hŒ Description”…”�”}”(hjáÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÝÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MHhjFÒubj{)�”}”(hŒwCallback to get the value, within a range, of a single mixer control, or a double mixer control that spans 2 registers.”h]”hŒwCallback to get the value, within a range, of a single mixer control, or a double mixer control that spans 2 registers.”…”�”}”(hjõÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MGhjFÒubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MJhjFÒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_put_volsw (C function)”Œc.snd_soc_put_volsw”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_put_volsw (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒYint snd_soc_put_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj3Óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj/Óh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MYubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBÓh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/Óh²hh³jAÓh´MYubj3)�”}”(hŒsnd_soc_put_volsw”h]”j9)�”}”(hŒsnd_soc_put_volsw”h]”hŒsnd_soc_put_volsw”…”�”}”(hjTÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjPÓubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj/Óh²hh³jAÓh´MYubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjpÓh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjlÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}Óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjlÓubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjŽÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹Óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�ÓŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jVÓsbŒc.snd_soc_put_volsw”†”asbuh1hhjlÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®Óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjlÓubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¼Óh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjlÓubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjÉÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjlÓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjhÓubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjâÓh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÞÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïÓh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞÓubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjýÓubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÔŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jªÓŒc.snd_soc_put_volsw”†”asbuh1hhjÞÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞÓubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj,Ôh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÞÓubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj9Ôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞÓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjhÓubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj/Óh²hh³jAÓh´MYubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj+Óh²hh³jAÓh´MYubah}”(h]”j&Óah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jAÓh´MYhj(Óh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$single mixer put callback with range”h]”hŒ$single mixer put callback with range”…”�”}”(hjcÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MYhj`Ôh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj(Óh²hh³jAÓh´MYubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j{Ôjšj{Ôj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX+**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to set the value , within a range, of a single mixer control, or a double mixer control that spans 2 registers. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj…Ôh]”hŒ Parameters”…”�”}”(hj‡Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjƒÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M]hjÔubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj¤Ôh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj¦Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MZhjžÔubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj½Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹Ôh´MZhjºÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjžÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹Ôh´MZhj›ÔubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjÝÔh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjßÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M[hj×Ôubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjöÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jòÔh´M[hjóÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×Ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jòÔh´M[hj›Ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÔubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÕh]”hŒ Description”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M]hjÔubj{)�”}”(hŒxCallback to set the value , within a range, of a single mixer control, or a double mixer control that spans 2 registers.”h]”hŒxCallback to set the value , within a range, of a single mixer control, or a double mixer control that spans 2 registers.”…”�”}”(hj.Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M\hjÔubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj=Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M_hjÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_soc_get_volsw_sx (C function)”Œc.snd_soc_get_volsw_sx”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ]int snd_soc_get_volsw_sx (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒ\int snd_soc_get_volsw_sx(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjlÕh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjhÕh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{Õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhÕh²hh³jzÕh´Mnubj3)�”}”(hŒsnd_soc_get_volsw_sx”h]”j9)�”}”(hŒsnd_soc_get_volsw_sx”h]”hŒsnd_soc_get_volsw_sx”…”�”}”(hj�Õh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰Õubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjhÕh²hh³jzÕh´MnubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj©Õh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¥Õubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶Õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥Õubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÇÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÉÕŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j�ÕsbŒc.snd_soc_get_volsw_sx”†”asbuh1hhj¥Õubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçÕh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¥Õubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjõÕh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¥Õubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¥Õubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¡ÕubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÖubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(Öh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj9Öh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6Öubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;ÖŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jãÕŒc.snd_soc_get_volsw_sx”†”asbuh1hhjÖubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWÖh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjeÖh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÖubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjrÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¡Õubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjhÕh²hh³jzÕh´Mnubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjdÕh²hh³jzÕh´Mnubah}”(h]”j_Õah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jzÕh´MnhjaÕh²hubjv)�”}”(hhh]”j{)�”}”(hŒsingle mixer get callback”h]”hŒsingle mixer get callback”…”�”}”(hjœÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mnhj™Öh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjaÕh²hh³jzÕh´Mnubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j´Öjšj´Öj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to get the value of a single mixer control, or a double mixer control that spans 2 registers. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¾Öh]”hŒ Parameters”…”�”}”(hjÀÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¼Öubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mrhj¸Öubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjÝÖh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjßÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mohj×Öubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjöÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jòÖh´MohjóÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×Öubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jòÖh´MohjÔÖubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hj×h]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mphj×ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj/×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j+×h´Mphj,×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j+×h´MphjÔÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¸Öubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjQ×h]”hŒ Description”…”�”}”(hjS×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjO×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mrhj¸Öubj{)�”}”(hŒfCallback to get the value of a single mixer control, or a double mixer control that spans 2 registers.”h]”hŒfCallback to get the value of a single mixer control, or a double mixer control that spans 2 registers.”…”�”}”(hjg×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mqhj¸Öubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjv×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mthj¸Öubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_soc_put_volsw_sx (C function)”Œc.snd_soc_put_volsw_sx”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ]int snd_soc_put_volsw_sx (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒ\int snd_soc_put_volsw_sx(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¥×h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¡×h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mƒubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡×h²hh³j³×h´Mƒubj3)�”}”(hŒsnd_soc_put_volsw_sx”h]”j9)�”}”(hŒsnd_soc_put_volsw_sx”h]”hŒsnd_soc_put_volsw_sx”…”�”}”(hjÆ×h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂ×ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¡×h²hh³j³×h´MƒubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjâ×h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÞ×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï×h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞ×ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjý×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jØŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÈ×sbŒc.snd_soc_put_volsw_sx”†”asbuh1hhjÞ×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Øh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞ×ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj.Øh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÞ×ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj;Øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞ×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÚ×ubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjTØh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjPØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaØh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjPØubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjrØh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjoØubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jtØŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jØŒc.snd_soc_put_volsw_sx”†”asbuh1hhjPØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Øh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjPØubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjžØh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjPØubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj«Øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjPØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÚ×ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¡×h²hh³j³×h´Mƒubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�×h²hh³j³×h´Mƒubah}”(h]”j˜×ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j³×h´Mƒhjš×h²hubjv)�”}”(hhh]”j{)�”}”(hŒdouble mixer set callback”h]”hŒdouble mixer set callback”…”�”}”(hjÕØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MƒhjÒØh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjš×h²hh³j³×h´Mƒubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jíØjšjíØj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒþ**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to set the value of a double mixer control that spans 2 registers. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj÷Øh]”hŒ Parameters”…”�”}”(hjùØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjõØubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M‡hjñØubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjÙh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M„hjÙubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj/Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j+Ùh´M„hj,Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j+Ùh´M„hj ÙubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjOÙh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjQÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjMÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M…hjIÙubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjhÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jdÙh´M…hjeÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjIÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jdÙh´M…hj Ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjñØubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjŠÙh]”hŒ Description”…”�”}”(hjŒÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjˆÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M‡hjñØubj{)�”}”(hŒKCallback to set the value of a double mixer control that spans 2 registers.”h]”hŒKCallback to set the value of a double mixer control that spans 2 registers.”…”�”}”(hj Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M†hjñØubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj¯Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MˆhjñØubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_soc_limit_volume (C function)”Œc.snd_soc_limit_volume”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒOint snd_soc_limit_volume (struct snd_soc_card *card, const char *name, int max)”h]”j )�”}”(hŒNint snd_soc_limit_volume(struct snd_soc_card *card, const char *name, int max)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞÙh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚÙh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíÙh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚÙh²hh³jìÙh´M¶ubj3)�”}”(hŒsnd_soc_limit_volume”h]”j9)�”}”(hŒsnd_soc_limit_volume”h]”hŒsnd_soc_limit_volume”…”�”}”(hjÿÙh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûÙubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÚÙh²hh³jìÙh´M¶ubjT)�”}”(hŒ6(struct snd_soc_card *card, const char *name, int max)”h]”(jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(Úh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hj9Úh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6Úubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;ÚŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÚsbŒc.snd_soc_limit_volume”†”asbuh1hhjÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYÚh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgÚh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÚubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjtÚh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÚubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj�Úh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‰Úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšÚh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰Úubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¨Úh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰Úubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶Úh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰Úubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÄÚh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‰Úubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjÑÚh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰Úubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÚubjZ)�”}”(hŒint max”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjêÚh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøÚh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæÚubj9)�”}”(hŒmax”h]”hŒmax”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÚubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÚÙh²hh³jìÙh´M¶ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÖÙh²hh³jìÙh´M¶ubah}”(h]”jÑÙah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jìÙh´M¶hjÓÙh²hubjv)�”}”(hhh]”j{)�”}”(hŒ,Set new limit to an existing volume control.”h]”hŒ,Set new limit to an existing volume control.”…”�”}”(hj0Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M¶hj-Ûh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÓÙh²hh³jìÙh´M¶ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jHÛjšjHÛj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒÎ**Parameters** ``struct snd_soc_card *card`` where to look for the control ``const char *name`` Name of the control ``int max`` new maximum limit **Description** Return 0 for success, else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjRÛh]”hŒ Parameters”…”�”}”(hjTÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjPÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MºhjLÛubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct snd_soc_card *card`` where to look for the control ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hjqÛh]”hŒstruct snd_soc_card *card”…”�”}”(hjsÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjoÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M¸hjkÛubjæ)�”}”(hhh]”j{)�”}”(hŒwhere to look for the control”h]”hŒwhere to look for the control”…”�”}”(hjŠÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†Ûh´M¸hj‡Ûubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†Ûh´M¸hjhÛubjÄ)�”}”(hŒ)``const char *name`` Name of the control ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hjªÛh]”hŒconst char *name”…”�”}”(hj¬Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¨Ûubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M¹hj¤Ûubjæ)�”}”(hhh]”j{)�”}”(hŒName of the control”h]”hŒName of the control”…”�”}”(hjÃÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¿Ûh´M¹hjÀÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤Ûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿Ûh´M¹hjhÛubjÄ)�”}”(hŒ``int max`` new maximum limit ”h]”(jÊ)�”}”(hŒ ``int max``”h]”jÐ)�”}”(hjãÛh]”hŒint max”…”�”}”(hjåÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjáÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MºhjÝÛubjæ)�”}”(hhh]”j{)�”}”(hŒnew maximum limit”h]”hŒnew maximum limit”…”�”}”(hjüÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jøÛh´MºhjùÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÝÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jøÛh´MºhjhÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjLÛubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÜh]”hŒ Description”…”�”}”(hj Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M¼hjLÛubj{)�”}”(hŒ!Return 0 for success, else error.”h]”hŒ!Return 0 for success, else error.”…”�”}”(hj4Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M»hjLÛubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_info_xr_sx (C function)”Œc.snd_soc_info_xr_sx”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWint snd_soc_info_xr_sx (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒVint snd_soc_info_xr_sx(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjcÜh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj_Üh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_Üh²hh³jqÜh´Mzubj3)�”}”(hŒsnd_soc_info_xr_sx”h]”j9)�”}”(hŒsnd_soc_info_xr_sx”h]”hŒsnd_soc_info_xr_sx”…”�”}”(hj„Üh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€Üubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj_Üh²hh³jqÜh´MzubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj Üh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjœÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­Üh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœÜubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj¾Üh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»Üubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÀÜŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j†ÜsbŒc.snd_soc_info_xr_sx”†”asbuh1hhjœÜubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœÜubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjìÜh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjœÜubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjùÜh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœÜubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj˜ÜubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÝubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hj0Ýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-Ýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j2ÝŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÚÜŒc.snd_soc_info_xr_sx”†”asbuh1hhjÝubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj\Ýh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÝubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hjiÝh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÝubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj˜Üubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj_Üh²hh³jqÜh´Mzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj[Üh²hh³jqÜh´Mzubah}”(h]”jVÜah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jqÜh´MzhjXÜh²hubjv)�”}”(hhh]”j{)�”}”(hŒ#signed multi register info callback”h]”hŒ#signed multi register info callback”…”�”}”(hj“Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mzhj�Ýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjXÜh²hh³jqÜh´Mzubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j«Ýjšj«Ýj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX¶**Parameters** ``struct snd_kcontrol *kcontrol`` mreg control ``struct snd_ctl_elem_info *uinfo`` control element information **Description** Callback to provide information of a control that can span multiple codec registers which together forms a single signed value. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjµÝh]”hŒ Parameters”…”�”}”(hj·Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj³Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M~hj¯Ýubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct snd_kcontrol *kcontrol`` mreg control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjÔÝh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjÖÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÒÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M{hjÎÝubjæ)�”}”(hhh]”j{)�”}”(hŒ mreg control”h]”hŒ mreg control”…”�”}”(hjíÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jéÝh´M{hjêÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÎÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jéÝh´M{hjËÝubjÄ)�”}”(hŒ@``struct snd_ctl_elem_info *uinfo`` control element information ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hj Þh]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj Þubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M|hjÞubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj&Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j"Þh´M|hj#Þubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"Þh´M|hjËÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¯Ýubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjHÞh]”hŒ Description”…”�”}”(hjJÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjFÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M~hj¯Ýubj{)�”}”(hXCallback to provide information of a control that can span multiple codec registers which together forms a single signed value. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift.”h]”hXCallback to provide information of a control that can span multiple codec registers which together forms a single signed value. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift.”…”�”}”(hj^Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M}hj¯Ýubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjmÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M‚hj¯Ýubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_get_xr_sx (C function)”Œc.snd_soc_get_xr_sx”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_get_xr_sx (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒYint snd_soc_get_xr_sx(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjœÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj˜Þh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M•ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Þh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj˜Þh²hh³jªÞh´M•ubj3)�”}”(hŒsnd_soc_get_xr_sx”h]”j9)�”}”(hŒsnd_soc_get_xr_sx”h]”hŒsnd_soc_get_xr_sx”…”�”}”(hj½Þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹Þubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj˜Þh²hh³jªÞh´M•ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÙÞh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÕÞubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæÞh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÕÞubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj÷Þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjôÞubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jùÞŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¿ÞsbŒc.snd_soc_get_xr_sx”†”asbuh1hhjÕÞubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÕÞubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj%ßh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÕÞubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj2ßh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÕÞubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÑÞubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjKßh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjGßubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXßh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGßubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjißh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjfßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jkߌmodname”NŒ classname”NjœjŸ)�”}”j¢]”jߌc.snd_soc_get_xr_sx”†”asbuh1hhjGßubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡ßh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGßubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj•ßh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjGßubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj¢ßh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÑÞubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj˜Þh²hh³jªÞh´M•ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj”Þh²hh³jªÞh´M•ubah}”(h]”j�Þah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jªÞh´M•hj‘Þh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"signed multi register get callback”h]”hŒ"signed multi register get callback”…”�”}”(hjÌßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M•hjÉßh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj‘Þh²hh³jªÞh´M•ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jäßjšjäßj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX&**Parameters** ``struct snd_kcontrol *kcontrol`` mreg control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to get the value of a control that can span multiple codec registers which together forms a single signed value. The control supports specifying total no of bits used to allow for bitfields across the multiple codec registers. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjîßh]”hŒ Parameters”…”�”}”(hjðßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjìßubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M™hjèßubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct snd_kcontrol *kcontrol`` mreg control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj àh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj àubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M–hjàubjæ)�”}”(hhh]”j{)�”}”(hŒ mreg control”h]”hŒ mreg control”…”�”}”(hj&àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j"àh´M–hj#àubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjàubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"àh´M–hjàubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjFàh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjHàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjDàubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M—hj@àubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj_àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j[àh´M—hj\àubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj@àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j[àh´M—hjàubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjèßubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj�àh]”hŒ Description”…”�”}”(hjƒàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M™hjèßubj{)�”}”(hXtCallback to get the value of a control that can span multiple codec registers which together forms a single signed value. The control supports specifying total no of bits used to allow for bitfields across the multiple codec registers. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift.”h]”hXtCallback to get the value of a control that can span multiple codec registers which together forms a single signed value. The control supports specifying total no of bits used to allow for bitfields across the multiple codec registers. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift.”…”�”}”(hj—àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M˜hjèßubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj¦àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MŸhjèßubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_put_xr_sx (C function)”Œc.snd_soc_put_xr_sx”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_put_xr_sx (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒYint snd_soc_put_xr_sx(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÕàh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÑàh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÂubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäàh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÑàh²hh³jãàh´MÂubj3)�”}”(hŒsnd_soc_put_xr_sx”h]”j9)�”}”(hŒsnd_soc_put_xr_sx”h]”hŒsnd_soc_put_xr_sx”…”�”}”(hjöàh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòàubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÑàh²hh³jãàh´MÂubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjáubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjáubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj0áh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-áubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j2áŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jøàsbŒc.snd_soc_put_xr_sx”†”asbuh1hhjáubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjáubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj^áh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjáubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjkáh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjáubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj áubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj„áh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€áubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘áh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€áubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj¢áh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸáubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¤áŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jLáŒc.snd_soc_put_xr_sx”†”asbuh1hhj€áubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€áubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÎáh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj€áubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjÛáh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€áubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj áubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÑàh²hh³jãàh´MÂubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÍàh²hh³jãàh´MÂubah}”(h]”jÈàah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jãàh´MÂhjÊàh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"signed multi register get callback”h]”hŒ"signed multi register get callback”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÂhjâh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÊàh²hh³jãàh´MÂubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jâjšjâj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX&**Parameters** ``struct snd_kcontrol *kcontrol`` mreg control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to set the value of a control that can span multiple codec registers which together forms a single signed value. The control supports specifying total no of bits used to allow for bitfields across the multiple codec registers. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj'âh]”hŒ Parameters”…”�”}”(hj)âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj%âubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÆhj!âubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ/``struct snd_kcontrol *kcontrol`` mreg control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjFâh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjHâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjDâubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÃhj@âubjæ)�”}”(hhh]”j{)�”}”(hŒ mreg control”h]”hŒ mreg control”…”�”}”(hj_âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j[âh´MÃhj\âubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj@âubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j[âh´MÃhj=âubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjâh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj�âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj}âubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÄhjyâubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj˜âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j”âh´MÄhj•âubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjyâubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j”âh´MÄhj=âubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj!âubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjºâh]”hŒ Description”…”�”}”(hj¼âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¸âubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÆhj!âubj{)�”}”(hXtCallback to set the value of a control that can span multiple codec registers which together forms a single signed value. The control supports specifying total no of bits used to allow for bitfields across the multiple codec registers. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift.”h]”hXtCallback to set the value of a control that can span multiple codec registers which together forms a single signed value. The control supports specifying total no of bits used to allow for bitfields across the multiple codec registers. Note that unlike the non-xr variant of sx controls these may or may not include the sign bit, depending on nbits, and there is no shift.”…”�”}”(hjÐâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÅhj!âubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjßâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MÌhj!âubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_get_strobe (C function)”Œc.snd_soc_get_strobe”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ[int snd_soc_get_strobe (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒZint snd_soc_get_strobe(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ãh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ãh²hh³jãh´M÷ubj3)�”}”(hŒsnd_soc_get_strobe”h]”j9)�”}”(hŒsnd_soc_get_strobe”h]”hŒsnd_soc_get_strobe”…”�”}”(hj/ãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj+ãubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj ãh²hh³jãh´M÷ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjKãh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjGãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGãubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjiãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjfãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jkãŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j1ãsbŒc.snd_soc_get_strobe”†”asbuh1hhjGãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰ãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGãubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj—ãh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjGãubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj¤ãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjCãubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj½ãh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¹ãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹ãubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjÛãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÝãŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j…ãŒc.snd_soc_get_strobe”†”asbuh1hhj¹ãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹ãubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¹ãubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjCãubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj ãh²hh³jãh´M÷ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjãh²hh³jãh´M÷ubah}”(h]”jãah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jãh´M÷hjãh²hubjv)�”}”(hhh]”j{)�”}”(hŒstrobe get callback”h]”hŒstrobe get callback”…”�”}”(hj>äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M÷hj;äh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjãh²hh³jãh´M÷ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jVäjšjVäj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒä**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback get the value of a strobe mixer control. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj`äh]”hŒ Parameters”…”�”}”(hjbäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj^äubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MûhjZäubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjäh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj�äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏ•hj}äubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Møhjyäubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj˜äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j”äh´Møhj•äubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjyäubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j”äh´MøhjväubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hj¸äh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjºäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶äubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mùhj²äubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjÑäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÍäh´MùhjÎäubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²äubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍäh´Mùhjväubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjZäubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjóäh]”hŒ Description”…”�”}”(hjõäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjñäubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MûhjZäubj{)�”}”(hŒ1Callback get the value of a strobe mixer control.”h]”hŒ1Callback get the value of a strobe mixer control.”…”�”}”(hj åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MúhjZäubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´MühjZäubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_put_strobe (C function)”Œc.snd_soc_put_strobe”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ[int snd_soc_put_strobe (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒZint snd_soc_put_strobe(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjGåh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjCåh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVåh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjCåh²hh³jUåh´Mubj3)�”}”(hŒsnd_soc_put_strobe”h]”j9)�”}”(hŒsnd_soc_put_strobe”h]”hŒsnd_soc_put_strobe”…”�”}”(hjhåh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdåubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjCåh²hh³jUåh´MubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj„åh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj€åubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘åh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€åubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj¢åh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸåubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¤åŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jjåsbŒc.snd_soc_put_strobe”†”asbuh1hhj€åubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂåh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj€åubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÐåh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj€åubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjÝåh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€åubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj|åubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjöåh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjòåubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjòåubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jæŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¾åŒc.snd_soc_put_strobe”†”asbuh1hhjòåubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2æh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjòåubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj@æh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjòåubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjMæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj|åubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjCåh²hh³jUåh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?åh²hh³jUåh´Mubah}”(h]”j:åah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jUåh´Mhj<åh²hubjv)�”}”(hhh]”j{)�”}”(hŒstrobe put callback”h]”hŒstrobe put callback”…”�”}”(hjwæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhjtæh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj<åh²hh³jUåh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�æjšj�æj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback strobe a register bit to high then low (or the inverse) in one pass of a single mixer enum control. Returns 1 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj™æh]”hŒ Parameters”…”�”}”(hj›æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—æubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhj“æubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj¸æh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjºæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶æubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhj²æubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjÑæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÍæh´MhjÎæubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²æubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍæh´Mhj¯æubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjñæh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjóæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjïæubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhjëæubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jçh´Mhjçubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjëæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jçh´Mhj¯æubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj“æubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj,çh]”hŒ Description”…”�”}”(hj.çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj*çubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhj“æubj{)�”}”(hŒlCallback strobe a register bit to high then low (or the inverse) in one pass of a single mixer enum control.”h]”hŒlCallback strobe a register bit to high then low (or the inverse) in one pass of a single mixer enum control.”…”�”}”(hjBçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhj“æubj{)�”}”(hŒReturns 1 for success.”h]”hŒReturns 1 for success.”…”�”}”(hjQçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´Mhj“æubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_soc_new_compress (C function)”Œc.snd_soc_new_compress”hNt”auh1híhjth²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ:int snd_soc_new_compress (struct snd_soc_pcm_runtime *rtd)”h]”j )�”}”(hŒ9int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj€çh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj|çh²hh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�çh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|çh²hh³jŽçh´Mubj3)�”}”(hŒsnd_soc_new_compress”h]”j9)�”}”(hŒsnd_soc_new_compress”h]”hŒsnd_soc_new_compress”…”�”}”(hj¡çh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�çubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj|çh²hh³jŽçh´MubjT)�”}”(hŒ!(struct snd_soc_pcm_runtime *rtd)”h]”jZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj½çh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¹çubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊçh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹çubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hjÛçh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØçubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÝçŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j£çsbŒc.snd_soc_new_compress”†”asbuh1hhj¹çubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûçh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹çubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj èh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¹çubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹çubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjµçubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj|çh²hh³jŽçh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjxçh²hh³jŽçh´Mubah}”(h]”jsçah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŽçh´Mhjuçh²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate a new compress.”h]”hŒcreate a new compress.”…”�”}”(hj@èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´Mhj=èh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjuçh²hh³jŽçh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jXèjšjXèj›‰jœ‰j�‰uh1hþh²hhjth³Nh´NubjŸ)�”}”(hŒ‹**Parameters** ``struct snd_soc_pcm_runtime *rtd`` The runtime for which we will create compress **Return** 0 for success, else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjbèh]”hŒ Parameters”…”�”}”(hjdèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj`èubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´Mhj\èubj¿)�”}”(hhh]”jÄ)�”}”(hŒR``struct snd_soc_pcm_runtime *rtd`` The runtime for which we will create compress ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hj�èh]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjƒèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´Mhj{èubjæ)�”}”(hhh]”j{)�”}”(hŒ-The runtime for which we will create compress”h]”hŒ-The runtime for which we will create compress”…”�”}”(hjšèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–èh´Mhj—èubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{èubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–èh´Mhjxèubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj\èubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¼èh]”hŒReturn”…”�”}”(hj¾èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjºèubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´Mhj\èubj{)�”}”(hŒ0 for success, else error.”h]”hŒ0 for success, else error.”…”�”}”(hjÒèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´Mhj\èubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjth²hh³Nh´Nubeh}”(h]”Œ asoc-core-api”ah ]”h"]”Œ asoc core api”ah$]”h&]”uh1hµhjth²hh³hÊh´Kbubh¶)�”}”(hhh]”(h»)�”}”(hŒ ASoC DAPM API”h]”hŒ ASoC DAPM API”…”�”}”(hjóèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjðèh²hh³hÊh´Klubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,snd_soc_dapm_kcontrol_to_widget (C function)”Œ!c.snd_soc_dapm_kcontrol_to_widget”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ\struct snd_soc_dapm_widget * snd_soc_dapm_kcontrol_to_widget (struct snd_kcontrol *kcontrol)”h]”j )�”}”(hŒZstruct snd_soc_dapm_widget *snd_soc_dapm_kcontrol_to_widget(struct snd_kcontrol *kcontrol)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjéh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjéh²hh³j'éh´M¬ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hj9éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6éubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;éŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_dapm_kcontrol_to_widget”sbŒ!c.snd_soc_dapm_kcontrol_to_widget”†”asbuh1hhjéh²hh³j'éh´M¬ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjéh²hh³j'éh´M¬ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjhéh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjéh²hh³j'éh´M¬ubj3)�”}”(hŒsnd_soc_dapm_kcontrol_to_widget”h]”j9)�”}”(hjWéh]”hŒsnd_soc_dapm_kcontrol_to_widget”…”�”}”(hjyéh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjuéubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjéh²hh³j'éh´M¬ubjT)�”}”(hŒ(struct snd_kcontrol *kcontrol)”h]”jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj”éh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�éubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj²éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¯éubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j´éŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jUéŒ!c.snd_soc_dapm_kcontrol_to_widget”†”asbuh1hhj�éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�éubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÞéh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�éubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjëéh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�éubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŒéubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjéh²hh³j'éh´M¬ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjéh²hh³j'éh´M¬ubah}”(h]”j éah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j'éh´M¬hjéh²hubjv)�”}”(hhh]”j{)�”}”(hŒ+Returns the widget associated to a kcontrol”h]”hŒ+Returns the widget associated to a kcontrol”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¬hjêh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjéh²hh³j'éh´M¬ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j-êjšj-êj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ@**Parameters** ``struct snd_kcontrol *kcontrol`` The kcontrol”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj7êh]”hŒ Parameters”…”�”}”(hj9êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5êubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M°hj1êubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_kcontrol *kcontrol`` The kcontrol”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjVêh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjXêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjTêubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M²hjPêubjæ)�”}”(hhh]”j{)�”}”(hŒ The kcontrol”h]”hŒ The kcontrol”…”�”}”(hjoêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M®hjlêubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjPêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jkêh´M²hjMêubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj1êubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_dapm_kcontrol_to_dapm (C function)”Œc.snd_soc_dapm_kcontrol_to_dapm”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ[struct snd_soc_dapm_context * snd_soc_dapm_kcontrol_to_dapm (struct snd_kcontrol *kcontrol)”h]”j )�”}”(hŒYstruct snd_soc_dapm_context *snd_soc_dapm_kcontrol_to_dapm(struct snd_kcontrol *kcontrol)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj°êh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¬êh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M·ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾êh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬êh²hh³j½êh´M·ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjÏêh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌêubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÑêŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_dapm_kcontrol_to_dapm”sbŒc.snd_soc_dapm_kcontrol_to_dapm”†”asbuh1hhj¬êh²hh³j½êh´M·ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðêh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬êh²hh³j½êh´M·ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjþêh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¬êh²hh³j½êh´M·ubj3)�”}”(hŒsnd_soc_dapm_kcontrol_to_dapm”h]”j9)�”}”(hjíêh]”hŒsnd_soc_dapm_kcontrol_to_dapm”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ëubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¬êh²hh³j½êh´M·ubjT)�”}”(hŒ(struct snd_kcontrol *kcontrol)”h]”jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj*ëh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj&ëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&ëubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjHëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jJëŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jëêŒc.snd_soc_dapm_kcontrol_to_dapm”†”asbuh1hhj&ëubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&ëubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjtëh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj&ëubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj�ëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&ëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj"ëubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¬êh²hh³j½êh´M·ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¨êh²hh³j½êh´M·ubah}”(h]”j£êah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j½êh´M·hj¥êh²hubjv)�”}”(hhh]”j{)�”}”(hŒ1Returns the dapm context associated to a kcontrol”h]”hŒ1Returns the dapm context associated to a kcontrol”…”�”}”(hj«ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M·hj¨ëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¥êh²hh³j½êh´M·ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÃëjšjÃëj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÒ**Parameters** ``struct snd_kcontrol *kcontrol`` The kcontrol **Note** This function must only be used on kcontrols that are known to have been registered for a CODEC. Otherwise the behaviour is undefined.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÍëh]”hŒ Parameters”…”�”}”(hjÏëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjËëubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M»hjÇëubj¿)�”}”(hhh]”jÄ)�”}”(hŒ/``struct snd_kcontrol *kcontrol`` The kcontrol ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjìëh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjîëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjêëubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¸hjæëubjæ)�”}”(hhh]”j{)�”}”(hŒ The kcontrol”h]”hŒ The kcontrol”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jìh´M¸hjìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjæëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jìh´M¸hjãëubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÇëubj{)�”}”(hŒ**Note**”h]”j©)�”}”(hj'ìh]”hŒNote”…”�”}”(hj)ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj%ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MºhjÇëubj{)�”}”(hŒ†This function must only be used on kcontrols that are known to have been registered for a CODEC. Otherwise the behaviour is undefined.”h]”hŒ†This function must only be used on kcontrols that are known to have been registered for a CODEC. Otherwise the behaviour is undefined.”…”�”}”(hj=ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MºhjÇëubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ/snd_soc_dapm_kcontrol_to_component (C function)”Œ$c.snd_soc_dapm_kcontrol_to_component”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ]struct snd_soc_component * snd_soc_dapm_kcontrol_to_component (struct snd_kcontrol *kcontrol)”h]”j )�”}”(hŒ[struct snd_soc_component *snd_soc_dapm_kcontrol_to_component(struct snd_kcontrol *kcontrol)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjlìh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjhìh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÄubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzìh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhìh²hh³jyìh´MÄubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hj‹ìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆìubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�ìŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œ"snd_soc_dapm_kcontrol_to_component”sbŒ$c.snd_soc_dapm_kcontrol_to_component”†”asbuh1hhjhìh²hh³jyìh´MÄubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬ìh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhìh²hh³jyìh´MÄubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjºìh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjhìh²hh³jyìh´MÄubj3)�”}”(hŒ"snd_soc_dapm_kcontrol_to_component”h]”j9)�”}”(hj©ìh]”hŒ"snd_soc_dapm_kcontrol_to_component”…”�”}”(hjËìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÇìubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjhìh²hh³jyìh´MÄubjT)�”}”(hŒ(struct snd_kcontrol *kcontrol)”h]”jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjæìh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjâìubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóìh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâìubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjíubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jíŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j§ìŒ$c.snd_soc_dapm_kcontrol_to_component”†”asbuh1hhjâìubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"íh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâìubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj0íh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjâìubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj=íh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjâìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÞìubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjhìh²hh³jyìh´MÄubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjdìh²hh³jyìh´MÄubah}”(h]”j_ìah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jyìh´MÄhjaìh²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Returns the component associated to a kcontrol”h]”hŒ.Returns the component associated to a kcontrol”…”�”}”(hjgíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÄhjdíh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjaìh²hh³jyìh´MÄubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jíjšjíj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒî**Parameters** ``struct snd_kcontrol *kcontrol`` The kcontrol **Description** This function must only be used on DAPM contexts that are known to be part of a COMPONENT (e.g. in a COMPONENT driver). Otherwise the behavior is undefined”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj‰íh]”hŒ Parameters”…”�”}”(hj‹íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‡íubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÈhjƒíubj¿)�”}”(hhh]”jÄ)�”}”(hŒ/``struct snd_kcontrol *kcontrol`` The kcontrol ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj¨íh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjªíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¦íubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÆhj¢íubjæ)�”}”(hhh]”j{)�”}”(hŒ The kcontrol”h]”hŒ The kcontrol”…”�”}”(hjÁíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j½íh´MÆhj¾íubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¢íubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j½íh´MÆhjŸíubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjƒíubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjãíh]”hŒ Description”…”�”}”(hjåíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjáíubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÈhjƒíubj{)�”}”(hŒ›This function must only be used on DAPM contexts that are known to be part of a COMPONENT (e.g. in a COMPONENT driver). Otherwise the behavior is undefined”h]”hŒ›This function must only be used on DAPM contexts that are known to be part of a COMPONENT (e.g. in a COMPONENT driver). Otherwise the behavior is undefined”…”�”}”(hjùíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÇhjƒíubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_dapm_force_bias_level (C function)”Œc.snd_soc_dapm_force_bias_level”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdint snd_soc_dapm_force_bias_level (struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”j )�”}”(hŒcint snd_soc_dapm_force_bias_level(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj(îh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj$îh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$îh²hh³j6îh´Mubj3)�”}”(hŒsnd_soc_dapm_force_bias_level”h]”j9)�”}”(hŒsnd_soc_dapm_force_bias_level”h]”hŒsnd_soc_dapm_force_bias_level”…”�”}”(hjIîh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEîubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj$îh²hh³j6îh´MubjT)�”}”(hŒB(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjeîh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjaîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrîh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjaîubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjƒîh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj€îubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j…îŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jKîsbŒc.snd_soc_dapm_force_bias_level”†”asbuh1hhjaîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjaîubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj±îh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjaîubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj¾îh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaîubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]îubjZ)�”}”(hŒenum snd_soc_bias_level level”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hj×îh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÓîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäîh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓîubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_bias_level”h]”hŒsnd_soc_bias_level”…”�”}”(hjõîh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòîubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j÷îŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŸîŒc.snd_soc_dapm_force_bias_level”†”asbuh1hhjÓîubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓîubj9)�”}”(hŒlevel”h]”hŒlevel”…”�”}”(hj!ïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓîubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]îubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj$îh²hh³j6îh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj îh²hh³j6îh´Mubah}”(h]”jîah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j6îh´Mhjîh²hubjv)�”}”(hhh]”j{)�”}”(hŒSets the DAPM bias level”h]”hŒSets the DAPM bias level”…”�”}”(hjKïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MhjHïh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjîh²hh³j6îh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jcïjšjcïj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hXg**Parameters** ``struct snd_soc_dapm_context *dapm`` The DAPM context for which to set the level ``enum snd_soc_bias_level level`` The level to set **Description** Forces the DAPM bias level to a specific state. It will call the bias level callback of DAPM context with the specified level. This will even happen if the context is already at the same level. Furthermore it will not go through the normal bias level sequencing, meaning any intermediate states between the current and the target state will not be entered. Note that the change in bias level is only temporary and the next time snd_soc_dapm_sync() is called the state will be set to the level as determined by the DAPM core. The function is mainly intended to be used to used during probe or resume from suspend to power up the device so initialization can be done, before the DAPM core takes over.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjmïh]”hŒ Parameters”…”�”}”(hjoïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjgïubj¿)�”}”(hhh]”(jÄ)�”}”(hŒR``struct snd_soc_dapm_context *dapm`` The DAPM context for which to set the level ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjŒïh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjŽïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj†ïubjæ)�”}”(hhh]”j{)�”}”(hŒ+The DAPM context for which to set the level”h]”hŒ+The DAPM context for which to set the level”…”�”}”(hj¥ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡ïh´Mhj¢ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡ïh´MhjƒïubjÄ)�”}”(hŒ3``enum snd_soc_bias_level level`` The level to set ”h]”(jÊ)�”}”(hŒ!``enum snd_soc_bias_level level``”h]”jÐ)�”}”(hjÅïh]”hŒenum snd_soc_bias_level level”…”�”}”(hjÇïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÃïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj¿ïubjæ)�”}”(hhh]”j{)�”}”(hŒThe level to set”h]”hŒThe level to set”…”�”}”(hjÞïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚïh´MhjÛïubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚïh´Mhjƒïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjgïubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjðh]”hŒ Description”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjþïubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjgïubj{)�”}”(hXdForces the DAPM bias level to a specific state. It will call the bias level callback of DAPM context with the specified level. This will even happen if the context is already at the same level. Furthermore it will not go through the normal bias level sequencing, meaning any intermediate states between the current and the target state will not be entered.”h]”hXdForces the DAPM bias level to a specific state. It will call the bias level callback of DAPM context with the specified level. This will even happen if the context is already at the same level. Furthermore it will not go through the normal bias level sequencing, meaning any intermediate states between the current and the target state will not be entered.”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjgïubj{)�”}”(hXUNote that the change in bias level is only temporary and the next time snd_soc_dapm_sync() is called the state will be set to the level as determined by the DAPM core. The function is mainly intended to be used to used during probe or resume from suspend to power up the device so initialization can be done, before the DAPM core takes over.”h]”hXUNote that the change in bias level is only temporary and the next time snd_soc_dapm_sync() is called the state will be set to the level as determined by the DAPM core. The function is mainly intended to be used to used during probe or resume from suspend to power up the device so initialization can be done, before the DAPM core takes over.”…”�”}”(hj%ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjgïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_dapm_init_bias_level (C function)”Œc.snd_soc_dapm_init_bias_level”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdvoid snd_soc_dapm_init_bias_level (struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”j )�”}”(hŒcvoid snd_soc_dapm_init_bias_level(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjTðh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjPðh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjPðh²hh³jbðh´M2ubj3)�”}”(hŒsnd_soc_dapm_init_bias_level”h]”j9)�”}”(hŒsnd_soc_dapm_init_bias_level”h]”hŒsnd_soc_dapm_init_bias_level”…”�”}”(hjuðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqðubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjPðh²hh³jbðh´M2ubjT)�”}”(hŒB(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‘ðh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�ðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�ðubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj¯ðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j±ðŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jwðsbŒc.snd_soc_dapm_init_bias_level”†”asbuh1hhj�ðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�ðubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÝðh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�ðubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjêðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‰ðubjZ)�”}”(hŒenum snd_soc_bias_level level”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÿðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿðubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_bias_level”h]”hŒsnd_soc_bias_level”…”�”}”(hj!ñh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j#ñŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jËðŒc.snd_soc_dapm_init_bias_level”†”asbuh1hhjÿðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?ñh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿðubj9)�”}”(hŒlevel”h]”hŒlevel”…”�”}”(hjMñh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‰ðubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjPðh²hh³jbðh´M2ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjLðh²hh³jbðh´M2ubah}”(h]”jGðah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jbðh´M2hjIðh²hubjv)�”}”(hhh]”j{)�”}”(hŒInitialize DAPM bias level”h]”hŒInitialize DAPM bias level”…”�”}”(hjwñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M2hjtñh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjIðh²hh³jbðh´M2ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j�ñjšj�ñj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hXS**Parameters** ``struct snd_soc_dapm_context *dapm`` The DAPM context to initialize ``enum snd_soc_bias_level level`` The DAPM level to initialize to **Description** This function only sets the driver internal state of the DAPM level and will not modify the state of the device. Hence it should not be used during normal operation, but only to synchronize the internal state to the device state. E.g. during driver probe to set the DAPM level to the one corresponding with the power-on reset state of the device. To change the DAPM state of the device use snd_soc_dapm_set_bias_level().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj™ñh]”hŒ Parameters”…”�”}”(hj›ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M6hj“ñubj¿)�”}”(hhh]”(jÄ)�”}”(hŒE``struct snd_soc_dapm_context *dapm`` The DAPM context to initialize ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj¸ñh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjºñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M3hj²ñubjæ)�”}”(hhh]”j{)�”}”(hŒThe DAPM context to initialize”h]”hŒThe DAPM context to initialize”…”�”}”(hjÑñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÍñh´M3hjÎñubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍñh´M3hj¯ñubjÄ)�”}”(hŒB``enum snd_soc_bias_level level`` The DAPM level to initialize to ”h]”(jÊ)�”}”(hŒ!``enum snd_soc_bias_level level``”h]”jÐ)�”}”(hjññh]”hŒenum snd_soc_bias_level level”…”�”}”(hjóñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjïñubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M4hjëñubjæ)�”}”(hhh]”j{)�”}”(hŒThe DAPM level to initialize to”h]”hŒThe DAPM level to initialize to”…”�”}”(hj òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jòh´M4hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjëñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jòh´M4hj¯ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj“ñubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj,òh]”hŒ Description”…”�”}”(hj.òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj*òubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M6hj“ñubj{)�”}”(hXZThis function only sets the driver internal state of the DAPM level and will not modify the state of the device. Hence it should not be used during normal operation, but only to synchronize the internal state to the device state. E.g. during driver probe to set the DAPM level to the one corresponding with the power-on reset state of the device.”h]”hXZThis function only sets the driver internal state of the DAPM level and will not modify the state of the device. Hence it should not be used during normal operation, but only to synchronize the internal state to the device state. E.g. during driver probe to set the DAPM level to the one corresponding with the power-on reset state of the device.”…”�”}”(hjBòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M5hj“ñubj{)�”}”(hŒITo change the DAPM state of the device use snd_soc_dapm_set_bias_level().”h]”hŒITo change the DAPM state of the device use snd_soc_dapm_set_bias_level().”…”�”}”(hjQòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M;hj“ñubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_set_bias_level (C function)”Œc.snd_soc_dapm_set_bias_level”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒbint snd_soc_dapm_set_bias_level (struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”j )�”}”(hŒaint snd_soc_dapm_set_bias_level(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj€òh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj|òh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�òh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj|òh²hh³jŽòh´MEubj3)�”}”(hŒsnd_soc_dapm_set_bias_level”h]”j9)�”}”(hŒsnd_soc_dapm_set_bias_level”h]”hŒsnd_soc_dapm_set_bias_level”…”�”}”(hj¡òh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�òubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj|òh²hh³jŽòh´MEubjT)�”}”(hŒB(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj½òh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¹òubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹òubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjÛòh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÝòŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j£òsbŒc.snd_soc_dapm_set_bias_level”†”asbuh1hhj¹òubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹òubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj óh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¹òubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹òubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjµòubjZ)�”}”(hŒenum snd_soc_bias_level level”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hj/óh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj+óubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+óubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_bias_level”h]”hŒsnd_soc_bias_level”…”�”}”(hjMóh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJóubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jOóŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j÷òŒc.snd_soc_dapm_set_bias_level”†”asbuh1hhj+óubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkóh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+óubj9)�”}”(hŒlevel”h]”hŒlevel”…”�”}”(hjyóh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj+óubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjµòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj|òh²hh³jŽòh´MEubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjxòh²hh³jŽòh´MEubah}”(h]”jsòah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŽòh´MEhjuòh²hubjv)�”}”(hhh]”j{)�”}”(hŒ!set the bias level for the system”h]”hŒ!set the bias level for the system”…”�”}”(hj£óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MEhj óh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjuòh²hh³jŽòh´MEubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j»ójšj»ój›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒí**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``enum snd_soc_bias_level level`` level to configure **Description** Configure the bias (power) levels for the SoC audio device. Returns 0 for success else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÅóh]”hŒ Parameters”…”�”}”(hjÇóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÃóubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MIhj¿óubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjäóh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjæóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjâóubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MFhjÞóubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjýóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jùóh´MFhjúóubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÞóubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jùóh´MFhjÛóubjÄ)�”}”(hŒ5``enum snd_soc_bias_level level`` level to configure ”h]”(jÊ)�”}”(hŒ!``enum snd_soc_bias_level level``”h]”jÐ)�”}”(hjôh]”hŒenum snd_soc_bias_level level”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MGhjôubjæ)�”}”(hhh]”j{)�”}”(hŒlevel to configure”h]”hŒlevel to configure”…”�”}”(hj6ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j2ôh´MGhj3ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j2ôh´MGhjÛóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¿óubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjXôh]”hŒ Description”…”�”}”(hjZôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjVôubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MIhj¿óubj{)�”}”(hŒ;Configure the bias (power) levels for the SoC audio device.”h]”hŒ;Configure the bias (power) levels for the SoC audio device.”…”�”}”(hjnôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MHhj¿óubj{)�”}”(hŒ!Returns 0 for success else error.”h]”hŒ!Returns 0 for success else error.”…”�”}”(hj}ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MJhj¿óubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_get_bias_level (C function)”Œc.snd_soc_dapm_get_bias_level”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWenum snd_soc_bias_level snd_soc_dapm_get_bias_level (struct snd_soc_dapm_context *dapm)”h]”j )�”}”(hŒVenum snd_soc_bias_level snd_soc_dapm_get_bias_level(struct snd_soc_dapm_context *dapm)”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hj¬ôh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¨ôh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨ôh²hh³j¹ôh´Mkubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_bias_level”h]”hŒsnd_soc_bias_level”…”�”}”(hjËôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÈôubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÍôŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_dapm_get_bias_level”sbŒc.snd_soc_dapm_get_bias_level”†”asbuh1hhj¨ôh²hh³j¹ôh´Mkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨ôh²hh³j¹ôh´Mkubj3)�”}”(hŒsnd_soc_dapm_get_bias_level”h]”j9)�”}”(hjéôh]”hŒsnd_soc_dapm_get_bias_level”…”�”}”(hjþôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjúôubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¨ôh²hh³j¹ôh´MkubjT)�”}”(hŒ#(struct snd_soc_dapm_context *dapm)”h]”jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj7õh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4õubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j9õŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jçôŒc.snd_soc_dapm_get_bias_level”†”asbuh1hhjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUõh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjcõh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjõubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjpõh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjõubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¨ôh²hh³j¹ôh´Mkubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¤ôh²hh³j¹ôh´Mkubah}”(h]”jŸôah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¹ôh´Mkhj¡ôh²hubjv)�”}”(hhh]”j{)�”}”(hŒGet current DAPM bias level”h]”hŒGet current DAPM bias level”…”�”}”(hjšõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mkhj—õh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¡ôh²hh³j¹ôh´Mkubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j²õjšj²õj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ£**Parameters** ``struct snd_soc_dapm_context *dapm`` The context for which to get the bias level **Return** The current bias level of the passed DAPM context.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¼õh]”hŒ Parameters”…”�”}”(hj¾õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjºõubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mohj¶õubj¿)�”}”(hhh]”jÄ)�”}”(hŒR``struct snd_soc_dapm_context *dapm`` The context for which to get the bias level ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjÛõh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjÝõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÙõubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MlhjÕõubjæ)�”}”(hhh]”j{)�”}”(hŒ+The context for which to get the bias level”h]”hŒ+The context for which to get the bias level”…”�”}”(hjôõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jðõh´Mlhjñõubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÕõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jðõh´MlhjÒõubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¶õubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjöh]”hŒReturn”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mnhj¶õubj{)�”}”(hŒ2The current bias level of the passed DAPM context.”h]”hŒ2The current bias level of the passed DAPM context.”…”�”}”(hj,öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mnhj¶õubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ3snd_soc_dapm_dai_get_connected_widgets (C function)”Œ(c.snd_soc_dapm_dai_get_connected_widgets”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒÒint snd_soc_dapm_dai_get_connected_widgets (struct snd_soc_dai *dai, int stream, struct snd_soc_dapm_widget_list **list, bool (*custom_stop_condition)(struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction))”h]”j )�”}”(hŒÐint snd_soc_dapm_dai_get_connected_widgets(struct snd_soc_dai *dai, int stream, struct snd_soc_dapm_widget_list **list, bool (*custom_stop_condition)(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction))”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj[öh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjWöh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWöh²hh³jiöh´M6ubj3)�”}”(hŒ&snd_soc_dapm_dai_get_connected_widgets”h]”j9)�”}”(hŒ&snd_soc_dapm_dai_get_connected_widgets”h]”hŒ&snd_soc_dapm_dai_get_connected_widgets”…”�”}”(hj|öh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxöubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjWöh²hh³jiöh´M6ubjT)�”}”(hŒ¦(struct snd_soc_dai *dai, int stream, struct snd_soc_dapm_widget_list **list, bool (*custom_stop_condition)(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction))”h]”(jZ)�”}”(hŒstruct snd_soc_dai *dai”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj˜öh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj”öubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥öh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj”öubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_dai”h]”hŒ snd_soc_dai”…”�”}”(hj¶öh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj³öubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¸öŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j~ösbŒ(c.snd_soc_dapm_dai_get_connected_widgets”†”asbuh1hhj”öubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj”öubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjäöh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj”öubj9)�”}”(hŒdai”h]”hŒdai”…”�”}”(hjñöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj”öubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�öubjZ)�”}”(hŒ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj ÷h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj÷ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj&÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�öubjZ)�”}”(hŒ&struct snd_soc_dapm_widget_list **list”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj?÷h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj;÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;÷ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget_list”h]”hŒsnd_soc_dapm_widget_list”…”�”}”(hj]÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZ÷ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j_÷Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÒöŒ(c.snd_soc_dapm_dai_get_connected_widgets”†”asbuh1hhj;÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;÷ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‰÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj;÷ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj–÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj;÷ubj9)�”}”(hŒlist”h]”hŒlist”…”�”}”(hj£÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�öubjZ)�”}”(hŒWbool (*custom_stop_condition)(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction)”h]”(j)�”}”(hj_šh]”hŒbool”…”�”}”(hj¼÷h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¸÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸÷ubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hj×÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjä÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubj9)�”}”(hŒcustom_stop_condition”h]”hŒcustom_stop_condition”…”�”}”(hjñ÷h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸÷ubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hjÿ÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubj¹)�”}”(hjjõh]”hŒ(”…”�”}”(hj øh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¸÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&øh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸÷ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hj7øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j9øŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÒöŒ(c.snd_soc_dapm_dai_get_connected_widgets”†”asbuh1hhj¸÷ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjUøh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubj¹)�”}”(hjåõh]”hŒ,”…”�”}”(hjbøh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoøh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸÷ubj`)�”}”(hj›(h]”hŒenum”…”�”}”(hj}øh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¸÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠøh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸÷ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_direction”h]”hŒsnd_soc_dapm_direction”…”�”}”(hj›øh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˜øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�øŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÒöŒ(c.snd_soc_dapm_dai_get_connected_widgets”†”asbuh1hhj¸÷ubj¹)�”}”(hj“õh]”hŒ)”…”�”}”(hj¹øh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�öubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjWöh²hh³jiöh´M6ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjSöh²hh³jiöh´M6ubah}”(h]”jNöah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jiöh´M6hjPöh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"query audio path and it's widgets.”h]”hŒ$query audio path and it’s widgets.”…”�”}”(hjâøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M6hjßøh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjPöh²hh³jiöh´M6ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™júøjšjúøj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hXv**Parameters** ``struct snd_soc_dai *dai`` the soc DAI. ``int stream`` stream direction. ``struct snd_soc_dapm_widget_list **list`` list of active widgets for this stream. ``bool (*custom_stop_condition)(struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction)`` (optional) a function meant to stop the widget graph walk based on custom logic. **Description** Queries DAPM graph as to whether a valid audio stream path exists for the initial stream specified by name. This takes into account current mixer and mux kcontrol settings. Creates list of valid widgets. Optionally, can be supplied with a function acting as a stopping condition. This function takes the dapm widget currently being examined and the walk direction as an arguments, it should return true if the walk should be stopped and false otherwise. Returns the number of valid paths or negative error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjùh]”hŒ Parameters”…”�”}”(hjùh²h•h³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M:hjþøubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ)``struct snd_soc_dai *dai`` the soc DAI. ”h]”(jÊ)�”}”(hŒ``struct snd_soc_dai *dai``”h]”jÐ)�”}”(hj#ùh]”hŒstruct snd_soc_dai *dai”…”�”}”(hj%ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj!ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M7hjùubjæ)�”}”(hhh]”j{)�”}”(hŒ the soc DAI.”h]”hŒ the soc DAI.”…”�”}”(hj<ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j8ùh´M7hj9ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j8ùh´M7hjùubjÄ)�”}”(hŒ!``int stream`` stream direction. ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hj\ùh]”hŒ int stream”…”�”}”(hj^ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjZùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M8hjVùubjæ)�”}”(hhh]”j{)�”}”(hŒstream direction.”h]”hŒstream direction.”…”�”}”(hjuùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jqùh´M8hjrùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjVùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jqùh´M8hjùubjÄ)�”}”(hŒS``struct snd_soc_dapm_widget_list **list`` list of active widgets for this stream. ”h]”(jÊ)�”}”(hŒ*``struct snd_soc_dapm_widget_list **list``”h]”jÐ)�”}”(hj•ùh]”hŒ&struct snd_soc_dapm_widget_list **list”…”�”}”(hj—ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj“ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M9hj�ùubjæ)�”}”(hhh]”j{)�”}”(hŒ'list of active widgets for this stream.”h]”hŒ'list of active widgets for this stream.”…”�”}”(hj®ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jªùh´M9hj«ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jªùh´M9hjùubjÄ)�”}”(hŒ®``bool (*custom_stop_condition)(struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction)`` (optional) a function meant to stop the widget graph walk based on custom logic. ”h]”(jÊ)�”}”(hŒ\``bool (*custom_stop_condition)(struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction)``”h]”jÐ)�”}”(hjÎùh]”hŒXbool (*custom_stop_condition)(struct snd_soc_dapm_widget *, enum snd_soc_dapm_direction)”…”�”}”(hjÐùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÌùubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M;hjÈùubjæ)�”}”(hhh]”j{)�”}”(hŒP(optional) a function meant to stop the widget graph walk based on custom logic.”h]”hŒP(optional) a function meant to stop the widget graph walk based on custom logic.”…”�”}”(hjçùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M:hjäùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÈùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jãùh´M;hjùubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjþøubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj úh]”hŒ Description”…”�”}”(hj úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M=hjþøubj{)�”}”(hŒËQueries DAPM graph as to whether a valid audio stream path exists for the initial stream specified by name. This takes into account current mixer and mux kcontrol settings. Creates list of valid widgets.”h]”hŒËQueries DAPM graph as to whether a valid audio stream path exists for the initial stream specified by name. This takes into account current mixer and mux kcontrol settings. Creates list of valid widgets.”…”�”}”(hj úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M<hjþøubj{)�”}”(hŒùOptionally, can be supplied with a function acting as a stopping condition. This function takes the dapm widget currently being examined and the walk direction as an arguments, it should return true if the walk should be stopped and false otherwise.”h]”hŒùOptionally, can be supplied with a function acting as a stopping condition. This function takes the dapm widget currently being examined and the walk direction as an arguments, it should return true if the walk should be stopped and false otherwise.”…”�”}”(hj/úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M@hjþøubj{)�”}”(hŒ4Returns the number of valid paths or negative error.”h]”hŒ4Returns the number of valid paths or negative error.”…”�”}”(hj>úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MEhjþøubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_soc_dapm_free_widget (C function)”Œc.snd_soc_dapm_free_widget”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=void snd_soc_dapm_free_widget (struct snd_soc_dapm_widget *w)”h]”j )�”}”(hŒRemoves widget from all paths and frees memory occupied by it.”h]”hŒ>Removes widget from all paths and frees memory occupied by it.”…”�”}”(hj¾ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M2 hjHûubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_soc_dapm_sync_unlocked (C function)”Œc.snd_soc_dapm_sync_unlocked”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒBint snd_soc_dapm_sync_unlocked (struct snd_soc_dapm_context *dapm)”h]”j )�”}”(hŒAint snd_soc_dapm_sync_unlocked(struct snd_soc_dapm_context *dapm)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjíûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjéûh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M® ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjéûh²hh³jûûh´M® ubj3)�”}”(hŒsnd_soc_dapm_sync_unlocked”h]”j9)�”}”(hŒsnd_soc_dapm_sync_unlocked”h]”hŒsnd_soc_dapm_sync_unlocked”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj üubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjéûh²hh³jûûh´M® ubjT)�”}”(hŒ#(struct snd_soc_dapm_context *dapm)”h]”jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj*üh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj&üubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7üh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&üubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjHüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEüubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jJüŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jüsbŒc.snd_soc_dapm_sync_unlocked”†”asbuh1hhj&üubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhüh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&üubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjvüh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj&üubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjƒüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&üubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj"üubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjéûh²hh³jûûh´M® ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjåûh²hh³jûûh´M® ubah}”(h]”jàûah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jûûh´M® hjâûh²hubjv)�”}”(hhh]”j{)�”}”(hŒscan and power dapm paths”h]”hŒscan and power dapm paths”…”�”}”(hj­üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M® hjªüh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjâûh²hh³jûûh´M® ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÅüjšjÅüj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒá**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context **Description** Walks all dapm audio paths and powers widgets according to their stream or path usage. Requires external locking. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÏüh]”hŒ Parameters”…”�”}”(hjÑüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÍüubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M² hjÉüubj¿)�”}”(hhh]”jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjîüh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjðüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjìüubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¯ hjèüubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jýh´M¯ hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjèüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jýh´M¯ hjåüubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÉüubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj)ýh]”hŒ Description”…”�”}”(hj+ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'ýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M± hjÉüubj{)�”}”(hŒVWalks all dapm audio paths and powers widgets according to their stream or path usage.”h]”hŒVWalks all dapm audio paths and powers widgets according to their stream or path usage.”…”�”}”(hj?ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M° hjÉüubj{)�”}”(hŒRequires external locking.”h]”hŒRequires external locking.”…”�”}”(hjNýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M³ hjÉüubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj]ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mµ hjÉüubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_dapm_sync (C function)”Œc.snd_soc_dapm_sync”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ9int snd_soc_dapm_sync (struct snd_soc_dapm_context *dapm)”h]”j )�”}”(hŒ8int snd_soc_dapm_sync(struct snd_soc_dapm_context *dapm)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjŒýh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjˆýh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÆ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›ýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆýh²hh³jšýh´MÆ ubj3)�”}”(hŒsnd_soc_dapm_sync”h]”j9)�”}”(hŒsnd_soc_dapm_sync”h]”hŒsnd_soc_dapm_sync”…”�”}”(hj­ýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©ýubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjˆýh²hh³jšýh´MÆ ubjT)�”}”(hŒ#(struct snd_soc_dapm_context *dapm)”h]”jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÉýh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÅýubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÅýubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjçýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjäýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jéýŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¯ýsbŒc.snd_soc_dapm_sync”†”asbuh1hhjÅýubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÅýubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÅýubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj"þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÅýubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÁýubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjˆýh²hh³jšýh´MÆ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj„ýh²hh³jšýh´MÆ ubah}”(h]”jýah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jšýh´MÆ hj�ýh²hubjv)�”}”(hhh]”j{)�”}”(hŒscan and power dapm paths”h]”hŒscan and power dapm paths”…”�”}”(hjLþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÆ hjIþh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�ýh²hh³jšýh´MÆ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jdþjšjdþj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÅ**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context **Description** Walks all dapm audio paths and powers widgets according to their stream or path usage. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjnþh]”hŒ Parameters”…”�”}”(hjpþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjlþubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÊ hjhþubj¿)�”}”(hhh]”jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj�þh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj�þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‹þubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÇ hj‡þubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj¦þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¢þh´MÇ hj£þubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‡þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¢þh´MÇ hj„þubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjhþubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÈþh]”hŒ Description”…”�”}”(hjÊþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÆþubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÉ hjhþubj{)�”}”(hŒVWalks all dapm audio paths and powers widgets according to their stream or path usage.”h]”hŒVWalks all dapm audio paths and powers widgets according to their stream or path usage.”…”�”}”(hjÞþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÈ hjhþubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjíþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MË hjhþubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_dapm_add_routes (C function)”Œc.snd_soc_dapm_add_routes”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒpint snd_soc_dapm_add_routes (struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_route *route, int num)”h]”j )�”}”(hŒoint snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_route *route, int num)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÍ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿh²hh³j*ÿh´MÍ ubj3)�”}”(hŒsnd_soc_dapm_add_routes”h]”j9)�”}”(hŒsnd_soc_dapm_add_routes”h]”hŒsnd_soc_dapm_add_routes”…”�”}”(hj=ÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9ÿubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÿh²hh³j*ÿh´MÍ ubjT)�”}”(hŒT(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_route *route, int num)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjYÿh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjUÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjUÿubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjwÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjtÿubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jyÿŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j?ÿsbŒc.snd_soc_dapm_add_routes”†”asbuh1hhjUÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjUÿubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¥ÿh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjUÿubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj²ÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjUÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjQÿubjZ)�”}”(hŒ&const struct snd_soc_dapm_route *route”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjËÿh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÇÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÇÿubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjæÿh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÇÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÇÿubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_route”h]”hŒsnd_soc_dapm_route”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j“ÿŒc.snd_soc_dapm_add_routes”†”asbuh1hhjÇÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÇÿubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÇÿubj9)�”}”(hŒroute”h]”hŒroute”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÇÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjQÿubjZ)�”}”(hŒint num”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjRubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRubj9)�”}”(hŒnum”h]”hŒnum”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjQÿubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÿh²hh³j*ÿh´MÍ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÿh²hh³j*ÿh´MÍ ubah}”(h]”jÿah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j*ÿh´MÍ hjÿh²hubjv)�”}”(hhh]”j{)�”}”(hŒAdd routes between DAPM widgets”h]”hŒAdd routes between DAPM widgets”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÍ hj™h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÿh²hh³j*ÿh´MÍ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j´jšj´j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX½**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const struct snd_soc_dapm_route *route`` audio routes ``int num`` number of routes **Description** Connects 2 dapm widgets together via a named audio path. The sink is the widget receiving the audio signal, whilst the source is the sender of the audio signal. Returns 0 for success else error. On error all resources can be freed with a call to snd_soc_card_free().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¾h]”hŒ Parameters”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÑ hj¸ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjÝh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÎ hj×ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jòh´MÎ hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jòh´MÎ hjÔubjÄ)�”}”(hŒ8``const struct snd_soc_dapm_route *route`` audio routes ”h]”(jÊ)�”}”(hŒ*``const struct snd_soc_dapm_route *route``”h]”jÐ)�”}”(hjh]”hŒ&const struct snd_soc_dapm_route *route”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÏ hjubjæ)�”}”(hhh]”j{)�”}”(hŒ audio routes”h]”hŒ audio routes”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j+h´MÏ hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j+h´MÏ hjÔubjÄ)�”}”(hŒ``int num`` number of routes ”h]”(jÊ)�”}”(hŒ ``int num``”h]”jÐ)�”}”(hjOh]”hŒint num”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÐ hjIubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of routes”h]”hŒnumber of routes”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jdh´MÐ hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jdh´MÐ hjÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¸ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjŠh]”hŒ Description”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÒ hj¸ubj{)�”}”(hŒ Connects 2 dapm widgets together via a named audio path. The sink is the widget receiving the audio signal, whilst the source is the sender of the audio signal.”h]”hŒ Connects 2 dapm widgets together via a named audio path. The sink is the widget receiving the audio signal, whilst the source is the sender of the audio signal.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÑ hj¸ubj{)�”}”(hŒiReturns 0 for success else error. On error all resources can be freed with a call to snd_soc_card_free().”h]”hŒiReturns 0 for success else error. On error all resources can be freed with a call to snd_soc_card_free().”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÕ hj¸ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_dapm_del_routes (C function)”Œc.snd_soc_dapm_del_routes”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒpint snd_soc_dapm_del_routes (struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_route *route, int num)”h]”j )�”}”(hŒoint snd_soc_dapm_del_routes(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_route *route, int num)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mì ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚh²hh³jìh´Mì ubj3)�”}”(hŒsnd_soc_dapm_del_routes”h]”j9)�”}”(hŒsnd_soc_dapm_del_routes”h]”hŒsnd_soc_dapm_del_routes”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÚh²hh³jìh´Mì ubjT)�”}”(hŒT(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_route *route, int num)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j;Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jsbŒc.snd_soc_dapm_del_routes”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒ&const struct snd_soc_dapm_route *route”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_route”h]”hŒsnd_soc_dapm_route”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÃubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÈŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jUŒc.snd_soc_dapm_del_routes”†”asbuh1hhj‰ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj‰ubj9)�”}”(hŒroute”h]”hŒroute”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubjZ)�”}”(hŒint num”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj9)�”}”(hŒnum”h]”hŒnum”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÚh²hh³jìh´Mì ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÖh²hh³jìh´Mì ubah}”(h]”jÑah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jìh´Mì hjÓh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Remove routes between DAPM widgets”h]”hŒ"Remove routes between DAPM widgets”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mì hj[h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÓh²hh³jìh´Mì ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jvjšjvj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ×**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const struct snd_soc_dapm_route *route`` audio routes ``int num`` number of routes **Description** Removes routes from the DAPM context.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj€h]”hŒ Parameters”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mð hjzubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjŸh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mí hj™ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j´h´Mí hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j´h´Mí hj–ubjÄ)�”}”(hŒ8``const struct snd_soc_dapm_route *route`` audio routes ”h]”(jÊ)�”}”(hŒ*``const struct snd_soc_dapm_route *route``”h]”jÐ)�”}”(hjØh]”hŒ&const struct snd_soc_dapm_route *route”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mî hjÒubjæ)�”}”(hhh]”j{)�”}”(hŒ audio routes”h]”hŒ audio routes”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jíh´Mî hjîubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jíh´Mî hj–ubjÄ)�”}”(hŒ``int num`` number of routes ”h]”(jÊ)�”}”(hŒ ``int num``”h]”jÐ)�”}”(hjh]”hŒint num”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mï hj ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of routes”h]”hŒnumber of routes”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j&h´Mï hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j&h´Mï hj–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjzubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjLh]”hŒ Description”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mñ hjzubj{)�”}”(hŒ%Removes routes from the DAPM context.”h]”hŒ%Removes routes from the DAPM context.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mð hjzubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_soc_dapm_new_widgets (C function)”Œc.snd_soc_dapm_new_widgets”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8int snd_soc_dapm_new_widgets (struct snd_soc_card *card)”h]”j )�”}”(hŒ7int snd_soc_dapm_new_widgets(struct snd_soc_card *card)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�h²hh³jŸh´M ubj3)�”}”(hŒsnd_soc_dapm_new_widgets”h]”j9)�”}”(hŒsnd_soc_dapm_new_widgets”h]”hŒsnd_soc_dapm_new_widgets”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�h²hh³jŸh´M ubjT)�”}”(hŒ(struct snd_soc_card *card)”h]”jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjéubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jîŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j´sbŒc.snd_soc_dapm_new_widgets”†”asbuh1hhjÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÊubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÆubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�h²hh³jŸh´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‰h²hh³jŸh´M ubah}”(h]”j„ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŸh´M hj†h²hubjv)�”}”(hhh]”j{)�”}”(hŒadd new dapm widgets”h]”hŒadd new dapm widgets”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjNh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj†h²hh³jŸh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jijšjij›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÆ**Parameters** ``struct snd_soc_card *card`` card to be checked for new dapm widgets **Description** Checks the codec for any new dapm widgets and creates them if found. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjsh]”hŒ Parameters”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjmubj¿)�”}”(hhh]”jÄ)�”}”(hŒF``struct snd_soc_card *card`` card to be checked for new dapm widgets ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hj’h]”hŒstruct snd_soc_card *card”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjŒubjæ)�”}”(hhh]”j{)�”}”(hŒ'card to be checked for new dapm widgets”h]”hŒ'card to be checked for new dapm widgets”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j§h´M hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j§h´M hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjmubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÍh]”hŒ Description”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjmubj{)�”}”(hŒDChecks the codec for any new dapm widgets and creates them if found.”h]”hŒDChecks the codec for any new dapm widgets and creates them if found.”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjmubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjmubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_soc_dapm_get_volsw (C function)”Œc.snd_soc_dapm_get_volsw”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_int snd_soc_dapm_get_volsw (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒ^int snd_soc_dapm_get_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MO ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j/h´MO ubj3)�”}”(hŒsnd_soc_dapm_get_volsw”h]”j9)�”}”(hŒsnd_soc_dapm_get_volsw”h]”hŒsnd_soc_dapm_get_volsw”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³j/h´MO ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjZubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjyubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j~Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jDsbŒc.snd_soc_dapm_get_volsw”†”asbuh1hhjZubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjZubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjVubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÌubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jðŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j˜Œc.snd_soc_dapm_get_volsw”†”asbuh1hhjÌubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjVubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³j/h´MO ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³j/h´MO ubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j/h´MO hjh²hubjv)�”}”(hhh]”j{)�”}”(hŒdapm mixer get callback”h]”hŒdapm mixer get callback”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MO hjNh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j/h´MO ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jijšjij›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒå**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to get the value of a dapm mixer control. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjsh]”hŒ Parameters”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MS hjmubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj’h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MP hjŒubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j§h´MP hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j§h´MP hj‰ubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjËh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MQ hjÅubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jàh´MQ hjáubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jàh´MQ hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjmubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MS hjmubj{)�”}”(hŒ2Callback to get the value of a dapm mixer control.”h]”hŒ2Callback to get the value of a dapm mixer control.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MR hjmubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MT hjmubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_soc_dapm_put_volsw (C function)”Œc.snd_soc_dapm_put_volsw”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_int snd_soc_dapm_put_volsw (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒ^int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjVh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M‰ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjVh²hh³jhh´M‰ ubj3)�”}”(hŒsnd_soc_dapm_put_volsw”h]”j9)�”}”(hŒsnd_soc_dapm_put_volsw”h]”hŒsnd_soc_dapm_put_volsw”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjVh²hh³jhh´M‰ ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj²ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j·Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j}sbŒc.snd_soc_dapm_put_volsw”†”asbuh1hhj“ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj“ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�ubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j) Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÑŒc.snd_soc_dapm_put_volsw”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjVh²hh³jhh´M‰ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjRh²hh³jhh´M‰ ubah}”(h]”jMah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jhh´M‰ hjOh²hubjv)�”}”(hhh]”j{)�”}”(hŒdapm mixer set callback”h]”hŒdapm mixer set callback”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M‰ hj‡ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjOh²hh³jhh´M‰ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¢ jšj¢ j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒå**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to set the value of a dapm mixer control. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¬ h]”hŒ Parameters”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjª ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M� hj¦ ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjË h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÉ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MŠ hjÅ ubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jà h´MŠ hjá ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÅ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jà h´MŠ hj ubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hj h]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M‹ hjþ ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´M‹ hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´M‹ hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¦ ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj? h]”hŒ Description”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M� hj¦ ubj{)�”}”(hŒ2Callback to set the value of a dapm mixer control.”h]”hŒ2Callback to set the value of a dapm mixer control.”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MŒ hj¦ ubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjd h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MŽ hj¦ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_dapm_get_enum_double (C function)”Œc.snd_soc_dapm_get_enum_double”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒeint snd_soc_dapm_get_enum_double (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒdint snd_soc_dapm_get_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj� h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mâ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj� h²hh³j¡ h´Mâ ubj3)�”}”(hŒsnd_soc_dapm_get_enum_double”h]”j9)�”}”(hŒsnd_soc_dapm_get_enum_double”h]”hŒsnd_soc_dapm_get_enum_double”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj° ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj� h²hh³j¡ h´Mâ ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÐ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÌ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjî h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjë ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jð Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¶ sbŒc.snd_soc_dapm_get_enum_double”†”asbuh1hhjÌ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌ ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ ubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj> ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj> ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj] ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jb Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j Œc.snd_soc_dapm_get_enum_double”†”asbuh1hhj> ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj> ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj> ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj> ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj� h²hh³j¡ h´Mâ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‹ h²hh³j¡ h´Mâ ubah}”(h]”j† ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¡ h´Mâ hjˆ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ)dapm enumerated double mixer get callback”h]”hŒ)dapm enumerated double mixer get callback”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mâ hjÀ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjˆ h²hh³j¡ h´Mâ ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÛ jšjÛ j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ÷**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to get the value of a dapm enumerated double mixer control. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjå h]”hŒ Parameters”…”�”}”(hjç h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjã ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mæ hjß ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mã hjþ ubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´Mã hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´Mã hjû ubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hj= h]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj? h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj; ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mä hj7 ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjV h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jR h´Mä hjS ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jR h´Mä hjû ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjß ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjx h]”hŒ Description”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjv ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mæ hjß ubj{)�”}”(hŒDCallback to get the value of a dapm enumerated double mixer control.”h]”hŒDCallback to get the value of a dapm enumerated double mixer control.”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Må hjß ubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mç hjß ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_dapm_put_enum_double (C function)”Œc.snd_soc_dapm_put_enum_double”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒeint snd_soc_dapm_put_enum_double (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒdint snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÌ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÈ h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÈ h²hh³jÚ h´Mubj3)�”}”(hŒsnd_soc_dapm_put_enum_double”h]”j9)�”}”(hŒsnd_soc_dapm_put_enum_double”h]”hŒsnd_soc_dapm_put_enum_double”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjé ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÈ h²hh³jÚ h´MubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j) Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jï sbŒc.snd_soc_dapm_put_enum_double”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjw ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj– ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j› Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jC Œc.snd_soc_dapm_put_enum_double”†”asbuh1hhjw ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjw ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjÒ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjw ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÈ h²hh³jÚ h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÄ h²hh³jÚ h´Mubah}”(h]”j¿ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÚ h´MhjÁ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ)dapm enumerated double mixer set callback”h]”hŒ)dapm enumerated double mixer set callback”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjù h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÁ h²hh³jÚ h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jjšjj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ÷**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` control element information **Description** Callback to set the value of a dapm enumerated double mixer control. Returns 0 for success.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”• h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj=h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj7ubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jRh´MhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jRh´Mhj4ubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjvh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjpubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹h´MhjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹h´Mhj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj±h]”hŒ Description”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjubj{)�”}”(hŒDCallback to set the value of a dapm enumerated double mixer control.”h]”hŒDCallback to set the value of a dapm enumerated double mixer control.”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_dapm_info_pin_switch (C function)”Œc.snd_soc_dapm_info_pin_switch”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒaint snd_soc_dapm_info_pin_switch (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”j )�”}”(hŒ`int snd_soc_dapm_info_pin_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MCubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³jh´MCubj3)�”}”(hŒsnd_soc_dapm_info_pin_switch”h]”j9)�”}”(hŒsnd_soc_dapm_info_pin_switch”h]”hŒsnd_soc_dapm_info_pin_switch”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj"ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³jh´MCubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj>ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jbŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j(sbŒc.snd_soc_dapm_info_pin_switch”†”asbuh1hhj>ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj>ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj:ubjZ)�”}”(hŒstruct snd_ctl_elem_info *uinfo”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj°ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj°ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÏubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÔŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j|Œc.snd_soc_dapm_info_pin_switch”†”asbuh1hhj°ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj°ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj°ubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj°ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj:ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³jh´MCubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjýh²hh³jh´MCubah}”(h]”jøah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´MChjúh²hubjv)�”}”(hhh]”j{)�”}”(hŒInfo for a pin switch”h]”hŒInfo for a pin switch”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MChj2h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjúh²hh³jh´MCubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jMjšjMj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÒ**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_info *uinfo`` control element information **Description** Callback to provide information about a pin switch control.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjWh]”hŒ Parameters”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MGhjQubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjvh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MEhjpubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹h´MEhjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹h´MEhjmubjÄ)�”}”(hŒ@``struct snd_ctl_elem_info *uinfo`` control element information ”h]”(jÊ)�”}”(hŒ#``struct snd_ctl_elem_info *uinfo``”h]”jÐ)�”}”(hj¯h]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MFhj©ubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄh´MFhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄh´MFhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjQubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjêh]”hŒ Description”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MHhjQubj{)�”}”(hŒ;Callback to provide information about a pin switch control.”h]”hŒ;Callback to provide information about a pin switch control.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MGhjQubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_get_pin_switch (C function)”Œc.snd_soc_dapm_get_pin_switch”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdint snd_soc_dapm_get_pin_switch (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒcint snd_soc_dapm_get_pin_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj+h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+h²hh³j=h´Mbubj3)�”}”(hŒsnd_soc_dapm_get_pin_switch”h]”j9)�”}”(hŒsnd_soc_dapm_get_pin_switch”h]”hŒsnd_soc_dapm_get_pin_switch”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+h²hh³j=h´MbubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jRsbŒc.snd_soc_dapm_get_pin_switch”†”asbuh1hhjhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjhubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jþŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¦Œc.snd_soc_dapm_get_pin_switch”†”asbuh1hhjÚubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÚubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj+h²hh³j=h´Mbubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj'h²hh³j=h´Mbubah}”(h]”j"ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j=h´Mbhj$h²hubjv)�”}”(hhh]”j{)�”}”(hŒ Get information for a pin switch”h]”hŒ Get information for a pin switch”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mbhj\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj$h²hh³j=h´Mbubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jwjšjwj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÎ**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` Value **Description** Callback to provide information for a pin switch added at the card level.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj�h]”hŒ Parameters”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mfhj{ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hj h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mdhjšubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jµh´Mdhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjšubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jµh´Mdhj—ubjÄ)�”}”(hŒ.``struct snd_ctl_elem_value *ucontrol`` Value ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjÙh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MehjÓubjæ)�”}”(hhh]”j{)�”}”(hŒValue”h]”hŒValue”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jîh´Mehjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jîh´Mehj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj{ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mghj{ubj{)�”}”(hŒICallback to provide information for a pin switch added at the card level.”h]”hŒICallback to provide information for a pin switch added at the card level.”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mfhj{ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ2snd_soc_dapm_get_component_pin_switch (C function)”Œ'c.snd_soc_dapm_get_component_pin_switch”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒnint snd_soc_dapm_get_component_pin_switch (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒmint snd_soc_dapm_get_component_pin_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjUh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjUh²hh³jgh´Mvubj3)�”}”(hŒ%snd_soc_dapm_get_component_pin_switch”h]”j9)�”}”(hŒ%snd_soc_dapm_get_component_pin_switch”h]”hŒ%snd_soc_dapm_get_component_pin_switch”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjvubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjUh²hh³jgh´MvubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¶Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j|sbŒ'c.snd_soc_dapm_get_component_pin_switch”†”asbuh1hhj’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj’ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŽubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j(Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÐŒ'c.snd_soc_dapm_get_component_pin_switch”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjŽubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjUh²hh³jgh´Mvubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjQh²hh³jgh´Mvubah}”(h]”jLah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jgh´MvhjNh²hubjv)�”}”(hhh]”j{)�”}”(hŒ Get information for a pin switch”h]”hŒ Get information for a pin switch”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mvhj†h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjNh²hh³jgh´Mvubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¡jšj¡j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÓ**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` Value **Description** Callback to provide information for a pin switch added at the component level.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj«h]”hŒ Parameters”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mzhj¥ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjÊh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MxhjÄubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jßh´Mxhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jßh´MxhjÁubjÄ)�”}”(hŒ.``struct snd_ctl_elem_value *ucontrol`` Value ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Myhjýubjæ)�”}”(hhh]”j{)�”}”(hŒValue”h]”hŒValue”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Myhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´MyhjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¥ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj>h]”hŒ Description”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M{hj¥ubj{)�”}”(hŒNCallback to provide information for a pin switch added at the component level.”h]”hŒNCallback to provide information for a pin switch added at the component level.”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mzhj¥ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_put_pin_switch (C function)”Œc.snd_soc_dapm_put_pin_switch”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdint snd_soc_dapm_put_pin_switch (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒcint snd_soc_dapm_put_pin_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j‘h´M™ubj3)�”}”(hŒsnd_soc_dapm_put_pin_switch”h]”j9)�”}”(hŒsnd_soc_dapm_put_pin_switch”h]”hŒsnd_soc_dapm_put_pin_switch”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³j‘h´M™ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jàŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¦sbŒc.snd_soc_dapm_put_pin_switch”†”asbuh1hhj¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¼ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¸ubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jRŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”júŒc.snd_soc_dapm_put_pin_switch”†”asbuh1hhj.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj.ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¸ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³j‘h´M™ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj{h²hh³j‘h´M™ubah}”(h]”jvah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‘h´M™hjxh²hubjv)�”}”(hhh]”j{)�”}”(hŒ Set information for a pin switch”h]”hŒ Set information for a pin switch”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M™hj°h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjxh²hh³j‘h´M™ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jËjšjËj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÎ**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` Value **Description** Callback to provide information for a pin switch added at the card level.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÕh]”hŒ Parameters”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M�hjÏubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjôh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M›hjîubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j h´M›hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j h´M›hjëubjÄ)�”}”(hŒ.``struct snd_ctl_elem_value *ucontrol`` Value ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hj-h]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mœhj'ubjæ)�”}”(hhh]”j{)�”}”(hŒValue”h]”hŒValue”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jBh´MœhjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jBh´Mœhjëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÏubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjhh]”hŒ Description”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MžhjÏubj{)�”}”(hŒICallback to provide information for a pin switch added at the card level.”h]”hŒICallback to provide information for a pin switch added at the card level.”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M�hjÏubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ2snd_soc_dapm_put_component_pin_switch (C function)”Œ'c.snd_soc_dapm_put_component_pin_switch”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒnint snd_soc_dapm_put_component_pin_switch (struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”j )�”}”(hŒmint snd_soc_dapm_put_component_pin_switch(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj©h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M­ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj©h²hh³j»h´M­ubj3)�”}”(hŒ%snd_soc_dapm_put_component_pin_switch”h]”j9)�”}”(hŒ%snd_soc_dapm_put_component_pin_switch”h]”hŒ%snd_soc_dapm_put_component_pin_switch”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj©h²hh³j»h´M­ubjT)�”}”(hŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÐsbŒ'c.snd_soc_dapm_put_component_pin_switch”†”asbuh1hhjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjæubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjâubjZ)�”}”(hŒ#struct snd_ctl_elem_value *ucontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j|Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j$Œ'c.snd_soc_dapm_put_component_pin_switch”†”asbuh1hhjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjXubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjâubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj©h²hh³j»h´M­ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¥h²hh³j»h´M­ubah}”(h]”j ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j»h´M­hj¢h²hubjv)�”}”(hhh]”j{)�”}”(hŒ Set information for a pin switch”h]”hŒ Set information for a pin switch”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M­hjÚh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¢h²hh³j»h´M­ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jõjšjõj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒÓ**Parameters** ``struct snd_kcontrol *kcontrol`` mixer control ``struct snd_ctl_elem_value *ucontrol`` Value **Description** Callback to provide information for a pin switch added at the component level.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÿh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M±hjùubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¯hjubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j3h´M¯hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j3h´M¯hjubjÄ)�”}”(hŒ.``struct snd_ctl_elem_value *ucontrol`` Value ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjWh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M°hjQubjæ)�”}”(hhh]”j{)�”}”(hŒValue”h]”hŒValue”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jlh´M°hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jlh´M°hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjùubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj’h]”hŒ Description”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M²hjùubj{)�”}”(hŒNCallback to provide information for a pin switch added at the component level.”h]”hŒNCallback to provide information for a pin switch added at the component level.”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M±hjùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_soc_dapm_new_control (C function)”Œc.snd_soc_dapm_new_control”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒƒstruct snd_soc_dapm_widget * snd_soc_dapm_new_control (struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_widget *widget)”h]”j )�”}”(hŒ�struct snd_soc_dapm_widget *snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_widget *widget)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÓh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓh²hh³jäh´MQubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjóubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jøŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_dapm_new_control”sbŒc.snd_soc_dapm_new_control”†”asbuh1hhjÓh²hh³jäh´MQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓh²hh³jäh´MQubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÓh²hh³jäh´MQubj3)�”}”(hŒsnd_soc_dapm_new_control”h]”j9)�”}”(hjh]”hŒsnd_soc_dapm_new_control”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÓh²hh³jäh´MQubjT)�”}”(hŒM(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_widget *widget)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjMubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjMubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjlubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jqŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_soc_dapm_new_control”†”asbuh1hhjMubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjMubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjMubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjIubjZ)�”}”(hŒ(const struct snd_soc_dapm_widget *widget”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jüŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_soc_dapm_new_control”†”asbuh1hhj½ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj½ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj½ubj9)�”}”(hŒwidget”h]”hŒwidget”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjIubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÓh²hh³jäh´MQubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÏh²hh³jäh´MQubah}”(h]”jÊah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jäh´MQhjÌh²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new dapm control”h]”hŒcreate new dapm control”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MQhjZh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÌh²hh³jäh´MQubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jujšjuj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX **Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const struct snd_soc_dapm_widget *widget`` widget template **Description** Creates new DAPM control based upon a template. Returns a widget pointer on success or an error pointer on failure”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh]”hŒ Parameters”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MUhjyubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjžh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MRhj˜ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j³h´MRhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j³h´MRhj•ubjÄ)�”}”(hŒ=``const struct snd_soc_dapm_widget *widget`` widget template ”h]”(jÊ)�”}”(hŒ,``const struct snd_soc_dapm_widget *widget``”h]”jÐ)�”}”(hj×h]”hŒ(const struct snd_soc_dapm_widget *widget”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MShjÑubjæ)�”}”(hhh]”j{)�”}”(hŒwidget template”h]”hŒwidget template”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jìh´MShjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jìh´MShj•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjyubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MUhjyubj{)�”}”(hŒ/Creates new DAPM control based upon a template.”h]”hŒ/Creates new DAPM control based upon a template.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MThjyubj{)�”}”(hŒBReturns a widget pointer on success or an error pointer on failure”h]”hŒBReturns a widget pointer on success or an error pointer on failure”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MVhjyubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_soc_dapm_new_controls (C function)”Œc.snd_soc_dapm_new_controls”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ}int snd_soc_dapm_new_controls (struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_widget *widget, unsigned int num)”h]”j )�”}”(hŒ|int snd_soc_dapm_new_controls(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_widget *widget, unsigned int num)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbh²hh³jth´Mhubj3)�”}”(hŒsnd_soc_dapm_new_controls”h]”j9)�”}”(hŒsnd_soc_dapm_new_controls”h]”hŒsnd_soc_dapm_new_controls”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjbh²hh³jth´MhubjT)�”}”(hŒ_(struct snd_soc_dapm_context *dapm, const struct snd_soc_dapm_widget *widget, unsigned int num)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŸubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÃŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j‰sbŒc.snd_soc_dapm_new_controls”†”asbuh1hhjŸubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŸubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj›ubjZ)�”}”(hŒ(const struct snd_soc_dapm_widget *widget”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jPŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÝŒc.snd_soc_dapm_new_controls”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒwidget”h]”hŒwidget”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj›ubjZ)�”}”(hŒunsigned int num”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjœubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjœubj9)�”}”(hŒnum”h]”hŒnum”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj›ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjbh²hh³jth´Mhubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj^h²hh³jth´Mhubah}”(h]”jYah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jth´Mhhj[h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new dapm controls”h]”hŒcreate new dapm controls”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhhjÿh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj[h²hh³jth´Mhubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jjšjj›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const struct snd_soc_dapm_widget *widget`` widget array ``unsigned int num`` number of widgets **Description** Creates new DAPM controls based upon the templates. Returns 0 for success else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj$h]”hŒ Parameters”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mlhjubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjCh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mihj=ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jXh´MihjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jXh´Mihj:ubjÄ)�”}”(hŒ:``const struct snd_soc_dapm_widget *widget`` widget array ”h]”(jÊ)�”}”(hŒ,``const struct snd_soc_dapm_widget *widget``”h]”jÐ)�”}”(hj|h]”hŒ(const struct snd_soc_dapm_widget *widget”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mjhjvubjæ)�”}”(hhh]”j{)�”}”(hŒ widget array”h]”hŒ widget array”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‘h´Mjhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‘h´Mjhj:ubjÄ)�”}”(hŒ'``unsigned int num`` number of widgets ”h]”(jÊ)�”}”(hŒ``unsigned int num``”h]”jÐ)�”}”(hjµh]”hŒunsigned int num”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mkhj¯ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of widgets”h]”hŒnumber of widgets”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÊh´MkhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÊh´Mkhj:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjðh]”hŒ Description”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjîubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mmhjubj{)�”}”(hŒ3Creates new DAPM controls based upon the templates.”h]”hŒ3Creates new DAPM controls based upon the templates.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mlhjubj{)�”}”(hŒ!Returns 0 for success else error.”h]”hŒ!Returns 0 for success else error.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mnhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_soc_dapm_new_dai_widgets (C function)”Œc.snd_soc_dapm_new_dai_widgets”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ]int snd_soc_dapm_new_dai_widgets (struct snd_soc_dapm_context *dapm, struct snd_soc_dai *dai)”h]”j )�”}”(hŒ\int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, struct snd_soc_dai *dai)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj@h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj@h²hh³jRh´Mubj3)�”}”(hŒsnd_soc_dapm_new_dai_widgets”h]”j9)�”}”(hŒsnd_soc_dapm_new_dai_widgets”h]”hŒsnd_soc_dapm_new_dai_widgets”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj@h²hh³jRh´MubjT)�”}”(hŒ<(struct snd_soc_dapm_context *dapm, struct snd_soc_dai *dai)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¡Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jgsbŒc.snd_soc_dapm_new_dai_widgets”†”asbuh1hhj}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjyubjZ)�”}”(hŒstruct snd_soc_dai *dai”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjïubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_dai”h]”hŒ snd_soc_dai”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j»Œc.snd_soc_dapm_new_dai_widgets”†”asbuh1hhjïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjïubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj= h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjïubj9)�”}”(hŒdai”h]”hŒdai”…”�”}”(hjJ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjyubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj@h²hh³jRh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj<h²hh³jRh´Mubah}”(h]”j7ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jRh´Mhj9h²hubjv)�”}”(hhh]”j{)�”}”(hŒCreate new DAPM widgets”h]”hŒCreate new DAPM widgets”…”�”}”(hjt h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjq h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj9h²hh³jRh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jŒ jšjŒ j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ¬**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``struct snd_soc_dai *dai`` parent DAI **Description** Returns 0 on success, error code otherwise.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj– h]”hŒ Parameters”…”�”}”(hj˜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj” ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj� ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjµ h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj³ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj¯ ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÊ h´MhjË ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¯ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÊ h´Mhj¬ ubjÄ)�”}”(hŒ'``struct snd_soc_dai *dai`` parent DAI ”h]”(jÊ)�”}”(hŒ``struct snd_soc_dai *dai``”h]”jÐ)�”}”(hjî h]”hŒstruct snd_soc_dai *dai”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjì ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjè ubjæ)�”}”(hhh]”j{)�”}”(hŒ parent DAI”h]”hŒ parent DAI”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j!h´Mhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjè ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j!h´Mhj¬ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj� ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj)!h]”hŒ Description”…”�”}”(hj+!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj� ubj{)�”}”(hŒ+Returns 0 on success, error code otherwise.”h]”hŒ+Returns 0 on success, error code otherwise.”…”�”}”(hj?!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj� ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_soc_dapm_stream_event (C function)”Œc.snd_soc_dapm_stream_event”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWvoid snd_soc_dapm_stream_event (struct snd_soc_pcm_runtime *rtd, int stream, int event)”h]”j )�”}”(hŒVvoid snd_soc_dapm_stream_event(struct snd_soc_pcm_runtime *rtd, int stream, int event)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjn!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjj!h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}!h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjj!h²hh³j|!h´M5ubj3)�”}”(hŒsnd_soc_dapm_stream_event”h]”j9)�”}”(hŒsnd_soc_dapm_stream_event”h]”hŒsnd_soc_dapm_stream_event”…”�”}”(hj�!h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹!ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjj!h²hh³j|!h´M5ubjT)�”}”(hŒ8(struct snd_soc_pcm_runtime *rtd, int stream, int event)”h]”(jZ)�”}”(hŒstruct snd_soc_pcm_runtime *rtd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj«!h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj§!ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸!h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§!ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_pcm_runtime”h]”hŒsnd_soc_pcm_runtime”…”�”}”(hjÉ!h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆ!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jË!Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j‘!sbŒc.snd_soc_dapm_stream_event”†”asbuh1hhj§!ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé!h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§!ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj÷!h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj§!ubj9)�”}”(hŒrtd”h]”hŒrtd”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj£!ubjZ)�”}”(hŒ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj"ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj"ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj9"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj£!ubjZ)�”}”(hŒ int event”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjR"h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN"ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN"ubj9)�”}”(hŒevent”h]”hŒevent”…”�”}”(hjn"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjN"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj£!ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjj!h²hh³j|!h´M5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjf!h²hh³j|!h´M5ubah}”(h]”ja!ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j|!h´M5hjc!h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$send a stream event to the dapm core”h]”hŒ$send a stream event to the dapm core”…”�”}”(hj˜"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M5hj•"h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjc!h²hh³j|!h´M5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j°"jšj°"j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_pcm_runtime *rtd`` PCM runtime data ``int stream`` stream name ``int event`` stream event **Description** Sends a stream event to the dapm core. The core then makes any necessary widget power changes. Returns 0 for success else error.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjº"h]”hŒ Parameters”…”�”}”(hj¼"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¸"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M9hj´"ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ5``struct snd_soc_pcm_runtime *rtd`` PCM runtime data ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hjÙ"h]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjÛ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj×"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M6hjÓ"ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime data”h]”hŒPCM runtime data”…”�”}”(hjò"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jî"h´M6hjï"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÓ"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jî"h´M6hjÐ"ubjÄ)�”}”(hŒ``int stream`` stream name ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hj#h]”hŒ int stream”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M7hj #ubjæ)�”}”(hhh]”j{)�”}”(hŒ stream name”h]”hŒ stream name”…”�”}”(hj+#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j'#h´M7hj(#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj #ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j'#h´M7hjÐ"ubjÄ)�”}”(hŒ``int event`` stream event ”h]”(jÊ)�”}”(hŒ ``int event``”h]”jÐ)�”}”(hjK#h]”hŒ int event”…”�”}”(hjM#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjI#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M8hjE#ubjæ)�”}”(hhh]”j{)�”}”(hŒ stream event”h]”hŒ stream event”…”�”}”(hjd#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j`#h´M8hja#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjE#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j`#h´M8hjÐ"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj´"ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj†#h]”hŒ Description”…”�”}”(hjˆ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj„#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M:hj´"ubj{)�”}”(hŒ^Sends a stream event to the dapm core. The core then makes any necessary widget power changes.”h]”hŒ^Sends a stream event to the dapm core. The core then makes any necessary widget power changes.”…”�”}”(hjœ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M9hj´"ubj{)�”}”(hŒ!Returns 0 for success else error.”h]”hŒ!Returns 0 for success else error.”…”�”}”(hj«#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M<hj´"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ-snd_soc_dapm_enable_pin_unlocked (C function)”Œ"c.snd_soc_dapm_enable_pin_unlocked”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒYint snd_soc_dapm_enable_pin_unlocked (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒXint snd_soc_dapm_enable_pin_unlocked(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÚ#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÖ#h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Maubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖ#h²hh³jè#h´Maubj3)�”}”(hŒ snd_soc_dapm_enable_pin_unlocked”h]”j9)�”}”(hŒ snd_soc_dapm_enable_pin_unlocked”h]”hŒ snd_soc_dapm_enable_pin_unlocked”…”�”}”(hjû#h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷#ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÖ#h²hh³jè#h´MaubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj5$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j7$Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jý#sbŒ"c.snd_soc_dapm_enable_pin_unlocked”†”asbu•h1hhj$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjc$h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj$ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjp$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj‰$h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj…$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj…$ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¤$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj…$ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj…$ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÀ$h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj…$ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hjÍ$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj…$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj$ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÖ#h²hh³jè#h´Maubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÒ#h²hh³jè#h´Maubah}”(h]”jÍ#ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jè#h´MahjÏ#h²hubjv)�”}”(hhh]”j{)�”}”(hŒ enable pin.”h]”hŒ enable pin.”…”�”}”(hj÷$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mahjô$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÏ#h²hh³jè#h´Maubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j%jšj%j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hXq**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` pin name **Description** Enables input/output pin and its parents or children widgets iff there is a valid audio route and active audio stream. Requires external locking. **NOTE** snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj%h]”hŒ Parameters”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mehj%ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj8%h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj:%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj6%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mbhj2%ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjQ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jM%h´MbhjN%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj2%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jM%h´Mbhj/%ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjq%h]”hŒconst char *pin”…”�”}”(hjs%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjo%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mchjk%ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hjŠ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†%h´Mchj‡%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjk%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†%h´Mchj/%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj%ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¬%h]”hŒ Description”…”�”}”(hj®%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjª%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mehj%ubj{)�”}”(hŒvEnables input/output pin and its parents or children widgets iff there is a valid audio route and active audio stream.”h]”hŒvEnables input/output pin and its parents or children widgets iff there is a valid audio route and active audio stream.”…”�”}”(hjÂ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mdhj%ubj{)�”}”(hŒRequires external locking.”h]”hŒRequires external locking.”…”�”}”(hjÑ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mghj%ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hjâ%h]”hŒNOTE”…”�”}”(hjä%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjà%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mihj%ubj{)�”}”(hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”…”�”}”(hjø%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mjhj%ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_dapm_enable_pin (C function)”Œc.snd_soc_dapm_enable_pin”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒPint snd_soc_dapm_enable_pin (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒOint snd_soc_dapm_enable_pin(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj'&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj#&h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Muubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#&h²hh³j5&h´Muubj3)�”}”(hŒsnd_soc_dapm_enable_pin”h]”j9)�”}”(hŒsnd_soc_dapm_enable_pin”h]”hŒsnd_soc_dapm_enable_pin”…”�”}”(hjH&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjD&ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj#&h²hh³j5&h´MuubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjd&h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj`&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`&ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj‚&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j„&Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jJ&sbŒc.snd_soc_dapm_enable_pin”†”asbuh1hhj`&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj`&ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj°&h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj`&ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj½&h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj\&ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjÖ&h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÒ&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjã&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒ&ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjñ&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÒ&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒ&ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÒ&ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒ&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj\&ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj#&h²hh³j5&h´Muubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj&h²hh³j5&h´Muubah}”(h]”j&ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j5&h´Muhj&h²hubjv)�”}”(hhh]”j{)�”}”(hŒ enable pin.”h]”hŒ enable pin.”…”�”}”(hjD'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MuhjA'h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj&h²hh³j5&h´Muubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j\'jšj\'j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hXU**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` pin name **Description** Enables input/output pin and its parents or children widgets iff there is a valid audio route and active audio stream. **NOTE** snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjf'h]”hŒ Parameters”…”�”}”(hjh'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjd'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Myhj`'ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj…'h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj‡'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjƒ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mvhj'ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjž'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jš'h´Mvhj›'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jš'h´Mvhj|'ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hj¾'h]”hŒconst char *pin”…”�”}”(hjÀ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¼'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mwhj¸'ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hj×'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÓ'h´MwhjÔ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¸'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÓ'h´Mwhj|'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj`'ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjù'h]”hŒ Description”…”�”}”(hjû'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj÷'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Myhj`'ubj{)�”}”(hŒvEnables input/output pin and its parents or children widgets iff there is a valid audio route and active audio stream.”h]”hŒvEnables input/output pin and its parents or children widgets iff there is a valid audio route and active audio stream.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mxhj`'ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hj (h]”hŒNOTE”…”�”}”(hj"(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M{hj`'ubj{)�”}”(hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”…”�”}”(hj6(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M|hj`'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ3snd_soc_dapm_force_enable_pin_unlocked (C function)”Œ(c.snd_soc_dapm_force_enable_pin_unlocked”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_int snd_soc_dapm_force_enable_pin_unlocked (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒ^int snd_soc_dapm_force_enable_pin_unlocked(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hje(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhja(h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MŽubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hja(h²hh³js(h´MŽubj3)�”}”(hŒ&snd_soc_dapm_force_enable_pin_unlocked”h]”j9)�”}”(hŒ&snd_soc_dapm_force_enable_pin_unlocked”h]”hŒ&snd_soc_dapm_force_enable_pin_unlocked”…”�”}”(hj†(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚(ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hja(h²hh³js(h´MŽubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¢(h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjž(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjž(ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjÀ(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj½(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÂ(Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jˆ(sbŒ(c.snd_soc_dapm_force_enable_pin_unlocked”†”asbuh1hhjž(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjž(ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjî(h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjž(ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjû(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjž(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjš(ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj/)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjK)h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj)ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hjX)h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjš(ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShja(h²hh³js(h´MŽubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj](h²hh³js(h´MŽubah}”(h]”jX(ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³js(h´MŽhjZ(h²hubjv)�”}”(hhh]”j{)�”}”(hŒforce a pin to be enabled”h]”hŒforce a pin to be enabled”…”�”}”(hj‚)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MŽhj)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjZ(h²hh³js(h´MŽubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jš)jšjš)j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX�**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` pin name **Description** Enables input/output pin regardless of any other state. This is intended for use with microphone bias supplies used in microphone jack detection. Requires external locking. **NOTE** snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¤)h]”hŒ Parameters”…”�”}”(hj¦)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¢)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M’hjž)ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjÃ)h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjÅ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÁ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M�hj½)ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjÜ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jØ)h´M�hjÙ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj½)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jØ)h´M�hjº)ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjü)h]”hŒconst char *pin”…”�”}”(hjþ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjú)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M�hjö)ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j*h´M�hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjö)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j*h´M�hjº)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjž)ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj7*h]”hŒ Description”…”�”}”(hj9*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M’hjž)ubj{)�”}”(hŒ’Enables input/output pin regardless of any other state. This is intended for use with microphone bias supplies used in microphone jack detection.”h]”hŒ’Enables input/output pin regardless of any other state. This is intended for use with microphone bias supplies used in microphone jack detection.”…”�”}”(hjM*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M‘hjž)ubj{)�”}”(hŒRequires external locking.”h]”hŒRequires external locking.”…”�”}”(hj\*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M•hjž)ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hjm*h]”hŒNOTE”…”�”}”(hjo*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjk*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M—hjž)ubj{)�”}”(hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”…”�”}”(hjƒ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M˜hjž)ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*snd_soc_dapm_force_enable_pin (C function)”Œc.snd_soc_dapm_force_enable_pin”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒVint snd_soc_dapm_force_enable_pin (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒUint snd_soc_dapm_force_enable_pin(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj²*h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®*h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ*h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®*h²hh³jÀ*h´M¼ubj3)�”}”(hŒsnd_soc_dapm_force_enable_pin”h]”j9)�”}”(hŒsnd_soc_dapm_force_enable_pin”h]”hŒsnd_soc_dapm_force_enable_pin”…”�”}”(hjÓ*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÏ*ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj®*h²hh³jÀ*h´M¼ubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjï*h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjë*ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü*h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjë*ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj +h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj +ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j+Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÕ*sbŒc.snd_soc_dapm_force_enable_pin”†”asbuh1hhjë*ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjë*ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj;+h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjë*ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjH+h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjë*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjç*ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hja+h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj]+ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjn+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj]+ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj|+h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj]+ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠ+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj]+ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj˜+h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj]+ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hj¥+h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjç*ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj®*h²hh³jÀ*h´M¼ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjª*h²hh³jÀ*h´M¼ubah}”(h]”j¥*ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÀ*h´M¼hj§*h²hubjv)�”}”(hhh]”j{)�”}”(hŒforce a pin to be enabled”h]”hŒforce a pin to be enabled”…”�”}”(hjÏ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¼hjÌ+h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj§*h²hh³jÀ*h´M¼ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jç+jšjç+j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hXq**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` pin name **Description** Enables input/output pin regardless of any other state. This is intended for use with microphone bias supplies used in microphone jack detection. **NOTE** snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjñ+h]”hŒ Parameters”…”�”}”(hjó+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjï+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÀhjë+ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj,h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M½hj ,ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj),h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j%,h´M½hj&,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj ,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j%,h´M½hj,ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjI,h]”hŒconst char *pin”…”�”}”(hjK,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjG,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¾hjC,ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hjb,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^,h´M¾hj_,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjC,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j^,h´M¾hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjë+ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj„,h]”hŒ Description”…”�”}”(hj†,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‚,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÀhjë+ubj{)�”}”(hŒ’Enables input/output pin regardless of any other state. This is intended for use with microphone bias supplies used in microphone jack detection.”h]”hŒ’Enables input/output pin regardless of any other state. This is intended for use with microphone bias supplies used in microphone jack detection.”…”�”}”(hjš,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M¿hjë+ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hj«,h]”hŒNOTE”…”�”}”(hj­,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj©,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÃhjë+ubj{)�”}”(hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”…”�”}”(hjÁ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÄhjë+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ.snd_soc_dapm_disable_pin_unlocked (C function)”Œ#c.snd_soc_dapm_disable_pin_unlocked”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_soc_dapm_disable_pin_unlocked (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒYint snd_soc_dapm_disable_pin_unlocked(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjð,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjì,h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M×ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjì,h²hh³jþ,h´M×ubj3)�”}”(hŒ!snd_soc_dapm_disable_pin_unlocked”h]”j9)�”}”(hŒ!snd_soc_dapm_disable_pin_unlocked”h]”hŒ!snd_soc_dapm_disable_pin_unlocked”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj -ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjì,h²hh³jþ,h´M×ubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj--h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj)-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)-ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjK-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjH-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jM-Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j-sbŒ#c.snd_soc_dapm_disable_pin_unlocked”†”asbuh1hhj)-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)-ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjy-h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj)-ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj†-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj)-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj%-ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjŸ-h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj›-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›-ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjº-h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj›-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈ-h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj›-ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÖ-h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj›-ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hjã-h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj›-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj%-ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjì,h²hh³jþ,h´M×ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjè,h²hh³jþ,h´M×ubah}”(h]”jã,ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jþ,h´M×hjå,h²hubjv)�”}”(hhh]”j{)�”}”(hŒ disable pin.”h]”hŒ disable pin.”…”�”}”(hj .h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M×hj .h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjå,h²hh³jþ,h´M×ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j%.jšj%.j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX9**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` pin name **Description** Disables input/output pin and its parents or children widgets. Requires external locking. **NOTE** snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj/.h]”hŒ Parameters”…”�”}”(hj1.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj-.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÛhj).ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjN.h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjP.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjL.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MØhjH.ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjg.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jc.h´MØhjd.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjH.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jc.h´MØhjE.ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hj‡.h]”hŒconst char *pin”…”�”}”(hj‰.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj….ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÙhj�.ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hj .h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœ.h´MÙhj�.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœ.h´MÙhjE.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj).ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÂ.h]”hŒ Description”…”�”}”(hjÄ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÀ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÛhj).ubj{)�”}”(hŒ>Disables input/output pin and its parents or children widgets.”h]”hŒ>Disables input/output pin and its parents or children widgets.”…”�”}”(hjØ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÚhj).ubj{)�”}”(hŒRequires external locking.”h]”hŒRequires external locking.”…”�”}”(hjç.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÜhj).ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hjø.h]”hŒNOTE”…”�”}”(hjú.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjö.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MÞhj).ubj{)�”}”(hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mßhj).ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_soc_dapm_disable_pin (C function)”Œc.snd_soc_dapm_disable_pin”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQint snd_soc_dapm_disable_pin (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒPint snd_soc_dapm_disable_pin(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj=/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj9/h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mêubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9/h²hh³jK/h´Mêubj3)�”}”(hŒsnd_soc_dapm_disable_pin”h]”j9)�”}”(hŒsnd_soc_dapm_disable_pin”h]”hŒsnd_soc_dapm_disable_pin”…”�”}”(hj^/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZ/ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj9/h²hh³jK/h´MêubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjz/h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjv/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjv/ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj˜/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj•/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jš/Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j`/sbŒc.snd_soc_dapm_disable_pin”†”asbuh1hhjv/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjv/ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÆ/h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjv/ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjÓ/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjv/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjr/ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjì/h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjè/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjè/ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjè/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjè/ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj#0h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjè/ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hj00h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjè/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjr/ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj9/h²hh³jK/h´Mêubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj5/h²hh³jK/h´Mêubah}”(h]”j0/ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jK/h´Mêhj2/h²hubjv)�”}”(hhh]”j{)�”}”(hŒ disable pin.”h]”hŒ disable pin.”…”�”}”(hjZ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MêhjW0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj2/h²hh³jK/h´Mêubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jr0jšjr0j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` pin name **Description** Disables input/output pin and its parents or children widgets. **NOTE** snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj|0h]”hŒ Parameters”…”�”}”(hj~0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjz0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mîhjv0ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj›0h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj�0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj™0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mëhj•0ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj´0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j°0h´Mëhj±0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj•0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j°0h´Mëhj’0ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjÔ0h]”hŒconst char *pin”…”�”}”(hjÖ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÒ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MìhjÎ0ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hjí0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jé0h´Mìhjê0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÎ0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jé0h´Mìhj’0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjv0ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj1h]”hŒ Description”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj 1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mîhjv0ubj{)�”}”(hŒ>Disables input/output pin and its parents or children widgets.”h]”hŒ>Disables input/output pin and its parents or children widgets.”…”�”}”(hj%1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Míhjv0ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hj61h]”hŒNOTE”…”�”}”(hj81h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj41ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mïhjv0ubj{)�”}”(hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”h]”hŒ\snd_soc_dapm_sync() needs to be called after this for DAPM to do any widget power switching.”…”�”}”(hjL1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mðhjv0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_get_pin_status (C function)”Œc.snd_soc_dapm_get_pin_status”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒTint snd_soc_dapm_get_pin_status (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒSint snd_soc_dapm_get_pin_status(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj{1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjw1h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠ1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw1h²hh³j‰1h´Mubj3)�”}”(hŒsnd_soc_dapm_get_pin_status”h]”j9)�”}”(hŒsnd_soc_dapm_get_pin_status”h]”hŒsnd_soc_dapm_get_pin_status”…”�”}”(hjœ1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj˜1ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjw1h²hh³j‰1h´MubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¸1h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj´1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅ1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´1ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjÖ1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓ1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jØ1Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jž1sbŒc.snd_soc_dapm_get_pin_status”†”asbuh1hhj´1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´1ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj´1ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj´1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°1ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj*2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj&2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj72h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&2ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjE2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj&2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&2ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hja2h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj&2ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hjn2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj°1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjw1h²hh³j‰1h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjs1h²hh³j‰1h´Mubah}”(h]”jn1ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‰1h´Mhjp1h²hubjv)�”}”(hhh]”j{)�”}”(hŒget audio pin status”h]”hŒget audio pin status”…”�”}”(hj˜2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj•2h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjp1h²hh³j‰1h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j°2jšj°2j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒð**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` audio signal pin endpoint (or start point) **Description** Get audio pin status - connected or disconnected. Returns 1 for connected otherwise 0.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjº2h]”hŒ Parameters”…”�”}”(hj¼2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¸2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj´2ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjÙ2h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjÛ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj×2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MhjÓ2ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjò2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jî2h´Mhjï2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÓ2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jî2h´MhjÐ2ubjÄ)�”}”(hŒ?``const char *pin`` audio signal pin endpoint (or start point) ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hj3h]”hŒconst char *pin”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj 3ubjæ)�”}”(hhh]”j{)�”}”(hŒ*audio signal pin endpoint (or start point)”h]”hŒ*audio signal pin endpoint (or start point)”…”�”}”(hj+3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j'3h´Mhj(3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj 3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j'3h´MhjÐ2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj´2ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjM3h]”hŒ Description”…”�”}”(hjO3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjK3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj´2ubj{)�”}”(hŒ1Get audio pin status - connected or disconnected.”h]”hŒ1Get audio pin status - connected or disconnected.”…”�”}”(hjc3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj´2ubj{)�”}”(hŒ$Returns 1 for connected otherwise 0.”h]”hŒ$Returns 1 for connected otherwise 0.”…”�”}”(hjr3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj´2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_ignore_suspend (C function)”Œc.snd_soc_dapm_ignore_suspend”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒTint snd_soc_dapm_ignore_suspend (struct snd_soc_dapm_context *dapm, const char *pin)”h]”j )�”}”(hŒSint snd_soc_dapm_ignore_suspend(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¡3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�3h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�3h²hh³j¯3h´Mubj3)�”}”(hŒsnd_soc_dapm_ignore_suspend”h]”j9)�”}”(hŒsnd_soc_dapm_ignore_suspend”h]”hŒsnd_soc_dapm_ignore_suspend”…”�”}”(hjÂ3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾3ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�3h²hh³j¯3h´MubjT)�”}”(hŒ4(struct snd_soc_dapm_context *dapm, const char *pin)”h]”(jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÞ3h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÚ3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚ3ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjü3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjù3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jþ3Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÄ3sbŒc.snd_soc_dapm_ignore_suspend”†”asbuh1hhjÚ3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚ3ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj*4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÚ3ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj74h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚ3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÖ3ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjP4h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjL4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjL4ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjk4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjL4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjL4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‡4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjL4ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hj”4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÖ3ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�3h²hh³j¯3h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj™3h²hh³j¯3h´Mubah}”(h]”j”3ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¯3h´Mhj–3h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'ignore suspend status for DAPM endpoint”h]”hŒ'ignore suspend status for DAPM endpoint”…”�”}”(hj¾4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj»4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj–3h²hh³j¯3h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÖ4jšjÖ4j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hX´**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context ``const char *pin`` audio signal pin endpoint (or start point) **Description** Mark the given endpoint or pin as ignoring suspend. When the system is disabled a path between two endpoints flagged as ignoring suspend will not be disabled. The path must already be enabled via normal means at suspend time, it will not be turned on if it was not already enabled.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjà4h]”hŒ Parameters”…”�”}”(hjâ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÞ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MhjÚ4ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjÿ4h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjý4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhjù4ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5h´Mhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjù4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5h´Mhjö4ubjÄ)�”}”(hŒ?``const char *pin`` audio signal pin endpoint (or start point) ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hj85h]”hŒconst char *pin”…”�”}”(hj:5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj65ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mhj25ubjæ)�”}”(hhh]”j{)�”}”(hŒ*audio signal pin endpoint (or start point)”h]”hŒ*audio signal pin endpoint (or start point)”…”�”}”(hjQ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jM5h´MhjN5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj25ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jM5h´Mhjö4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÚ4ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjs5h]”hŒ Description”…”�”}”(hju5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjq5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MhjÚ4ubj{)�”}”(hXMark the given endpoint or pin as ignoring suspend. When the system is disabled a path between two endpoints flagged as ignoring suspend will not be disabled. The path must already be enabled via normal means at suspend time, it will not be turned on if it was not already enabled.”h]”hXMark the given endpoint or pin as ignoring suspend. When the system is disabled a path between two endpoints flagged as ignoring suspend will not be disabled. The path must already be enabled via normal means at suspend time, it will not be turned on if it was not already enabled.”…”�”}”(hj‰5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MhjÚ4ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ(snd_soc_dapm_pin_has_prefix (C function)”Œc.snd_soc_dapm_pin_has_prefix”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMbool snd_soc_dapm_pin_has_prefix (struct snd_soc_card *card, const char *pin)”h]”j )�”}”(hŒLbool snd_soc_dapm_pin_has_prefix(struct snd_soc_card *card, const char *pin)”h]”(j)�”}”(hj_šh]”hŒbool”…”�”}”(hj¸5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj´5h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj´5h²hh³jÅ5h´M4ubj3)�”}”(hŒsnd_soc_dapm_pin_has_prefix”h]”j9)�”}”(hŒsnd_soc_dapm_pin_has_prefix”h]”hŒsnd_soc_dapm_pin_has_prefix”…”�”}”(hjØ5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔ5ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj´5h²hh³jÅ5h´M4ubjT)�”}”(hŒ,(struct snd_soc_card *card, const char *pin)”h]”(jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjô5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjð5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð5ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j6Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÚ5sbŒc.snd_soc_dapm_pin_has_prefix”†”asbuh1hhjð5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj26h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjð5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj@6h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjð5ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjM6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjð5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì5ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjf6h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjb6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjb6ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjb6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjb6ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjb6ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hjª6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjì5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj´5h²hh³jÅ5h´M4ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj°5h²hh³jÅ5h´M4ubah}”(h]”j«5ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅ5h´M4hj­5h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%check if given pin has a known prefix”h]”hŒ%check if given pin has a known prefix”…”�”}”(hjÔ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M4hjÑ6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj­5h²hh³jÅ5h´M4ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jì6jšjì6j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ¡**Parameters** ``struct snd_soc_card *card`` card to be checked ``const char *pin`` pin name **Description** Returns true if given pin has a known prefix”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjö6h]”hŒ Parameters”…”�”}”(hjø6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjô6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M8hjð6ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ1``struct snd_soc_card *card`` card to be checked ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hj7h]”hŒstruct snd_soc_card *card”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M5hj7ubjæ)�”}”(hhh]”j{)�”}”(hŒcard to be checked”h]”hŒcard to be checked”…”�”}”(hj.7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j*7h´M5hj+7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j*7h´M5hj 7ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjN7h]”hŒconst char *pin”…”�”}”(hjP7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjL7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M6hjH7ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hjg7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jc7h´M6hjd7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjH7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jc7h´M6hj 7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjð6ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‰7h]”hŒ Description”…”�”}”(hj‹7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‡7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M8hjð6ubj{)�”}”(hŒ,Returns true if given pin has a known prefix”h]”hŒ,Returns true if given pin has a known prefix”…”�”}”(hjŸ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M7hjð6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_dapm_free (C function)”Œc.snd_soc_dapm_free”hNt”auh1híhjðèh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ:void snd_soc_dapm_free (struct snd_soc_dapm_context *dapm)”h]”j )�”}”(hŒ9void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÎ7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÊ7h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MOubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊ7h²hh³jÜ7h´MOubj3)�”}”(hŒsnd_soc_dapm_free”h]”j9)�”}”(hŒsnd_soc_dapm_free”h]”hŒsnd_soc_dapm_free”…”�”}”(hjï7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjë7ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÊ7h²hh³jÜ7h´MOubjT)�”}”(hŒ#(struct snd_soc_dapm_context *dapm)”h]”jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj 8h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj)8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj&8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j+8Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jñ7sbŒc.snd_soc_dapm_free”†”asbuh1hhj8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjW8h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj8ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjd8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj8ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÊ7h²hh³jÜ7h´MOubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÆ7h²hh³jÜ7h´MOubah}”(h]”jÁ7ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÜ7h´MOhjÃ7h²hubjv)�”}”(hhh]”j{)�”}”(hŒfree dapm resources”h]”hŒfree dapm resources”…”�”}”(hjŽ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MOhj‹8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÃ7h²hh³jÜ7h´MOubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¦8jšj¦8j›‰jœ‰j�‰uh1hþh²hhjðèh³Nh´NubjŸ)�”}”(hŒ{**Parameters** ``struct snd_soc_dapm_context *dapm`` DAPM context **Description** Free all dapm widgets and resources.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj°8h]”hŒ Parameters”…”�”}”(hj²8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj®8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MShjª8ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjÏ8h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjÑ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÍ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MPhjÉ8ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjè8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jä8h´MPhjå8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÉ8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jä8h´MPhjÆ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjª8ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj 9h]”hŒ Description”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MRhjª8ubj{)�”}”(hŒ$Free all dapm widgets and resources.”h]”hŒ$Free all dapm widgets and resources.”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MQhjª8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjðèh²hh³Nh´Nubeh}”(h]”Œ asoc-dapm-api”ah ]”h"]”Œ asoc dapm api”ah$]”h&]”uh1hµhjth²hh³hÊh´Klubh¶)�”}”(hhh]”(h»)�”}”(hŒASoC DMA Engine API”h]”hŒASoC DMA Engine API”…”�”}”(hjA9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj>9h²hh³hÊh´Kpubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ3snd_dmaengine_pcm_prepare_slave_config (C function)”Œ(c.snd_dmaengine_pcm_prepare_slave_config”hNt”auh1híhj>9h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ™int snd_dmaengine_pcm_prepare_slave_config (struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)”h]”j )�”}”(hŒ˜int snd_dmaengine_pcm_prepare_slave_config(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjd9h²hh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K'ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjd9h²hh³jv9h´K'ubj3)�”•}”(hŒ&snd_dmaengine_pcm_prepare_slave_config”h]”j9)�”}”(hŒ&snd_dmaengine_pcm_prepare_slave_config”h]”hŒ&snd_dmaengine_pcm_prepare_slave_config”…”�”}”(hj‰9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj…9ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjd9h²hh³jv9h´K'ubjT)�”}”(hŒn(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¥9h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¡9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡9ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjÃ9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÀ9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÅ9Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j‹9sbŒ(c.snd_dmaengine_pcm_prepare_slave_config”†”asbuh1hhj¡9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjã9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¡9ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjñ9h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¡9ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjþ9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¡9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�9ubjZ)�”}”(hŒ struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj5:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j7:Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jß9Œ(c.snd_dmaengine_pcm_prepare_slave_config”†”asbuh1hhj:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hja:h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj:ubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hjn:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�9ubjZ)�”}”(hŒ%struct dma_slave_config *slave_config”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj‡:h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjƒ:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjƒ:ubh)�”}”(hhh]”j9)�”}”(hŒdma_slave_config”h]”hŒdma_slave_config”…”�”}”(hj¥:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¢:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j§:Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jß9Œ(c.snd_dmaengine_pcm_prepare_slave_config”†”asbuh1hhjƒ:ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjƒ:ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÑ:h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjƒ:ubj9)�”}”(hŒ slave_config”h]”hŒ slave_config”…”�”}”(hjÞ:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒ:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�9ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjd9h²hh³jv9h´K'ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj`9h²hh³jv9h´K'ubah}”(h]”j[9ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jv9h´K'hj]9h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Generic prepare_slave_config callback”h]”hŒ%Generic prepare_slave_config callback”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K'hj;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj]9h²hh³jv9h´K'ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j ;jšj ;j›‰jœ‰j�‰uh1hþh²hhj>9h³Nh´NubjŸ)�”}”(hXf**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``struct snd_pcm_hw_params *params`` hw_params ``struct dma_slave_config *slave_config`` DMA slave config to prepare **Description** This function can be used as a generic prepare_slave_config callback for platforms which make use of the snd_dmaengine_dai_dma_data struct for their DAI DMA data. Internally the function will first call snd_hwparams_to_dma_slave_config to fill in the slave config based on the hw_params, followed by snd_dmaengine_pcm_set_config_from_dai_data to fill in the remaining fields based on the DAI DMA data.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj*;h]”hŒ Parameters”…”�”}”(hj,;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj(;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K+hj$;ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjI;h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjK;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjG;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K(hjC;ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjb;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^;h´K(hj_;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjC;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j^;h´K(hj@;ubjÄ)�”}”(hŒ/``struct snd_pcm_hw_params *params`` hw_params ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hj‚;h]”hŒ struct snd_pcm_hw_params *params”…”�”}”(hj„;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj€;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K)hj|;ubjæ)�”}”(hhh]”j{)�”}”(hŒ hw_params”h]”hŒ hw_params”…”�”}”(hj›;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j—;h´K)hj˜;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—;h´K)hj@;ubjÄ)�”}”(hŒF``struct dma_slave_config *slave_config`` DMA slave config to prepare ”h]”(jÊ)�”}”(hŒ)``struct dma_slave_config *slave_config``”h]”jÐ)�”}”(hj»;h]”hŒ%struct dma_slave_config *slave_config”…”�”}”(hj½;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¹;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K*hjµ;ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA slave config to prepare”h]”hŒDMA slave config to prepare”…”�”}”(hjÔ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÐ;h´K*hjÑ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµ;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐ;h´K*hj@;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj$;ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjö;h]”hŒ Description”…”�”}”(hjø;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjô;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K,hj$;ubj{)�”}”(hX‘This function can be used as a generic prepare_slave_config callback for platforms which make use of the snd_dmaengine_dai_dma_data struct for their DAI DMA data. Internally the function will first call snd_hwparams_to_dma_slave_config to fill in the slave config based on the hw_params, followed by snd_dmaengine_pcm_set_config_from_dai_data to fill in the remaining fields based on the DAI DMA data.”h]”hX‘This function can be used as a generic prepare_slave_config callback for platforms which make use of the snd_dmaengine_dai_dma_data struct for their DAI DMA data. Internally the function will first call snd_hwparams_to_dma_slave_config to fill in the slave config based on the hw_params, followed by snd_dmaengine_pcm_set_config_from_dai_data to fill in the remaining fields based on the DAI DMA data.”…”�”}”(hj <h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´K+hj$;ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj>9h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'snd_dmaengine_pcm_register (C function)”Œc.snd_dmaengine_pcm_register”hNt”auh1híhj>9h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒvint snd_dmaengine_pcm_register (struct device *dev, const struct snd_dmaengine_pcm_config *config, unsigned int flags)”h]”j )�”}”(hŒuint snd_dmaengine_pcm_register(struct device *dev, const struct snd_dmaengine_pcm_config *config, unsigned int flags)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj;<h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj7<h²hh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´Mºubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7<h²hh³jI<h´Mºubj3)�”}”(hŒsnd_dmaengine_pcm_register”h]”j9)�”}”(hŒsnd_dmaengine_pcm_register”h]”hŒsnd_dmaengine_pcm_register”…”�”}”(hj\<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjX<ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj7<h²hh³jI<h´MºubjT)�”}”(hŒW(struct device *dev, const struct snd_dmaengine_pcm_config *config, unsigned int flags)”h]”(jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjx<h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjt<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjt<ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj–<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj“<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j˜<Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j^<sbŒc.snd_dmaengine_pcm_register”†”asbuh1hhjt<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjt<ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÄ<h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjt<ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÑ<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjt<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjp<ubjZ)�”}”(hŒ-const struct snd_dmaengine_pcm_config *config”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjê<h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjæ<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæ<ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjæ<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæ<ubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_pcm_config”h]”hŒsnd_dmaengine_pcm_config”…”�”}”(hj#=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj =ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j%=Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j²<Œc.snd_dmaengine_pcm_register”†”asbuh1hhjæ<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæ<ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjO=h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjæ<ubj9)�”}”(hŒconfig”h]”hŒconfig”…”�”}”(hj\=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjæ<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjp<ubjZ)�”}”(hŒunsigned int flags”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hju=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjq=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq=ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‘=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjq=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq=ubj9)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj­=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjq=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjp<ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj7<h²hh³jI<h´Mºubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj3<h²hh³jI<h´Mºubah}”(h]”j.<ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jI<h´Mºhj0<h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Register a dmaengine based PCM device”h]”hŒ%Register a dmaengine based PCM device”…”�”}”(hj×=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´MºhjÔ=h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj0<h²hh³jI<h´Mºubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jï=jšjï=j›‰jœ‰j�‰uh1hþh²hhj>9h³Nh´NubjŸ)�”}”(hŒÙ**Parameters** ``struct device *dev`` The parent device for the PCM device ``const struct snd_dmaengine_pcm_config *config`` Platform specific PCM configuration ``unsigned int flags`` Platform specific quirks”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjù=h]”hŒ Parameters”…”�”}”(hjû=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj÷=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´M¾hjó=ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct device *dev`` The parent device for the PCM device ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hj>h]”hŒstruct device *dev”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´M»hj>ubjæ)�”}”(hhh]”j{)�”}”(hŒ$The parent device for the PCM device”h]”hŒ$The parent device for the PCM device”…”�”}”(hj1>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j->h´M»hj.>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j->h´M»hj>ubjÄ)�”}”(hŒV``const struct snd_dmaengine_pcm_config *config`` Platform specific PCM configuration ”h]”(jÊ)�”}”(hŒ1``const struct snd_dmaengine_pcm_config *config``”h]”jÐ)�”}”(hjQ>h]”hŒ-const struct snd_dmaengine_pcm_config *config”…”�”}”(hjS>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjO>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´M¼hjK>ubjæ)�”}”(hhh]”j{)�”}”(hŒ#Platform specific PCM configuration”h]”hŒ#Platform specific PCM configuration”…”�”}”(hjj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jf>h´M¼hjg>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjK>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jf>h´M¼hj>ubjÄ)�”}”(hŒ/``unsigned int flags`` Platform specific quirks”h]”(jÊ)�”}”(hŒ``unsigned int flags``”h]”jÐ)�”}”(hjŠ>h]”hŒunsigned int flags”…”�”}”(hjŒ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjˆ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´M¾hj„>ubjæ)�”}”(hhh]”j{)�”}”(hŒPlatform specific quirks”h]”hŒPlatform specific quirks”…”�”}”(hj£>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´M½hj >ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj„>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŸ>h´M¾hj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjó=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj>9h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_dmaengine_pcm_unregister (C function)”Œc.snd_dmaengine_pcm_unregister”hNt”auh1híhj>9h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ6void snd_dmaengine_pcm_unregister (struct device *dev)”h]”j )�”}”(hŒ5void snd_dmaengine_pcm_unregister(struct device *dev)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjä>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjà>h²hh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´Mïubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjó>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjà>h²hh³jò>h´Mïubj3)�”}”(hŒsnd_dmaengine_pcm_unregister”h]”j9)�”}”(hŒsnd_dmaengine_pcm_unregister”h]”hŒsnd_dmaengine_pcm_unregister”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjà>h²hh³jò>h´MïubjT)�”}”(hŒ(struct device *dev)”h]”jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj!?h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj?ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj??h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjh²hh³jò>h´Mïubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÜ>h²hh³jò>h´Mïubah}”(h]”j×>ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jò>h´MïhjÙ>h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$Removes a dmaengine based PCM device”h]”hŒ$Removes a dmaengine based PCM device”…”�”}”(hj¤?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´Mïhj¡?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÙ>h²hh³jò>h´Mïubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¼?jšj¼?j›‰jœ‰j�‰uh1hþh²hhj>9h³Nh´NubjŸ)�”}”(hŒ¾**Parameters** ``struct device *dev`` Parent device the PCM was register with **Description** Removes a dmaengine based PCM device previously registered with snd_dmaengine_pcm_register.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÆ?h]”hŒ Parameters”…”�”}”(hjÈ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÄ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´MóhjÀ?ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ?``struct device *dev`` Parent device the PCM was register with ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjå?h]”hŒstruct device *dev”…”�”}”(hjç?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjã?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´Mðhjß?ubjæ)�”}”(hhh]”j{)�”}”(hŒ'Parent device the PCM was register with”h]”hŒ'Parent device the PCM was register with”…”�”}”(hjþ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jú?h´Mðhjû?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjß?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jú?h´MðhjÜ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÀ?ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj @h]”hŒ Description”…”�”}”(hj"@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´MòhjÀ?ubj{)�”}”(hŒ[Removes a dmaengine based PCM device previously registered with snd_dmaengine_pcm_register.”h]”hŒ[Removes a dmaengine based PCM device previously registered with snd_dmaengine_pcm_register.”…”�”}”(hj6@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œw/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:113: ./sound/soc/soc-generic-dmaengine-pcm.c”h´MñhjÀ?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj>9h²hh³Nh´Nubeh}”(h]”Œasoc-dma-engine-api”ah ]”h"]”Œasoc dma engine api”ah$]”h&]”uh1hµhjth²hh³hÊh´Kpubeh}”(h]”Œasoc”ah ]”h"]”Œasoc”ah$]”h&]”uh1hµhh·h²hh³hÊh´K_ubh¶)�”}”(hhh]”(h»)�”}”(hŒMiscellaneous Functions”h]”hŒMiscellaneous Functions”…”�”}”(hj_@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj\@h²hh³hÊh´Ktubh¶)�”}”(hhh]”(h»)�”}”(hŒHardware-Dependent Devices API”h]”hŒHardware-Dependent Devices API”…”�”}”(hjp@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjm@h²hh³hÊh´Kwubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_hwdep_new (C function)”Œc.snd_hwdep_new”hNt”auh1híhjm@h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒZint snd_hwdep_new (struct snd_card *card, char *id, int device, struct snd_hwdep **rhwdep)”h]”j )�”}”(hŒYint snd_hwdep_new(struct snd_card *card, char *id, int device, struct snd_hwdep **rhwdep)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj—@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj“@h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´M^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦@h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“@h²hh³j¥@h´M^ubj3)�”}”(hŒ snd_hwdep_new”h]”j9)�”}”(hŒ snd_hwdep_new”h]”hŒ snd_hwdep_new”…”�”}”(hj¸@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj´@ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj“@h²hh³j¥@h´M^ubjT)�”}”(hŒH(struct snd_card *card, char *id, int device, struct snd_hwdep **rhwdep)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÔ@h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÐ@ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá@h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÐ@ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjò@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjï@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jô@Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jº@sbŒc.snd_hwdep_new”†”asbuh1hhjÐ@ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÐ@ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÐ@ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj-Ah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÐ@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÌ@ubjZ)�”}”(hŒchar *id”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjFAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjBAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjBAubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjbAh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjBAubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hjoAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÌ@ubjZ)�”}”(hŒ int device”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjˆAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj„Aubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–Ah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„Aubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj¤Ah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÌ@ubjZ)�”}”(hŒstruct snd_hwdep **rhwdep”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj½Ah²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¹Aubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹Aubh)�”}”(hhh]”j9)�”}”(hŒ snd_hwdep”h]”hŒ snd_hwdep”…”�”}”(hjÛAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÝAŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jAŒc.snd_hwdep_new”†”asbuh1hhj¹Aubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹Aubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¹Aubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¹Aubj9)�”}”(hŒrhwdep”h]”hŒrhwdep”…”�”}”(hj!Bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÌ@ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj“@h²hh³j¥@h´M^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�@h²hh³j¥@h´M^ubah}”(h]”jŠ@ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¥@h´M^hjŒ@h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate a new hwdep instance”h]”hŒcreate a new hwdep instance”…”�”}”(hjKBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´M^hjHBh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjŒ@h²hh³j¥@h´M^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jcBjšjcBj›‰jœ‰j�‰uh1hþh²hhjm@h³Nh´NubjŸ)�”}”(hX×**Parameters** ``struct snd_card *card`` the card instance ``char *id`` the id string ``int device`` the device index (zero-based) ``struct snd_hwdep **rhwdep`` the pointer to store the new hwdep instance **Description** Creates a new hwdep instance with the given index on the card. The callbacks (hwdep->ops) must be set on the returned instance after this call manually by the caller. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjmBh]”hŒ Parameters”…”�”}”(hjoBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkBubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´MbhjgBubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjŒBh]”hŒstruct snd_card *card”…”�”}”(hjŽBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŠBubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´M_hj†Bubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj¥Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¡Bh´M_hj¢Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡Bh´M_hjƒBubjÄ)�”}”(hŒ``char *id`` the id string ”h]”(jÊ)�”}”(hŒ ``char *id``”h]”jÐ)�”}”(hjÅBh]”hŒchar *id”…”�”}”(hjÇBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÃBubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´M`hj¿Bubjæ)�”}”(hhh]”j{)�”}”(hŒ the id string”h]”hŒ the id string”…”�”}”(hjÞBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÚBh´M`hjÛBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¿Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÚBh´M`hjƒBubjÄ)�”}”(hŒ-``int device`` the device index (zero-based) ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hjþBh]”hŒ int device”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjüBubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´MahjøBubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index (zero-based)”h]”hŒthe device index (zero-based)”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jCh´MahjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjøBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jCh´MahjƒBubjÄ)�”}”(hŒJ``struct snd_hwdep **rhwdep`` the pointer to store the new hwdep instance ”h]”(jÊ)�”}”(hŒ``struct snd_hwdep **rhwdep``”h]”jÐ)�”}”(hj7Ch]”hŒstruct snd_hwdep **rhwdep”…”�”}”(hj9Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj5Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´Mbhj1Cubjæ)�”}”(hhh]”j{)�”}”(hŒ+the pointer to store the new hwdep instance”h]”hŒ+the pointer to store the new hwdep instance”…”�”}”(hjPCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jLCh´MbhjMCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj1Cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jLCh´MbhjƒBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjgBubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjrCh]”hŒ Description”…”�”}”(hjtCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjpCubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´MdhjgBubj{)�”}”(hŒ¦Creates a new hwdep instance with the given index on the card. The callbacks (hwdep->ops) must be set on the returned instance after this call manually by the caller.”h]”hŒ¦Creates a new hwdep instance with the given index on the card. The callbacks (hwdep->ops) must be set on the returned instance after this call manually by the caller.”…”�”}”(hjˆCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´MchjgBubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj™Ch]”hŒReturn”…”�”}”(hj›Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj—Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´MghjgBubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj¯Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´MhhjgBubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjm@h²hh³Nh´Nubeh}”(h]”Œhardware-dependent-devices-api”ah ]”h"]”Œhardware-dependent devices api”ah$]”h&]”uh1hµhj\@h²hh³hÊh´Kwubh¶)�”}”(hhh]”(h»)�”}”(hŒJack Abstraction Layer API”h]”hŒJack Abstraction Layer API”…”�”}”(hjÐCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÍCh²hh³hÊh´K{ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_jack_types (C enum)”Œc.snd_jack_types”hNt”auh1híhjÍCh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_jack_types”h]”j )�”}”(hŒenum snd_jack_types”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hjøCh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjôCh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjôCh²hh³jDh´Kubj3)�”}”(hŒsnd_jack_types”h]”j9)�”}”(hjòCh]”hŒsnd_jack_types”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjDubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjôCh²hh³jDh´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjðCh²hh³jDh´Kubah}”(h]”jêCah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jDh´KhjíCh²hubjv)�”}”(hhh]”j{)�”}”(hŒ Jack types which can be reported”h]”hŒ Jack types which can be reported”…”�”}”(hj:Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´Khj7Dh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjíCh²hh³jDh´Kubeh}”(h]”h ]”(j–Œenum”eh"]”h$]”h&]”j˜j–j™jRDjšjRDj›‰jœ‰j�‰uh1hþh²hhjÍCh³jìCh´NubjŸ)�”}”(hX**Constants** ``SND_JACK_HEADPHONE`` Headphone ``SND_JACK_MICROPHONE`` Microphone ``SND_JACK_HEADSET`` Headset ``SND_JACK_LINEOUT`` Line out ``SND_JACK_MECHANICAL`` Mechanical switch ``SND_JACK_VIDEOOUT`` Video out ``SND_JACK_AVOUT`` AV (Audio Video) out ``SND_JACK_LINEIN`` Line in ``SND_JACK_USB`` USB audio device ``SND_JACK_BTN_0`` Button 0 ``SND_JACK_BTN_1`` Button 1 ``SND_JACK_BTN_2`` Button 2 ``SND_JACK_BTN_3`` Button 3 ``SND_JACK_BTN_4`` Button 4 ``SND_JACK_BTN_5`` Button 5”h]”(j{)�”}”(hŒ **Constants**”h]”j©)�”}”(hj\Dh]”hŒ Constants”…”�”}”(hj^Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjZDubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´KhjVDubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ!``SND_JACK_HEADPHONE`` Headphone ”h]”(jÊ)�”}”(hŒ``SND_JACK_HEADPHONE``”h]”jÐ)�”}”(hj{Dh]”hŒSND_JACK_HEADPHONE”…”�”}”(hj}Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjyDubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´KhjuDubjæ)�”}”(hhh]”j{)�”}”(hŒ Headphone”h]”hŒ Headphone”…”�”}”(hj”Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�Dh´Khj‘Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjuDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�Dh´KhjrDubjÄ)�”}”(hŒ#``SND_JACK_MICROPHONE`` Microphone ”h]”(jÊ)�”}”(hŒ``SND_JACK_MICROPHONE``”h]”jÐ)�”}”(hj´Dh]”hŒSND_JACK_MICROPHONE”…”�”}”(hj¶Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj²Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´Khj®Dubjæ)�”}”(hhh]”j{)�”}”(hŒ Microphone”h]”hŒ Microphone”…”�”}”(hjÍDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÉDh´KhjÊDubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj®Dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÉDh´KhjrDubjÄ)�”}”(hŒ``SND_JACK_HEADSET`` Headset ”h]”(jÊ)�”}”(hŒ``SND_JACK_HEADSET``”h]”jÐ)�”}”(hjíDh]”hŒSND_JACK_HEADSET”…”�”}”(hjïDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjëDubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´KhjçDubjæ)�”}”(hhh]”j{)�”}”(hŒHeadset”h]”hŒHeadset”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jEh´KhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjçDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jEh´KhjrDubjÄ)�”}”(hŒ``SND_JACK_LINEOUT`` Line out ”h]”(jÊ)�”}”(hŒ``SND_JACK_LINEOUT``”h]”jÐ)�”}”(hj&Eh]”hŒSND_JACK_LINEOUT”…”�”}”(hj(Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj$Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´K hj Eubjæ)�”}”(hhh]”j{)�”}”(hŒLine out”h]”hŒLine out”…”�”}”(hj?Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j;Eh´K hjhjZGubjæ)�”}”(hhh]”j{)�”}”(hŒButton 4”h]”hŒButton 4”…”�”}”(hjyGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³juGh´K>hjvGubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZGubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³juGh´K>hjrDubjÄ)�”}”(hŒ``SND_JACK_BTN_5`` Button 5”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_5``”h]”jÐ)�”}”(hj™Gh]”hŒSND_JACK_BTN_5”…”�”}”(hj›Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj—Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´K@hj“Gubjæ)�”}”(hhh]”j{)�”}”(hŒButton 5”h]”hŒButton 5”…”�”}”(hj²Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´KAhj¯Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj“Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j®Gh´K@hjrDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjVDubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³jìCh´Nubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÜGh]”hŒ Description”…”�”}”(hjÞGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÚGubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´KChjÍCh²hubj{)�”}”(hŒ#These values are used as a bitmask.”h]”hŒ#These values are used as a bitmask.”…”�”}”(hjòGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´K hjÍCh²hubj{)�”}”(hŒONote that this must be kept in sync with the lookup table in sound/core/jack.c.”h]”hŒONote that this must be kept in sync with the lookup table in sound/core/jack.c.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´K"hjÍCh²hubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_jack_add_new_kctl (C function)”Œc.snd_jack_add_new_kctl”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒNint snd_jack_add_new_kctl (struct snd_jack *jack, const char * name, int mask)”h]”j )�”}”(hŒLint snd_jack_add_new_kctl(struct snd_jack *jack, const char *name, int mask)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj)Hh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj%Hh²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÊubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8Hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%Hh²hh³j7Hh´MÊubj3)�”}”(hŒsnd_jack_add_new_kctl”h]”j9)�”}”(hŒsnd_jack_add_new_kctl”h]”hŒsnd_jack_add_new_kctl”…”�”}”(hjJHh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjFHubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj%Hh²hh³j7Hh´MÊubjT)�”}”(hŒ3(struct snd_jack *jack, const char *name, int mask)”h]”(jZ)�”}”(hŒstruct snd_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjfHh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjbHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbHubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack”h]”hŒsnd_jack”…”�”}”(hj„Hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Hubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j†HŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jLHsbŒc.snd_jack_add_new_kctl”†”asbuh1hhjbHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤Hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbHubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj²Hh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjbHubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hj¿Hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj^HubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjØHh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÔHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÔHubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjóHh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÔHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÔHubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÔHubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj^HubjZ)�”}”(hŒint mask”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj5Ih²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1Iubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1Iubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjQIh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1Iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj^Hubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj%Hh²hh³j7Hh´MÊubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj!Hh²hh³j7Hh´MÊubah}”(h]”jHah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j7Hh´MÊhjHh²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Create a new snd_jack_kctl and add it to jack”h]”hŒ-Create a new snd_jack_kctl and add it to jack”…”�”}”(hj{Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÊhjxIh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjHh²hh³j7Hh´MÊubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j“Ijšj“Ij›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hX¥**Parameters** ``struct snd_jack *jack`` the jack instance which the kctl will attaching to ``const char * name`` the name for the snd_kcontrol object ``int mask`` a bitmask of enum snd_jack_type values that can be detected by this snd_jack_kctl object. **Description** Creates a new snd_kcontrol object and adds it to the jack kctl_list. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj�Ih]”hŒ Parameters”…”�”}”(hjŸIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj›Iubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÎhj—Iubj¿)�”}”(hhh]”(jÄ)�”}”(hŒM``struct snd_jack *jack`` the jack instance which the kctl will attaching to ”h]”(jÊ)�”}”(hŒ``struct snd_jack *jack``”h]”jÐ)�”}”(hj¼Ih]”hŒstruct snd_jack *jack”…”�”}”(hj¾Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjºIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MËhj¶Iubjæ)�”}”(hhh]”j{)�”}”(hŒ2the jack instance which the kctl will attaching to”h]”hŒ2the jack instance which the kctl will attaching to”…”�”}”(hjÕIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÑIh´MËhjÒIubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¶Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÑIh´MËhj³IubjÄ)�”}”(hŒ;``const char * name`` the name for the snd_kcontrol object ”h]”(jÊ)�”}”(hŒ``const char * name``”h]”jÐ)�”}”(hjõIh]”hŒconst char * name”…”�”}”(hj÷Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjóIubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÌhjïIubjæ)�”}”(hhh]”j{)�”}”(hŒ$the name for the snd_kcontrol object”h]”hŒ$the name for the snd_kcontrol object”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j Jh´MÌhj Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjïIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j Jh´MÌhj³IubjÄ)�”}”(hŒg``int mask`` a bitmask of enum snd_jack_type values that can be detected by this snd_jack_kctl object. ”h]”(jÊ)�”}”(hŒ ``int mask``”h]”jÐ)�”}”(hj.Jh]”hŒint mask”…”�”}”(hj0Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÎhj(Jubjæ)�”}”(hhh]”j{)�”}”(hŒYa bitmask of enum snd_jack_type values that can be detected by this snd_jack_kctl object.”h]”hŒYa bitmask of enum snd_jack_type values that can be detected by this snd_jack_kctl object.”…”�”}”(hjGJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÍhjDJubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jCJh´MÎhj³Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj—Iubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjjJh]”hŒ Description”…”�”}”(hjlJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjhJubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÐhj—Iubj{)�”}”(hŒDCreates a new snd_kcontrol object and adds it to the jack kctl_list.”h]”hŒDCreates a new snd_kcontrol object and adds it to the jack kctl_list.”…”�”}”(hj€Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÏhj—Iubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj‘Jh]”hŒReturn”…”�”}”(hj“Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÑhj—Iubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj§Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MÒhj—Iubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_jack_new (C function)”Œc.snd_jack_new”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ�int snd_jack_new (struct snd_card *card, const char *id, int type, struct snd_jack **jjack, bool initial_kctl, bool phantom_jack)”h]”j )�”}”(hŒ€int snd_jack_new(struct snd_card *card, const char *id, int type, struct snd_jack **jjack, bool initial_kctl, bool phantom_jack)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÖJh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÒJh²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mâubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåJh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒJh²hh³jäJh´Mâubj3)�”}”(hŒ snd_jack_new”h]”j9)�”}”(hŒ snd_jack_new”h]”hŒ snd_jack_new”…”�”}”(hj÷Jh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjóJubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÒJh²hh³jäJh´MâubjT)�”}”(hŒp(struct snd_card *card, const char *id, int type, struct snd_jack **jjack, bool initial_kctl, bool phantom_jack)”h]”(jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjKubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj1Kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.Kubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j3KŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jùJsbŒc.snd_jack_new”†”asbuh1hhjKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjKubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj_Kh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjKubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjlKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj KubjZ)�”}”(hŒconst char *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj…Kh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Kubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj Kh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Kubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¼Kh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�Kubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hjÉKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj KubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjâKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞKubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjþKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj KubjZ)�”}”(hŒstruct snd_jack **jjack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Lh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack”h]”hŒsnd_jack”…”�”}”(hj5Lh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2Lubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j7LŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jMKŒc.snd_jack_new”†”asbuh1hhjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjaLh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjLubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjnLh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjLubj9)�”}”(hŒjjack”h]”hŒjjack”…”�”}”(hj{Lh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj KubjZ)�”}”(hŒbool initial_kctl”h]”(j)�”}”(hj_šh]”hŒbool”…”�”}”(hj”Lh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�Lubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡Lh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Lubj9)�”}”(hŒ initial_kctl”h]”hŒ initial_kctl”…”�”}”(hj¯Lh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Lubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj KubjZ)�”}”(hŒbool phantom_jack”h]”(j)�”}”(hj_šh]”hŒbool”…”�”}”(hjÈLh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÄLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÄLubj9)�”}”(hŒ phantom_jack”h]”hŒ phantom_jack”…”�”}”(hjãLh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÄLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÒJh²hh³jäJh´Mâubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÎJh²hh³jäJh´Mâubah}”(h]”jÉJah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jäJh´MâhjËJh²hubjv)�”}”(hhh]”j{)�”}”(hŒCreate a new jack”h]”hŒCreate a new jack”…”�”}”(hj Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mâhj Mh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjËJh²hh³jäJh´Mâubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j%Mjšj%Mj›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hX`**Parameters** ``struct snd_card *card`` the card instance ``const char *id`` an identifying string for this jack ``int type`` a bitmask of enum snd_jack_type values that can be detected by this jack ``struct snd_jack **jjack`` Used to provide the allocated jack object to the caller. ``bool initial_kctl`` if true, create a kcontrol and add it to the jack list. ``bool phantom_jack`` Don't create a input device for phantom jacks. **Description** Creates a new jack object. **Return** Zero if successful, or a negative error code on failure. On success **jjack** will be initialised.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj/Mh]”hŒ Parameters”…”�”}”(hj1Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj-Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mæhj)Mubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjNMh]”hŒstruct snd_card *card”…”�”}”(hjPMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjLMubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MãhjHMubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjgMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jcMh´MãhjdMubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjHMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jcMh´MãhjEMubjÄ)�”}”(hŒ7``const char *id`` an identifying string for this jack ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hj‡Mh]”hŒconst char *id”…”�”}”(hj‰Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj…Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mähj�Mubjæ)�”}”(hhh]”j{)�”}”(hŒ#an identifying string for this jack”h]”hŒ#an identifying string for this jack”…”�”}”(hj Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jœMh´Mähj�Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Mubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jœMh´MähjEMubjÄ)�”}”(hŒV``int type`` a bitmask of enum snd_jack_type values that can be detected by this jack ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjÀMh]”hŒint type”…”�”}”(hjÂMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¾Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MæhjºMubjæ)�”}”(hhh]”j{)�”}”(hŒHa bitmask of enum snd_jack_type values that can be detected by this jack”h]”hŒHa bitmask of enum snd_jack_type values that can be detected by this jack”…”�”}”(hjÙMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MåhjÖMubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjºMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕMh´MæhjEMubjÄ)�”}”(hŒU``struct snd_jack **jjack`` Used to provide the allocated jack object to the caller. ”h]”(jÊ)�”}”(hŒ``struct snd_jack **jjack``”h]”jÐ)�”}”(hjúMh]”hŒstruct snd_jack **jjack”…”�”}”(hjüMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjøMubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MçhjôMubjæ)�”}”(hhh]”j{)�”}”(hŒ8Used to provide the allocated jack object to the caller.”h]”hŒ8Used to provide the allocated jack object to the caller.”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jNh´MçhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjôMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jNh´MçhjEMubjÄ)�”}”(hŒN``bool initial_kctl`` if true, create a kcontrol and add it to the jack list. ”h]”(jÊ)�”}”(hŒ``bool initial_kctl``”h]”jÐ)�”}”(hj3Nh]”hŒbool initial_kctl”…”�”}”(hj5Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mèhj-Nubjæ)�”}”(hhh]”j{)�”}”(hŒ7if true, create a kcontrol and add it to the jack list.”h]”hŒ7if true, create a kcontrol and add it to the jack list.”…”�”}”(hjLNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jHNh´MèhjINubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jHNh´MèhjEMubjÄ)�”}”(hŒE``bool phantom_jack`` Don't create a input device for phantom jacks. ”h]”(jÊ)�”}”(hŒ``bool phantom_jack``”h]”jÐ)�”}”(hjlNh]”hŒbool phantom_jack”…”�”}”(hjnNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MéhjfNubjæ)�”}”(hhh]”j{)�”}”(hŒ.Don't create a input device for phantom jacks.”h]”hŒ0Don’t create a input device for phantom jacks.”…”�”}”(hj…Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�Nh´Méhj‚Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjfNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�Nh´MéhjEMubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj)Mubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj§Nh]”hŒ Description”…”�”}”(hj©Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¥Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mëhj)Mubj{)�”}”(hŒCreates a new jack object.”h]”hŒCreates a new jack object.”…”�”}”(hj½Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mêhj)Mubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÎNh]”hŒReturn”…”�”}”(hjÐNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÌNubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mìhj)Mubj{)�”}”(hŒbZero if successful, or a negative error code on failure. On success **jjack** will be initialised.”h]”(hŒDZero if successful, or a negative error code on failure. On success ”…”�”}”(hjäNh²hh³Nh´Nubj©)�”}”(hŒ **jjack**”h]”hŒjjack”…”�”}”(hjìNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjäNubhŒ will be initialised.”…”�”}”(hjäNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Míhj)Mubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_jack_set_key (C function)”Œc.snd_jack_set_key”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒSint snd_jack_set_key (struct snd_jack *jack, enum snd_jack_types type, int keytype)”h]”j )�”}”(hŒRint snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type, int keytype)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj%Oh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj!Oh²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MAubj")�”}”(hŒ ”h]”hŒ ”…”�”•}”(hj4Oh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj!Oh²hh³j3Oh´MAubj3)�”}”(hŒsnd_jack_set_key”h]”j9)�”}”(hŒsnd_jack_set_key”h]”hŒsnd_jack_set_key”…”�”}”(hjFOh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBOubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj!Oh²hh³j3Oh´MAubjT)�”}”(hŒ>(struct snd_jack *jack, enum snd_jack_types type, int keytype)”h]”(jZ)�”}”(hŒstruct snd_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjbOh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj^Oubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoOh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^Oubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack”h]”hŒsnd_jack”…”�”}”(hj€Oh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}Oubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j‚OŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jHOsbŒc.snd_jack_set_key”†”asbuh1hhj^Oubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Oh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^Oubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj®Oh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj^Oubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hj»Oh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZOubjZ)�”}”(hŒenum snd_jack_types type”h]”(j`)�”}”(hj›(h]”hŒenum”…”�”}”(hjÔOh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÐOubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáOh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÐOubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack_types”h]”hŒsnd_jack_types”…”�”}”(hjòOh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjïOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jôOŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jœOŒc.snd_jack_set_key”†”asbuh1hhjÐOubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÐOubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÐOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZOubjZ)�”}”(hŒ int keytype”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj7Ph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3Pubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEPh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3Pubj9)�”}”(hŒkeytype”h]”hŒkeytype”…”�”}”(hjSPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZOubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj!Oh²hh³j3Oh´MAubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjOh²hh³j3Oh´MAubah}”(h]”jOah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j3Oh´MAhjOh²hubjv)�”}”(hhh]”j{)�”}”(hŒSet a key mapping on a jack”h]”hŒSet a key mapping on a jack”…”�”}”(hj}Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MAhjzPh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjOh²hh³j3Oh´MAubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j•Pjšj•Pj›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hX¤**Parameters** ``struct snd_jack *jack`` The jack to configure ``enum snd_jack_types type`` Jack report type for this key ``int keytype`` Input layer key type to be reported **Description** Map a SND_JACK_BTN_* button type to an input layer key, allowing reporting of keys on accessories via the jack abstraction. If no mapping is provided but keys are enabled in the jack type then BTN_n numeric buttons will be reported. If jacks are not reporting via the input API this call will have no effect. Note that this is intended to be use by simple devices with small numbers of keys that can be reported. It is also possible to access the input device directly - devices with complex input capabilities on accessories should consider doing this rather than using this abstraction. This function may only be called prior to registration of the jack. **Return** Zero if successful, or a negative error code on failure.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjŸPh]”hŒ Parameters”…”�”}”(hj¡Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MEhj™Pubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_jack *jack`` The jack to configure ”h]”(jÊ)�”}”(hŒ``struct snd_jack *jack``”h]”jÐ)�”}”(hj¾Ph]”hŒstruct snd_jack *jack”…”�”}”(hjÀPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¼Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MChj¸Pubjæ)�”}”(hhh]”j{)�”}”(hŒThe jack to configure”h]”hŒThe jack to configure”…”�”}”(hj×Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÓPh´MChjÔPubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¸Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÓPh´MChjµPubjÄ)�”}”(hŒ;``enum snd_jack_types type`` Jack report type for this key ”h]”(jÊ)�”}”(hŒ``enum snd_jack_types type``”h]”jÐ)�”}”(hj÷Ph]”hŒenum snd_jack_types type”…”�”}”(hjùPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjõPubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MDhjñPubjæ)�”}”(hhh]”j{)�”}”(hŒJack report type for this key”h]”hŒJack report type for this key”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j Qh´MDhj Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjñPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j Qh´MDhjµPubjÄ)�”}”(hŒ4``int keytype`` Input layer key type to be reported ”h]”(jÊ)�”}”(hŒ``int keytype``”h]”jÐ)�”}”(hj0Qh]”hŒ int keytype”…”�”}”(hj2Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj.Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MEhj*Qubjæ)�”}”(hhh]”j{)�”}”(hŒ#Input layer key type to be reported”h]”hŒ#Input layer key type to be reported”…”�”}”(hjIQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jEQh´MEhjFQubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj*Qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jEQh´MEhjµPubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj™Pubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjkQh]”hŒ Description”…”�”}”(hjmQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjiQubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MGhj™Pubj{)�”}”(hŒéMap a SND_JACK_BTN_* button type to an input layer key, allowing reporting of keys on accessories via the jack abstraction. If no mapping is provided but keys are enabled in the jack type then BTN_n numeric buttons will be reported.”h]”hŒéMap a SND_JACK_BTN_* button type to an input layer key, allowing reporting of keys on accessories via the jack abstraction. If no mapping is provided but keys are enabled in the jack type then BTN_n numeric buttons will be reported.”…”�”}”(hj�Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MFhj™Pubj{)�”}”(hŒKIf jacks are not reporting via the input API this call will have no effect.”h]”hŒKIf jacks are not reporting via the input API this call will have no effect.”…”�”}”(hj�Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MKhj™Pubj{)�”}”(hXNote that this is intended to be use by simple devices with small numbers of keys that can be reported. It is also possible to access the input device directly - devices with complex input capabilities on accessories should consider doing this rather than using this abstraction.”h]”hXNote that this is intended to be use by simple devices with small numbers of keys that can be reported. It is also possible to access the input device directly - devices with complex input capabilities on accessories should consider doing this rather than using this abstraction.”…”�”}”(hjŸQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MNhj™Pubj{)�”}”(hŒCThis function may only be called prior to registration of the jack.”h]”hŒCThis function may only be called prior to registration of the jack.”…”�”}”(hj®Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MThj™Pubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¿Qh]”hŒReturn”…”�”}”(hjÁQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj½Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MVhj™Pubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÕQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MWhj™Pubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_jack_report (C function)”Œc.snd_jack_report”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8void snd_jack_report (struct snd_jack *jack, int status)”h]”j )�”}”(hŒ7void snd_jack_report(struct snd_jack *jack, int status)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjRh²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRh²hh³jRh´Mkubj3)�”}”(hŒsnd_jack_report”h]”j9)�”}”(hŒsnd_jack_report”h]”hŒsnd_jack_report”…”�”}”(hj%Rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj!Rubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjRh²hh³jRh´MkubjT)�”}”(hŒ#(struct snd_jack *jack, int status)”h]”(jZ)�”}”(hŒstruct snd_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjARh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj=Rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=Rubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack”h]”hŒsnd_jack”…”�”}”(hj_Rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\Rubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jaRŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j'RsbŒc.snd_jack_report”†”asbuh1hhj=Rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=Rubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�Rh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj=Rubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjšRh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj=Rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj9RubjZ)�”}”(hŒ int status”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj³Rh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¯Rubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁRh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¯Rubj9)�”}”(hŒstatus”h]”hŒstatus”…”�”}”(hjÏRh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¯Rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj9Rubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjRh²hh³jRh´Mkubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjüQh²hh³jRh´Mkubah}”(h]”j÷Qah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jRh´MkhjùQh²hubjv)�”}”(hhh]”j{)�”}”(hŒ#Report the current status of a jack”h]”hŒ#Report the current status of a jack”…”�”}”(hjùRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MkhjöRh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjùQh²hh³jRh´Mkubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jSjšjSj›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hŒë**Parameters** ``struct snd_jack *jack`` The jack to report status for ``int status`` The current status of the jack **Note** This function uses mutexes and should be called from a context which can sleep (such as a workqueue).”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjSh]”hŒ Parameters”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MohjSubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_jack *jack`` The jack to report status for ”h]”(jÊ)�”}”(hŒ``struct snd_jack *jack``”h]”jÐ)�”}”(hj:Sh]”hŒstruct snd_jack *jack”…”�”}”(hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K¬hj:_ubjæ)�”}”(hhh]”j{)�”}”(hŒNotifier block to register”h]”hŒNotifier block to register”…”�”}”(hjY_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU_h´K¬hjV_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU_h´K¬hjþ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjâ^ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj{_h]”hŒ Description”…”�”}”(hj}_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjy_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K®hjâ^ubj{)�”}”(hX"Register for notification of the current status of the jack. Note that it is not possible to report additional jack events in the callback from the notifier, this is intended to support applications such as enabling electrical detection only when a mechanical detection event has occurred.”h]”hX"Register for notification of the current status of the jack. Note that it is not possible to report additional jack events in the callback from the notifier, this is intended to support applications such as enabling electrical detection only when a mechanical detection event has occurred.”…”�”}”(hj‘_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K­hjâ^ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ-snd_soc_jack_notifier_unregister (C function)”Œ"c.snd_soc_jack_notifier_unregister”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ\void snd_soc_jack_notifier_unregister (struct snd_soc_jack *jack, struct notifier_block *nb)”h]”j )�”}”(hŒ[void snd_soc_jack_notifier_unregister(struct snd_soc_jack *jack, struct notifier_block *nb)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÀ_h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¼_h²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K¼ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏ_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼_h²hh³jÎ_h´K¼ubj3)�”}”(hŒ snd_soc_jack_notifier_unregister”h]”j9)�”}”(hŒ snd_soc_jack_notifier_unregister”h]”hŒ snd_soc_jack_notifier_unregister”…”�”}”(hjá_h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÝ_ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¼_h²hh³jÎ_h´K¼ubjT)�”}”(hŒ6(struct snd_soc_jack *jack, struct notifier_block *nb)”h]”(jZ)�”}”(hŒstruct snd_soc_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjý_h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjù_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj `h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjù_ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_jack”h]”hŒ snd_soc_jack”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j`Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jã_sbŒ"c.snd_soc_jack_notifier_unregister”†”asbuh1hhjù_ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjù_ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjI`h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjù_ubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjV`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjù_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjõ_ubjZ)�”}”(hŒstruct notifier_block *nb”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjo`h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjk`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjk`ubh)�”}”(hhh]”j9)�”}”(hŒnotifier_block”h]”hŒnotifier_block”…”�”}”(hj�`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŠ`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�`Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j7`Œ"c.snd_soc_jack_notifier_unregister”†”asbuh1hhjk`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjk`ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¹`h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjk`ubj9)�”}”(hŒnb”h]”hŒnb”…”�”}”(hjÆ`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjk`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjõ_ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¼_h²hh³jÎ_h´K¼ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¸_h²hh³jÎ_h´K¼ubah}”(h]”j³_ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÎ_h´K¼hjµ_h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Unregister a notifier for jack status”h]”hŒ%Unregister a notifier for jack status”…”�”}”(hjð`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K¼hjí`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjµ_h²hh³jÎ_h´K¼ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jajšjaj›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hŒ¬**Parameters** ``struct snd_soc_jack *jack`` ASoC jack ``struct notifier_block *nb`` Notifier block to unregister **Description** Stop notifying for status changes.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjah]”hŒ Parameters”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´KÀhj aubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ(``struct snd_soc_jack *jack`` ASoC jack ”h]”(jÊ)�”}”(hŒ``struct snd_soc_jack *jack``”h]”jÐ)�”}”(hj1ah]”hŒstruct snd_soc_jack *jack”…”�”}”(hj3ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj/aubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K¾hj+aubjæ)�”}”(hhh]”j{)�”}”(hŒ ASoC jack”h]”hŒ ASoC jack”…”�”}”(hjJah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jFah´K¾hjGaubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj+aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jFah´K¾hj(aubjÄ)�”}”(hŒ;``struct notifier_block *nb`` Notifier block to unregister ”h]”(jÊ)�”}”(hŒ``struct notifier_block *nb``”h]”jÐ)�”}”(hjjah]”hŒstruct notifier_block *nb”…”�”}”(hjlah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjhaubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´K¿hjdaubjæ)�”}”(hhh]”j{)�”}”(hŒNotifier block to unregister”h]”hŒNotifier block to unregister”…”�”}”(hjƒah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jah´K¿hj€aubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjdaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jah´K¿hj(aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj aubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¥ah]”hŒ Description”…”�”}”(hj§ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj£aubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´KÁhj aubj{)�”}”(hŒ"Stop notifying for status changes.”h]”hŒ"Stop notifying for status changes.”…”�”}”(hj»ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´KÀhj aubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_soc_jack_add_gpios (C function)”Œc.snd_soc_jack_add_gpios”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒbint snd_soc_jack_add_gpios (struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”j )�”}”(hŒaint snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjêah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæah²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M-ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæah²hh³jøah´M-ubj3)�”}”(hŒsnd_soc_jack_add_gpios”h]”j9)�”}”(hŒsnd_soc_jack_add_gpios”h]”hŒsnd_soc_jack_add_gpios”…”�”}”(hj bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjæah²hh³jøah´M-ubjT)�”}”(hŒG(struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”(jZ)�”}”(hŒstruct snd_soc_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj'bh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj#bubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4bh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#bubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_jack”h]”hŒ snd_soc_jack”…”�”}”(hjEbh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBbubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jGbŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j bsbŒc.snd_soc_jack_add_gpios”†”asbuh1hhj#bubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjebh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#bubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjsbh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj#bubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hj€bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj#bubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjbubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj™bh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•bubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§bh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•bubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjµbh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj•bubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjbubjZ)�”}”(hŒstruct snd_soc_jack_gpio *gpios”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÎbh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÊbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊbubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_jack_gpio”h]”hŒsnd_soc_jack_gpio”…”�”}”(hjìbh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjébubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jîbŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jabŒc.snd_soc_jack_add_gpios”†”asbuh1hhjÊbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÊbubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÊbubj9)�”}”(hŒgpios”h]”hŒgpios”…”�”}”(hj%ch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÊbubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjbubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjæah²hh³jøah´M-ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjâah²hh³jøah´M-ubah}”(h]”jÝaah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jøah´M-hjßah²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Associate GPIO pins with an ASoC jack”h]”hŒ%Associate GPIO pins with an ASoC jack”…”�”}”(hjOch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M-hjLch²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjßah²hh³jøah´M-ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jgcjšjgcj›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_soc_jack *jack`` ASoC jack ``int count`` number of pins ``struct snd_soc_jack_gpio *gpios`` array of gpio pins **Description** This function will request gpio, set data direction and request irq for each gpio in the array.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjqch]”hŒ Parameters”…”�”}”(hjsch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjocubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M1hjkcubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ(``struct snd_soc_jack *jack`` ASoC jack ”h]”(jÊ)�”}”(hŒ``struct snd_soc_jack *jack``”h]”jÐ)�”}”(hj�ch]”hŒstruct snd_soc_jack *jack”…”�”}”(hj’ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjŽcubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M/hjŠcubjæ)�”}”(hhh]”j{)�”}”(hŒ ASoC jack”h]”hŒ ASoC jack”…”�”}”(hj©ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¥ch´M/hj¦cubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŠcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¥ch´M/hj‡cubjÄ)�”}”(hŒ``int count`` number of pins ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hjÉch]”hŒ int count”…”�”}”(hjËch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÇcubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M0hjÃcubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of pins”h]”hŒnumber of pins”…”�”}”(hjâch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÞch´M0hjßcubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÃcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÞch´M0hj‡cubjÄ)�”}”(hŒ7``struct snd_soc_jack_gpio *gpios`` array of gpio pins ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_jack_gpio *gpios``”h]”jÐ)�”}”(hjdh]”hŒstruct snd_soc_jack_gpio *gpios”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M1hjücubjæ)�”}”(hhh]”j{)�”}”(hŒarray of gpio pins”h]”hŒarray of gpio pins”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jdh´M1hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjücubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jdh´M1hj‡cubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjkcubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj=dh]”hŒ Description”…”�”}”(hj?dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj;dubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M3hjkcubj{)�”}”(hŒ_This function will request gpio, set data direction and request irq for each gpio in the array.”h]”hŒ_This function will request gpio, set data direction and request irq for each gpio in the array.”…”�”}”(hjSdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M2hjkcubeh}”(h]”h ]”Œ kernelindent”ah"•]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_jack_add_gpiods (C function)”Œc.snd_soc_jack_add_gpiods”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ}int snd_soc_jack_add_gpiods (struct device *gpiod_dev, struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”j )�”}”(hŒ|int snd_soc_jack_add_gpiods(struct device *gpiod_dev, struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‚dh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj~dh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~dh²hh³j�dh´M�ubj3)�”}”(hŒsnd_soc_jack_add_gpiods”h]”j9)�”}”(hŒsnd_soc_jack_add_gpiods”h]”hŒsnd_soc_jack_add_gpiods”…”�”}”(hj£dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸdubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj~dh²hh³j�dh´M�ubjT)�”}”(hŒa(struct device *gpiod_dev, struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”(jZ)�”}”(hŒstruct device *gpiod_dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¿dh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj»dubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌdh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»dubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÝdh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚdubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jßdŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j¥dsbŒc.snd_soc_jack_add_gpiods”†”asbuh1hhj»dubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýdh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj»dubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj eh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj»dubj9)�”}”(hŒ gpiod_dev”h]”hŒ gpiod_dev”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·dubjZ)�”}”(hŒstruct snd_soc_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj1eh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj-eubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>eh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-eubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_jack”h]”hŒ snd_soc_jack”…”�”}”(hjOeh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLeubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQeŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jùdŒc.snd_soc_jack_add_gpiods”†”asbuh1hhj-eubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmeh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-eubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj{eh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj-eubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjˆeh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·dubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¡eh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�eubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯eh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�eubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj½eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·dubjZ)�”}”(hŒstruct snd_soc_jack_gpio *gpios”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÖeh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÒeubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãeh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒeubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_jack_gpio”h]”hŒsnd_soc_jack_gpio”…”�”}”(hjôeh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjñeubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jöeŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jùdŒc.snd_soc_jack_add_gpiods”†”asbuh1hhjÒeubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÒeubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj fh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÒeubj9)�”}”(hŒgpios”h]”hŒgpios”…”�”}”(hj-fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÒeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj·dubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj~dh²hh³j�dh´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjzdh²hh³j�dh´M�ubah}”(h]”judah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�dh´M�hjwdh²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Associate GPIO descriptor pins with an ASoC jack”h]”hŒ0Associate GPIO descriptor pins with an ASoC jack”…”�”}”(hjWfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M�hjTfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjwdh²hh³j�dh´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jofjšjofj›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hX:**Parameters** ``struct device *gpiod_dev`` GPIO consumer device ``struct snd_soc_jack *jack`` ASoC jack ``int count`` number of pins ``struct snd_soc_jack_gpio *gpios`` array of gpio pins **Description** This function will request gpio, set data direction and request irq for each gpio in the array.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjyfh]”hŒ Parameters”…”�”}”(hj{fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjwfubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M”hjsfubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``struct device *gpiod_dev`` GPIO consumer device ”h]”(jÊ)�”}”(hŒ``struct device *gpiod_dev``”h]”jÐ)�”}”(hj˜fh]”hŒstruct device *gpiod_dev”…”�”}”(hjšfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj–fubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M’hj’fubjæ)�”}”(hhh]”j{)�”}”(hŒGPIO consumer device”h]”hŒGPIO consumer device”…”�”}”(hj±fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j­fh´M’hj®fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj’fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j­fh´M’hj�fubjÄ)�”}”(hŒ(``struct snd_soc_jack *jack`` ASoC jack ”h]”(jÊ)�”}”(hŒ``struct snd_soc_jack *jack``”h]”jÐ)�”}”(hjÑfh]”hŒstruct snd_soc_jack *jack”…”�”}”(hjÓfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÏfubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M“hjËfubjæ)�”}”(hhh]”j{)�”}”(hŒ ASoC jack”h]”hŒ ASoC jack”…”�”}”(hjêfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jæfh´M“hjçfubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjËfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jæfh´M“hj�fubjÄ)�”}”(hŒ``int count`` number of pins ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hj gh]”hŒ int count”…”�”}”(hj gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M”hjgubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of pins”h]”hŒnumber of pins”…”�”}”(hj#gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jgh´M”hj gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jgh´M”hj�fubjÄ)�”}”(hŒ7``struct snd_soc_jack_gpio *gpios`` array of gpio pins ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_jack_gpio *gpios``”h]”jÐ)�”}”(hjCgh]”hŒstruct snd_soc_jack_gpio *gpios”…”�”}”(hjEgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjAgubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M•hj=gubjæ)�”}”(hhh]”j{)�”}”(hŒarray of gpio pins”h]”hŒarray of gpio pins”…”�”}”(hj\gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jXgh´M•hjYgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jXgh´M•hj�fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjsfubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj~gh]”hŒ Description”…”�”}”(hj€gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj|gubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M—hjsfubj{)�”}”(hŒ_This function will request gpio, set data direction and request irq for each gpio in the array.”h]”hŒ_This function will request gpio, set data direction and request irq for each gpio in the array.”…”�”}”(hj”gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M–hjsfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ$snd_soc_jack_free_gpios (C function)”Œc.snd_soc_jack_free_gpios”hNt”auh1híhjÍCh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdvoid snd_soc_jack_free_gpios (struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”j )�”}”(hŒcvoid snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÃgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿gh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M¨ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒgh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¿gh²hh³jÑgh´M¨ubj3)�”}”(hŒsnd_soc_jack_free_gpios”h]”j9)�”}”(hŒsnd_soc_jack_free_gpios”h]”hŒsnd_soc_jack_free_gpios”…”�”}”(hjägh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjàgubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¿gh²hh³jÑgh´M¨ubjT)�”}”(hŒG(struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios)”h]”(jZ)�”}”(hŒstruct snd_soc_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjügubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjügubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_jack”h]”hŒ snd_soc_jack”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j hŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jægsbŒc.snd_soc_jack_free_gpios”†”asbuh1hhjügubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjügubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjLhh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjügubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjYhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjügubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjøgubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjrhh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjnhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjnhubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjŽhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjnhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjøgubjZ)�”}”(hŒstruct snd_soc_jack_gpio *gpios”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj§hh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj£hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£hubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_jack_gpio”h]”hŒsnd_soc_jack_gpio”…”�”}”(hjÅhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÇhŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j:hŒc.snd_soc_jack_free_gpios”†”asbuh1hhj£hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj£hubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjñhh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj£hubj9)�”}”(hŒgpios”h]”hŒgpios”…”�”}”(hjþhh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj£hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjøgubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¿gh²hh³jÑgh´M¨ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj»gh²hh³jÑgh´M¨ubah}”(h]”j¶gah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÑgh´M¨hj¸gh²hubjv)�”}”(hhh]”j{)�”}”(hŒ,Release GPIO pins' resources of an ASoC jack”h]”hŒ.Release GPIO pins’ resources of an ASoC jack”…”�”}”(hj(ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M¨hj%ih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¸gh²hh³jÑgh´M¨ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j@ijšj@ij›‰jœ‰j�‰uh1hþh²hhjÍCh³Nh´NubjŸ)�”}”(hŒð**Parameters** ``struct snd_soc_jack *jack`` ASoC jack ``int count`` number of pins ``struct snd_soc_jack_gpio *gpios`` array of gpio pins **Description** Release gpio and irq resources for gpio pins associated with an ASoC jack.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjJih]”hŒ Parameters”…”�”}”(hjLih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjHiubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M¬hjDiubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ(``struct snd_soc_jack *jack`` ASoC jack ”h]”(jÊ)�”}”(hŒ``struct snd_soc_jack *jack``”h]”jÐ)�”}”(hjiih]”hŒstruct snd_soc_jack *jack”…”�”}”(hjkih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjgiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´Mªhjciubjæ)�”}”(hhh]”j{)�”}”(hŒ ASoC jack”h]”hŒ ASoC jack”…”�”}”(hj‚ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j~ih´Mªhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjciubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j~ih´Mªhj`iubjÄ)�”}”(hŒ``int count`` number of pins ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hj¢ih]”hŒ int count”…”�”}”(hj¤ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj iubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M«hjœiubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of pins”h]”hŒnumber of pins”…”�”}”(hj»ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j·ih´M«hj¸iubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjœiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j·ih´M«hj`iubjÄ)�”}”(hŒ7``struct snd_soc_jack_gpio *gpios`` array of gpio pins ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_jack_gpio *gpios``”h]”jÐ)�”}”(hjÛih]”hŒstruct snd_soc_jack_gpio *gpios”…”�”}”(hjÝih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÙiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M¬hjÕiubjæ)�”}”(hhh]”j{)�”}”(hŒarray of gpio pins”h]”hŒarray of gpio pins”…”�”}”(hjôih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jðih´M¬hjñiubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÕiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jðih´M¬hj`iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjDiubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjjh]”hŒ Description”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M®hjDiubj{)�”}”(hŒJRelease gpio and irq resources for gpio pins associated with an ASoC jack.”h]”hŒJRelease gpio and irq resources for gpio pins associated with an ASoC jack.”…”�”}”(hj,jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:126: ./sound/soc/soc-jack.c”h´M­hjDiubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÍCh²hh³Nh´Nubeh}”(h]”Œjack-abstraction-layer-api”ah ]”h"]”Œjack abstraction layer api”ah$]”h&]”uh1hµhj\@h²hh³hÊh´K{ubh¶)�”}”(hhh]”(h»)�”}”(hŒISA DMA Helpers”h]”hŒISA DMA Helpers”…”�”}”(hjMjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjJjh²hh³hÊh´K�ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_dma_program (C function)”Œc.snd_dma_program”hNt”auh1híhjJjh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdvoid snd_dma_program (unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode)”h]”j )�”}”(hŒcvoid snd_dma_program(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjtjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjpjh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpjh²hh³j‚jh´Kubj3)�”}”(hŒsnd_dma_program”h]”j9)�”}”(hŒsnd_dma_program”h]”hŒsnd_dma_program”…”�”}”(hj•jh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘jubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjpjh²hh³j‚jh´KubjT)�”}”(hŒO(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode)”h]”(jZ)�”}”(hŒunsigned long dma”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj±jh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj­jubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿jh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj­jubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjÍjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj­jubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj­jubj9)�”}”(hŒdma”h]”hŒdma”…”�”}”(hjéjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj­jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj©jubjZ)�”}”(hŒunsigned long addr”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjþjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþjubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjþjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþjubj9)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj:kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjþjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj©jubjZ)�”}”(hŒunsigned int size”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjSkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjOkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjakh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOkubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjokh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjOkubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOkubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj‹kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj©jubjZ)�”}”(hŒunsigned short mode”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¤kh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj kubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjÀkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj kubj9)�”}”(hŒmode”h]”hŒmode”…”�”}”(hjÜkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj©jubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjpjh²hh³j‚jh´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjljh²hh³j‚jh´Kubah}”(h]”jgjah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‚jh´Khjijh²hubjv)�”}”(hhh]”j{)�”}”(hŒprogram an ISA DMA transfer”h]”hŒprogram an ISA DMA transfer”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khjlh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjijh²hh³j‚jh´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jljšjlj›‰jœ‰j�‰uh1hþh²hhjJjh³Nh´NubjŸ)�”}”(hX&**Parameters** ``unsigned long dma`` the dma number ``unsigned long addr`` the physical address of the buffer ``unsigned int size`` the DMA transfer size ``unsigned short mode`` the DMA transfer mode, DMA_MODE_XXX **Description** Programs an ISA DMA transfer for the given buffer.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj(lh]”hŒ Parameters”…”�”}”(hj*lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj&lubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khj"lubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ%``unsigned long dma`` the dma number ”h]”(jÊ)�”}”(hŒ``unsigned long dma``”h]”jÐ)�”}”(hjGlh]”hŒunsigned long dma”…”�”}”(hjIlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjElubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KhjAlubjæ)�”}”(hhh]”j{)�”}”(hŒthe dma number”h]”hŒthe dma number”…”�”}”(hj`lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j\lh´Khj]lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjAlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j\lh´Khj>lubjÄ)�”}”(hŒ:``unsigned long addr`` the physical address of the buffer ”h]”(jÊ)�”}”(hŒ``unsigned long addr``”h]”jÐ)�”}”(hj€lh]”hŒunsigned long addr”…”�”}”(hj‚lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj~lubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khjzlubjæ)�”}”(hhh]”j{)�”}”(hŒ"the physical address of the buffer”h]”hŒ"the physical address of the buffer”…”�”}”(hj™lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j•lh´Khj–lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjzlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j•lh´Khj>lubjÄ)�”}”(hŒ,``unsigned int size`` the DMA transfer size ”h]”(jÊ)�”}”(hŒ``unsigned int size``”h]”jÐ)�”}”(hj¹lh]”hŒunsigned int size”…”�”}”(hj»lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj·lubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khj³lubjæ)�”}”(hhh]”j{)�”}”(hŒthe DMA transfer size”h]”hŒthe DMA transfer size”…”�”}”(hjÒlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÎlh´KhjÏlubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÎlh´Khj>lubjÄ)�”}”(hŒ<``unsigned short mode`` the DMA transfer mode, DMA_MODE_XXX ”h]”(jÊ)�”}”(hŒ``unsigned short mode``”h]”jÐ)�”}”(hjòlh]”hŒunsigned short mode”…”�”}”(hjôlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjðlubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khjìlubjæ)�”}”(hhh]”j{)�”}”(hŒ#the DMA transfer mode, DMA_MODE_XXX”h]”hŒ#the DMA transfer mode, DMA_MODE_XXX”…”�”}”(hj mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jmh´Khjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjìlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jmh´Khj>lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj"lubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj-mh]”hŒ Description”…”�”}”(hj/mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj+mubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khj"lubj{)�”}”(hŒ2Programs an ISA DMA transfer for the given buffer.”h]”hŒ2Programs an ISA DMA transfer for the given buffer.”…”�”}”(hjCmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Khj"lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjJjh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_dma_disable (C function)”Œc.snd_dma_disable”hNt”auh1híhjJjh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ(void snd_dma_disable (unsigned long dma)”h]”j )�”}”(hŒ'void snd_dma_disable(unsigned long dma)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjrmh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjnmh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjnmh²hh³j€mh´K.ubj3)�”}”(hŒsnd_dma_disable”h]”j9)�”}”(hŒsnd_dma_disable”h]”hŒsnd_dma_disable”…”�”}”(hj“mh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�mubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjnmh²hh³j€mh´K.ubjT)�”}”(hŒ(unsigned long dma)”h]”jZ)�”}”(hŒunsigned long dma”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¯mh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj«mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«mubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjËmh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj«mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙmh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«mubj9)�”}”(hŒdma”h]”hŒdma”…”�”}”(hjçmh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj«mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj§mubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjnmh²hh³j€mh´K.ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjjmh²hh³j€mh´K.ubah}”(h]”jemah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j€mh´K.hjgmh²hubjv)�”}”(hhh]”j{)�”}”(hŒstop the ISA DMA transfer”h]”hŒstop the ISA DMA transfer”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K.hjnh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjgmh²hh³j€mh´K.ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j)njšj)nj›‰jœ‰j�‰uh1hþh²hhjJjh³Nh´NubjŸ)�”}”(hŒd**Parameters** ``unsigned long dma`` the dma number **Description** Stops the ISA DMA transfer.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj3nh]”hŒ Parameters”…”�”}”(hj5nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj1nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K2hj-nubj¿)�”}”(hhh]”jÄ)�”}”(hŒ%``unsigned long dma`` the dma number ”h]”(jÊ)�”}”(hŒ``unsigned long dma``”h]”jÐ)�”}”(hjRnh]”hŒunsigned long dma”…”�”}”(hjTnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjPnubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K/hjLnubjæ)�”}”(hhh]”j{)�”}”(hŒthe dma number”h]”hŒthe dma number”…”�”}”(hjknh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jgnh´K/hjhnubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjLnubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jgnh´K/hjInubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj-nubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj�nh]”hŒ Description”…”�”}”(hj�nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‹nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K1hj-nubj{)�”}”(hŒStops the ISA DMA transfer.”h]”hŒStops the ISA DMA transfer.”…”�”}”(hj£nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K0hj-nubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjJjh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_dma_pointer (C function)”Œc.snd_dma_pointer”hNt”auh1híhjJjh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒCunsigned int snd_dma_pointer (unsigned long dma, unsigned int size)”h]”j )�”}”(hŒBunsigned int snd_dma_pointer(unsigned long dma, unsigned int size)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÒnh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÎnh²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjánh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎnh²hh³jành´K?ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjïnh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÎnh²hh³jành´K?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýnh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎnh²hh³jành´K?ubj3)�”}”(hŒsnd_dma_pointer”h]”j9)�”}”(hŒsnd_dma_pointer”h]”hŒsnd_dma_pointer”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj oubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÎnh²hh³jành´K?ubjT)�”}”(hŒ&(unsigned long dma, unsigned int size)”h]”(jZ)�”}”(hŒunsigned long dma”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj+oh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'oubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9oh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'oubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjGoh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj'oubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUoh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'oubj9)�”}”(hŒdma”h]”hŒdma”…”�”}”(hjcoh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj#oubjZ)�”}”(hŒunsigned int size”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj|oh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjxoubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠoh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxoubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj˜oh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjxoubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦oh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxoubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj´oh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxoubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj#oubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÎnh²hh³jành´K?ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÊnh²hh³jành´K?ubah}”(h]”jÅnah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jành´K?hjÇnh²hubjv)�”}”(hhh]”j{)�”}”(hŒ:return the current pointer to DMA transfer buffer in bytes”h]”hŒ:return the current pointer to DMA transfer buffer in bytes”…”�”}”(hjÞoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K?hjÛoh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÇnh²hh³jành´K?ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jöojšjöoj›‰jœ‰j�‰uh1hþh²hhjJjh³Nh´NubjŸ)�”}”(hŒ§**Parameters** ``unsigned long dma`` the dma number ``unsigned int size`` the dma transfer size **Return** The current pointer in DMA transfer buffer in bytes.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjph]”hŒ Parameters”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjþoubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KChjúoubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ%``unsigned long dma`` the dma number ”h]”(jÊ)�”}”(hŒ``unsigned long dma``”h]”jÐ)�”}”(hjph]”hŒunsigned long dma”…”�”}”(hj!ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´K@hjpubjæ)�”}”(hhh]”j{)�”}”(hŒthe dma number”h]”hŒthe dma number”…”�”}”(hj8ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j4ph´K@hj5pubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j4ph´K@hjpubjÄ)�”}”(hŒ,``unsigned int size`` the dma transfer size ”h]”(jÊ)�”}”(hŒ``unsigned int size``”h]”jÐ)�”}”(hjXph]”hŒunsigned int size”…”�”}”(hjZph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjVpubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KAhjRpubjæ)�”}”(hhh]”j{)�”}”(hŒthe dma transfer size”h]”hŒthe dma transfer size”…”�”}”(hjqph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jmph´KAhjnpubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjRpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jmph´KAhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjúoubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj“ph]”hŒReturn”…”�”}”(hj•ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‘pubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KChjúoubj{)�”}”(hŒ4The current pointer in DMA transfer buffer in bytes.”h]”hŒ4The current pointer in DMA transfer buffer in bytes.”…”�”}”(hj©ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KChjúoubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjJjh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_devm_request_dma (C function)”Œc.snd_devm_request_dma”hNt”auh1híhjJjh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒHint snd_devm_request_dma (struct device *dev, int dma, const char *name)”h]”j )�”}”(hŒGint snd_devm_request_dma(struct device *dev, int dma, const char *name)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjØph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÔph²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Krubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÔph²hh³jæph´Krubj3)�”}”(hŒsnd_devm_request_dma”h]”j9)�”}”(hŒsnd_devm_request_dma”h]”hŒsnd_devm_request_dma”…”�”}”(hjùph²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõpubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÔph²hh³jæph´KrubjT)�”}”(hŒ/(struct device *dev, int dma, const char *name)”h]”(jZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjqubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"qh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj3qh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j5qŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jûpsbŒc.snd_devm_request_dma”†”asbuh1hhjqubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjaqh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjqubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjnqh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj qubjZ)�”}”(hŒint dma”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj‡qh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjƒqubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•qh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjƒqubj9)�”}”(hŒdma”h]”hŒdma”…”�”}”(hj£qh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒqubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj qubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj¼qh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¸qubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸qubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj×qh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¸qubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¸qubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjóqh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¸qubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¸qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj qubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÔph²hh³jæph´Krubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÐph²hh³jæph´Krubah}”(h]”jËpah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jæph´KrhjÍph²hubjv)�”}”(hhh]”j{)�”}”(hŒ$the managed version of request_dma()”h]”hŒ$the managed version of request_dma()”…”�”}”(hj*rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Krhj'rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÍph²hh³jæph´Krubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jBrjšjBrj›‰jœ‰j�‰uh1hþh²hhjJjh³Nh´NubjŸ)�”}”(hX%**Parameters** ``struct device *dev`` the device pointer ``int dma`` the dma number ``const char *name`` the name string of the requester **Description** The requested DMA will be automatically released at unbinding via devres. **Return** zero on success, or a negative error code”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjLrh]”hŒ Parameters”…”�”}”(hjNrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJrubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KvhjFrubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ*``struct device *dev`` the device pointer ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjkrh]”hŒstruct device *dev”…”�”}”(hjmrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjirubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Kshjerubjæ)�”}”(hhh]”j{)�”}”(hŒthe device pointer”h]”hŒthe device pointer”…”�”}”(hj„rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€rh´Kshj�rubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjerubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€rh´KshjbrubjÄ)�”}”(hŒ``int dma`` the dma number ”h]”(jÊ)�”}”(hŒ ``int dma``”h]”jÐ)�”}”(hj¤rh]”hŒint dma”…”�”}”(hj¦rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢rubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Kthjžrubjæ)�”}”(hhh]”j{)�”}”(hŒthe dma number”h]”hŒthe dma number”…”�”}”(hj½rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹rh´Kthjºrubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjžrubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹rh´KthjbrubjÄ)�”}”(hŒ6``const char *name`` the name string of the requester ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hjÝrh]”hŒconst char *name”…”�”}”(hjßrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛrubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´Kuhj×rubjæ)�”}”(hhh]”j{)�”}”(hŒ the name string of the requester”h]”hŒ the name string of the requester”…”�”}”(hjörh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jòrh´Kuhjórubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×rubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jòrh´Kuhjbrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjFrubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjsh]”hŒ Description”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KwhjFrubj{)�”}”(hŒIThe requested DMA will be automatically released at unbinding via devres.”h]”hŒIThe requested DMA will be automatically released at unbinding via devres.”…”�”}”(hj.sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KvhjFrubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj?sh]”hŒReturn”…”�”}”(hjAsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj=subah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KxhjFrubj{)�”}”(hŒ)zero on success, or a negative error code”h]”hŒ)zero on success, or a negative error code”…”�”}”(hjUsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:130: ./sound/core/isadma.c”h´KyhjFrubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjJjh²hh³Nh´Nubeh}”(h]”Œisa-dma-helpers”ah ]”h"]”Œisa dma helpers”ah$]”h&]”uh1hµhj\@h²hh³hÊh´K�ubh¶)�”}”(hhh]”(h»)�”}”(hŒOther Helper Macros”h]”hŒOther Helper Macros”…”�”}”(hjvsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjssh²hh³hÊh´K…ubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_power_ref (C function)”Œc.snd_power_ref”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ*void snd_power_ref (struct snd_card *card)”h]”j )�”}”(hŒ)void snd_power_ref(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj�sh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj™sh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´K¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬sh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™sh²hh³j«sh´K¾ubj3)�”}”(hŒ snd_power_ref”h]”j9)�”}”(hŒ snd_power_ref”h]”hŒ snd_power_ref”…”�”}”(hj¾sh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºsubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj™sh²hh³j«sh´K¾ubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÚsh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÖsubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçsh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖsubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjøsh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõsubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”júsŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÀssbŒc.snd_power_ref”†”asbuh1hhjÖsubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖsubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj&th²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÖsubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj3th²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÒsubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj™sh²hh³j«sh´K¾ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj•sh²hh³j«sh´K¾ubah}”(h]”j�sah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j«sh´K¾hj’sh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Take the reference count for power control”h]”hŒ*Take the reference count for power control”…”�”}”(hj]th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´K¾hjZth²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj’sh²hh³j«sh´K¾ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jutjšjutj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hX&**Parameters** ``struct snd_card *card`` sound card object **Description** The power_ref reference of the card is used for managing to block the snd_power_sync_ref() operation. This function increments the reference. The counterpart snd_power_unref() has to be called appropriately later.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjth]”hŒ Parameters”…”�”}”(hj�th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj}tubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÂhjytubj¿)�”}”(hhh]”jÄ)�”}”(hŒ,``struct snd_card *card`` sound card object ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjžth]”hŒstruct snd_card *card”…”�”}”(hj th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjœtubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´K¿hj˜tubjæ)�”}”(hhh]”j{)�”}”(hŒsound card object”h]”hŒsound card object”…”�”}”(hj·th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j³th´K¿hj´tubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj˜tubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j³th´K¿hj•tubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjytubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÙth]”hŒ Description”…”�”}”(hjÛth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj×tubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÁhjytubj{)�”}”(hŒÖThe power_ref reference of the card is used for managing to block the snd_power_sync_ref() operation. This function increments the reference. The counterpart snd_power_unref() has to be called appropriately later.”h]”hŒÖThe power_ref reference of the card is used for managing to block the snd_power_sync_ref() operation. This function increments the reference. The counterpart snd_power_unref() has to be called appropriately later.”…”�”}”(hjïth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÀhjytubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_power_unref (C function)”Œc.snd_power_unref”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ,void snd_power_unref (struct snd_card *card)”h]”j )�”}”(hŒ+void snd_power_unref(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjuh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KËubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-uh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjuh²hh³j,uh´KËubj3)�”}”(hŒsnd_power_unref”h]”j9)�”}”(hŒsnd_power_unref”h]”hŒsnd_power_unref”…”�”}”(hj?uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;uubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjuh²hh³j,uh´KËubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj[uh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjWuubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWuubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjyuh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjvuubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j{uŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jAusbŒc.snd_power_unref”†”asbuh1hhjWuubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™uh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjWuubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj§uh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjWuubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj´uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWuubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjSuubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjuh²hh³j,uh´KËubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjuh²hh³j,uh´KËubah}”(h]”juah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j,uh´KËhjuh²hubjv)�”}”(hhh]”j{)�”}”(hŒ-Release the reference count for power control”h]”hŒ-Release the reference count for power control”…”�”}”(hjÞuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KËhjÛuh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjuh²hh³j,uh´KËubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jöujšjöuj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hŒ=**Parameters** ``struct snd_card *card`` sound card object”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjvh]”hŒ Parameters”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjþuubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÏhjúuubj¿)�”}”(hhh]”jÄ)�”}”(hŒ+``struct snd_card *card`` sound card object”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjvh]”hŒstruct snd_card *card”…”�”}”(hj!vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÑhjvubjæ)�”}”(hhh]”j{)�”}”(hŒsound card object”h]”hŒsound card object”…”�”}”(hj8vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÌhj5vubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j4vh´KÑhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjúuubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_power_sync_ref (C function)”Œc.snd_power_sync_ref”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ/void snd_power_sync_ref (struct snd_card *card)”h]”j )�”}”(hŒ.void snd_power_sync_ref(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjyvh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjuvh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÔubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjuvh²hh³j‡vh´KÔubj3)�”}”(hŒsnd_power_sync_ref”h]”j9)�”}”(hŒsnd_power_sync_ref”h]”hŒsnd_power_sync_ref”…”�”}”(hjšvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–vubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjuvh²hh³j‡vh´KÔubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¶vh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj²vubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²vubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjÔvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÑvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÖvŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jœvsbŒc.snd_power_sync_ref”†”asbuh1hhj²vubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²vubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj²vubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj²vubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj®vubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjuvh²hh³j‡vh´KÔubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjqvh²hh³j‡vh´KÔubah}”(h]”jlvah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‡vh´KÔhjnvh²hubjv)�”}”(hhh]”j{)�”}”(hŒ&wait until the card power_ref is freed”h]”hŒ&wait until the card power_ref is freed”…”�”}”(hj9wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÔhj6wh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjnvh²hh³j‡vh´KÔubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jQwjšjQwj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hŒŸ**Parameters** ``struct snd_card *card`` sound card object **Description** This function is used to synchronize with the pending power_ref being released.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj[wh]”hŒ Parameters”…”�”}”(hj]wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjYwubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KØhjUwubj¿)�”}”(hhh]”jÄ)�”}”(hŒ,``struct snd_card *card`` sound card object ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjzwh]”hŒstruct snd_card *card”…”�”}”(hj|wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjxwubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÕhjtwubjæ)�”}”(hhh]”j{)�”}”(hŒsound card object”h]”hŒsound card object”…”�”}”(hj“wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�wh´KÕhj�wubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjtwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�wh´KÕhjqwubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjUwubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjµwh]”hŒ Description”…”�”}”(hj·wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj³wubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´K×hjUwubj{)�”}”(hŒOThis function is used to synchronize with the pending power_ref being released.”h]”hŒOThis function is used to synchronize with the pending power_ref being released.”…”�”}”(hjËwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KÖhjUwubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_unref (C function)”Œc.snd_card_unref”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ+void snd_card_unref (struct snd_card *card)”h]”j )�”}”(hŒ*void snd_card_unref(struct snd_card *card)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjúwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjöwh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MJubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj xh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöwh²hh³jxh´MJubj3)�”}”(hŒsnd_card_unref”h]”j9)�”}”(hŒsnd_card_unref”h]”hŒsnd_card_unref”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjöwh²hh³jxh´MJubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj7xh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj3xubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3xubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjUxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjRxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jWxŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jxsbŒc.snd_card_unref”†”asbuh1hhj3xubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3xubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjƒxh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj3xubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj�xh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj/xubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjöwh²hh³jxh´MJubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjòwh²hh³jxh´MJubah}”(h]”jíwah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jxh´MJhjïwh²hubjv)�”}”(hhh]”j{)�”}”(hŒUnreference the card object”h]”hŒUnreference the card object”…”�”}”(hjºxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MJhj·xh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjïwh²hh³jxh´MJubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÒxjšjÒxj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hŒÄ**Parameters** ``struct snd_card *card`` the card object to unreference **Description** Call this function for the card object that was obtained via snd_card_ref() or snd_lookup_minor_data().”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÜxh]”hŒ Parameters”…”�”}”(hjÞxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÚxubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MNhjÖxubj¿)�”}”(hhh]”jÄ)�”}”(hŒ9``struct snd_card *card`` the card object to unreference ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjûxh]”hŒstruct snd_card *card”…”�”}”(hjýxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjùxubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MKhjõxubjæ)�”}”(hhh]”j{)�”}”(hŒthe card object to unreference”h]”hŒthe card object to unreference”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jyh´MKhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jyh´MKhjòxubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÖxubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj6yh]”hŒ Description”…”�”}”(hj8yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4yubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MMhjÖxubj{)�”}”(hŒgCall this function for the card object that was obtained via snd_card_ref() or snd_lookup_minor_data().”h]”hŒgCall this function for the card object that was obtained via snd_card_ref() or snd_lookup_minor_data().”…”�”}”(hjLyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MLhjÖxubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_BUG (C macro)”Œ c.snd_BUG”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_BUG”h]”j )�”}”(hŒsnd_BUG”h]”j3)�”}”(hŒsnd_BUG”h]”j9)�”}”(hjuyh]”hŒsnd_BUG”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{yubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjwyh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M€ubah}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjsyh²hh³j’yh´M€ubah}”(h]”jnyah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j’yh´M€hjpyh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjpyh²hh³j’yh´M€ubeh}”(h]”h ]”(j–Œmacro”eh"]”h$]”h&]”j˜j–j™j«yjšj«yj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´Nubj{)�”}”(hŒ``snd_BUG ()``”h]”jÐ)�”}”(hj±yh]”hŒ snd_BUG ()”…”�”}”(hj³yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¯yubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M‚hjssh²hubj¯)�”}”(hŒ’ give a BUG warning message and stack trace **Description** Calls WARN() if CONFIG_SND_DEBUG is set. Ignored when CONFIG_SND_DEBUG is not set. ”h]”(j¯)�”}”(hŒ+give a BUG warning message and stack trace ”h]”j{)�”}”(hŒ*give a BUG warning message and stack trace”h]”hŒ*give a BUG warning message and stack trace”…”�”}”(hjÏyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M€hjËyubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jÝyh´M€hjÇyubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjæyh]”hŒ Description”…”�”}”(hjèyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjäyubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M‚hjÇyubj{)�”}”(hŒRCalls WARN() if CONFIG_SND_DEBUG is set. Ignored when CONFIG_SND_DEBUG is not set.”h]”hŒRCalls WARN() if CONFIG_SND_DEBUG is set. Ignored when CONFIG_SND_DEBUG is not set.”…”�”}”(hjüyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M�hjÇyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jÝyh´M€hjssh²hubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_BUG_ON (C macro)”Œ c.snd_BUG_ON”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ snd_BUG_ON”h]”j )�”}”(hŒ snd_BUG_ON”h]”j3)�”}”(hŒ snd_BUG_ON”h]”j9)�”}”(hj$zh]”hŒ snd_BUG_ON”…”�”}”(hj.zh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj*zubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj&zh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´Mˆubah}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj"zh²hh³jAzh´Mˆubah}”(h]”jzah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jAzh´Mˆhjzh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjzh²hh³jAzh´Mˆubeh}”(h]”h ]”(j–Œmacro”eh"]”h$]”h&]”j˜j–j™jZzjšjZzj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´Nubj{)�”}”(hŒ``snd_BUG_ON (cond)``”h]”jÐ)�”}”(hj`zh]”hŒsnd_BUG_ON (cond)”…”�”}”(hjbzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj^zubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MŠhjssh²hubj¯)�”}”(hŒdebugging check macro ”h]”j{)�”}”(hŒdebugging check macro”h]”hŒdebugging check macro”…”�”}”(hjzzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´Mˆhjvzubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jˆzh´Mˆhjssh²hubjŸ)�”}”(hŒÁ**Parameters** ``cond`` condition to evaluate **Description** Has the same behavior as WARN_ON when CONFIG_SND_DEBUG is set, otherwise just evaluates the conditional and returns the value.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj•zh]”hŒ Parameters”…”�”}”(hj—zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj“zubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MŒhj�zubj¿)�”}”(hhh]”jÄ)�”}”(hŒ``cond`` condition to evaluate ”h]”(jÊ)�”}”(hŒ``cond``”h]”jÐ)�”}”(hj´zh]”hŒcond”…”�”}”(hj¶zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj²zubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M‰hj®zubjæ)�”}”(hhh]”j{)�”}”(hŒcondition to evaluate”h]”hŒcondition to evaluate”…”�”•y®}”(hjÍzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÉzh´M‰hjÊzubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj®zubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÉzh´M‰hj«zubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�zubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjïzh]”hŒ Description”…”�”}”(hjñzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjízubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´M‹hj�zubj{)�”}”(hŒ~Has the same behavior as WARN_ON when CONFIG_SND_DEBUG is set, otherwise just evaluates the conditional and returns the value.”h]”hŒ~Has the same behavior as WARN_ON when CONFIG_SND_DEBUG is set, otherwise just evaluates the conditional and returns the value.”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´MŠhj�zubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ*register_sound_special_device (C function)”Œc.register_sound_special_device”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒdint register_sound_special_device (const struct file_operations *fops, int unit, struct device *dev)”h]”j )�”}”(hŒcint register_sound_special_device(const struct file_operations *fops, int unit, struct device *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj4{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj0{h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MOubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0{h²hh³jB{h´MOubj3)�”}”(hŒregister_sound_special_device”h]”j9)�”}”(hŒregister_sound_special_device”h]”hŒregister_sound_special_device”…”�”}”(hjU{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQ{ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj0{h²hh³jB{h´MOubjT)�”}”(hŒB(const struct file_operations *fops, int unit, struct device *dev)”h]”(jZ)�”}”(hŒ"const struct file_operations *fops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjq{h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjm{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjm{ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjŒ{h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjm{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjm{ubh)�”}”(hhh]”j9)�”}”(hŒfile_operations”h]”hŒfile_operations”…”�”}”(hjª{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§{ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¬{Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jW{sbŒc.register_sound_special_device”†”asbuh1hhjm{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊ{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjm{ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjØ{h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjm{ubj9)�”}”(hŒfops”h]”hŒfops”…”�”}”(hjå{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhji{ubjZ)�”}”(hŒint unit”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjþ{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjú{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj |h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjú{ubj9)�”}”(hŒunit”h]”hŒunit”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjú{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhji{ubjZ)�”}”(hŒstruct device *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj3|h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj/|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/|ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjQ|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjN|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jS|Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÆ{Œc.register_sound_special_device”†”asbuh1hhj/|ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/|ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj}|h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj/|ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjŠ|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj/|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhji{ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj0{h²hh³jB{h´MOubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj,{h²hh³jB{h´MOubah}”(h]”j'{ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jB{h´MOhj){h²hubjv)�”}”(hhh]”j{)�”}”(hŒregister a special sound node”h]”hŒregister a special sound node”…”�”}”(hj´|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MOhj±|h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj){h²hh³jB{h´MOubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÌ|jšjÌ|j›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hXw**Parameters** ``const struct file_operations *fops`` File operations for the driver ``int unit`` Unit number to allocate ``struct device *dev`` device pointer **Description** Allocate a special sound device by minor number from the sound subsystem. **Return** The allocated number is returned on success. On failure, a negative error code is returned.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÖ|h]”hŒ Parameters”…”�”}”(hjØ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÔ|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MShjÐ|ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒF``const struct file_operations *fops`` File operations for the driver ”h]”(jÊ)�”}”(hŒ&``const struct file_operations *fops``”h]”jÐ)�”}”(hjõ|h]”hŒ"const struct file_operations *fops”…”�”}”(hj÷|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjó|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MPhjï|ubjæ)�”}”(hhh]”j{)�”}”(hŒFile operations for the driver”h]”hŒFile operations for the driver”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j }h´MPhj }ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjï|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j }h´MPhjì|ubjÄ)�”}”(hŒ%``int unit`` Unit number to allocate ”h]”(jÊ)�”}”(hŒ ``int unit``”h]”jÐ)�”}”(hj.}h]”hŒint unit”…”�”}”(hj0}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj,}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MQhj(}ubjæ)�”}”(hhh]”j{)�”}”(hŒUnit number to allocate”h]”hŒUnit number to allocate”…”�”}”(hjG}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jC}h´MQhjD}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jC}h´MQhjì|ubjÄ)�”}”(hŒ&``struct device *dev`` device pointer ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjg}h]”hŒstruct device *dev”…”�”}”(hji}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhje}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MRhja}ubjæ)�”}”(hhh]”j{)�”}”(hŒdevice pointer”h]”hŒdevice pointer”…”�”}”(hj€}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j|}h´MRhj}}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhja}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|}h´MRhjì|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÐ|ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj¢}h]”hŒ Description”…”�”}”(hj¤}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj }ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MThjÐ|ubj¯)�”}”(hŒJAllocate a special sound device by minor number from the sound subsystem. ”h]”j{)�”}”(hŒIAllocate a special sound device by minor number from the sound subsystem.”h]”hŒIAllocate a special sound device by minor number from the sound subsystem.”…”�”}”(hj¼}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MShj¸}ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jÊ}h´MShjÐ|ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjÓ}h]”hŒReturn”…”�”}”(hjÕ}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÑ}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MVhjÐ|ubj{)�”}”(hŒ[The allocated number is returned on success. On failure, a negative error code is returned.”h]”hŒ[The allocated number is returned on success. On failure, a negative error code is returned.”…”�”}”(hjé}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MWhjÐ|ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!register_sound_mixer (C function)”Œc.register_sound_mixer”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒFint register_sound_mixer (const struct file_operations *fops, int dev)”h]”j )�”}”(hŒEint register_sound_mixer(const struct file_operations *fops, int dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj~h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M¦ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj~h²hh³j&~h´M¦ubj3)�”}”(hŒregister_sound_mixer”h]”j9)�”}”(hŒregister_sound_mixer”h]”hŒregister_sound_mixer”…”�”}”(hj9~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5~ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj~h²hh³j&~h´M¦ubjT)�”}”(hŒ-(const struct file_operations *fops, int dev)”h]”(jZ)�”}”(hŒ"const struct file_operations *fops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjU~h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQ~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ~ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjp~h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQ~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ~ubh)�”}”(hhh]”j9)�”}”(hŒfile_operations”h]”hŒfile_operations”…”�”}”(hjŽ~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‹~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j�~Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j;~sbŒc.register_sound_mixer”†”asbuh1hhjQ~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ~ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¼~h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQ~ubj9)�”}”(hŒfops”h]”hŒfops”…”�”}”(hjÉ~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQ~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjM~ubjZ)�”}”(hŒint dev”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjâ~h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÞ~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÞ~ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjþ~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞ~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjM~ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj~h²hh³j&~h´M¦ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj~h²hh³j&~h´M¦ubah}”(h]”j ~ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j&~h´M¦hj ~h²hubjv)�”}”(hhh]”j{)�”}”(hŒregister a mixer device”h]”hŒregister a mixer device”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M¦hj%h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj ~h²hh³j&~h´M¦ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j@jšj@j›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hXu**Parameters** ``const struct file_operations *fops`` File operations for the driver ``int dev`` Unit number to allocate **Description** Allocate a mixer device. Unit is the number of the mixer requested. Pass -1 to request the next free mixer unit. **Return** On success, the allocated number is returned. On failure, a negative error code is returned.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjJh]”hŒ Parameters”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MªhjDubj¿)�”}”(hhh]”(jÄ)�”}”(hŒF``const struct file_operations *fops`` File operations for the driver ”h]”(jÊ)�”}”(hŒ&``const struct file_operations *fops``”h]”jÐ)�”}”(hjih]”hŒ"const struct file_operations *fops”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M§hjcubjæ)�”}”(hhh]”j{)�”}”(hŒFile operations for the driver”h]”hŒFile operations for the driver”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j~h´M§hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j~h´M§hj`ubjÄ)�”}”(hŒ$``int dev`` Unit number to allocate ”h]”(jÊ)�”}”(hŒ ``int dev``”h]”jÐ)�”}”(hj¢h]”hŒint dev”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M¨hjœubjæ)�”}”(hhh]”j{)�”}”(hŒUnit number to allocate”h]”hŒUnit number to allocate”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j·h´M¨hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j·h´M¨hj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjDubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÝh]”hŒ Description”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MªhjDubj¯)�”}”(hŒqAllocate a mixer device. Unit is the number of the mixer requested. Pass -1 to request the next free mixer unit. ”h]”j{)�”}”(hŒpAllocate a mixer device. Unit is the number of the mixer requested. Pass -1 to request the next free mixer unit.”h]”hŒpAllocate a mixer device. Unit is the number of the mixer requested. Pass -1 to request the next free mixer unit.”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M©hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j€h´M©hjDubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj€h]”hŒReturn”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj €ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M¬hjDubj{)�”}”(hŒ\On success, the allocated number is returned. On failure, a negative error code is returned.”h]”hŒ\On success, the allocated number is returned. On failure, a negative error code is returned.”…”�”}”(hj$€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M­hjDubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒregister_sound_dsp (C function)”Œc.register_sound_dsp”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒDint register_sound_dsp (const struct file_operations *fops, int dev)”h]”j )�”}”(hŒCint register_sound_dsp(const struct file_operations *fops, int dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjS€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjO€h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjO€h²hh³ja€h´M¿ubj3)�”}”(hŒregister_sound_dsp”h]”j9)�”}”(hŒregister_sound_dsp”h]”hŒregister_sound_dsp”…”�”}”(hjt€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjp€ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjO€h²hh³ja€h´M¿ubjT)�”}”(hŒ-(const struct file_operations *fops, int dev)”h]”(jZ)�”}”(hŒ"const struct file_operations *fops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj�€h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŒ€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒ€ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj«€h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŒ€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒ€ubh)�”}”(hhh]”j9)�”}”(hŒfile_operations”h]”hŒfile_operations”…”�”}”(hjÉ€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆ€ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jË€Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jv€sbŒc.register_sound_dsp”†”asbuh1hhjŒ€ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé€h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŒ€ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj÷€h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŒ€ubj9)�”}”(hŒfops”h]”hŒfops”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŒ€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjˆ€ubjZ)�”}”(hŒint dev”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj9�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjˆ€ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjO€h²hh³ja€h´M¿ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjK€h²hh³ja€h´M¿ubah}”(h]”jF€ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³ja€h´M¿hjH€h²hubjv)�”}”(hhh]”j{)�”}”(hŒregister a DSP device”h]”hŒregister a DSP device”…”�”}”(hjc�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M¿hj`�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjH€h²hh³ja€h´M¿ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j{�jšj{�j›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hX**Parameters** ``const struct file_operations *fops`` File operations for the driver ``int dev`` Unit number to allocate **Description** Allocate a DSP device. Unit is the number of the DSP requested. Pass -1 to request the next free DSP unit. This function allocates both the audio and dsp device entries together and will always allocate them as a matching pair - eg dsp3/audio3 **Return** On success, the allocated number is returned. On failure, a negative error code is returned.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj…�h]”hŒ Parameters”…”�”}”(hj‡�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjƒ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÃhj�ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒF``const struct file_operations *fops`` File operations for the driver ”h]”(jÊ)�”}”(hŒ&``const struct file_operations *fops``”h]”jÐ)�”}”(hj¤�h]”hŒ"const struct file_operations *fops”…”�”}”(hj¦�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¢�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÀhjž�ubjæ)�”}”(hhh]”j{)�”}”(hŒFile operations for the driver”h]”hŒFile operations for the driver”…”�”}”(hj½�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¹�h´MÀhjº�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjž�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¹�h´MÀhj›�ubjÄ)�”}”(hŒ$``int dev`` Unit number to allocate ”h]”(jÊ)�”}”(hŒ ``int dev``”h]”jÐ)�”}”(hjÝ�h]”hŒint dev”…”�”}”(hjß�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÛ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÁhj×�ubjæ)�”}”(hhh]”j{)�”}”(hŒUnit number to allocate”h]”hŒUnit number to allocate”…”�”}”(hjö�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jò�h´MÁhjó�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jò�h´MÁhj›�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj‚h]”hŒ Description”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÃhj�ubj¯)�”}”(hŒõAllocate a DSP device. Unit is the number of the DSP requested. Pass -1 to request the next free DSP unit. This function allocates both the audio and dsp device entries together and will always allocate them as a matching pair - eg dsp3/audio3 ”h]”(j{)�”}”(hŒjAllocate a DSP device. Unit is the number of the DSP requested. Pass -1 to request the next free DSP unit.”h]”hŒjAllocate a DSP device. Unit is the number of the DSP requested. Pass -1 to request the next free DSP unit.”…”�”}”(hj2‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÂhj.‚ubj{)�”}”(hŒˆThis function allocates both the audio and dsp device entries together and will always allocate them as a matching pair - eg dsp3/audio3”h]”hŒˆThis function allocates both the audio and dsp device entries together and will always allocate them as a matching pair - eg dsp3/audio3”…”�”}”(hjA‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÅhj.‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j@‚h´MÂhj�ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjX‚h]”hŒReturn”…”�”}”(hjZ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjV‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÈhj�ubj{)�”}”(hŒ\On success, the allocated number is returned. On failure, a negative error code is returned.”h]”hŒ\On success, the allocated number is returned. On failure, a negative error code is returned.”…”�”}”(hjn‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÉhj�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%unregister_sound_special (C function)”Œc.unregister_sound_special”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ(void unregister_sound_special (int unit)”h]”j )�”}”(hŒ'void unregister_sound_special(int unit)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj�‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj™‚h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÖubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™‚h²hh³j«‚h´MÖubj3)�”}”(hŒunregister_sound_special”h]”j9)�”}”(hŒunregister_sound_special”h]”hŒunregister_sound_special”…”�”}”(hj¾‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjº‚ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj™‚h²hh³j«‚h´MÖubjT)�”}”(hŒ (int unit)”h]”jZ)�”}”(hŒint unit”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÚ‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÖ‚ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÖ‚ubj9)�”}”(hŒunit”h]”hŒunit”…”�”}”(hjö‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖ‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÒ‚ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj™‚h²hh³j«‚h´MÖubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj•‚h²hh³j«‚h´MÖubah}”(h]”j�‚ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j«‚h´MÖhj’‚h²hubjv)�”}”(hhh]”j{)�”}”(hŒ!unregister a special sound device”h]”hŒ!unregister a special sound device”…”�”}”(hj ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÖhjƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj’‚h²hh³j«‚h´MÖubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j8ƒjšj8ƒj›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hŒà**Parameters** ``int unit`` unit number to allocate **Description** Release a sound device that was allocated with register_sound_special(). The unit passed is the return value from the register function.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjBƒh]”hŒ Parameters”…”�”}”(hjDƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj@ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÚhj<ƒubj¿)�”}”(hhh]”jÄ)�”}”(hŒ%``int unit`` unit number to allocate ”h]”(jÊ)�”}”(hŒ ``int unit``”h]”jÐ)�”}”(hjaƒh]”hŒint unit”…”�”}”(hjcƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj_ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M×hj[ƒubjæ)�”}”(hhh]”j{)�”}”(hŒunit number to allocate”h]”hŒunit number to allocate”…”�”}”(hjzƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jvƒh´M×hjwƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj[ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jvƒh´M×hjXƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj<ƒubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjœƒh]”hŒ Description”…”�”}”(hjžƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjšƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MÙhj<ƒubj¯)�”}”(hŒˆRelease a sound device that was allocated with register_sound_special(). The unit passed is the return value from the register function.”h]”j{)�”}”(hŒˆRelease a sound device that was allocated with register_sound_special(). The unit passed is the return value from the register function.”h]”hŒˆRelease a sound device that was allocated with register_sound_special(). The unit passed is the return value from the register function.”…”�”}”(hj¶ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MØhj²ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jăh´MØhj<ƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#unregister_sound_mixer (C function)”Œc.unregister_sound_mixer”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ&void unregister_sound_mixer (int unit)”h]”j )�”}”(hŒ%void unregister_sound_mixer(int unit)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjëƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjçƒh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´Mçubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúƒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjçƒh²hh³jùƒh´Mçubj3)�”}”(hŒunregister_sound_mixer”h]”j9)�”}”(hŒunregister_sound_mixer”h]”hŒunregister_sound_mixer”…”�”}”(hj „h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjçƒh²hh³jùƒh´MçubjT)�”}”(hŒ (int unit)”h]”jZ)�”}”(hŒint unit”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj(„h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj$„ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$„ubj9)�”}”(hŒunit”h]”hŒunit”…”�”}”(hjD„h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj$„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj „ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjçƒh²hh³jùƒh´Mçubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjãƒh²hh³jùƒh´Mçubah}”(h]”jÞƒah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jùƒh´Mçhjàƒh²hubjv)�”}”(hhh]”j{)�”}”(hŒunregister a mixer”h]”hŒunregister a mixer”…”�”}”(hjn„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´Mçhjk„h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjàƒh²hh³jùƒh´Mçubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j†„jšj†„j›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hŒÙ**Parameters** ``int unit`` unit number to allocate **Description** Release a sound device that was allocated with register_sound_mixer(). The unit passed is the return value from the register function.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj�„h]”hŒ Parameters”…”�”}”(hj’„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjŽ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MëhjŠ„ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ%``int unit`` unit number to allocate ”h]”(jÊ)�”}”(hŒ ``int unit``”h]”jÐ)�”}”(hj¯„h]”hŒint unit”…”�”}”(hj±„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj­„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´Mèhj©„ubjæ)�”}”(hhh]”j{)�”}”(hŒunit number to allocate”h]”hŒunit number to allocate”…”�”}”(hjÈ„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄ„h´MèhjÅ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄ„h´Mèhj¦„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŠ„ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjê„h]”hŒ Description”…”�”}”(hjì„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjè„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MêhjŠ„ubj¯)�”}”(hŒ†Release a sound device that was allocated with register_sound_mixer(). The unit passed is the return value from the register function.”h]”j{)�”}”(hŒ†Release a sound device that was allocated with register_sound_mixer(). The unit passed is the return value from the register function.”h]”hŒ†Release a sound device that was allocated with register_sound_mixer(). The unit passed is the return value from the register function.”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´Méhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j…h´MéhjŠ„ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!unregister_sound_dsp (C function)”Œc.unregister_sound_dsp”hNt”auh1híhjssh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ$void unregister_sound_dsp (int unit)”h]”j )�”}”(hŒ#void unregister_sound_dsp(int unit)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj9…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5…h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´Möubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjH…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5…h²hh³jG…h´Möubj3)�”}”(hŒunregister_sound_dsp”h]”j9)�”}”(hŒunregister_sound_dsp”h]”hŒunregister_sound_dsp”…”�”}”(hjZ…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjV…ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj5…h²hh³jG…h´MöubjT)�”}”(hŒ (int unit)”h]”jZ)�”}”(hŒint unit”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjv…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjr…ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjr…ubj9)�”}”(hŒunit”h]”hŒunit”…”�”}”(hj’…h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjr…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjn…ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj5…h²hh³jG…h´Möubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj1…h²hh³jG…h´Möubah}”(h]”j,…ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jG…h´Möhj.…h²hubjv)�”}”(hhh]”j{)�”}”(hŒunregister a DSP device”h]”hŒunregister a DSP device”…”�”}”(hj¼…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´Möhj¹…h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj.…h²hh³jG…h´Möubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÔ…jšjÔ…j›‰jœ‰j�‰uh1hþh²hhjssh³Nh´NubjŸ)�”}”(hX**Parameters** ``int unit`` unit number to allocate **Description** Release a sound device that was allocated with register_sound_dsp(). The unit passed is the return value from the register function. Both of the allocated units are released together automatically.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÞ…h]”hŒ Parameters”…”�”}”(hjà…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÜ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MúhjØ…ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ%``int unit`` unit number to allocate ”h]”(jÊ)�”}”(hŒ ``int unit``”h]”jÐ)�”}”(hjý…h]”hŒint unit”…”�”}”(hjÿ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjû…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´M÷hj÷…ubjæ)�”}”(hhh]”j{)�”}”(hŒunit number to allocate”h]”hŒunit number to allocate”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†h´M÷hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj÷…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†h´M÷hjô…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjØ…ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj8†h]”hŒ Description”…”�”}”(hj:†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj6†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MùhjØ…ubj¯)�”}”(hŒÆRelease a sound device that was allocated with register_sound_dsp(). The unit passed is the return value from the register function. Both of the allocated units are released together automatically.”h]”(j{)�”}”(hŒ„Release a sound device that was allocated with register_sound_dsp(). The unit passed is the return value from the register function.”h]”hŒ„Release a sound device that was allocated with register_sound_dsp(). The unit passed is the return value from the register function.”…”�”}”(hjR†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MøhjN†ubj{)�”}”(hŒ@Both of the allocated units are released together automatically.”h]”hŒ@Both of the allocated units are released together automatically.”…”�”}”(hja†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:135: ./sound/sound_core.c”h´MûhjN†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j`†h´MøhjØ…ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjssh²hh³Nh´Nubeh}”(h]”Œother-helper-macros”ah ]”h"]”Œother helper macros”ah$]”h&]”uh1hµhj\@h²hh³hÊh´K…ubeh}”(h]”Œmiscellaneous-functions”ah ]”h"]”Œmiscellaneous functions”ah$]”h&]”uh1hµhh·h²hh³hÊh´Ktubeh}”(h]”Œthe-alsa-driver-api”ah ]”h"]”Œthe alsa driver api”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j¸†Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j’†j�†jû]jø]j½'jº'jº1j·1jN;jK;jó]jð]júˆj÷ˆjŠ=j‡=jTjýSjéijæijòˆjïˆj\jYj^Ãj[ÃjßîjÜîjTjQjã"jà"j¥j¢jÛ"jØ"j„7j�7j|7jy7jtjtjûsjøsjY@jV@jíèjêèj;9j89jQ@jN@jІj‡†jÊCjÇCjGjjDjjpsjmsj‚†j†uŒ nametypes”}”(j’†‰jû]‰j½'‰jº1‰jN;‰jó]‰júˆ‰jŠ=‰jT‰jéi‰jòˆ‰j\‰j^Éjßî‰jT‰jã"‰j¥‰jÛ"‰j„7‰j|7‰jt‰jûs‰jY@‰jíè‰j;9‰jQ@‰jІ‰jÊC‰jGj‰jps‰j‚†‰uh}”(j�†h·jø]hËjº'hÜhüjj}j‚jjj­ j² jÃjÈjkjpjojtjðjõj˜j�jOjTjpjujµjºjgjlj¯j´j "j"je$jj$j&j!&j·1jÀ'jÝ'jâ'jp+ju+j¢-j§-jž/j£/jK;j½1jÚ1jß1j3j#3jA5jF5j­9j²9jð]jQ;jn;js;j?>jD>j#Aj(AjóCjøCj¼FjÁFj˜Jj�JjØMjÝMjYOj^OjÖRjÛRjUjUj÷VjüVj YjYjI[jN[j÷ˆjþ]j‡=j^j,^j1^j­_j²_j1bj6bj~fjƒfjËjjÐjjáljælj”oj™oj'sj,sj“uj˜ujªxj¯xjH|jM|jæjëjâƒjçƒjÞ‡jã‡jK‹jP‹jÊŽjÏŽjÿ’j“j©•j®•jS˜jX˜j|šj�šj¹�j¾�j0¡j5¡j§¤j¬¤jö§jû§jE«jJ«j‹®j�®j¡±j¦±j-´j2´j8¶j=¶j8¹j=¹j·¼j¼¼j6Àj;ÀjÑÁjÖÁj~ÄjƒÄjñÆjöÆj“Èj˜ÈjÍj ÍjœÎj¡ÎjÐj"ÐjžÑj£ÑjÓj$Ój*Õj/Õj×j ×jšØjŸØj ÛjÛjŒÜj‘ÜjµÞjºÞj]àjbàjâj âjàãjåãj æjæj·èj¼èjëj ëjYíj^íjÚîjßîjðj"ðj`ñjeñjÙòjÞòjZôj_ôj\öjaöjqøjvøj†új‹új›üj üj°þjµþj²j·jFjKjÚjßj•jšjPjUjäjéjx j} j j% jÈ jÍ jpjujjjÀjÅjùjþj°jµjgjljj#jÕjÚjŒj‘jCjHjÏ!jÔ!j(#j-#j©$j®$jå&jê&jé(jî(j),j.,ji/jn/j‡1jŒ1j84j=4jæ5jë5jR7jW7jû8j9jA;jF;j­<j²<jýSj�=jª=j¯=j?j?j\@ja@jµAjºAjCjCjgDjlDjÀEjÅEjGjGjIj IjµJjºJj:Mj?MjâNjçNj^PjcPjÚQjßQjæijTj Tj%Tj¡Uj¦Uj"Wj'Wj¼ZjÁZj(^j-^j^bjcbjfj$fjHhjMhjïˆjìij jjjj9mj>mjBpjGpjXrj]rjtjtjÎujÓujxj xjUzjZzjÖ{jÛ{j~}jƒ}j!�j'�jì‚jñ‚jû…j†jYjýˆj[Ãj‰j+‰j0‰jß‹jä‹j�j"�jÅ’jÊ’jP•jU•jÑ–jÖ–j1™j6™jÿ›jœjqžjvžj jÇ j£j£jÒ¥j×¥jê¨jï¨j¹«j¾«jG®jL®j±j±j�²j”²jè³jí³jAµjFµjš¶jŸ¶j¸j ¸j‡¹jŒ¹j»j »jY½j^½jª¿j¯¿jÜîjaÃj~ÃjƒÃjÆjÆjaÈjfÈjöÊjûÊj²Íj·ÍjøÐjýÐj¡Òj¦ÒjëÖjðÖjÚjÚj•ÜjšÜjÞjÞj—ßjœßj™âjžâjHåjMåj>èjCèj–ëj›ëj>íjCíjQjâîjÿîjïjçñjìñj�ôj•ôjÅ÷jÊ÷jÅùjÊùjàýjåýjŒj‘jûjjà"j_j¢jpj�j’jUjZjÖ jÛ j’ j— j¨j­jUjZjÖjÛjùjþjØ"j¨jÅjÊjàjåjûjj�7jæ"jy7j÷"j#j#j¥%jª%jI(jN(j}+j‚+j±.j¶.j20j70jÚ1jß1jtj‡7jøsj˜7jµ7jº7jí9jò9j<j<j³?j¸?jõ@jú@jpBjuBj_DjdDjNFjSFj�Gj•GjÒHj×HjjKjoKjåLjêLjûMjNj=OjBOjœQj¡QjëRjðRjUjUj6Wj;WjØXjÝXj€Zj…Zjµ]jº]j†`j‹`jZej_ejÖhjÛhjtmjymjEpjJpjÆqjËqjV@jtjêèjtj4tj9tj2vj7vj\xjaxj­zj²zjî|jó|j«~j°~j8‚j=‚j…j …jº‡j¿‡jmŠjrŠjÈ‹jÍ‹j#�j(�j�j�ju‘jz‘jú“jÿ“j–j–ju™jz™jŸ›j¤›jnžjsžjájÈ¡jh¤jm¤jÚ¥jߥj¨j ¨j”©j™©j»«jÀ«jP®jU®jo±jt±jµ´jº´jf·jk·j…ºjŠºj¼j ¼jL¿jQ¿j¸Áj½Áj8Ãj=ÃjÐÅjÕÅj ÈjÈjBÊjGÊj{Ìj€Ìj´Îj¹ÎjíÐjòÐj&Ój+Ój_ÕjdÕj˜×j�×jÑÙjÖÙjVÜj[Üj�Þj”ÞjÈàjÍàjãjãj:åj?åjsçjxçj89jðèj éjéj£êj¨êj_ìjdìjîj îjGðjLðjsòjxòjŸôj¤ôjNöjSöj`újeújàûjåûjýj„ýjÿjÿjÑjÖj„j‰jjjMjRj† j‹ j¿ jÄ jøjýj"j'jLjQjvj{j j¥jÊjÏjYj^j7j<ja!jf!jÍ#jÒ#j&j&jX(j](j¥*jª*jã,jè,j0/j5/jn1js1j”3j™3j«5j°5jÁ7jÆ7jN@j>9j[9j`9j.<j3<j×>jÜ>j‡†j\@jÇCjm@jŠ@j�@jDjjÍCjêCjðCjHj!HjÉJjÎJjOjOj÷QjüQjæSjëSjjVjoVjYjYjñZjöZj‰]jŽ]j³_j¸_jÝajâajudjzdj¶gj»gjmsjJjjgjjljjemjjmjÅnjÊnjËpjÐpj†jssj�sj•sjujujlvjqvjíwjòwjnyjsyjzj"zj'{j,{j ~j~jF€jK€j�‚j•‚jÞƒjãƒj,…j1…uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.