€•Œ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´K‰ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j!hj h²hh³j h´K‰ubhŒ 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´K‰ubhŒ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´K‰ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRŒ add_permalink”ˆuh1j Œsphinx_line_type”Œ declarator”hjh²hh³j h´K‰ubah}”(h]”hüah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jh³j h´K‰hjh²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´K‰hjwh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j h´K‰ubeh}”(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´KŠhjÅ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´KŠhjçubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jäh´KŠhjÀ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Ÿ)�”}”(hXe**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. Caveat: if an error happens at the probe before snd_card_register() is called and there have been other devres resources that are referred at the card-level destructor call, you'd still need to free the card manually; otherwise it may lead to UAF due to devres call orders. Instead of a manual snd_card_free() call, you can use the automatic clean-up for the card pointer via __free(snd_card_free), too. In this case, don't forget to do NULL-clear the card pointer before the successful return! **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ðCaveat: if an error happens at the probe before snd_card_register() is called and there have been other devres resources that are referred at the card-level destructor call, you'd still need to free the card manually; otherwise it may lead to UAF due to devres call orders. Instead of a manual snd_card_free() call, you can use the automatic clean-up for the card pointer via __free(snd_card_free), too. In this case, don't forget to do NULL-clear the card pointer before the successful return!”h]”hXôCaveat: if an error happens at the probe before snd_card_register() is called and there have been other devres resources that are referred at the card-level destructor call, you’d still need to free the card manually; otherwise it may lead to UAF due to devres call orders. Instead of a manual snd_card_free() call, you can use the automatic clean-up for the card pointer via __free(snd_card_free), too. In this case, don’t forget to do NULL-clear the card pointer before the successful return!”…”�”}”(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_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´Mwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶ h²hh³jÇ h´Mwubh)�”}”(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´Mwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¶ h²hh³jÇ h´Mwubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¶ h²hh³jÇ h´Mwubj3)�”}”(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´MwubjT)�”}”(hŒ (int idx)”h]”jZ)�”}”(hŒint idx”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj4 h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj0 ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0 ubj9)�”}”(hŒidx”h]”hŒidx”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0 ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj, ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¶ h²hh³jÇ h´Mwubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj² h²hh³jÇ h´Mwubah}”(h]”j­ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÇ h´Mwhj¯ h²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Get the card object from the index”h]”hŒ"Get the card object from the index”…”�”}”(hjz 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´Mwhjw h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¯ h²hh³jÇ h´Mwubeh}”(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´Mxhjµ 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´MxhjÑ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjµ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÐ h´Mxhj² 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´Mzhj– 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´Myhj– 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Œa card object or NULL”h]”hŒa card object or NULL”…”�”}”(hj3h²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”…”�”}”(hjbh²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Œ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^h²hh³jph´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&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj^h²hh³jph´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Œ*”…”�”}”(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³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Œ9disconnect all APIs from the file-operations (user space)”h]”hŒ9disconnect all APIs from the file-operations (user space)”…”�”}”(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ß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²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©)�”}”(hjDh]”hŒ Parameters”…”�”}”(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´Mãhj>ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjch]”hŒstruct snd_card *card”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjaubah}”(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³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Œ**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Œ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, 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>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³Œ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 current implementation replaces all active file->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”…”�”}”(hjh²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æhjubjæ)�”}”(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çhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(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ž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”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbh²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbh²hh³jth´M0ubj3)�”}”(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&]”jQjRuh1j2hjbh²hh³jth´M0ubjT)�”}”(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Œ*”…”�”}”(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&]”jQjRuh1jShjbh²hh³jth´M0ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj^h²hh³jth´M0ubah}”(h]”jYah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jth´M0hj[h²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´M0hj#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj[h²hh³jth´M0ubeh}”(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`` 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©)�”}”(hjHh]”hŒ Parameters”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjFubah}”(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´M4hjBubj¿)�”}”(hhh]”jÄ)�”}”(hŒ4``struct snd_card *card`` card object to disconnect ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjgh]”hŒstruct snd_card *card”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeubah}”(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´M1hjaubjæ)�”}”(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´M1hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|h´M1hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjBubj{)�”}”(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´M3hjBubj{)�”}”(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´M2hjBubeh}”(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´Maubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjãh²hh³jõh´Maubj3)�”}”(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´MaubjT)�”}”(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Œ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjBh²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_card_free_when_closed”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjph²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”ˆjQjRuh1jYhjubah}”(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Œ-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´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²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´MehjÃ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´Mbhjâubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hjh²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ß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´MdhjÃ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.”…”�”}”(hj9h²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´MchjÃubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjJh]”hŒReturn”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjHubah}”(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´MhhjÃ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´MihjÃ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´Mwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‹h²hh³j�h´Mwubj3)�”}”(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´MwubjT)�”}”(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_free”†”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´Mwubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‡h²hh³j�h´Mwubah}”(h]”j‚ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�h´Mwhj„h²hubjv)�”}”(hhh]”j{)�”}”(hŒfrees given soundcard structure”h]”hŒfrees given soundcard structure”…”�”}”(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´MwhjLh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj„h²hh³j�h´Mwubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jgjšjgj›‰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©)�”}”(hjqh]”hŒ Parameters”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjoubah}”(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{hjkubj¿)�”}”(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´MxhjŠubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(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‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjkubj{)�”}”(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´Mzhjkubj{)�”}”(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´Myhjkubj{)�”}”(hŒBThis function waits until the all resources are properly released.”•h]”hŒBThis function waits until the all resources are properly released.”…”�”}”(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}hjkubj{)�”}”(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³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´Mhjkubj{)�”}”(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.”…”�”}”(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€hjkubeh}”(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³jTh´Mýubah}”(h]”j9ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jTh´Mýhj;h²hubjv)�”}”(hhh]”j{)�”}”(hŒset card identification name”h]”hŒset card identification name”…”�”}”(hjch²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³jTh´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 ``const char *nid`` new identification string **Description** This function sets the card identification and checks for name collisions.”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´Mhjubj¿)�”}”(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Œ.``const char *nid`` new identification string ”h]”(jÊ)�”}”(hŒ``const char *nid``”h]”jÐ)�”}”(hjÝh]”hŒconst char *nid”…”�”}”(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Œnew identification string”h]”hŒnew identification 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ÿhj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjh]”hŒ Description”…”�”}”(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´Mhjubj¯)�”}”(hŒJThis function sets the card identification and checks for name collisions.”h]”j{)�”}”(hŒJThis function sets the card identification and checks for name collisions.”h]”hŒJThis function sets the card identification and checks for name collisions.”…”�”}”(hj2h²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.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j@h´Mhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_card_add_dev_attr (C function)”Œc.snd_card_add_dev_attr”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒVint snd_card_add_dev_attr (struct snd_card *card, const struct attribute_group *group)”h]”j )�”}”(hŒUint snd_card_add_dev_attr(struct snd_card *card, const struct attribute_group *group)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjch²hh³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjch²hh³juh´MEubj3)�”}”(hŒsnd_card_add_dev_attr”h]”j9)�”}”(hŒsnd_card_add_dev_attr”h]”hŒsnd_card_add_dev_attr”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj„ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjch²hh³juh´MEubjT)�”}”(hŒ<(struct snd_card *card, const struct attribute_group *group)”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_add_dev_attr”†”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 attribute_group *group”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”…”�”}”(hj1h²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Œattribute_group”h]”hŒattribute_group”…”�”}”(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_card_add_dev_attr”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmh²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Œgroup”h]”hŒgroup”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjœubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjch²hh³juh´MEubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj_h²hh³juh´MEubah}”(h]”jZah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³juh´MEhj\h²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Append a new sysfs attribute group to card”h]”hŒ*Append a new sysfs attribute group to 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´MEhj¯h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj\h²hh³juh´MEubeh}”(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`` card instance ``const struct attribute_group *group`` attribute group to append **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´MIhjÎ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³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MFhjíubjæ)�”}”(hhh]”j{)�”}”(hŒ card instance”h]”hŒ card instance”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´MFhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´MFhjêubjÄ)�”}”(hŒB``const struct attribute_group *group`` attribute group to append ”h]”(jÊ)�”}”(hŒ'``const struct attribute_group *group``”h]”jÐ)�”}”(hj,h]”hŒ#const struct attribute_group *group”…”�”}”(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´MGhj&ubjæ)�”}”(hhh]”j{)�”}”(hŒattribute group to append”h]”hŒattribute group to append”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jAh´MGhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jAh´MGhjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÎubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjgh]”hŒReturn”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjeubah}”(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Œ,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´MIhjÎubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_register (C function)”Œc.snd_card_register”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ-int snd_card_register (struct snd_card *card)”h]”j )�”}”(hŒ,int snd_card_register(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´Mcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨h²hh³jºh´Mcubj3)�”}”(hŒsnd_card_register”h]”j9)�”}”(hŒsnd_card_register”h]”hŒsnd_card_register”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÉubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¨h²hh³jºh´McubjT)�”}”(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&]”uh1j8hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÏsbŒc.snd_card_register”†”asbuh1hhjåubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjåubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjåubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjBh²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´Mcubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¤h²hh³jºh´Mcubah}”(h]”jŸah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jºh´Mchj¡h²hubjv)�”}”(hhh]”j{)�”}”(hŒregister the soundcard”h]”hŒregister the soundcard”…”�”}”(hjlh²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´Mchjih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¡h²hh³jºh´Mcubeh}”(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 registers all the devices assigned to the soundcard. Until calling this, the ALSA control interface is blocked from the external accesses. Thus, you should call this function at the end of the initialization of the card. **Return** Zero otherwise a negative error code if the registration failed.”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´Mghjˆ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´Mdhj§ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(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¤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´Mfhjˆubj¯)�”}”(hŒìThis function registers all the devices assigned to the soundcard. Until calling this, the ALSA control interface is blocked from the external accesses. Thus, you should call this function at the end of the initialization of the card. ”h]”j{)�”}”(hŒëThis function registers all the devices assigned to the soundcard. Until calling this, the ALSA control interface is blocked from the external accesses. Thus, you should call this function at the end of the initialization of the card.”h]”hŒëThis function registers all the devices assigned to the soundcard. Until calling this, the ALSA control interface is blocked from the external accesses. Thus, you should call this function at the end of the initialization of the card.”…”�”}”(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´Mehjþubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jh´Mehjˆ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´Mjhjˆubj{)�”}”(hŒ@Zero otherwise a negative error code if the registration failed.”h]”hŒ@Zero otherwise a negative error code if the registration failed.”…”�”}”(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´Mkhjˆubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhhÜh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_component_add (C function)”Œc.snd_component_add”hNt”auh1híhhÜh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒDint snd_component_add (struct snd_card *card, const char *component)”h]”j )�”}”(hŒCint snd_component_add(struct snd_card *card, const char *component)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjZh²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Œ ”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZh²hh³jlh´Mÿubj3)�”}”(hŒsnd_component_add”h]”j9)�”}”(hŒsnd_component_add”h]”hŒsnd_component_add”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjZh²hh³jlh´MÿubjT)�”}”(hŒ.(struct snd_card *card, const char *component)”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_component_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Œ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 char *component”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(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 ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj ubj9)�”}”(hŒ component”h]”hŒ component”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj“ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjZh²hh³jlh´Mÿubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjVh²hh³jlh´Mÿubah}”(h]”jQah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jlh´MÿhjSh²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´Mÿhjxh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjSh²hh³jlh´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 ``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´Mhj—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´Mhjïubjæ)�”}”(hhh]”j{)�”}”(hŒthe component id string”h]”hŒthe component id string”…”�”}”(hjh²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©)�”}”(hj0h]”hŒ Description”…”�”}”(hj2h²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Œ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.”…”�”}”(hjJh²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´MhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jXh´Mhj—ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjah]”hŒReturn”…”�”}”(hjch²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 otherwise a negative error code.”h]”hŒ%Zero otherwise a negative error code.”…”�”}”(hjwh²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_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´M6ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢h²hh³j´h´M6ubj3)�”}”(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´M6ubjT)�”}”(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”…”�”}”(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_file_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Œ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 file *file”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQubh)�”}”(hhh]”j9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjpubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”juŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒc.snd_card_file_add”†”asbuh1hhjQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQubj9)�”}”(hŒfile”h]”hŒfile”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQubeh}”(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Œ)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´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²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´M:hjòubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjh]”hŒstruct snd_card *card”…”�”}”(hjh²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´M7hjubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j,h´M7hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j,h´M7hjubjÄ)�”}”(hŒ#``struct file *file`` file pointer ”h]”(jÊ)�”}”(hŒ``struct file *file``”h]”jÐ)�”}”(hjPh]”hŒstruct file *file”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjNubah}”(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´M8hjJubjæ)�”}”(hhh]”j{)�”}”(hŒ file pointer”h]”hŒ file pointer”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jeh´M8hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjJubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jeh´M8hjubeh}”(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 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´M9hj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j³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³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´M=hjò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´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_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´MVubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjýh²hh³j h´MVubj3)�”}”(hŒsnd_card_file_remove”h]”j9)�”}”(hŒsnd_card_file_remove”h]”hŒsnd_card_file_remove”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjýh²hh³j h´MVubjT)�”}”(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Œ ”…”�”}”(hjK 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&]”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_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Œcard”h]”hŒcard”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj: ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6 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¢]”jx Œ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”ˆjQjRuh1jYhj6 ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjýh²hh³j h´MVubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjùh²hh³j h´MVubah}”(h]”jôah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j h´MVhjöh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"remove the file from the file list”h]”hŒ"remove the file from the file list”…”�”}”(hj1!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´MVhj.!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjöh²hh³j h´MVubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jI!jšjI!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©)�”}”(hjS!h]”hŒ Parameters”…”�”}”(hjU!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjQ!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´MZhjM!ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_card *card`` soundcard structure ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjr!h]”hŒstruct snd_card *card”…”�”}”(hjt!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjp!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´MWhjl!ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(hj‹!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‡!h´MWhjˆ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjl!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡!h´MWhji!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´MXhj¥!ubjæ)�”}”(hhh]”j{)�”}”(hŒ file pointer”h]”hŒ file pointer”…”�”}”(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´MXhji!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³Œb/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:10: ./sound/core/init.c”h´MZhjM!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´MYhjü!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j"h´MYhjM!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_hjM!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´M`hjM!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”…”�”}”(hj\"h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjX"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Œ ”…”�”}”(hjk"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjX"h²hh³jj"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&]”uh1j8hjy"ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjX"h²hh³jj"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&]”jQjRuh1jShjX"h²hh³jj"h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjT"h²hh³jj"h´M�ubah}”(h]”jO"ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jj"h´M�hjQ"h²hubjv)�”}”(hhh]”j{)�”}”(hŒ#wait until the card gets powered up”h]”hŒ#wait until the card gets powered up”…”�”}”(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&]”uh1juhjQ"h²hh³jj"h´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j4#jšj4#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©)�”}”(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…hj8#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‚hjW#ubjæ)�”}”(hhh]”j{)�”}”(hŒsoundcard structure”h]”hŒsoundcard structure”…”�”}”(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‚hjT#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj8#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„hj8#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ƒhj8#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‰hj8#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Œhj8#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�hj8#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Œ ”…”�”}”(hj"$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$h²hh³j!$h´M£ubj3)�”}”(hŒsnd_power_wait”h]”j9)�”}”(hŒsnd_power_wait”h]”hŒsnd_power_wait”…”�”}”(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_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”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_card”h]”hŒsnd_card”…”�”}”(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_power_wait”†”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Œcard”h]”hŒcard”…”�”}”(hj©$h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjH$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Œ.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³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** ``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”…”�”}”(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©)�”}”(hjO%h]”hŒ Description”…”�”}”(hjQ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjM%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.”…”�”}”(hje%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©)�”}”(hjv%h]”hŒReturn”…”�”}”(hjx%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjt%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Œ ”…”�”}”(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”j1&Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j÷%sbŒc.snd_device_new”†”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Œcard”h]”hŒcard”…”�”}”(hjj&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¢]”jK&Œ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Œ ”…”�”}”(hj6'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%'ubj`)�”}”(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_device_ops”h]”hŒsnd_device_ops”…”�”}”(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¢]”jK&Œ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”…”�”}”(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Œ=``enum snd_device_type type`` the device type, SNDRV_DEV_XXX ”h]”(jÊ)�”}”(hŒ``enum snd_device_type type``”h]”jÐ)�”}”(hj?(h]”hŒenum snd_device_type type”…”�”}”(hjA(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´Khj9(ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device type, SNDRV_DEV_XXX”h]”hŒthe device type, SNDRV_DEV_XXX”…”�”}”(hjX(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jT(h´KhjU(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jT(h´Khjý'ubjÄ)�”}”(hŒ6``void *device_data`` the data pointer of this device ”h]”(jÊ)�”}”(hŒ``void *device_data``”h]”jÐ)�”}”(hjx(h]”hŒvoid *device_data”…”�”}”(hjz(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjv(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´Khjr(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åhjr(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©)�”}”(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: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.”…”�”}”(hj8)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”…”�”}”(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:14: ./sound/core/device.c”h´K^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjc)h²hh³ju)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&]”jQjRuh1j2hjc)h²hh³ju)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Œ*”…”�”}”(hj2*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œ)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjc)h²hh³ju)h´K^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj_)h²hh³ju)h´K^ubah}”(h]”jZ)ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³ju)h´K^hj\)h²hubjv)�”}”(hhh]”j{)�”}”(hŒdisconnect the device”h]”hŒdisconnect the device”…”�”}”(hji*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^hjf*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj\)h²hh³ju)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©)�”}”(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´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.”…”�”}”(hj4+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().”…”�”}”(hjC+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©)�”}”(hjT+h]”hŒReturn”…”�”}”(hjV+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjR+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.”…”�”}”(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´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Œ*”…”�”}”(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”…”�”}”(hjH,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjD,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjD,ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjd,h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjD,ubj9)�”}”(hŒ device_data”h]”hŒ device_data”…”�”}”(hjq,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´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”…”�”}”(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©)�”}”(hjP-h]”hŒ Description”…”�”}”(hjR-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjN-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.”…”�”}”(hjf-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”…”�”}”(hjð-h²hh³Nh´Nubah}”(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_register”†”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”…”�”}”(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¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj`.h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj@.ubj9)�”}”(hŒ device_data”h]”hŒ device_data”…”�”}”(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&]”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—.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&]”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 ``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¹.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Œ3``void *device_data`` the data pointer to register ”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 register”h]”hŒthe data pointer to register”…”�”}”(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©)�”}”(hjL/h]”hŒ Description”…”�”}”(hjN/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ/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ŒÙ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().”…”�”}”(hjb/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³.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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:14: ./sound/core/device.c”h´K§hj³.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´K¨hj³.ubeh}”(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ª/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_request_card (C function)”Œc.snd_request_card”hNt”auh1híhj§/h²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Ñ/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÍ/h²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à/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÍ/h²hh³jß/h´K6ubj3)�”}”(hŒsnd_request_card”h]”j9)�”}”(hŒsnd_request_card”h]”hŒsnd_request_card”…”�”}”(hjò/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjî/ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÍ/h²hh³jß/h´K6ubjT)�”}”(hŒ (int card)”h]”jZ)�”}”(hŒint card”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj 0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj 0ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj*0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj 0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj0ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÍ/h²hh³jß/h´K6ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÉ/h²hh³jß/h´K6ubah}”(h]”jÄ/ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jß/h´K6hjÆ/h²hubjv)�”}”(hhh]”j{)�”}”(hŒtry to load the card module”h]”hŒtry to load the card module”…”�”}”(hjT0h²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´K6hjQ0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÆ/h²hh³jß/h´K6ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jl0jšjl0j›‰jœ‰j�‰uh1hþh²hhj§/h³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©)�”}”(hjv0h]”hŒ Parameters”…”�”}”(hjx0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjt0ubah}”(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:hjp0ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ``int card`` the card number ”h]”(jÊ)�”}”(hŒ ``int card``”h]”jÐ)�”}”(hj•0h]”hŒint card”…”�”}”(hj—0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj“0ubah}”(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�0ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card number”h]”hŒthe card number”…”�”}”(hj®0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jª0h´K7hj«0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jª0h´K7hjŒ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjp0ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÐ0h]”hŒ Description”…”�”}”(hjÒ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÎ0ubah}”(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´K9hjp0ubj{)�”}”(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æ0h²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´K8hjp0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj§/h²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§/h²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”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1h²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$1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1h²hh³j#1h´KUubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj21h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj1h²hh³j#1h´KUubj3)�”}”(hŒsnd_lookup_minor_data”h]”j9)�”}”(hŒsnd_lookup_minor_data”h]”hŒsnd_lookup_minor_data”…”�”}”(hjC1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?1ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj1h²hh³j#1h´KUubjT)�”}”(hŒ(unsigned int minor, int type)”h]”(jZ)�”}”(hŒunsigned int minor”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj_1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[1ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj{1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj[1ubj9)�”}”(hŒminor”h]”hŒminor”…”�”}”(hj—1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjW1ubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj°1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¬1ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjÌ1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjW1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj1h²hh³j#1h´KUubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj 1h²hh³j#1h´KUubah}”(h]”j1ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j#1h´KUhj 1h²hubjv)�”}”(hhh]”j{)�”}”(hŒ$get user data of a registered device”h]”hŒ$get user data of a registered device”…”�”}”(hjö1h²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ó1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj 1h²hh³j#1h´KUubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j2jšj2j›‰jœ‰j�‰uh1hþh²hhj§/h³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©)�”}”(hj2h]”hŒ Parameters”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj2ubah}”(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´KYhj2ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ(``unsigned int minor`` the minor number ”h]”(jÊ)�”}”(hŒ``unsigned int minor``”h]”jÐ)�”}”(hj72h]”hŒunsigned int minor”…”�”}”(hj92h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj52ubah}”(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´KVhj12ubjæ)�”}”(hhh]”j{)�”}”(hŒthe minor number”h]”hŒthe minor number”…”�”}”(hjP2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jL2h´KVhjM2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj12ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jL2h´KVhj.2ubjÄ)�”}”(hŒ1``int type`` device type (SNDRV_DEVICE_TYPE_XXX) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjp2h]”hŒint type”…”�”}”(hjr2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjn2ubah}”(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´KWhjj2ubjæ)�”}”(hhh]”j{)�”}”(hŒ#device type (SNDRV_DEVICE_TYPE_XXX)”h]”hŒ#device type (SNDRV_DEVICE_TYPE_XXX)”…”�”}”(hj‰2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j…2h´KWhj†2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j…2h´KWhj.2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj2ubj{)�”}”(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´KYhj2ubj{)�”}”(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Á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´KXhj2ubj{)�”}”(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Ð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´K[hj2ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjá2h]”hŒReturn”…”�”}”(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_hj2ubj{)�”}”(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÷2h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjÿ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj÷2ubhŒ otherwise.”…”�”}”(hj÷2h²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`hj2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj§/h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_register_device (C function)”Œc.snd_register_device”hNt”auh1híhj§/h²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”…”�”}”(hj83h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj43h²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Œ ”…”�”}”(hjG3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj43h²hh³jF3h´Kòubj3)�”}”(hŒsnd_register_device”h]”j9)�”}”(hŒsnd_register_device”h]”hŒsnd_register_device”…”�”}”(hjY3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU3ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj43h²hh³jF3h´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”…”�”}”(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!hjq3ubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj‘3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjq3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubjZ)�”}”(hŒstruct snd_card *card”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_card”h]”hŒsnd_card”…”�”}”(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_register_device”†”asbuh1hhj¦3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦3ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjö3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¦3ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubjZ)�”}”(hŒint dev”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj84h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubjZ)�”}”(hŒ#const struct file_operations *f_ops”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjQ4h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjM4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM4ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjl4h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjM4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM4ubh)�”}”(hhh]”j9)�”}”(hŒfile_operations”h]”hŒfile_operations”…”�”}”(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ä3Œc.snd_register_device”†”asbuh1hhjM4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjM4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¶4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjM4ubj9)�”}”(hŒf_ops”h]”hŒf_ops”…”�”}”(hjÃ4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjM4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubjZ)�”}”(hŒvoid *private_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(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Ø4ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjø4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØ4ubj9)�”}”(hŒ private_data”h]”hŒ private_data”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØ4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubjZ)�”}”(hŒstruct device *device”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj<5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj95ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j>5Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jä3Œc.snd_register_device”†”asbuh1hhj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjh5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj5ubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hju5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjm3ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj43h²hh³jF3h´Kòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj03h²hh³jF3h´Kòubah}”(h]”j+3ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jF3h´Kòhj-3h²hubjv)�”}”(hhh]”j{)�”}”(hŒ*Register the ALSA device file for the card”h]”hŒ*Register the ALSA device file for the card”…”�”}”(hjŸ5h²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œ5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj-3h²hh³jF3h´Kòubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j·5jšj·5j›‰jœ‰j�‰uh1hþh²hhj§/h³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Á5h]”hŒ Parameters”…”�”}”(hjÃ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¿5ubah}”(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»5ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ4``int type`` the device type, SNDRV_DEVICE_TYPE_XXX ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjà5h]”hŒint type”…”�”}”(hjâ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÞ5ubah}”(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Ú5ubjæ)�”}”(hhh]”j{)�”}”(hŒ&the device type, SNDRV_DEVICE_TYPE_XXX”h]”hŒ&the device type, SNDRV_DEVICE_TYPE_XXX”…”�”}”(hjù5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jõ5h´Kóhjö5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÚ5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jõ5h´Kóhj×5ubjÄ)�”}”(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³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:18: ./sound/core/sound.c”h´Kôhj6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj26h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j.6h´Kôhj/6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j.6h´Kôhj×5ubjÄ)�”}”(hŒ``int dev`` the device index ”h]”(jÊ)�”}”(hŒ ``int dev``”h]”jÐ)�”}”(hjR6h]”hŒint dev”…”�”}”(hjT6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjP6ubah}”(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õhjL6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index”h]”hŒthe device index”…”�”}”(hjk6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jg6h´Kõhjh6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjL6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jg6h´Kõhj×5ubjÄ)�”}”(hŒ<``const struct file_operations *f_ops`` the file operations ”h]”(jÊ)�”}”(hŒ'``const struct file_operations *f_ops``”h]”jÐ)�”}”(hj‹6h]”hŒ#const struct file_operations *f_ops”…”�”}”(hj�6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‰6ubah}”(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…6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe file operations”h]”hŒthe file operations”…”�”}”(hj¤6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j 6h´Köhj¡6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj…6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j 6h´Köhj×5ubjÄ)�”}”(hŒ6``void *private_data`` user pointer for f_ops->open() ”h]”(jÊ)�”}”(hŒ``void *private_data``”h]”jÐ)�”}”(hjÄ6h]”hŒvoid *private_data”…”�”}”(hjÆ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÂ6ubah}”(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¾6ubjæ)�”}”(hhh]”j{)�”}”(hŒuser pointer for f_ops->open()”h]”hŒuser pointer for f_ops->open()”…”�”}”(hjÝ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÙ6h´K÷hjÚ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¾6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÙ6h´K÷hj×5ubjÄ)�”}”(hŒ1``struct device *device`` the device to register ”h]”(jÊ)�”}”(hŒ``struct device *device``”h]”jÐ)�”}”(hjý6h]”hŒstruct device *device”…”�”}”(hjÿ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjû6ubah}”(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÷6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device to register”h]”hŒthe device to register”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7h´Køhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj÷6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7h´Køhj×5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj»5ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj87h]”hŒ Description”…”�”}”(hj:7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj67ubah}”(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»5ubj{)�”}”(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.”…”�”}”(hjN7h²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»5ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj_7h]”hŒReturn”…”�”}”(hja7h²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»5ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hju7h²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»5ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj§/h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ"snd_unregister_device (C function)”Œc.snd_unregister_device”hNt”auh1híhj§/h²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¤7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj 7h²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³7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj 7h²hh³j²7h´M)ubj3)�”}”(hŒsnd_unregister_device”h]”j9)�”}”(hŒsnd_unregister_device”h]”hŒsnd_unregister_device”…”�”}”(hjÅ7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁ7ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj 7h²hh³j²7h´M)ubjT)�”}”(hŒ(struct device *dev)”h]”jZ)�”}”(hŒstruct device *dev”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Œdevice”h]”hŒdevice”…”�”}”(hjÿ7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjü7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j8Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÇ7sbŒc.snd_unregister_device”†”asbuh1hhjÝ7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝ7ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj-8h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÝ7ubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj:8h²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³j²7h´M)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjœ7h²hh³j²7h´M)ubah}”(h]”j—7ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j²7h´M)hj™7h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'unregister the device on the given card”h]”hŒ'unregister the device on the given card”…”�”}”(hjd8h²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)hja8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj™7h²hh³j²7h´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 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†8h]”hŒ Parameters”…”�”}”(hjˆ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj„8ubah}”(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€8ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ+``struct device *dev`` the device instance ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hj¥8h]”hŒstruct device *dev”…”�”}”(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´M*hjŸ8ubjæ)�”}”(hhh]”j{)�”}”(hŒthe device instance”h]”hŒthe device 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*hjœ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj€8ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjà8h]”hŒ Description”…”�”}”(hjâ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÞ8ubah}”(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€8ubj{)�”}”(hŒIUnregisters the device file already registered via snd_register_device().”h]”hŒIUnregisters the device file already registered via snd_register_device().”…”�”}”(hjö8h²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€8ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj9h]”hŒReturn”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj9ubah}”(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€8ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hj9h²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€8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj§/h²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”…”�”}”(hj>9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj;9h²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íhj;9h²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”…”�”}”(hje9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhja9h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hja9h²hh³js9h´Kubj3)�”}”(hŒcopy_to_user_fromio”h]”j9)�”}”(hŒcopy_to_user_fromio”h]”hŒcopy_to_user_fromio”…”�”}”(hj†9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚9ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hja9h²hh³js9h´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¢9h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjž9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjž9ubhŒ__user”…”�”}”(hjž9h²hh³Nh´Nubj")�”}”(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Œdst”h]”hŒdst”…”�”}”(hjÝ9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjž9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjš9ubjZ)�”}”(hŒ volatile const void __iomem *src”h]”(j`)�”}”(hŒvolatile”h]”hŒvolatile”…”�”}”(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ò9ubj`)�”}”(hjph]”hŒconst”…”�”}”(hj:h²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ò9ubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(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ò9ubhŒ__iomem”…”�”}”(hjò9h²hh³Nh´Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjò9ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj[:h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjò9ubj9)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hjh:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjò9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjš9ubjZ)�”}”(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ˆ9sbŒ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š9ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShja9h²hh³js9h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj]9h²hh³js9h´Kubah}”(h]”jX9ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³js9h´KhjZ9h²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&]”uh1juhjZ9h²hh³js9h´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jô:jšjô:j›‰jœ‰j�‰uh1hþh²hhj;9h³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Ð)�”}”(hj;h]”hŒvoid __user *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´Khj;ubjæ)�”}”(hhh]”j{)�”}”(hŒ%the destination pointer on user-space”h]”hŒ%the destination pointer on user-space”…”�”}”(hj6;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j2;h´Khj3;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j2;h´Khj;ubjÄ)�”}”(hŒ@``const volatile void __iomem *src`` the source pointer on mmio ”h]”(jÊ)�”}”(hŒ$``const volatile void __iomem *src``”h]”jÐ)�”}”(hjV;h]”hŒ const volatile void __iomem *src”…”�”}”(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:22: ./sound/core/memory.c”h´KhjP;ubjæ)�”}”(hhh]”j{)�”}”(hŒthe source pointer on mmio”h]”hŒthe source pointer on mmio”…”�”}”(hjo;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jk;h´Khjl;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjP;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jk;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žhj;9h²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íhj;9h²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”…”�”}”(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˜Œcopy_to_iter_fromio”sbŒc.copy_to_iter_fromio”†”asbuh1hhj2<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Œ ”…”�”}”(hj[<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2<h²hh³jZ<h´K%ubj3)�”}”(hŒcopy_to_iter_fromio”h]”j9)�”}”(hjW<h]”hŒcopy_to_iter_fromio”…”�”}”(hjm<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hji<ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj2<h²hh³jZ<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¢]”jU<Œ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”…”�”}”(hj&=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjó<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€<ubjZ)�”}”(hŒstruct iov_iter *dst”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Œiov_iter”h]”hŒiov_iter”…”�”}”(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¢]”jU<Œc.copy_to_iter_fromio”†”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Œdst”h]”hŒdst”…”�”}”(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&]”jQjRuh1jShj2<h²hh³jZ<h´K%ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj.<h²hh³jZ<h´K%ubah}”(h]”j)<ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jZ<h´K%hj+<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&]”uh1juhj+<h²hh³jZ<h´K%ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jØ=jšjØ=j›‰jœ‰j�‰uh1hþh²hhj;9h³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”…”�”}”(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Œ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Ïhj8>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'hj4>ubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to copy in bytes”h]”hŒthe data size to copy in bytes”…”�”}”(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'hjø=ubjÄ)�”}”(hŒ2``struct iov_iter *dst`` the destination iov_iter ”h]”(jÊ)�”}”(hŒ``struct iov_iter *dst``”h]”jÐ)�”}”(hjs>h]”hŒstruct iov_iter *dst”…”�”}”(hju>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjq>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(hjm>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åhjm>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”…”�”}”(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Ü=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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íhj;9h²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”…”�”}”(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:22: ./sound/core/memory.c”h´KHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj?h²hh³j(?h´KHubj3)�”}”(hŒcopy_from_user_toio”h]”j9)�”}”(hŒcopy_from_user_toio”h]”hŒcopy_from_user_toio”…”�”}”(hj;?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7?ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj?h²hh³j(?h´KHubjT)�”}”(hŒB(volatile void __iomem *dst, const void __user *src, size_t count)”h]”(jZ)�”}”(hŒvolatile void __iomem *dst”h]”(j`)�”}”(hjø9h]”hŒvolatile”…”�”}”(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)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjr?h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjS?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjS?ubhŒ__iomem”…”�”}”(hjS?h²hh³Nh´Nubj")�”}”(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Œdst”h]”hŒdst”…”�”}”(hj­?h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjS?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjO?ubjZ)�”}”(hŒconst void __user *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Œ__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Œsrc”h]”hŒsrc”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÂ?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjO?ubjZ)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(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.copy_from_user_toio”†”asbuh1hhj1@ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjX@h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1@ubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hjf@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjO?ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj?h²hh³j(?h´KHubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?h²hh³j(?h´KHubah}”(h]”j ?ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j(?h´KHhj?h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'copy data from user-space to mmio-space”h]”hŒ'copy data from user-space to mmio-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´KHhj�@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj?h²hh³j(?h´KHubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¨@jšj¨@j›‰jœ‰j�‰uh1hþh²hhj;9h³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²@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´KLhj¬@ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒE``volatile void __iomem *dst`` the destination pointer on mmio-space ”h]”(jÊ)�”}”(hŒ``volatile void __iomem *dst``”h]”jÐ)�”}”(hjÑ@h]”hŒvolatile void __iomem *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´KIhjË@ubjæ)�”}”(hhh]”j{)�”}”(hŒ%the destination pointer on mmio-space”h]”hŒ%the destination pointer on mmio-space”…”�”}”(hjê@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jæ@h´KIhjç@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjË@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jæ@h´KIhjÈ@ubjÄ)�”}”(hŒ<``const void __user *src`` the source pointer on user-space ”h]”(jÊ)�”}”(hŒ``const void __user *src``”h]”jÐ)�”}”(hj Ah]”hŒconst void __user *src”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjAubah}”(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´KJhjAubjæ)�”}”(hhh]”j{)�”}”(hŒ the source pointer on user-space”h]”hŒ the source pointer on user-space”…”�”}”(hj#Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jAh´KJhj Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jAh´KJhjÈ@ubjÄ)�”}”(hŒ0``size_t count`` the data size to copy in bytes ”h]”(jÊ)�”}”(hŒ``size_t count``”h]”jÐ)�”}”(hjCAh]”hŒ size_t count”…”�”}”(hjEAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjAAubah}”(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´KKhj=Aubjæ)�”}”(hhh]”j{)�”}”(hŒthe data size to copy in bytes”h]”hŒthe data size to copy in bytes”…”�”}”(hj\Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jXAh´KKhjYAubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jXAh´KKhjÈ@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¬@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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KMhj¬@ubj{)�”}”(hŒ.Copies the data from user-space to mmio-space.”h]”hŒ.Copies the data from user-space to mmio-space.”…”�”}”(hj”Ah²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¬@ubj{)�”}”(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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:22: ./sound/core/memory.c”h´KNhj¬@ubj{)�”}”(hŒ+Zero if successful, or non-zero on failure.”h]”hŒ+Zero if successful, or non-zero on failure.”…”�”}”(hj»Ah²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¬@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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íhj;9h²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”…”�”}”(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¢]”j¥)�”}”j˜Œcopy_from_iter_toio”sbŒc.copy_from_iter_toio”†”asbuh1hhjæAh²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Œ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæAh²hh³jBh´K^ubj3)�”}”(hŒcopy_from_iter_toio”h]”j9)�”}”(hj Bh]”hŒcopy_from_iter_toio”…”�”}”(hj!Bh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjæAh²hh³jBh´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”…”�”}”(hjFubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOFh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>Fubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hj`Fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]Fubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jbFŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j_EŒc.snd_dma_alloc_dir_pages”†”asbuh1hhj>Fubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~Fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>Fubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŒFh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj>Fubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hj™Fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>Fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjèDubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¯Dh²hh³jÁDh´K1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj«Dh²hh³jÁDh´K1ubah}”(h]”j¦Dah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÁDh´K1hj¨Dh²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ÃFh²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ÀFh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¨Dh²hh³jÁDh´K1ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÛFjšjÛFj›‰jœ‰j�‰uh1hþh²hhj;9h³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å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:23: ./sound/core/memalloc.c”h´K5hjßFubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ!``int type`` the DMA buffer type ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjGh]”hŒint type”…”�”}”(hjGh²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:23: ./sound/core/memalloc.c”h´K3hjþFubjæ)�”}”(hhh]”j{)�”}”(hŒthe DMA buffer type”h]”hŒthe DMA buffer type”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jGh´K3hjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jGh´K3hjûFubjÄ)�”}”(hŒ-``struct device *device`` the device pointer ”h]”(jÊ)�”}”(hŒ``struct device *device``”h]”jÐ)�”}”(hj=Gh]”hŒstruct device *device”…”�”}”(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:23: ./sound/core/memalloc.c”h´K4hj7Gubjæ)�”}”(hhh]”j{)�”}”(hŒthe device pointer”h]”hŒthe device pointer”…”�”}”(hjVGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jRGh´K4hjSGubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jRGh´K4hjûFubjÄ)�”}”(hŒ.``enum dma_data_direction dir`` DMA direction ”h]”(jÊ)�”}”(hŒ``enum dma_data_direction dir``”h]”jÐ)�”}”(hjvGh]”hŒenum dma_data_direction dir”…”�”}”(hjxGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjtGubah}”(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´K5hjpGubjæ)�”}”(hhh]”j{)�”}”(hŒ DMA direction”h]”hŒ DMA direction”…”�”}”(hj�Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹Gh´K5hjŒGubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjpGubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹Gh´K5hjûFubjÄ)�”}”(hŒ,``size_t size`` the buffer size to allocate ”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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K6hj©Gubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer size to allocate”h]”hŒthe buffer size to allocate”…”�”}”(hjÈGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄGh´K6hjÅGubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄGh´K6hjûFubjÄ)�”}”(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èGh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(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:23: ./sound/core/memalloc.c”h´K7hjâGubjæ)�”}”(hhh]”j{)�”}”(hŒ4buffer allocation record to store the allocated data”h]”hŒ4buffer allocation record to store the allocated data”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jýGh´K7hjþGubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjâGubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jýGh´K7hjûFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjßFubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj#Hh]”hŒ Description”…”�”}”(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´K9hjßFubj{)�”}”(hŒFCalls the memory-allocator function for the corresponding buffer type.”h]”hŒFCalls the memory-allocator function for the corresponding buffer type.”…”�”}”(hj9Hh²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ßFubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjJHh]”hŒReturn”…”�”}”(hjLHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjHHubah}”(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ßFubj{)�”}”(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.”…”�”}”(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´KKubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj"Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j=Kh´K\hjtJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjXJubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjcKh]”hŒ Description”…”�”}”(hjeKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaKubah}”(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^hjXJubj{)�”}”(hŒ×Calls the memory-allocator function for the corresponding buffer type. When no space is left, this function reduces the size and tries to allocate again. The size actually allocated is stored in res_size argument.”h]”hŒ×Calls the memory-allocator function for the corresponding buffer type. When no space is left, this function reduces the size and tries to allocate again. The size actually allocated is stored in res_size argument.”…”�”}”(hjyKh²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]hjXJubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjŠKh]”hŒReturn”…”�”}”(hjŒKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjˆKubah}”(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´KbhjXJubj{)�”}”(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.”…”�”}”(hj Kh²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´KchjXJubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_dma_free_pages (C function)”Œc.snd_dma_free_pages”hNt”auh1híhj;9h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ5void snd_dma_free_pages (struct snd_dma_buffer *dmab)”h]”j )�”}”(hŒ4void snd_dma_free_pages(struct snd_dma_buffer *dmab)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÏKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjËKh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´Kzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjËKh²hh³jÝKh´Kzubj3)�”}”(hŒsnd_dma_free_pages”h]”j9)�”}”(hŒsnd_dma_free_pages”h]”hŒsnd_dma_free_pages”…”�”}”(hjðKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjìKubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjËKh²hh³jÝKh´KzubjT)�”}”(hŒ(struct snd_dma_buffer *dmab)”h]”jZ)�”}”(hŒstruct snd_dma_buffer *dmab”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj Lh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hj*Lh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj'Lubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j,LŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jòKsbŒc.snd_dma_free_pages”†”asbuh1hhjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjXLh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjLubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hjeLh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjLubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjËKh²hh³jÝKh´Kzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÇKh²hh³jÝKh´Kzubah}”(h]”jÂKah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÝKh´KzhjÄKh²hubjv)�”}”(hhh]”j{)�”}”(hŒrelease the allocated buffer”h]”hŒrelease the allocated buffer”…”�”}”(hj�Lh²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´KzhjŒLh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÄKh²hh³jÝKh´Kzubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j§Ljšj§Lj›‰jœ‰j�‰uh1hþh²hhj;9h³Nh´NubjŸ)�”}”(hŒ¤**Parameters** ``struct snd_dma_buffer *dmab`` the buffer allocation record to release **Description** Releases the allocated buffer via snd_dma_alloc_pages().”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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K~hj«Lubj¿)�”}”(hhh]”jÄ)�”}”(hŒH``struct snd_dma_buffer *dmab`` the buffer allocation record to release ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hjÐLh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(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:23: ./sound/core/memalloc.c”h´K{hjÊLubjæ)�”}”(hhh]”j{)�”}”(hŒ'the buffer allocation record to release”h]”hŒ'the buffer allocation record to release”…”�”}”(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ÇLubah}”(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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K}hj«Lubj{)�”}”(hŒ8Releases the allocated buffer via snd_dma_alloc_pages().”h]”hŒ8Releases the allocated buffer via snd_dma_alloc_pages().”…”�”}”(hj!Mh²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«Lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_devm_alloc_dir_pages (C function)”Œc.snd_devm_alloc_dir_pages”hNt”auh1híhj;9h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒystruct snd_dma_buffer * snd_devm_alloc_dir_pages (struct device *dev, int type, enum dma_data_direction dir, size_t size)”h]”j )�”}”(hŒwstruct snd_dma_buffer *snd_devm_alloc_dir_pages(struct device *dev, int type, enum dma_data_direction dir, size_t size)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjPMh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjLMh²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^Mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLMh²hh³j]Mh´K�ubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hjoMh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjlMubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jqMŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_devm_alloc_dir_pages”sbŒc.snd_devm_alloc_dir_pages”†”asbuh1hhjLMh²hh³j]Mh´K�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Mh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLMh²hh³j]Mh´K�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjžMh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjLMh²hh³j]Mh´K�ubj3)�”}”(hŒsnd_devm_alloc_dir_pages”h]”j9)�”}”(hj�Mh]”hŒsnd_devm_alloc_dir_pages”…”�”}”(hj¯Mh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj«Mubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjLMh²hh³j]Mh´K�ubjT)�”}”(hŒH(struct device *dev, int type, enum dma_data_direction dir, size_t size)”h]”(jZ)�”}”(hŒstruct device *dev”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Œdevice”h]”hŒdevice”…”�”}”(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‹MŒc.snd_devm_alloc_dir_pages”†”asbuh1hhjÆMubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÆMubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÆMubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj!Nh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÆMubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂMubjZ)�”}”(hŒint type”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj:Nh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj6Nubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHNh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6Nubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjVNh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6Nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂMubjZ)�”}”(hŒenum dma_data_direction dir”h]”(j`)�”}”(hj…&h]”hŒenum”…”�”}”(hjoNh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjkNubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjkNubh)�”}”(hhh]”j9)�”}”(hŒdma_data_direction”h]”hŒdma_data_direction”…”�”}”(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_devm_alloc_dir_pages”†”asbuh1hhjkNubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjkNubj9)�”}”(hŒdir”h]”hŒdir”…”�”}”(hj¹Nh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjkNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂMubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(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_devm_alloc_dir_pages”†”asbuh1hhjÎNubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóNh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎNubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÎNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÂMubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjLMh²hh³j]Mh´K�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjHMh²hh³j]Mh´K�ubah}”(h]”jCMah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j]Mh´K�hjEMh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*allocate the buffer and manage with devres”h]”hŒ*allocate the buffer and manage with devres”…”�”}”(hj+Oh²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(Oh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjEMh²hh³j]Mh´K�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jCOjšjCOj›‰jœ‰j�‰uh1hþh²hhj;9h³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©)�”}”(hjMOh]”hŒ Parameters”…”�”}”(hjOOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjKOubah}”(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“hjGOubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ*``struct device *dev`` the device pointer ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjlOh]”hŒstruct device *dev”…”�”}”(hjnOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjOubah}”(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�hjfOubjæ)�”}”(hhh]”j{)�”}”(hŒthe device pointer”h]”hŒthe device pointer”…”�”}”(hj…Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�Oh´K�hj‚Oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjfOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�Oh´K�hjcOubjÄ)�”}”(hŒ!``int type`` the DMA buffer type ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hj¥Oh]”hŒint type”…”�”}”(hj§Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj£Oubah}”(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ŸOubjæ)�”}”(hhh]”j{)�”}”(hŒthe DMA buffer type”h]”hŒthe DMA buffer type”…”�”}”(hj¾Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jºOh´K‘hj»Oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŸOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jºOh´K‘hjcOubjÄ)�”}”(hŒ.``enum dma_data_direction dir`` DMA direction ”h]”(jÊ)�”}”(hŒ``enum dma_data_direction dir``”h]”jÐ)�”}”(hjÞOh]”hŒenum dma_data_direction dir”…”�”}”(hjàOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÜOubah}”(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ØOubjæ)�”}”(hhh]”j{)�”}”(hŒ DMA direction”h]”hŒ DMA direction”…”�”}”(hj÷Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jóOh´K’hjôOubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjØOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jóOh´K’hjcOubjÄ)�”}”(hŒ,``size_t size`` the buffer size to allocate ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hjPh]”hŒ size_t size”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjPubah}”(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“hjPubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer size to allocate”h]”hŒthe buffer size to allocate”…”�”}”(hj0Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j,Ph´K“hj-Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j,Ph´K“hjcOubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjGOubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjRPh]”hŒ Description”…”�”}”(hjTPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjPPubah}”(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•hjGOubj{)�”}”(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.”…”�”}”(hjhPh²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”hjGOubj{)�”}”(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.”…”�”}”(hjwPh²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—hjGOubj{)�”}”(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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:23: ./sound/core/memalloc.c”h´K›hjGOubj{)�”}”(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žPh²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œhjGOubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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íhj;9h²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ÍPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉPh²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ÜPh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉPh²hh³jÛPh´K¹ubj3)�”}”(hŒsnd_dma_buffer_mmap”h]”j9)�”}”(hŒsnd_dma_buffer_mmap”h]”hŒsnd_dma_buffer_mmap”…”�”}”(hjîPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêPubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÉPh²hh³jÛPh´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 Qh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(hj(Qh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj%Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j*QŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jðPsbŒc.snd_dma_buffer_mmap”†”asbuh1hhjQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHQh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjVQh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hjcQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjQubjZ)�”}”(hŒstruct vm_area_struct *area”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj|Qh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjxQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰Qh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxQubh)�”}”(hhh]”j9)�”}”(hŒvm_area_struct”h]”hŒvm_area_struct”…”�”}”(hjšQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jœQŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jDQŒc.snd_dma_buffer_mmap”†”asbuh1hhjxQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸Qh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxQubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÆQh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjxQubj9)�”}”(hŒarea”h]”hŒarea”…”�”}”(hjÓQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjQubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÉPh²hh³jÛPh´K¹ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÅPh²hh³jÛPh´K¹ubah}”(h]”jÀPah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÛPh´K¹hjÂPh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$perform mmap of the given DMA buffer”h]”hŒ$perform mmap of the given DMA buffer”…”�”}”(hjýQh²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úQh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÂPh²hh³jÛPh´K¹ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jRjšjRj›‰jœ‰j�‰uh1hþh²hhj;9h³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©)�”}”(hjRh]”hŒ Parameters”…”�”}”(hj!Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjRubah}”(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½hjRubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hj>Rh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hj@Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjTh²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Ôhj6Tubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hj[Th]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hj]Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjYTubah}”(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ÑhjUTubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hjtTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jpTh´KÑhjqTubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUTubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jpTh´KÑhjRTubjÄ)�”}”(hŒ)``enum snd_dma_sync_mode mode`` sync mode”h]”(jÊ)�”}”(hŒ``enum snd_dma_sync_mode mode``”h]”jÐ)�”}”(hj”Th]”hŒenum snd_dma_sync_mode mode”…”�”}”(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Œ sync mode”h]”hŒ sync mode”…”�”}”(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ªTubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŽTubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j©Th´KÓhjRTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj6Tubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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íhj;9h²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”…”�”}”(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¥)�”}”j˜Œsnd_sgbuf_get_addr”sbŒc.snd_sgbuf_get_addr”†”asbuh1hhjêTh²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êTh²hh³jUh´Kãubj3)�”}”(hŒsnd_sgbuf_get_addr”h]”j9)�”}”(hjUh]”hŒsnd_sgbuf_get_addr”…”�”}”(hj%Uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj!Uubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjêTh²hh³jUh´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@Uh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj``struct snd_dma_buffer *dmab`` buffer allocation information ”h]”(jÊ)�”}”(hŒ``struct snd_dma_buffer *dmab``”h]”jÐ)�”}”(hjJVh]”hŒstruct snd_dma_buffer *dmab”…”�”}”(hjLVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjHVubah}”(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ähjDVubjæ)�”}”(hhh]”j{)�”}”(hŒbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(hjcVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_Vh´Kähj`Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjDVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_Vh´KähjAVubjÄ)�”}”(hŒ,``size_t offset`` offset in the ring buffer ”h]”(jÊ)�”}”(hŒ``size_t offset``”h]”jÐ)�”}”(hjƒVh]”hŒ size_t offset”…”�”}”(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Œoffset in the ring buffer”h]”hŒoffset in the ring buffer”…”�”}”(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åhjAVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj%Vubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¾Vh]”hŒReturn”…”�”}”(hjÀVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¼Vubah}”(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%Vubj{)�”}”(hŒthe physical address”h]”hŒthe physical address”…”�”}”(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%Vubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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íhj;9h²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”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÿVh²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Œ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿVh²hh³jWh´Kõubh)�”}”(hhh]”j9)�”}”(hŒpage”h]”hŒpage”…”�”}”(hj"Wh²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_page”sbŒc.snd_sgbuf_get_page”†”asbuh1hhjÿVh²hh³jWh´Kõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿVh²hh³jWh´Kõubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjQWh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÿVh²hh³jWh´Kõubj3)�”}”(hŒsnd_sgbuf_get_page”h]”j9)�”}”(hj@Wh]”hŒsnd_sgbuf_get_page”…”�”}”(hjbWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Wubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÿVh²hh³jWh´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}Wh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjyWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjyWubh)�”}”(hhh]”j9)�”}”(hŒsnd_dma_buffer”h]”hŒsnd_dma_buffer”…”�”}”(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_page”†”asbuh1hhjyWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹Wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjyWubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÇWh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjyWubj9)�”}”(hŒdmab”h]”hŒdmab”…”�”}”(hjÔWh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjyWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjuWubjZ)�”}”(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_page”†”asbuh1hhjéWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjéWubj9)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjéWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjuWubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÿVh²hh³jWh´Kõubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjûVh²hh³jWh´Kõubah}”(h]”jöVah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jWh´KõhjøVh²hubjv)�”}”(hhh]”j{)�”}”(hŒ4return the physical page at the corresponding offset”h]”hŒ4return the physical page at the corresponding offset”…”�”}”(hjFXh²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õhjCXh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjøVh²hh³jWh´Kõubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j^Xjšj^Xj›‰jœ‰j�‰uh1hþh²hhj;9h³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©)�”}”(hjhXh]”hŒ Parameters”…”�”}”(hjjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjfXubah}”(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ùhjbXubj¿)�”}”(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”…”�”}”(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Œbuffer allocation information”h]”hŒbuffer allocation information”…”�”}”(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öhj~XubjÄ)�”}”(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÷hj~Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjbXubj{)�”}”(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ùhjbXubj{)�”}”(hŒthe page pointer”h]”hŒthe page pointer”…”�”}”(hjYh²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ùhjbXubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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íhj;9h²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”…”�”}”(hj@Yh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj``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[h²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´M hjùZubjæ)�”}”(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ùZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j[h´M hjöZubjÄ)�”}”(hŒ/``unsigned int ofs`` offset in the ring buffer ”h]”(jÊ)�”}”(hŒ``unsigned int ofs``”h]”jÐ)�”}”(hj8[h]”hŒunsigned int ofs”…”�”}”(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:23: ./sound/core/memalloc.c”h´M hj2[ubjæ)�”}”(hhh]”j{)�”}”(hŒoffset in the ring buffer”h]”hŒoffset in the ring buffer”…”�”}”(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öZubjÄ)�”}”(hŒ)``unsigned int size`` the requested size ”h]”(jÊ)�”}”(hŒ``unsigned int size``”h]”jÐ)�”}”(hjq[h]”hŒunsigned int size”…”�”}”(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:23: ./sound/core/memalloc.c”h´M hjk[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åhjk[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†[h´M hjöZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÚZubj{)�”}”(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ÚZubj{)�”}”(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ÚZubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj;9h²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”…”�”}”(hj#\h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj\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Œ ”…”�”}”(hj1\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\h²hh³j0\h´KÏubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj?\h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj\h²hh³j0\h´KÏubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjM\h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\h²hh³j0\h´KÏubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj[\h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj\h²hh³j0\h´KÏubj3)�”}”(hŒsnd_pcm_format_name”h]”j9)�”}”(hŒsnd_pcm_format_name”h]”hŒsnd_pcm_format_name”…”�”}”(hjl\h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjh\ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj\h²hh³j0\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˜jn\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&]”jQjRuh1jShj\h²hh³j0\h´KÏubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj\h²hh³j0\h´KÏubah}”(h]”j\ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j0\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³j0\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Ïhj"]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Ðhj]ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM format”h]”hŒ PCM format”…”�”}”(hj=]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9]h´KÐhj:]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9]h´KÐhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÿ\ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj_]h]”hŒReturn”…”�”}”(hja]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{)�”}”(hŒthe format name string”h]”hŒthe format name string”…”�”}”(hju]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´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_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´MkubjT)�”}”(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Œ ”…”�”}”(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Œ int stream”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjS^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjO^ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hja^h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjO^ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjo^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjO^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´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Œ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´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Ÿ)�”}”(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©)�”}”(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´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³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.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 stream`` the stream direction, SNDRV_PCM_STREAM_XXX ”h]”(jÊ)�”}”(hŒ``int stream``”h]”jÐ)�”}”(hjH_h]”hŒ int stream”…”�”}”(hjJ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjF_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´MmhjB_ubjæ)�”}”(hhh]”j{)�”}”(hŒ*the stream direction, SNDRV_PCM_STREAM_XXX”h]”hŒ*the stream direction, SNDRV_PCM_STREAM_XXX”…”�”}”(hja_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]_h´Mmhj^_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjB_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]_h´Mmhj_ubjÄ)�”}”(hŒ1``int substream_count`` the number of substreams ”h]”(jÊ)�”}”(hŒ``int substream_count``”h]”jÐ)�”}”(hj�_h]”hŒint substream_count”…”�”}”(hjƒ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj_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´Mnhj{_ubjæ)�”}”(hhh]”j{)�”}”(hŒthe number of substreams”h]”hŒthe number of substreams”…”�”}”(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´Mnhj_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³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mphjê^ubj{)�”}”(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Ò_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´Mohjê^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³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mthjê^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³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Muhjê^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 (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(`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´Môubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$`h²hh³j6`h´Môubj3)�”}”(hŒ snd_pcm_new”h]”j9)�”}”(hŒ snd_pcm_new”h]”hŒ snd_pcm_new”…”�”}”(hjI`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjE`ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj$`h²hh³j6`h´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”…”�”}”(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_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˜jK`sbŒ c.snd_pcm_new”†”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Œcard”h]”hŒcard”…”�”}”(hj¾`h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hja`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]`ubjZ)�”}”(hŒconst char *id”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Œ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓ`ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÓ`ubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÓ`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]`ubjZ)�”}”(hŒ int device”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj4ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj0aubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0aubj9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjPah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]`ubjZ)�”}”(hŒint playback_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjiah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjeaubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjeaubj9)�”}”(hŒplayback_count”h]”hŒplayback_count”…”�”}”(hj…ah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjeaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]`ubjZ)�”}”(hŒint capture_count”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Œ capture_count”h]”hŒ capture_count”…”�”}”(hjºah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjšaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]`ubjZ)�”}”(hŒstruct snd_pcm **rpcm”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_pcm”h]”hŒsnd_pcm”…”�”}”(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¢]”jŸ`Œ c.snd_pcm_new”†”asbuh1hhjÏaubj")�”}”(hŒ ”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Ïaubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj*bh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÏaubj9)�”}”(hŒrpcm”h]”hŒrpcm”…”�”}”(hj7bh²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³j6`h´Môubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj `h²hh³j6`h´Môubah}”(h]”j`ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j6`h´Môhj`h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate a new PCM instance”h]”hŒcreate a new PCM instance”…”�”}”(hjabh²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^bh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj`h²hh³j6`h´Môubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jybjšjybj›‰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ƒbh]”hŒ Parameters”…”�”}”(hj…bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�bubah}”(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}bubj¿)�”}”(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³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.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Œ!``const char *id`` the id string ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hjÛbh]”hŒconst char *id”…”�”}”(hjÝbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÙbubah}”(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Õ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Ð)�”}”(hjch]”hŒ int device”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjcubah}”(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÷hjcubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index (zero based)”h]”hŒthe device index (zero based)”…”�”}”(hj-ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j)ch´M÷hj*cubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j)ch´M÷hj™bubjÄ)�”}”(hŒ=``int playback_count`` the number of substreams for playback ”h]”(jÊ)�”}”(hŒ``int playback_count``”h]”jÐ)�”}”(hjMch]”hŒint playback_count”…”�”}”(hjOch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjKcubah}”(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øhjGcubjæ)�”}”(hhh]”j{)�”}”(hŒ%the number of substreams for playback”h]”hŒ%the number of substreams for playback”…”�”}”(hjfch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jbch´Møhjccubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjGcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jbch´Møhj™bubjÄ)�”}”(hŒ;``int capture_count`` the number of substreams for capture ”h]”(jÊ)�”}”(hŒ``int capture_count``”h]”jÐ)�”}”(hj†ch]”hŒint capture_count”…”�”}”(hjˆch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj„cubah}”(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€cubjæ)�”}”(hhh]”j{)�”}”(hŒ$the number of substreams for capture”h]”hŒ$the number of substreams for capture”…”�”}”(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™bubjÄ)�”}”(hŒD``struct snd_pcm **rpcm`` the pointer to store the new pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm **rpcm``”h]”jÐ)�”}”(hj¿ch]”hŒstruct snd_pcm **rpcm”…”�”}”(hjÁch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj½cubah}”(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¹cubjæ)�”}”(hhh]”j{)�”}”(hŒ)the pointer to store the new pcm instance”h]”hŒ)the pointer to store the new pcm instance”…”�”}”(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™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³Œa/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:31: ./sound/core/pcm.c”h´Mühj}bubj{)�”}”(hŒCreates a new PCM instance.”h]”hŒCreates a new PCM instance.”…”�”}”(hjdh²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}bubj{)�”}”(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().”…”�”}”(hjdh²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}bubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj0dh]”hŒReturn”…”�”}”(hj2dh²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´Mhj}bubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjFdh²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}bubeh}”(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”…”�”}”(hjudh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjqdh²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Œ ”…”�”}”(hj„dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqdh²hh³jƒdh´M ubj3)�”}”(hŒsnd_pcm_new_internal”h]”j9)�”}”(hŒsnd_pcm_new_internal”h]”hŒsnd_pcm_new_internal”…”�”}”(hj–dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj’dubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjqdh²hh³jƒdh´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²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Œsnd_card”h]”hŒsnd_card”…”�”}”(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_new_internal”†”asbuh1hhj®dubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðdh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj®dubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjþdh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj®dubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjªdubjZ)�”}”(hŒconst char *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj$eh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj eubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1eh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj eubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj?eh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj 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Œid”h]”hŒid”…”�”}”(hjheh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjªdubjZ)�”}”(hŒ int device”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Œdevice”h]”hŒdevice”…”�”}”(hj�eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj}eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjªdubjZ)�”}”(hŒint playback_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Œplayback_count”h]”hŒplayback_count”…”�”}”(hjÒeh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj²eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjªdubjZ)�”}”(hŒint capture_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Œ capture_count”h]”hŒ capture_count”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjªdubjZ)�”}”(hŒstruct snd_pcm **rpcm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj fh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjfubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm”h]”hŒsnd_pcm”…”�”}”(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ìdŒc.snd_pcm_new_internal”†”asbuh1hhjfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjfubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjjfh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjfubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjwfh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjfubj9)�”}”(hŒrpcm”h]”hŒrpcm”…”�”}”(hj„fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjfubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjªdubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjqdh²hh³jƒdh´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjmdh²hh³jƒdh´M ubah}”(h]”jhdah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jƒdh´M hjjdh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"create a new internal PCM instance”h]”hŒ"create a new internal 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«fh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjjdh²hh³jƒdh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÆfjšjÆfj›‰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Ðfh]”hŒ Parameters”…”�”}”(hjÒfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÎfubah}”(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Êfubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjïfh]”hŒstruct snd_card *card”…”�”}”(hjñfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjífubah}”(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éfubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jgh´M hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjéfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jgh´M hjæfubjÄ)�”}”(hŒ!``const char *id`` the id string ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hj(gh]”hŒconst char *id”…”�”}”(hj*gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj&gubah}”(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"gubjæ)�”}”(hhh]”j{)�”}”(hŒ the id string”h]”hŒ the id string”…”�”}”(hjAgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j=gh´Mhj>gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj"gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j=gh´MhjæfubjÄ)�”}”(hŒG``int device`` the device index (zero based - shared with normal PCMs) ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hjagh]”hŒ int device”…”�”}”(hjcgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj_gubah}”(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[gubjæ)�”}”(hhh]”j{)�”}”(hŒ7the device index (zero based - shared with normal PCMs)”h]”hŒ7the device index (zero based - shared with normal PCMs)”…”�”}”(hjzgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jvgh´Mhjwgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj[gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jvgh´MhjæfubjÄ)�”}”(hŒ=``int playback_count`` the number of substreams for playback ”h]”(jÊ)�”}”(hŒ``int playback_count``”h]”jÐ)�”}”(hjšgh]”hŒint playback_count”…”�”}”(hjœgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj˜gubah}”(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”gubjæ)�”}”(hhh]”j{)�”}”(hŒ%the number of substreams for playback”h]”hŒ%the number of substreams for playback”…”�”}”(hj³gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¯gh´Mhj°gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj”gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¯gh´MhjæfubjÄ)�”}”(hŒ;``int capture_count`` the number of substreams for capture ”h]”(jÊ)�”}”(hŒ``int capture_count``”h]”jÐ)�”}”(hjÓgh]”hŒint capture_count”…”�”}”(hjÕgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÑgubah}”(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Ígubjæ)�”}”(hhh]”j{)�”}”(hŒ$the number of substreams for capture”h]”hŒ$the number of substreams for capture”…”�”}”(hjìgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jègh´Mhjégubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÍgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jègh´MhjæfubjÄ)�”}”(hŒD``struct snd_pcm **rpcm`` the pointer to store the new pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm **rpcm``”h]”jÐ)�”}”(hj hh]”hŒstruct snd_pcm **rpcm”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj hubah}”(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´Mhjhubjæ)�”}”(hhh]”j{)�”}”(hŒ)the pointer to store the new pcm instance”h]”hŒ)the pointer to store the new pcm instance”…”�”}”(hj%hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j!hh´Mhj"hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j!hh´Mhjæfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÊfubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjGhh]”hŒ Description”…”�”}”(hjIhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjEhubah}”(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Êfubj{)�”}”(hXECreates 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.”h]”hXECreates 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.”…”�”}”(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Êfubj{)�”}”(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().”…”�”}”(hjlhh²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Êfubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj}hh]”hŒReturn”…”�”}”(hjhh²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´MhjÊfubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(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Êfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjù[h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_pcm_notify (C function)”Œc.snd_pcm_notify”hNt”auh1híhjù[h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=int snd_pcm_notify (struct snd_pcm_notify *notify, int nfree)”h]”j )�”}”(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.”…”�”}”(hjrvh²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{uubeh}”(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¡vh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�vh²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°vh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�vh²hh³j¯vh´Mïubj3)�”}”(hŒsnd_interval_muldivk”h]”j9)�”}”(hŒsnd_interval_muldivk”h]”hŒsnd_interval_muldivk”…”�”}”(hjÂvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¾vubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�vh²hh³j¯vh´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Þ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Úvubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjùvh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÚvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚvubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jwŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÄvsbŒc.snd_interval_muldivk”†”asbuh1hhjÚvubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚvubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjEwh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÚvubj9)�”}”(hj=th]”hŒa”…”�”}”(hjRwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÖvubjZ)�”}”(hŒconst struct snd_interval *b”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjjwh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjfwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwwh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjfwubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj…wh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjfwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjfwubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(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¢]”j3wŒc.snd_interval_muldivk”†”asbuh1hhjfwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁwh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjfwubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÏwh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjfwubj9)�”}”(hjÈth]”hŒb”…”�”}”(hjÜwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjfwubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÖvubjZ)�”}”(hŒunsigned int k”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjôwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjðwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðwubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjðwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðwubj9)�”}”(hjlh]”hŒk”…”�”}”(hj,xh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðwubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÖvubjZ)�”}”(hŒstruct snd_interval *c”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjDxh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj@xubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj@xubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjbxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_xubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jdxŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j3wŒc.snd_interval_muldivk”†”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)�”}”(hj–h]”hŒc”…”�”}”(hj›xh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj@xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÖvubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�vh²hh³j¯vh´Mïubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj™vh²hh³j¯vh´Mïubah}”(h]”j”vah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¯vh´Mïhj–vh²hubjv)�”}”(hhh]”j{)�”}”(hŒrefine the interval value”h]”hŒrefine the interval value”…”�”}”(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Áxh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj–vh²hh³j¯vh´Mïubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÜxjšjÜxj›‰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æxh]”hŒ Parameters”…”�”}”(hjèxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjäxubah}”(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àxubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``const struct snd_interval *a`` dividend 1 ”h]”(jÊ)�”}”(hŒ ``const struct snd_interval *a``”h]”jÐ)�”}”(hjyh]”hŒconst struct snd_interval *a”…”�”}”(hjyh²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:32: ./sound/core/pcm_lib.c”h´Mðhjÿxubjæ)�”}”(hhh]”j{)�”}”(hŒ dividend 1”h]”hŒ dividend 1”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jyh´Mðhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÿxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jyh´MðhjüxubjÄ)�”}”(hŒ,``const struct snd_interval *b`` dividend 2 ”h]”(jÊ)�”}”(hŒ ``const struct snd_interval *b``”h]”jÐ)�”}”(hj>yh]”hŒconst struct snd_interval *b”…”�”}”(hj@yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjReturns 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.”…”�”}”(hjzh²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àxubeh}”(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”…”�”}”(hj?zh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj;zh²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Œ ”…”�”}”(hjNzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;zh²hh³jMzh´Mubj3)�”}”(hŒsnd_interval_mulkdiv”h]”j9)�”}”(hŒsnd_interval_mulkdiv”h]”hŒsnd_interval_mulkdiv”…”�”}”(hj`zh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\zubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj;zh²hh³jMzh´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|zh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjxzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰zh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxzubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj—zh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjxzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤zh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxzubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(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˜jbzsbŒc.snd_interval_mulkdiv”†”asbuh1hhjxzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxzubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjãzh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjxzubj9)�”}”(hj=th]”hŒa”…”�”}”(hjðzh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxzubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtzubjZ)�”}”(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Œ ”…”�”}”(hj2{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{ubj9)�”}”(hjlh]”hŒk”…”�”}”(hj@{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtzubjZ)�”}”(hŒconst struct snd_interval *b”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjX{h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjT{ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hje{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT{ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjs{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Œ 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ÑzŒc.snd_interval_mulkdiv”†”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)�”}”(hjÈth]”hŒb”…”�”}”(hjÊ{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjT{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtzubjZ)�”}”(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ÑzŒ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)�”}”(hj–h]”hŒc”…”�”}”(hj9|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÞ{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj;zh²hh³jMzh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj7zh²hh³jMzh´Mubah}”(h]”j2zah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jMzh´Mhj4zh²hubjv)�”}”(hhh]”j{)�”}”(hŒrefine the interval value”h]”hŒrefine the interval value”…”�”}”(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´Mhj_|h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj4zh²hh³jMzh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jz|jšjz|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³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 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”…”�”}”(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_interval *c`` result ”h]”(jÊ)�”}”(hŒ``struct snd_interval *c``”h]”jÐ)�”}”(hjN}h]”hŒstruct snd_interval *c”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´MhjH}ubjæ)�”}”(hhh]”j{)�”}”(hŒresult”h]”hŒresult”…”�”}”(hjg}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jc}h´Mhjd}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjH}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jc}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Œ 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”…”�”}”(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”…”�”}”(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_interval_ratnum”†”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)�”}”(hj¶qh]”hŒi”…”�”}”(hjs~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Œ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØ~ubh)�”}”(hhh]”j9)�”}”(hŒ snd_ratnum”h]”hŒ snd_ratnum”…”�”}”(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¢]”jT~Œc.snd_interval_ratnum”†”asbuh1hhjØ~ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØ~ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØ~ubj9)�”}”(hŒrats”h]”hŒrats”…”�”}”(hjNh²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”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjcubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjcubj9)�”}”(hŒnump”h]”hŒnump”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjcubeh}”(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”…”�”}”(hj4€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´M5hj1€h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÒ}h²hh³jë}h´M5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jL€jšjL€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©)�”}”(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:32: ./sound/core/pcm_lib.c”h´M9hjP€ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_interval *i`` interval to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hju€h]”hŒstruct snd_interval *i”…”�”}”(hjw€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjs€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´M6hjo€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åhjo€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŠ€h´M6hjl€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”…”�”}”(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´M7hjl€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´M8hjl€ubjÄ)�”}”(hŒ@``unsigned int *nump`` pointer to store the resultant numerator ”h]”(jÊ)�”}”(hŒ``unsigned int *nump``”h]”jÐ)�”}”(hj �h]”hŒunsigned int *nump”…”�”}”(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Œ(pointer to store the resultant numerator”h]”hŒ(pointer to store the resultant numerator”…”�”}”(hj9�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5�h´M9hj6�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5�h´M9hjl€ubjÄ)�”}”(hŒB``unsigned int *denp`` pointer to store the resultant denominator ”h]”(jÊ)�”}”(hŒ``unsigned int *denp``”h]”jÐ)�”}”(hjY�h]”hŒunsigned int *denp”…”�”}”(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´M:hjS�ubjæ)�”}”(hhh]”j{)�”}”(hŒ*pointer to store the resultant denominator”h]”hŒ*pointer to store the resultant denominator”…”�”}”(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:hjl€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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´M<hjP€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<hjP€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Œ ”…”�”}”(hj#‚h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‚ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hj4‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j6‚Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jü�sbŒc.snd_interval_ratden”†”asbuh1hhj‚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‚ubj9)�”}”(hj¶qh]”hŒi”…”�”}”(hjo‚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&]”uh1j8h•jƒ‚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¢]”jP‚Œc.snd_interval_ratden”†”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Œrats”h]”hŒrats”…”�”}”(hjJƒ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”…”�”}”(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_ƒubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj›ƒh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj_ƒubj9)�”}”(hŒnump”h]”hŒnump”…”�”}”(hj¨ƒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_ƒ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”…”�”}”(hj0„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™jH„jšjH„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©)�”}”(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:32: ./sound/core/pcm_lib.c”h´M¯hjL„ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ.``struct snd_interval *i`` interval to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hjq„h]”hŒstruct snd_interval *i”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´M¬hjk„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åhjk„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†„h´M¬hjh„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­hjh„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®hjh„ubjÄ)�”}”(hŒ@``unsigned int *nump`` pointer to store the resultant numerator ”h]”(jÊ)�”}”(hŒ``unsigned int *nump``”h]”jÐ)�”}”(hj…h]”hŒunsigned int *nump”…”�”}”(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 store the resultant numerator”h]”hŒ(pointer to store the resultant numerator”…”�”}”(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¯hjh„ubjÄ)�”}”(hŒB``unsigned int *denp`` pointer to store the resultant denominator ”h]”(jÊ)�”}”(hŒ``unsigned int *denp``”h]”jÐ)�”}”(hjU…h]”hŒunsigned int *denp”…”�”}”(hjW…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjS…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°hjO…ubjæ)�”}”(hhh]”j{)�”}”(hŒ*pointer to store the resultant denominator”h]”hŒ*pointer to store the resultant denominator”…”�”}”(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°hjh„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjL„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²hjL„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²hjL„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Œ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†ubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(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_interval_list”†”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)�”}”(hj¶qh]”hŒi”…”�”}”(hjk†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”…”�”}”(hj4‡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”…”�”}”(hjM‡h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjI‡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjI‡ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hji‡h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjI‡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjI‡ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hj…‡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjI‡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¯‡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™jLJjšjLJj›‰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”…”�”}”(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 number of elements in the list”h]”hŒ"the number of elements in the list”…”�”}”(hjBˆ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 unsigned int *list`` the value list ”h]”(jÊ)�”}”(hŒ``const unsigned int *list``”h]”jÐ)�”}”(hjbˆh]”hŒconst unsigned int *list”…”�”}”(hjdˆ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 value list”h]”hŒthe value list”…”�”}”(hj{ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jwˆh´Mhjxˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\ˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jwˆ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”…”�”}”(hjB‰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´M4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>‰h²hh³jP‰h´M4ubj3)�”}”(hŒsnd_interval_ranges”h]”j9)�”}”(hŒsnd_interval_ranges”h]”hŒsnd_interval_ranges”…”�”}”(hjc‰h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj_‰ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj>‰h²hh³jP‰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˜je‰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¶qh]”hŒi”…”�”}”(hj؉h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjw‰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”ˆjQjRuh1jYhjw‰ubjZ)�”}”(hŒ!const struct snd_interval *ranges”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`)�”}”(hjch]”hŒstruct”…”�”}”(hj\Šh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj=Šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiŠh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=Šubh)�”}”(hhh]”j9)�”}”(hŒ snd_interval”h]”hŒ snd_interval”…”�”}”(hjzŠh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j|ŠŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¹‰Œ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)�”}”(hŒranges”h]”hŒranges”…”�”}”(hj³Šh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj=Šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjw‰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”ˆjQjRuh1jYhjw‰ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj>‰h²hh³jP‰h´M4ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj:‰h²hh³jP‰h´M4ubah}”(h]”j5‰ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jP‰h´M4hj7‰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”…”�”}”(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´M4hj+‹h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj7‰h²hh³jP‰h´M4ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jF‹jšjF‹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©)�”}”(hjP‹h]”hŒ Parameters”…”�”}”(hjR‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjN‹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´M8hjJ‹ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_interval *i`` the interval value to refine ”h]”(jÊ)�”}”(hŒ``struct snd_interval *i``”h]”jÐ)�”}”(hjo‹h]”hŒstruct snd_interval *i”…”�”}”(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´M5hji‹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åhji‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„‹h´M5hjf‹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´M6hjf‹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´M7hjf‹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´M8hjŒubjæ)�”}”(hhh]”j{)�”}”(hŒthe bit-mask to evaluate”h]”hŒthe bit-mask to evaluate”…”�”}”(hj3Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j/Œh´M8hj0Œubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j/Œh´M8hjf‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjJ‹ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjUŒh]”hŒ Description”…”�”}”(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:hjJ‹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.”…”�”}”(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´M9hjJ‹ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj|Œh]”hŒReturn”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´M=hjJ‹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>hjJ‹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”…”�”}”(hj�h²hh³Nh´Nubah}”(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_add”†”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Œruntime”h]”hŒruntime”…”�”}”(hjW�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”…”�”}”(hjp�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjl�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjl�ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjŒ�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjl�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjl�ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj¨�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjl�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¢]”j8�Œ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”…”�”}”(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:Žubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjZŽh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj:Žubj9)�”}”(hŒprivate”h]”hŒprivate”…”�”}”(hjgŽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:Ž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Ð)�”}”(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Œthe pcm runtime instance”h]”hŒthe pcm runtime instance”…”�”}”(hj9�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5�h´M„hj6�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5�h´M„hj�ubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hjY�h]”hŒunsigned int cond”…”�”}”(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´M…hjS�ubjæ)�”}”(hhh]”j{)�”}”(hŒcondition bits”h]”hŒcondition bits”…”�”}”(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�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”…”�”}”(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 dep`` the dependent variables ”h]”(jÊ)�”}”(hŒ ``int dep``”h]”jÐ)�”}”(hj=�h]”hŒint dep”…”�”}”(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‰hj7�ubjæ)�”}”(hhh]”j{)�”}”(hŒthe dependent variables”h]”hŒthe dependent variables”…”�”}”(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�ubjÄ)�”}”(hŒ``...`` variable arguments ”h]”(jÊ)�”}”(hŒ``...``”h]”jÐ)�”}”(hjv�h]”hŒ...”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´Khjp�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åhjp�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”…”�”}”(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_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(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_hw_constraint_mask”†”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Œ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¢]”jm‘Œ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”ˆjQjRuh1jYhj+‘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¢]”jm‘Œ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”…”�”}”(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”…”�”}”(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Ÿ)�”}”(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©)�”}”(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Œ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¾hjb’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¿hjb’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.”…”�”}”(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´M¾hjb’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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´MÀhjb’ubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(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Áhjb’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Œ ”…”�”}”(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”…”�”}”(hj6”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”…”�”}”(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_pcm_hw_constraint_mask64”†”asbuh1hhjK”ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjK”ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj~”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjK”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Ð)�”}”(hj1•h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(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ŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(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Œ@``snd_pcm_hw_param_t var`` hw_params variable to apply the mask ”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´MÒhjd•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åhjd•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.”…”�”}”(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_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”…”�”}”(hjJ–h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjF–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Œ ”…”�”}”(hjY–h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjF–h²hh³jX–h´Mèubj3)�”}”(hŒsnd_pcm_hw_constraint_integer”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_integer”h]”hŒsnd_pcm_hw_constraint_integer”…”�”}”(hjk–h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjg–ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjF–h²hh³jX–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˜jm–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Œ ”…”�”}”(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&]”jQjRuh1jShjF–h²hh³jX–h´Mèubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjB–h²hh³jX–h´Mèubah}”(h]”j=–ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jX–h´Mèhj?–h²hubjv)�”}”(hhh]”j{)�”}”(hŒ*apply an integer constraint to an interval”h]”hŒ*apply an integer constraint to an interval”…”�”}”(hjR—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èhjO—h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj?–h²hh³jX–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Ÿ)�”}”(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©)�”}”(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:32: ./sound/core/pcm_lib.c”h´Mìhjn—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¾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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mìhjn—ubj{)�”}”(hŒ9Apply the constraint of integer to an interval parameter.”h]”hŒ9Apply the constraint of integer to an interval 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ëhjn—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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Míhjn—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.”…”�”}”(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´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_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”…”�”}”(hjs˜h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjo˜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!hjo˜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&]”jQjRuh1j2hjo˜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&]”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_minmax”†”asbuh1hhj™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj™ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hjQ™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj™ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¨˜ubjZ)�”}”(hŒunsigned int min”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjj™h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjf™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjf™ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj†™h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjf™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjf™ubj9)�”}”(hŒmin”h]”hŒmin”…”�”}”(hj¢™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjf™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&]”jQjRuh1jShjo˜h²hh³j�˜h´Mùubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjk˜h²hh³j�˜h´Mùubah}”(h]”jf˜ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�˜h´Mùhjh˜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”…”�”}”(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&]”uh1juhjh˜h²hh³j�˜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Ÿ)�”}”(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©)�”}”(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Œ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úhjXšubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime 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š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ûhjUš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ühjUš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”…”�”}”(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ýhjUšubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj9š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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:32: ./sound/core/pcm_lib.c”h´Mÿhj9šubj{)�”}”(hŒhj'¡ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjY¢h]”hŒReturn”…”�”}”(hj[¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjW¢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.”…”�”}”(hjo¢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”…”�”}”(hj4£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”…”�”}”(hjM£h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjI£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjI£ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hji£h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjI£ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw£h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjI£ubj9)�”}”(hŒcond”h]”hŒcond”…”�”}”(hj…£h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjI£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”…”�”}”(hj¤h²hh³Nh´Nubah}”(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â£ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjK¤h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjâ£ubj9)�”}”(hjã h]”hŒr”…”�”}”(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&]”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Ð)�”}”(hj4¥h]”hŒsnd_pcm_hw_param_t var”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´Mahj.¥ubjæ)�”}”(hhh]”j{)�”}”(hŒ2hw_params variable to apply the ratnums constraint”h]”hŒ2hw_params variable to apply the ratnums constraint”…”�”}”(hjM¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jI¥h´MahjJ¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj.¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jI¥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Ð)�”}”(hjm¥h]”hŒ-const struct snd_pcm_hw_constraint_ratnums *r”…”�”}”(hjo¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjk¥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´Mbhjg¥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åhjg¥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Œ ”…”�”}”(hj7¦h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&¦ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(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_pcm_hw_constraint_ratdens”†”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Œ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”…”�”}”(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¢]”jd¦Œ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”…”�”}”(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_ratdens *r”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(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§ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjP§h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj1§ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]§h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1§ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_constraint_ratdens”h]”hŒsnd_pcm_hw_constraint_ratdens”…”�”}”(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¢]”jd¦Œc.snd_pcm_hw_constraint_ratdens”†”asbuh1hhj1§ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ§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)�”}”(hjã h]”hŒr”…”�”}”(hj§§h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1§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 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Ð)�”}”(hjJ¨h]”hŒunsigned int cond”…”�”}”(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Œcondition bits”h]”hŒcondition bits”…”�”}”(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Œ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”…”�”}”(hj<©h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj8©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Œ ”…”�”}”(hjK©h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8©h²hh³jJ©h´M§ubj3)�”}”(hŒsnd_pcm_hw_constraint_msbits”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_msbits”h]”hŒsnd_pcm_hw_constraint_msbits”…”�”}”(hj]©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjY©ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj8©h²hh³jJ©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”…”�”}”(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_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_msbits”†”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Œruntime”h]”hŒruntime”…”�”}”(hjÒ©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hju©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjq©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”ˆjQjRuh1jYhjq©ubjZ)�”}”(hŒunsigned int width”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj<ªh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj8ªubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8ªubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjXªh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj8ªubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8ªubj9)�”}”(hŒwidth”h]”hŒwidth”…”�”}”(hjtªh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8ªubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjq©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”ˆjQjRuh1jYhjq©ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj8©h²hh³jJ©h´M§ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj4©h²hh³jJ©h´M§ubah}”(h]”j/©ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jJ©h´M§hj1©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&]”uh1juhj1©h²hh³jJ©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Ð)�”}”(hj0«h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(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´M¨hj*«ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(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'«ubjÄ)�”}”(hŒ%``unsigned int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hji«h]”hŒunsigned int cond”…”�”}”(hjk«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjg«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©hjc«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åhjc«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.”…”�”}”(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.”…”�”}”(hjS¬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)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(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)�”}”(hŒint”h]”hŒint”…”�”}”(hjM­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”…”�”}”(hji­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_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 jhjihjz¬h²hh³j�¬h´MÉubah}”(h]”ju¬ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�¬h´MÉhjw¬h²hubjv)�”}”(hhh]”j{)�”}”(hŒadd a hw constraint step rule”h]”hŒadd a hw constraint step 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&]”uh1juhjw¬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Ÿ)�”}”(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©)�”}”(hjN®h]”hŒ Parameters”…”�”}”(hjP®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjL®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ÍhjH®ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjm®h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjo®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjk®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Êhjg®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åhjg®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‚®h´MÊhjd®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Ëhjd®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Ìhjd®ubjÄ)�”}”(hŒ!``unsigned long step`` step size ”h]”(jÊ)�”}”(hŒ``unsigned long step``”h]”jÐ)�”}”(hj¯h]”hŒunsigned long step”…”�”}”(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Œ step size”h]”hŒ step size”…”�”}”(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Íhjd®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjH®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Ï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.”…”�”}”(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ÏhjH®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Œ*”…”�”}”(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”…”�”}”(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_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Ð)�”}”(hj2±h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(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ŒPCM runtime instance”h]”hŒPCM runtime 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 int cond`` condition bits ”h]”(jÊ)�”}”(hŒ``unsigned int cond``”h]”jÐ)�”}”(hjk±h]”hŒunsigned int cond”…”�”}”(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Œ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åhje±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&]”uh1jhj ²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Œ ”…”�”}”(hj3²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ²h²hh³j2²h´Mubj3)�”}”(hŒsnd_pcm_hw_rule_noresample”h]”j9)�”}”(hŒsnd_pcm_hw_rule_noresample”h]”hŒsnd_pcm_hw_rule_noresample”…”�”}”(hjE²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjA²ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj ²h²hh³j2²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”…”�”}”(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_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˜jG²sbŒc.snd_pcm_hw_rule_noresample”†”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”ˆjQjRuh1jYhjY²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”ˆjQjRuh1jYhjY²ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj ²h²hh³j2²h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj²h²hh³j2²h´Mubah}”(h]”j²ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j2²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”…”�”}”(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´Mhj2³h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj²h²hh³j2²h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jM³jšjM³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©)�”}”(hjW³h]”hŒ Parameters”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´M hjQ³ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ9``struct snd_pcm_runtime *runtime`` PCM runtime instance ”h]”(jÊ)�”}”(hŒ#``struct snd_pcm_runtime *runtime``”h]”jÐ)�”}”(hjv³h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´Mhjp³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åhjp³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹³h´Mhjm³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³jijh´Mhjųubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jijh´Mhjm³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjQ³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 hjQ³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 hjQ³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”…”�”}”(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_pcm_hw_param_value”h]”j9)�”}”(hŒsnd_pcm_hw_param_value”h]”hŒsnd_pcm_hw_param_value”…”�”}”(hjP´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL´ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+´h²hh³j=´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”…”�”}”(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”…”�”}”(hj‡´h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjh´ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”´h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh´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˜jR´sbŒc.snd_pcm_hw_param_value”†”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Œparams”h]”hŒparams”…”�”}”(hjà´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjh´ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd´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Œ ”…”�”}”(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”ˆjQjRuh1jYhjd´ubjZ)�”}”(hŒint *dir”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjAµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj=µ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Œdir”h]”hŒdir”…”�”}”(hjjµ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´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Œ%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³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Ÿ)�”}”(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Ð)�”}”(hj2¶h]”hŒsnd_pcm_hw_param_t var”…”�”}”(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´M7hj,¶ubjæ)�”}”(hhh]”j{)�”}”(hŒparameter to retrieve”h]”hŒparameter to retrieve”…”�”}”(hjK¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jG¶h´M7hjH¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jG¶h´M7hjðµubjÄ)�”}”(hŒ;``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` ”h]”(jÊ)�”}”(hŒ ``int *dir``”h]”jÐ)�”}”(hjk¶h]”hŒint *dir”…”�”}”(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´M8hje¶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åhje¶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”…”�”}”(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´Mxubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+·h²hh³j=·h´Mxubj3)�”}”(hŒsnd_pcm_hw_param_first”h]”j9)�”}”(hŒsnd_pcm_hw_param_first”h]”hŒsnd_pcm_hw_param_first”…”�”}”(hjP·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL·ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+·h²hh³j=·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”…”�”}”(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·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˜jR·sbŒc.snd_pcm_hw_param_first”†”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Œpcm”h]”hŒpcm”…”�”}”(hjÅ·h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjh·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd·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Œ ”…”�”}”(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”…”�”}”(hj5¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚ·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd·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”…”�”}”(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.snd_pcm_hw_param_first”†”asbuh1hhjJ¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjJ¸ubj9)�”}”(hŒvar”h]”hŒvar”…”�”}”(hj}¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd·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”ˆjQjRuh1jYhjd·ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj+·h²hh³j=·h´Mxubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj'·h²hh³j=·h´Mxubah}”(h]”j"·ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j=·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³j=·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”…”�”}”(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´Myhj$¹ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM instance”h]”hŒ PCM instance”…”�”}”(hjC¹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!¹ubjÄ)�”}”(hŒ<``struct snd_pcm_hw_params *params`` the hw_params instance ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_hw_params *params``”h]”jÐ)�”}”(hjc¹h]”hŒ struct snd_pcm_hw_params *params”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´Mzhj]¹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³jx¹h´Mzhjy¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx¹h´Mzhj!¹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{hj!¹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|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 > minimum. Reduce configuration space accordingly.”h]”(hŒ&Inside configuration space defined by ”…”�”}”(hj4ºh²hh³Nh´Nubj©)�”}”(hŒ **params**”h]”hŒparams”…”�”}”(hj<ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4ºubhŒ remove from ”…”�”}”(hj4ºh²hh³Nh´Nubj©)�”}”(hŒ**var**”h]”hŒvar”…”�”}”(hjNºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4ºubhŒ> all values > minimum. Reduce configuration space accordingly.”…”�”}”(hj4º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©)�”}”(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Œ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Œ*”…”�”}”(hj7»h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjçºubj9)�”}”(hŒpcm”h]”hŒpcm”…”�”}”(hjD»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”…”�”}”(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_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(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%»Œc.snd_pcm_hw_param_last”†”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Œparams”h]”hŒparams”…”�”}”(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_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Œ ”…”�”}”(hj#¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¼ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj1¼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&]”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”…”�”}”(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&]”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Ð)�”}”(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”…”�”}”(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Œ;``int *dir`` pointer to the direction (-1,0,1) or ``NULL`` ”h]”(jÊ)�”}”(hŒ ``int *dir``”h]”jÐ)�”}”(hjT½h]”hŒint *dir”…”�”}”(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Œ-pointer to the direction (-1,0,1) or ``NULL``”h]”(hŒ%pointer to the direction (-1,0,1) or ”…”�”}”(hjm½h²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hju½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjm½ubeh}”(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 ¼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”…”�”}”(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_params_bits”h]”j9)�”}”(hŒsnd_pcm_hw_params_bits”h]”hŒsnd_pcm_hw_params_bits”…”�”}”(hjN¾h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ¾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”…”�”}”(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¾ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hj…¾h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjf¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjf¾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˜jP¾sbŒc.snd_pcm_hw_params_bits”†”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)�”}”(hjÅh]”hŒp”…”�”}”(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´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 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&]”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`` 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”…”�”}”(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Œ:``const struct snd_pcm_hw_params *p`` hardware parameters ”h]”(jÊ)�”}”(hŒ%``const struct snd_pcm_hw_params *p``”h]”jÐ)�”}”(hjH¿h]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(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Œhardware parameters”h]”hŒhardware parameters”…”�”}”(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?¿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:32: ./sound/core/pcm_lib.c”h´MÅhj#¿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Å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_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”…”�”}”(hj#Àh²hh³Nh´Nubah}”(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_lib_ioctl”†”asbuh1hhjÀubj")�”}”(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Œ 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Œunsigned int cmd”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjwÀh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjsÀubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjsÀubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj“Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjsÀubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡Àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjsÀubj9)�”}”(hŒcmd”h]”hŒcmd”…”�”}”(hj¯Àh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjsÀ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”…”�”}”(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´M6hjÁh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj½¿h²hh³jÖ¿h´M6ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j3Ájšj3Á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©)�”}”(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:hj7Á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ÏhjZÁ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´M7hjVÁubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hjuÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jqÁh´M7hjrÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjVÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jqÁh´M7hjSÁ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´M8hjSÁ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´M9hjSÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj7Á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;hj7Á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.”…”�”}”(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:hj7Áubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj0Âh]”hŒReturn”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´M=hj7Áubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(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>hj7Á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”…”�”}”(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´MRubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„Âh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqÂ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&]”jQjRuh1j2hjqÂ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&]”jQjRuh1jShjqÂh²hh³jƒÂh´MRubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjmÂh²hh³jƒÂh´MRubah}”(h]”jhÂah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jƒÂh´MRhjjÂ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.”…”�”}”(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´MRhj2Ãh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjjÂh²hh³jƒÂh´MRubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jMÃjšjMÃ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©)�”}”(hjWÃh]”hŒ Parameters”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´MVhjQÃ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Ð)�”}”(hjvÃh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´MThjpÃ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åhjpÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹Ãh´MThjmÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjQÃ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´MVhjQÃ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´MUhjQÃ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´MXhjQÃ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]hjQÃ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 ”…”�”}”(hj/Äh²hh³Nh´Nubh)�”}”(hŒ:c:type:`snd_pcm_ops`”h]”jÐ)�”}”(hj9Äh]”hŒ snd_pcm_ops”…”�”}”(hj;Äh²hh³Nh´Nubah}”(h]”h ]”(jûÃj–Œc-type”eh"]”h$]”h&]”uh1jÏhj7Ä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´Mbhj/ÄubhŒ" are done by the call of function:”…”�”}”(hj/Äh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jzh³•jVÄh´MbhjQÃ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{)�”}”(hjjÄh]”hŒ`.pointer - to retrieve current position of audio data transmission by frame count or XRUN state.”…”�”}”(hjlÄ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´MehjhÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jfÄhjcÄubjgÄ)�”}”(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&]”uh1jfÄhjcÄubjgÄ)�”}”(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&]”uh1jfÄhjcÄubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jaÄh³jyÄh´MehjQÃ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´MihjQÃ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_hj!Åubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2Åh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj!Åubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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¥)�”}”j˜j ÅsbŒc.snd_pcm_period_elapsed”†”asbuh1hhj!Åubj")�”}”(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Œ 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Œ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¨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 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 ”…”�”}”(hj:Æh²hh³Nh´NubjÐ)�”}”(hŒ.``snd_pcm_period_elapsed_under_stream_lock()``”h]”hŒ*snd_pcm_period_elapsed_under_stream_lock()”…”�”}”(hjBÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj:ÆubhŒ8 except for acquiring lock of PCM substream voluntarily.”…”�”}”(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Œ×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.”…”�”}”(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_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”…”�”}”(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”…”�”}”(hj9Çh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5Çubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5Çubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjUÇh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5Çubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¿ÆubjZ)�”}”(hŒ&const struct snd_pcm_chmap_elem *chmap”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_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”†”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Œchmap”h]”hŒchmap”…”�”}”(hjàÇh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjÇ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”…”�”}”(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”…”�”}”(hjJÈh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj*Èubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXÈh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj*Èubj9)�”}”(hŒ private_value”h]”hŒ private_value”…”�”}”(hjfÈ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©)�”}”(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: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Ð)�”}”(hjNÉh]”hŒstruct snd_pcm *pcm”…”�”}”(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:32: ./sound/core/pcm_lib.c”h´M hjHÉubjæ)�”}”(hhh]”j{)�”}”(hŒthe assigned PCM instance”h]”hŒthe assigned PCM instance”…”�”}”(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Œ ``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 hjEÉ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 hjEÉ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! hjEÉ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Ð)�”}”(hj2Êh]”hŒunsigned long private_value”…”�”}”(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Œ7the value passed to each kcontrol's private_value field”h]”hŒ9the value passed to each kcontrol’s private_value field”…”�”}”(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" hjEÉ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Ð)�”}”(hjkÊh]”hŒstruct snd_pcm_chmap **info_ret”…”�”}”(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Œ/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åhjeÊ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³Œ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Œ ”…”�”}”(hj!Ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjËh²hh³j Ëh´Kkubj3)�”}”(hŒsnd_pcm_stream_lock”h]”j9)�”}”(hŒsnd_pcm_stream_lock”h]”hŒsnd_pcm_stream_lock”…”�”}”(hj3Ëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj/Ëubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjËh²hh³j Ëh´KkubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”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Œsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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˜j5ËsbŒc.snd_pcm_stream_lock”†”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Œ substream”h]”hŒ substream”…”�”}”(hj¨Ëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjKËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjGËubah}”(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Œ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³j Ë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”…”�”}”(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 Ì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´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.”…”�”}”(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´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Œ*”…”�”}”(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´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”…”�”}”(hjSÍ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´KyhjPÍh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjˆÌh²hh³j¡Ìh´Kyubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jkÍjšjkÍ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©)�”}”(hjuÍh]”hŒ Parameters”…”�”}”(hjwÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjsÍ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}hjoÍ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¾hjoÍ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|hjoÍ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{hjoÍ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Œ ”…”�”}”(hj#Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎh²hh³j"Îh´K…ubj3)�”}”(hŒsnd_pcm_stream_lock_irq”h]”j9)�”}”(hŒsnd_pcm_stream_lock_irq”h]”hŒsnd_pcm_stream_lock_irq”…”�”}”(hj5Îh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1Î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”…”�”}”(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_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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_pcm_stream_lock_irq”†”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Œ substream”h]”hŒ substream”…”�”}”(hjªÎh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMÎubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjIÎ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Œ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³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_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”…”�”}”(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©)�”}”(hjPÏh]”hŒ Description”…”�”}”(hjRÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjNÏ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().”…”�”}”(hjfÏ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Œ*”…”�”}”(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´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”…”�”}”(hjUÐ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žhjRÐh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjŠÏh²hh³j£Ïh´Kžubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jmÐjšjmÐ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©)�”}”(hjwÐh]”hŒ Parameters”…”�”}”(hjyÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjuÐ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¢hjqÐ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¾hjqÐ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¡hjqÐ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 hjqÐ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”…”�”}”(hj7Ñh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Ñ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”…”�”}”(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_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˜j9ÑsbŒ"c.snd_pcm_stream_unlock_irqrestore”†”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Œ substream”h]”hŒ substream”…”�”}”(hj¬Ñh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOÑubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKÑ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”ˆjQjRuh1jYhjKÑ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™j?Òjšj?Ò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©)�”}”(hjIÒh]”hŒ Parameters”…”�”}”(hjKÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjGÒ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ÇhjCÒubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjhÒh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjfÒ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ÄhjbÒ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åhjbÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j}Òh´KÄhj_Ò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Å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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´KÇhjCÒ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ÆhjCÒ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”…”�”}”(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´MWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Óh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓh²hh³j/Óh´MWubj3)�”}”(hŒsnd_pcm_set_state”h]”j9)�”}”(hŒsnd_pcm_set_state”h]”hŒsnd_pcm_set_state”…”�”}”(hjBÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>Óubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÓh²hh³j/Óh´MWubjT)�”}”(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_hjZÓubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkÓh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZÓubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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_pcm_set_state”†”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Œ substream”h]”hŒ substream”…”�”}”(hj·Óh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjZÓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjVÓ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”ˆjQjRuh1jYhjVÓubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÓh²hh³j/Óh´MWubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÓh²hh³j/Óh´MWubah}”(h]”jÓah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j/Óh´MWhjÓ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´MWhj&Ôh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÓh²hh³j/Óh´MWubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jAÔjšjAÔ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©)�”}”(hjKÔh]”hŒ Parameters”…”�”}”(hjMÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjIÔ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[hjEÔubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjjÔh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjlÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjhÔ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´MXhjdÔubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjƒÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÔh´MXhj€Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjdÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÔh´MXhjaÔ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´MZhj�Ô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´MYhj¹Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¸Ôh´MZhjaÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjEÔ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´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_get_state”h]”j9)�”}”(hjÕh]”hŒsnd_pcm_get_state”…”�”}”(hj4Õh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0Õubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjùÔh²hh³j!Õh´MeubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”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Œsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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_pcm_get_state”†”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Œ substream”h]”hŒ substream”…”�”}”(hj¦Õh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjKÕubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjGÕ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Œ+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´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Ÿ)�”}”(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´MihjìÕ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´Mfhj Öubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(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Œ **Return**”h]”j©)�”}”(hjLÖh]”hŒReturn”…”�”}”(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:33: ./sound/core/pcm_native.c”h´MhhjìÕubj{)�”}”(hŒthe current PCM state”h]”hŒthe current PCM state”…”�”}”(hjbÖ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´MhhjìÕ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Œ*”…”�”}”(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Œ 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Œ ”…”�”}”(hjM×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_params_choose”†”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”ˆ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Ð)�”}”(hjIØh]”hŒ struct snd_pcm_hw_params *params”…”�”}”(hjKØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjGØ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‘hjCØubjæ)�”}”(hhh]”j{)�”}”(hŒthe hw_params instance”h]”hŒthe hw_params instance”…”�”}”(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³Œ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”…”�”}”(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Œ ”…”�”}”(hjLÙ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³N•>h´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¥)�”}”j˜j%ÙsbŒc.snd_pcm_start”†”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”ˆjQjRuh1jYhj7Ù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”…”�”}”(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³Œ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.”…”�”}”(hjTÚ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´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_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´M`ubjT)�”}”(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”…”�”}”(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_stop”†”asbuh1hhj.Ûubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSÛh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.Ûubj9)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjaÛ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]”jvÚah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‘Úh´M`hjxÚ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´M`hjˆÛh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjxÚ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 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´Mdhj§Û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´MahjÆÛ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´MahjâÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÆÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jáÛh´MahjÃÛ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´MbhjÿÛubjæ)�”}”(hhh]”j{)�”}”(hŒ#PCM state after stopping the stream”h]”hŒ#PCM state after stopping the stream”…”�”}”(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Œ**Description**”h]”j©)�”}”(hj@Üh]”hŒ Description”…”�”}”(hjBÜ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´Mdhj§Û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.”…”�”}”(hjVÜ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´Mchj§Û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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mehj§Û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´Mfhj§Û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´M,hjØà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©)�”}”(hj8áh]”hŒ Description”…”�”}”(hj:áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj6á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Œ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.”…”�”}”(hjNá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Øàubj{)�”}”(hŒä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:äubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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_pcm_kernel_ioctl”†”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”ˆjQjRuh1jYhj6ä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”ˆjQjRuh1jYhj6ä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”ˆjQjRuh1jYhj6ä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Œ%Execute PCM ioctl in the kernel-space”h]”hŒ%Execute PCM ioctl in the kernel-space”…”�”}”(hjTå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 hjQåh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjöãh²hh³jäh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jlåjšjlåj›‰jœ‰j�‰uh1hþh²hhjù[h³Nh´NubjŸ)�”}”(hX‰**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``unsigned int cmd`` IOCTL cmd ``void *arg`` IOCTL argument **Description** The function is provided primarily for OSS layer and USB gadget drivers, and it allows only the limited set of ioctls (hw_params, sw_params, prepare, start, drain, drop, forward). **Return** zero if successful, or a negative error code”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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mhjpå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ŒåubjÄ)�”}”(hŒ``unsigned int cmd`` IOCTL cmd ”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³Œ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Œ IOCTL cmd”h]”hŒ IOCTL cmd”…”�”}”(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Œ``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³Œ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ŒIOCTL argument”h]”hŒIOCTL argument”…”�”}”(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¾hjpåubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjBæh]”hŒ Description”…”�”}”(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´Mhjpåubj{)�”}”(hŒ³The function is provided primarily for OSS layer and USB gadget drivers, and it allows only the limited set of ioctls (hw_params, sw_params, prepare, start, drain, drop, forward).”h]”hŒ³The function is provided primarily for OSS layer and USB gadget drivers, and it allows only the limited set of ioctls (hw_params, sw_params, prepare, start, drain, drop, forward).”…”�”}”(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´Mhjpå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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´Mhjpå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´Mhjpå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_default_mmap (C function)”Œc.snd_pcm_lib_default_mmap”hNt”auh1híhjù[h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ_int snd_pcm_lib_default_mmap (struct snd_pcm_substream *substream, struct vm_area_struct *area)”h]”j )�”}”(hŒ^int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream, struct vm_area_struct *area)”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_lib_default_mmap”h]”j9)�”}”(hŒsnd_pcm_lib_default_mmap”h]”hŒsnd_pcm_lib_default_mmap”…”�”}”(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ŒB(struct snd_pcm_substream *substream, struct vm_area_struct *area)”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_lib_default_mmap”†”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Œ substream”h]”hŒ substream”…”�”}”(hjDçh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjçæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjãæubjZ)�”}”(hŒstruct vm_area_struct *area”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Œvm_area_struct”h]”hŒvm_area_struct”…”�”}”(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%çŒc.snd_pcm_lib_default_mmap”†”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Œarea”h]”hŒarea”…”�”}”(hj´çh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjYç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ŒDefault PCM data mmap function”h]”hŒDefault PCM data mmap function”…”�”}”(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Ÿ)�”}”(hX***Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``struct vm_area_struct *area`` VMA **Description** This is the default mmap handler for PCM data. When mmap pcm_ops is NULL, this function is invoked implicitly. **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Œ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”…”�”}”(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®hjèubjÄ)�”}”(hŒ$``struct vm_area_struct *area`` VMA ”h]”(jÊ)�”}”(hŒ``struct vm_area_struct *area``”h]”jÐ)�”}”(hjXèh]”hŒstruct vm_area_struct *area”…”�”}”(hjZèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjVè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¯hjRèubjæ)�”}”(hhh]”j{)�”}”(hŒVMA”h]”hŒVMA”…”�”}”(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¯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ŒoThis is the default mmap handler for PCM data. When mmap pcm_ops is NULL, this function is invoked implicitly.”h]”hŒoThis is the default mmap handler for PCM data. When mmap pcm_ops is NULL, this function is invoked implicitly.”…”�”}”(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úç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_lib_mmap_iomem (C function)”Œc.snd_pcm_lib_mmap_iomem”hNt”auh1híhjù[h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ]int snd_pcm_lib_mmap_iomem (struct snd_pcm_substream *substream, struct vm_area_struct *area)”h]”j )�”}”(hŒ\int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct vm_area_struct *area)”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_lib_mmap_iomem”h]”j9)�”}”(hŒsnd_pcm_lib_mmap_iomem”h]”hŒsnd_pcm_lib_mmap_iomem”…”�”}”(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ŒB(struct snd_pcm_substream *substream, struct vm_area_struct *area)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj<éh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj8éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8éubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjZéh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWé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_mmap_iomem”†”asbuh1hhj8éubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzéh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8éubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjˆéh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj8éubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj•éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8éubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj4éubjZ)�”}”(hŒstruct vm_area_struct *area”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Œvm_area_struct”h]”hŒvm_area_struct”…”�”}”(hjÌéh²hh³Nh´Nubah}”(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_pcm_lib_mmap_iomem”†”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Œarea”h]”hŒarea”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjªéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj4é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Œ*Default PCM data mmap function for I/O mem”h]”hŒ*Default PCM data mmap function for I/O mem”…”�”}”(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™jGêjšjGêj›‰jœ‰j�‰uh1hþh²hhjù[h³Nh´NubjŸ)�”}”(hXy**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``struct vm_area_struct *area`` VMA **Description** When your hardware uses the iomapped pages as the hardware buffer and wants to mmap it, pass this function as mmap pcm_ops. Note that this is supposed to work only on limited architectures. **Return** zero if successful, or a negative error code”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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MÌhjKêubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjpêh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjrêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjnê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Éhjjê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åhjjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j…êh´MÉhjgêubjÄ)�”}”(hŒ$``struct vm_area_struct *area`` VMA ”h]”(jÊ)�”}”(hŒ``struct vm_area_struct *area``”h]”jÐ)�”}”(hj©êh]”hŒstruct vm_area_struct *area”…”�”}”(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ŒVMA”h]”hŒVMA”…”�”}”(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Êhjgêubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjKê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ÌhjKêubj{)�”}”(hŒ¾When your hardware uses the iomapped pages as the hardware buffer and wants to mmap it, pass this function as mmap pcm_ops. Note that this is supposed to work only on limited architectures.”h]”hŒ¾When your hardware uses the iomapped pages as the hardware buffer and wants to mmap it, pass this function as mmap pcm_ops. Note that this is supposed to work only on limited architectures.”…”�”}”(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Ë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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:33: ./sound/core/pcm_native.c”h´MÏhjKê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Ð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_stream_linked (C function)”Œc.snd_pcm_stream_linked”hNt”auh1híhjù[h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?int snd_pcm_stream_linked (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ>int snd_pcm_stream_linked(struct snd_pcm_substream *substream)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjPëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjLëh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Msubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_ëh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLëh²hh³j^ëh´Msubj3)�”}”(hŒsnd_pcm_stream_linked”h]”j9)�”}”(hŒsnd_pcm_stream_linked”h]”hŒsnd_pcm_stream_linked”…”�”}”(hjqëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmëubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjLëh²hh³j^ëh´MsubjT)�”}”(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˜jsë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&]”jQjRuh1jShjLëh²hh³j^ëh´Msubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjHëh²hh³j^ëh´Msubah}”(h]”jCëah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j^ëh´MshjEë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´Mshj ìh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjEëh²hh³j^ëh´Msubeh}”(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©)�”}”(hj2ìh]”hŒ Parameters”…”�”}”(hj4ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0ì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´Mwhj,ìubj¿)�”}”(hhh]”jÄ)�”}”(hŒ;``struct snd_pcm_substream *substream`` substream to check ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjQìh]”hŒ#struct snd_pcm_substream *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´MthjKìubjæ)�”}”(hhh]”j{)�”}”(hŒsubstream to check”h]”hŒsubstream to check”…”�”}”(hjjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jfìh´Mthjgìubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjKìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jfìh´MthjHì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´Mvhj,ì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´Mvhj,ì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”…”�”}”(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Ÿ)�”}”(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©)�”}”(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‰hj6í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ÏhjYí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†hjUíubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjtíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jpíh´M†hjqíubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jpíh´M†hjRí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‡hjRíubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj6í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‰hj6í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ˆhj6í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³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™jDîjšjDîj›‰jœ‰j�‰uh1hþh²hhjù[h³Nh´Nubj{)�”}”(hŒ9``snd_pcm_stream_lock_irqsave_nested (substream, flags)``”h]”jÐ)�”}”(hjJîh]”hŒ5snd_pcm_stream_lock_irqsave_nested (substream, flags)”…”�”}”(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: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”…”�”}”(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`îubah}”(h]”h ]”h"]”h$]”h&]”uh1j®h³jrî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šhjyî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¾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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mšhjyî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™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_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)�”}”(hjQïh]”hŒsnd_pcm_group_for_each_entry”…”�”}”(hj[ïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWïubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjSï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 jhjihjOïh²hh³jnïh´M°ubah}”(h]”jJïah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jnïh´M°hjLïh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjLïh²hh³jnï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Ð)�”}”(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Œ the substream”h]”hŒ the substream”…”�”}”(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Øïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¼ïubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjUðh]”hŒ Description”…”�”}”(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Œ¡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 ”…”�”}”(hjkðh²hh³Nh´Nubj©)�”}”(hŒ **substream**”h]”hŒ substream”…”�”}”(hjsðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkðubhŒ. When ”…”�”}”(hjkðh²hh³Nh´Nubj©)�”}”(hŒ **substream**”h]”hŒ substream”…”�”}”(hj…ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkðubhŒ4 isn’t linked with any others, this gives returns ”…”�”}”(hjkðh²hh³Nh´Nubj©)�”}”(hŒ **substream**”h]”hŒ substream”…”�”}”(hj—ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkðubhŒ itself once.”…”�”}”(hjkð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Œ ”…”�”}”(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_running”†”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Œ substream”h]”hŒ substream”…”�”}”(hjfñ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.”…”�”}”(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_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”…”�”}”(hjQòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjMò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!hjMòh²hh³j_òh´MÏubj3)�”}”(hŒ__snd_pcm_set_state”h]”j9)�”}”(hŒ__snd_pcm_set_state”h]”hŒ__snd_pcm_set_state”…”�”}”(hjròh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjnòubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjMòh²hh³j_ò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˜jtò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Œ ”…”�”}”(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”ˆjQjRuh1jYhj†òubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjMòh²hh³j_òh´MÏubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjIòh²hh³j_òh´MÏubah}”(h]”jDòah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j_òh´MÏhjFòh²hubjv)�”}”(hhh]”j{)�”}”(hŒChange the current PCM state”h]”hŒChange the current PCM state”…”�”}”(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ÏhjVóh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjFòh²hh³j_òh´MÏubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jqójšjqó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¨hjyó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Óhjuó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¾hjuó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Óhjuó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Òhjuó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”…”�”}”(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˜Œbytes_to_samples”sbŒc.bytes_to_samples”†”asbuh1hhjOô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Œ ”…”�”}”(hjxôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOôh²hh³jwôh´Máubj3)�”}”(hŒbytes_to_samples”h]”j9)�”}”(hjtôh]”hŒbytes_to_samples”…”�”}”(hjŠôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†ôubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjOôh²hh³jwô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¢]”jrôŒ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”jõŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jrôŒc.bytes_to_samples”†”asbuh1hhjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjDõ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³jwôh´Máubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjKôh²hh³jwôh´Máubah}”(h]”jFôah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jwôh´MáhjHô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”…”�”}”(hjnõ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áhjkõh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjHôh²hh³jwô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©)�”}”(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 size in samples”h]”hŒthe size in samples”…”�”}”(hj9ö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”…”�”}”(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˜Œbytes_to_frames”sbŒc.bytes_to_frames”†”asbuh1hhjdö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!hjdö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&]”jQjRuh1j2hjdö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”…”�”}”(hj-÷h²hh³Nh´Nubah}”(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Œ ”…”�”}”(hjK÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&÷ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(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&]”jQjRuh1jShjdö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Œ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&]”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 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©)�”}”(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:34: ./include/sound/pcm.h”h´MñhjŸ÷ubj{)�”}”(hŒthe size in frames”h]”hŒthe size in frames”…”�”}”(hjNø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”†”asbuh1hhjyø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!hjyø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&]”jQjRuh1j2hjyø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”…”�”}”(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œøŒc.samples_to_bytes”†”asbuh1hhj;ùubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`ùh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;ùubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(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&]”jQjRuh1jShjyøh²hh³j¡øh´Mùubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjuøh²hh³j¡øh´Mùubah}”(h]”jpøah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¡øh´Mùhjrø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&]”uh1juhjrø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”…”�”}”(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©)�”}”(hjMúh]”hŒReturn”…”�”}”(hjOúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjKú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”…”�”}”(hjcú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Œ ”…”�”}”(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_sframes_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_sframes_t”h]”hŒsnd_pcm_sframes_t”…”�”}”(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.frames_to_bytes”†”asbuh1hhjPûubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjPûubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(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´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´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´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´Mhj!üubjæ)�”}”(hhh]”j{)�”}”(hŒsize in frames”h]”hŒsize in frames”…”�”}”(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Œ **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³Œ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”…”�”}”(hjxü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úŒ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Œ ”…”�”}”(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Œ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 bytes”h]”(h)�”}”(hhh]”j9)�”}”(hŒssize_t”h]”hŒssize_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ýŒc.frame_aligned”†”asbuh1hhjRýubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRýubj9)�”}”(hŒbytes”h]”hŒbytes”…”�”}”(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´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Ð)�”}”(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Œ ``ssize_t bytes`` size in bytes ”h]”(jÊ)�”}”(hŒ``ssize_t bytes``”h]”jÐ)�”}”(hj)þh]”hŒ ssize_t bytes”…”�”}”(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Œ size in bytes”h]”hŒ size in bytes”…”�”}”(hjBþ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Œ **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³Œ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”…”�”}”(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´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”…”�”}”(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_lib_buffer_bytes”†”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Œ substream”h]”hŒ substream”…”�”}”(hjRÿ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 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´Mhjyÿ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´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³Œ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©)�”}”(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Œbuffer byte size”h]”hŒbuffer byte size”…”�”}”(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´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_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”…”�”}”(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_lib_period_bytes”sbŒc.snd_pcm_lib_period_bytes”†”asbuh1hhj9h²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Œ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9h²hh³jah´M)ubj3)�”}”(hŒsnd_pcm_lib_period_bytes”h]”j9)�”}”(hj^h]”hŒsnd_pcm_lib_period_bytes”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjpubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj9h²hh³jah´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\Œ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&]”jQjRuh1jShj9h²hh³jah´M)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj5h²hh³jah´M)ubah}”(h]”j0ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jah´M)hj2h²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”…”�”}”(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´M)hj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj2h²hh³jah´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©)�”}”(hj2h]”hŒ Parameters”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0ubah}”(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Œ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjQh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(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´M*hjKubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jfh´M*hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jfh´M*hjHubah}”(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Œ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,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_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´M5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÍh²hh³jõh´M5ubj3)�”}”(hŒsnd_pcm_playback_avail”h]”j9)�”}”(hjòh]”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´M5ubjT)�”}”(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_hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_runtime”h]”hŒsnd_pcm_runtime”…”�”}”(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ðŒc.snd_pcm_playback_avail”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjzh²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´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Œ/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´M5hj¡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÆ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Ÿ)�”}”(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´M9hjÀ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´M6hjß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´M6hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³júh´M6hjÜ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¨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´M8hjÀubj{)�”}”(hŒ&Result is between 0 ... (boundary - 1)”h]”hŒ&Result is between 0 ... (boundary - 1)”…”�”}”(hj6h²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´M7hjÀubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjGh]”hŒReturn”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjEubah}”(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´M9hjÀ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´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_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´MGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjˆh²hh³j°h´MGubj3)�”}”(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´MGubjT)�”}”(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_capture_avail”†”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Œruntime”h]”hŒruntime”…”�”}”(hj5h²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´MGubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj„h²hh³j°h´MGubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j°h´MGhj�•8h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Get the available (readable) space for capture”h]”hŒ.Get the available (readable) 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´MGhj\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�h²hh³j°h´MGubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jwjšjwj›‰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¨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´MKhj{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´MHhjš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´MHhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjšubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jµh´MHhj—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´MJhj{ubj{)�”}”(hŒ&Result is between 0 ... (boundary - 1)”h]”hŒ&Result is between 0 ... (boundary - 1)”…”�”}”(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´MIhj{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´MKhj{ubj{)�”}”(hŒavailable frame size”h]”hŒavailable frame size”…”�”}”(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´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_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”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jLŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_playback_hw_avail”sbŒc.snd_pcm_playback_hw_avail”†”asbuh1hhjCh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´MWubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjCh²hh³jkh´MWubj3)�”}”(hŒsnd_pcm_playback_hw_avail”h]”j9)�”}”(hjhh]”hŒsnd_pcm_playback_hw_avail”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjCh²hh³jkh´MWubjT)�”}”(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¢]”jfŒ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”…”�”}”(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&]”jQjRuh1jShjCh²hh³jkh´MWubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?h²hh³jkh´MWubah}”(h]”j:ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jkh´MWhj<h²hubjv)�”}”(hhh]”j{)�”}”(hŒ!Get the queued space for playback”h]”hŒ!Get the queued space for playback”…”�”}”(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´MWhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj<h²hh³jkh´MWubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j2jšj2j›‰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´M[hj6ubj¿)�”}”(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ÏhjYubah}”(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´MXhjUubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jph´MXhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jph´MXhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj6ubj{)�”}”(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´MZhj6ubj{)�”}”(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´MZhj6ubeh}”(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´Mbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj×h²hh³jÿh´Mbubj3)�”}”(hŒsnd_pcm_capture_hw_avail”h]”j9)�”}”(hjüh]”hŒsnd_pcm_capture_hw_avail”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj×h²hh³jÿh´MbubjT)�”}”(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”…”�”}”(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_pcm_capture_hw_avail”†”asbuh1hhj)ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj)ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjwh²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´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 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´Mbhj«h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÐh²hh³jÿh´Mbubeh}”(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´MfhjÊ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´Mchjéubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Mchjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjéubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´Mchjæ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´MehjÊ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´MehjÊ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”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjkh²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mmubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjkh²hh³j}h´Mmubj3)�”}”(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&]”jQjRuh1j2hjkh²hh³j}h´MmubjT)�”}”(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&]”jQjRuh1jShjkh²hh³j}h´Mmubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjgh²hh³j}h´Mmubah}”(h]”jbah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j}h´Mmhjdh²hubjv)�”}”(hhh]”j{)�”}”(hŒ.check whether the playback buffer is available”h]”hŒ.check whether the playback 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´Mmhj, h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjdh²hh³j}h´Mmubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jG jšjG 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©)�”}”(hjQ h]”hŒ Parameters”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjO 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´MqhjK ubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjp h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(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:34: ./include/sound/pcm.h”h´Mnhjj 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´Mnhj† ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j… h´Mnhjg ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjK 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´MphjK 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´MohjK 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´MqhjK 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´MrhjK 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´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_ready”h]”j9)�”}”(hŒsnd_pcm_capture_ready”h]”hŒsnd_pcm_capture_ready”…”�”}”(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_pcm_substream *substream)”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Œ ”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjP ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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_pcm_capture_ready”†”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 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 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´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 **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´Mhjó 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”…”�”}”(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 ubah}”(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³Œ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.”…”�”}”(hji 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©)�”}”(hjz h]”hŒReturn”…”�”}”(hj| h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjx 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Œ&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”…”�”}”(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_data”†”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Œ substream”h]”hŒ substream”…”�”}”(hjU 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Œ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©)�”}”(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Œ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©)�”}”(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 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.”…”�”}”(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_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”…”�”}”(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_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&]”jQjRuh1j2hjc h²hh³ju 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Œ*”…”�”}”(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&]”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Œ*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&]”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_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©)�”}”(hjIh]”hŒ Parameters”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjGubah}”(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ŸhjCubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjhh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjfubah}”(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œhjbubjæ)�”}”(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åhjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j}h´Mœhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjCubj{)�”}”(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žhjCubj{)�”}”(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�hjCubj{)�”}”(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ŸhjCubj{)�”}”(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 hjCubeh}”(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”…”�”}”(hjh²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Œ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj h²hh³jh´M©ubj3)�”}”(hŒsnd_pcm_capture_empty”h]”j9)�”}”(hŒsnd_pcm_capture_empty”h]”hŒsnd_pcm_capture_empty”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj,ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj h²hh³jh´M©ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”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_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjgubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jlŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j2sbŒc.snd_pcm_capture_empty”†”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Œ substream”h]”hŒ substream”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjDubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj h²hh³jh´M©ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³jh´M©ubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´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³jh´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©)�”}”(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Ð)�”}”(hjh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(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´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¾hjëubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjKh]”hŒ Description”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjIubah}”(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Œ+Checks whether the capture buffer is empty.”h]”hŒ+Checks whether the capture buffer is empty.”…”�”}”(hjah²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©)�”}”(hjrh]”hŒReturn”…”�”}”(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´M­hjëubj{)�”}”(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®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_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_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”…”�”}”(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_pcm_trigger_done”†”asbuh1hhjðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²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”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìubjZ)�”}”(hŒ struct snd_pcm_substream *master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbubh)�”}”(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_trigger_done”†”asbuh1hhjbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjbubj9)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbubeh}”(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Œ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™jÿjšjÿj›‰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©)�”}”(hj h]”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”…”�”}”(hjAh²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¸hjubjÄ)�”}”(hŒA``struct snd_pcm_substream *master`` the linked master substream ”h]”(jÊ)�”}”(hŒ$``struct snd_pcm_substream *master``”h]”jÐ)�”}”(hjah]”hŒ struct snd_pcm_substream *master”…”�”}”(hjch²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 linked master substream”h]”hŒthe linked master substream”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jvh´M¹hjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jvh´M¹hjubeh}”(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”…”�”}”(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Œ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjìh²hh³jþh´Mïubj3)�”}”(hŒparams_channels”h]”j9)�”}”(hŒparams_channels”h]”hŒparams_channels”…”�”}”(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”…”�”}”(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`)�”}”(hjch]”hŒstruct”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjEubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjEubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj‚h²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_channels”†”asbuh1hhjEubj")�”}”(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)�”}”(hjÅh]”hŒp”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjEubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjAubah}”(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 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³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Œ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ð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ðhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjubj{)�”}”(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³Œ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”…”�”}”(hjxh²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Œunsigned int params_periods(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´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j#h´Mubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³j#h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j#h´Mubj3)�”}”(hŒparams_periods”h]”j9)�”}”(hŒparams_periods”h]”hŒparams_periods”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjNubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²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”…”�”}”(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`)�”}”(hjch]”hŒstruct”…”�”}”(hj‰h²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!hjjubh)�”}”(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˜jTsbŒc.params_periods”†”asbuh1hhjjubj")�”}”(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)�”}”(hjÅh]”hŒp”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjfubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³j#h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj h²hh³j#h´Mubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j#h´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³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Œd**Parameters** ``const struct snd_pcm_hw_params *p`` hw params **Return** the number of periods”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Ð)�”}”(hjLh]”hŒ!const struct snd_pcm_hw_params *p”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjJubah}”(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´MhjFubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jah´Mhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jah´MhjCubah}”(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”…”�”}”(hj h²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_hj!ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²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Œ ”…”�”}”(hjMh²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_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)�”}”(hjÅh]”hŒp”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjubah}”(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´Mhjýubjæ)�”}”(hhh]”j{)�”}”(hŒ hw params”h]”hŒ hw params”…”�”}”(hjh²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ú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 buffer size in frames”h]”hŒthe buffer size in frames”…”�”}”(hjTh²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&]”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Œ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j‘h´M&ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³j‘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Œ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&]”jQjRuh1j2hjh²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”…”�”}”(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_buffer_bytes”†”asbuh1hhjØubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjØubj9)�”}”(hjÅh]”hŒp”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÔubah}”(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Œ1Get the buffer size (in bytes) from the hw params”h]”hŒ1Get the buffer size (in bytes) from the hw params”…”�”}”(hjyh²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&hjvh²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Œ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”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj6h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mgubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6h²hh³jHh´Mgubj3)�”}”(hŒsnd_pcm_hw_constraint_single”h]”j9)�”}”(hŒsnd_pcm_hw_constraint_single”h]”hŒsnd_pcm_hw_constraint_single”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjWubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj6h²hh³jHh´MgubjT)�”}”(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”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjsubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjsubh)�”}”(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_single”†”asbuh1hhjsubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjsubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjsubj9)�”}”(hŒruntime”h]”hŒruntime”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjoubjZ)�”}”(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”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjoubjZ)�”}”(hŒunsigned int val”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj1h²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”…”�”}”(hjMh²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”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjoubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj6h²hh³jHh´Mgubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj2h²hh³jHh´Mgubah}”(h]”j-ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jHh´Mghj/h²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´Mghj�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj/h²hh³jHh´Mgubeh}”(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´Mkhj¯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´MhhjÎ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´Mhhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jéh´MhhjË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”…”�”}”(hjh²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´Mihjubjæ)�”}”(hhh]”j{)�”}”(hŒ#The hw_params variable to constrain”h]”hŒ#The hw_params variable to constrain”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j"h´Mihj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"h´MihjËubjÄ)�”}”(hŒ/``unsigned int val`` The value to constrain to ”h]”(jÊ)�”}”(hŒ``unsigned int val``”h]”jÐ)�”}”(hjFh]”hŒunsigned int val”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjDubah}”(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´Mjhj@ubjæ)�”}”(hhh]”j{)�”}”(hŒThe value to constrain to”h]”hŒThe value to constrain to”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j[h´Mjhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j[h´MjhjË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¨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´Mlhj¯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³Œ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_format_cpu_endian (C function)”Œc.snd_pcm_format_cpu_endian”hNt”auh1híhjù[h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ7int snd_pcm_format_cpu_endian (snd_pcm_format_t format)”h]”j )�”}”(hŒ6int snd_pcm_format_cpu_endian(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³Œ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_format_cpu_endian”h]”j9)�”}”(hŒsnd_pcm_format_cpu_endian”h]”hŒsnd_pcm_format_cpu_endian”…”�”}”(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Œ(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_cpu_endian”†”asbuh1hhjÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj4 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 the PCM format is CPU-endian”h]”hŒ"Check the PCM format is CPU-endian”…”�”}”(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™jv jšjv 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 CPU-endian, 0 if opposite, or a negative error code if endian not specified.”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�hjz 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³Œ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 format to check”h]”hŒthe format 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¾hjz 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€hjz ubj{)�”}”(hŒi1 if the given PCM format is CPU-endian, 0 if opposite, or a negative error code if endian not specified.”h]”hŒi1 if the given PCM format is CPU-endian, 0 if opposite, or a negative error code if endian not specified.”…”�”}”(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 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_sync (C function)”Œc.snd_pcm_set_sync”hNt”auh1híhjù[h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ;void snd_pcm_set_sync (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ:void snd_pcm_set_sync(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³Œ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_sync”h]”j9)�”}”(hŒsnd_pcm_set_sync”h]”hŒsnd_pcm_set_sync”…”�”}”(hj@!h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdma_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Ð)�”}”(hjJ$h]”hŒstruct snd_dma_buffer *bufp”…”�”}”(hjL$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjH$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îhjD$ubjæ)�”}”(hhh]”j{)�”}”(hŒ%the buffer information, NULL to clear”h]”hŒ%the buffer information, NULL to clear”…”�”}”(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$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”…”�”}”(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¥)�”}”j˜jÿ$sbŒc.snd_pcm_gettime”†”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Œruntime”h]”hŒruntime”…”�”}”(hjr%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¢]”jS%Œ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©)�”}”(hj.&h]”hŒ Parameters”…”�”}”(hj0&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Ð)�”}”(hjM&h]”hŒstruct snd_pcm_runtime *runtime”…”�”}”(hjO&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjK&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´MhjG&ubjæ)�”}”(hhh]”j{)�”}”(hŒPCM runtime instance”h]”hŒPCM runtime instance”…”�”}”(hjf&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jb&h´Mhjc&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjG&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jb&h´MhjD&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´MhjD&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”…”�”}”(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&]”uh1j8hj8'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_fixed_buffer”†”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Œ substream”h]”hŒ substream”…”�”}”(hjv'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¢]”jW'Œ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”…”�”}”(hj(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”…”�”}”(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¢]”jW'Œc.snd_pcm_set_fixed_buffer”†”asbuh1hhj0(ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0(ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjc(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0(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´M3hj©(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´M0hjÈ(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´M0hjä(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÈ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jã(h´M0hjÅ(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´M1hj)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´M1hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j)h´M1hjÅ(ubjÄ)�”}”(hŒ0``struct device *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``struct device *data``”h]”jÐ)�”}”(hj@)h]”hŒstruct device *data”…”�”}”(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´M2hj:)ubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hjY)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU)h´M2hjV)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU)h´M2hjÅ(ubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hjy)h]”hŒ size_t size”…”�”}”(hj{)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw)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´M3hjs)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´M3hj�)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjs)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽ)h´M3hjÅ(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´M5hj©(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´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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´M9hj©(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´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_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”…”�”}”(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´MDubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/*h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj*h²hh³j.*h´MDubj3)�”}”(hŒsnd_pcm_set_fixed_buffer_all”h]”j9)�”}”(hŒsnd_pcm_set_fixed_buffer_all”h]”hŒsnd_pcm_set_fixed_buffer_all”…”�”}”(hjA*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj=*ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj*h²hh³j.*h´MDubjT)�”}”(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”…”�”}”(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_pcm”h]”hŒsnd_pcm”…”�”}”(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_pcm_set_fixed_buffer_all”†”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Œpcm”h]”hŒpcm”…”�”}”(hj¶*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjY*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjU*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”ˆjQjRuh1jYhjU*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¢]”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+ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjN+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”ˆjQjRuh1jYhjU*ubjZ)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(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_pcm_set_fixed_buffer_all”†”asbuh1hhjp+ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•+h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjp+ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj£+h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjp+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjU*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Œ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´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Ÿ)�”}”(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´MHhjé+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´MEhj,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´MEhj$,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j#,h´MEhj,ubjÄ)�”}”(hŒ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjG,h]”hŒint type”…”�”}”(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´MFhjA,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´MFhj],ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjA,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j\,h´MFhj,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´MGhjz,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´MGhj–,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjz,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j•,h´MGhj,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´MHhj³,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´MHhjÏ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÎ,h´MHhj,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´MJhjé+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´MIhjé+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´MMhjé+ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hj1-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´MNhjé+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”…”�”}”(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¥)�”}”j˜Œsnd_pcm_sgbuf_get_addr”sbŒc.snd_pcm_sgbuf_get_addr”†”asbuh1hhj\-h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”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_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&]”jQjRuh1j2hj\-h²hh³j„-h´MZubjT)�”}”(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Œ ”…”�”}”(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Œ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Œ ”…”�”}”(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Œofs”h]”hŒofs”…”�”}”(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´MZubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjX-h²hh³j„-h´MZubah}”(h]”jS-ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j„-h´MZhjU-h²hubjv)�”}”(hhh]”j{)�”}”(hŒ/Get the DMA address at the corresponding offset”h]”hŒ/Get the DMA address at the corresponding offset”…”�”}”(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´MZhj�.h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjU-h²hh³j„-h´MZubeh}”(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 ``unsigned int ofs`` byte offset **Return** DMA address”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Œ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´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Œ!``unsigned int ofs`` byte offset ”h]”(jÊ)�”}”(hŒ``unsigned int ofs``”h]”jÐ)�”}”(hjþ.h]”hŒunsigned int ofs”…”�”}”(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Œ byte offset”h]”hŒ byte offset”…”�”}”(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Œ DMA address”h]”hŒ DMA address”…”�”}”(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úŒ)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~/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjz/h²hh³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”•h´Mgubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjz/h²hh³jŒ/h´Mgubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj›/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjz/h²hh³jŒ/h´Mgubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©/h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjz/h²hh³jŒ/h´Mgubj3)�”}”(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»/h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj·/ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjz/h²hh³jŒ/h´MgubjT)�”}”(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×/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_sgbuf_get_chunk_size”†”asbuh1hhjÓ/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Œ substream”h]”hŒ substream”…”�”}”(hj00h²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”…”�”}”(hjI0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjE0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjE0ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hje0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjE0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjE0ubj9)�”}”(hŒofs”h]”hŒofs”…”�”}”(hj�0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjE0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÏ/ubjZ)�”}”(hŒunsigned int size”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjš0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj–0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–0ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj–0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj–0ubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjÒ0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj–0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÏ/ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjz/h²hh³jŒ/h´Mgubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjv/h²hh³jŒ/h´Mgubah}”(h]”jq/ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŒ/h´Mghjs/h²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”…”�”}”(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´Mghjù0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjs/h²hh³jŒ/h´Mgubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j1jšj1j›‰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©)�”}”(hj1h]”hŒ Parameters”…”�”}”(hj 1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj1ubah}”(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´Mkhj1ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hj=1h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(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:34: ./include/sound/pcm.h”h´Mihj71ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjV1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jR1h´MihjS1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj71ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jR1h´Mihj41ubjÄ)�”}”(hŒ!``unsigned int ofs`` byte offset ”h]”(jÊ)�”}”(hŒ``unsigned int ofs``”h]”jÐ)�”}”(hjv1h]”hŒunsigned int ofs”…”�”}”(hjx1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjt1ubah}”(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´Mjhjp1ubjæ)�”}”(hhh]”j{)�”}”(hŒ byte offset”h]”hŒ byte offset”…”�”}”(hj�1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹1h´MjhjŒ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjp1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹1h´Mjhj41ubjÄ)�”}”(hŒ+``unsigned int size`` byte size to examine ”h]”(jÊ)�”}”(hŒ``unsigned int size``”h]”jÐ)�”}”(hj¯1h]”hŒunsigned int size”…”�”}”(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:34: ./include/sound/pcm.h”h´Mkhj©1ubjæ)�”}”(hhh]”j{)�”}”(hŒbyte size to examine”h]”hŒbyte size to examine”…”�”}”(hjÈ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÄ1h´MkhjÅ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄ1h´Mkhj41ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:34: ./include/sound/pcm.h”h´Mmhj1ubj{)�”}”(hŒ chunk size”h]”hŒ chunk size”…”�”}”(hj2h²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´Mmhj1ubeh}”(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”…”�”}”(hj/2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj+2h²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>2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+2h²hh³j=2h´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”…”�”}”(hjP2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL2ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+2h²hh³j=2h´M„ubjT)�”}”(hŒ(int dma, size_t *max)”h]”(jZ)�”}”(hŒint dma”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjl2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh2ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh2ubj9)�”}”(hŒdma”h]”hŒdma”…”�”}”(hjˆ2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjh2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd2ubjZ)�”}”(hŒ size_t *max”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj¤2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¡2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¦2Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jR2sbŒc.snd_pcm_limit_isa_dma_size”†”asbuh1hhj�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Œmax”h]”hŒmax”…”�”}”(hjß2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd2ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj+2h²hh³j=2h´M„ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj'2h²hh³j=2h´M„ubah}”(h]”j"2ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j=2h´M„hj$2h²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Get the max size fitting with ISA DMA transfer”h]”hŒ.Get the max size fitting with ISA DMA transfer”…”�”}”(hj 3h²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„hj3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj$2h²hh³j=2h´M„ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j!3jšj!3j›‰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©)�”}”(hj+3h]”hŒ Parameters”…”�”}”(hj-3h²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´Mˆhj%3ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``int dma`` DMA number ”h]”(jÊ)�”}”(hŒ ``int dma``”h]”jÐ)�”}”(hjJ3h]”hŒint dma”…”�”}”(hjL3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjH3ubah}”(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…hjD3ubjæ)�”}”(hhh]”j{)�”}”(hŒ DMA number”h]”hŒ DMA number”…”�”}”(hjc3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_3h´M…hj`3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjD3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_3h´M…hjA3ubjÄ)�”}”(hŒ-``size_t *max`` pointer to store the max size”h]”(jÊ)�”}”(hŒ``size_t *max``”h]”jÐ)�”}”(hjƒ3h]”hŒ size_t *max”…”�”}”(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´M‡hj}3ubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to store the max size”h]”hŒpointer to store the max size”…”�”}”(hjœ3h²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™3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜3h´M‡hjA3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj%3ubeh}”(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Ý3h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÙ3h²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ë3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÙ3h²hh³jê3h´M™ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjù3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÙ3h²hh³jê3h´M™ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÙ3h²hh³jê3h´M™ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÙ3h²hh³jê3h´M™ubj3)�”}”(hŒsnd_pcm_direction_name”h]”j9)�”}”(hŒsnd_pcm_direction_name”h]”hŒsnd_pcm_direction_name”…”�”}”(hj&4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj"4ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÙ3h²hh³jê3h´M™ubjT)�”}”(hŒ(int direction)”h]”jZ)�”}”(hŒ int direction”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjB4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj>4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>4ubj9)�”}”(hŒ direction”h]”hŒ direction”…”�”}”(hj^4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj:4ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÙ3h²hh³jê3h´M™ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÕ3h²hh³jê3h´M™ubah}”(h]”jÐ3ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jê3h´M™hjÒ3h²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ˆ4h²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…4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÒ3h²hh³jê3h´M™ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j 4jšj 4j›‰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ª4h]”hŒ Parameters”…”�”}”(hj¬4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¨4ubah}”(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¤4ubj¿)�”}”(hhh]”jÄ)�”}”(hŒB``int direction`` Stream's direction, one of SNDRV_PCM_STREAM_XXX ”h]”(jÊ)�”}”(hŒ``int direction``”h]”jÐ)�”}”(hjÉ4h]”hŒ int direction”…”�”}”(hjË4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÇ4ubah}”(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Ã4ubjæ)�”}”(hhh]”j{)�”}”(hŒ/Stream's direction, one of SNDRV_PCM_STREAM_XXX”h]”hŒ1Stream’s direction, one of SNDRV_PCM_STREAM_XXX”…”�”}”(hjâ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÞ4h´Mšhjß4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÃ4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÞ4h´MšhjÀ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¤4ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj5h]”hŒ Description”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5ubah}”(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¤4ubj{)�”}”(hŒ4Returns a string naming the direction of the stream.”h]”hŒ4Returns a string naming the direction of the stream.”…”�”}”(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›hj¤4ubeh}”(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”…”�”}”(hjI5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjE5h²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Œ ”…”�”}”(hjW5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjE5h²hh³jV5h´M§ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hje5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjE5h²hh³jV5h´M§ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjE5h²hh³jV5h´M§ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj�5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjE5h²hh³jV5h´M§ubj3)�”}”(hŒsnd_pcm_stream_str”h]”j9)�”}”(hŒsnd_pcm_stream_str”h]”hŒsnd_pcm_stream_str”…”�”}”(hj’5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽ5ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjE5h²hh³jV5h´M§ubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”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_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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˜j”5sbŒc.snd_pcm_stream_str”†”asbuh1hhjª5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjª5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjú5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjª5ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjª5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¦5ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjE5h²hh³jV5h´M§ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjA5h²hh³jV5h´M§ubah}”(h]”j<5ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jV5h´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”…”�”}”(hj16h²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³jV5h´M§ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jI6jšjI6j›‰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©)�”}”(hjS6h]”hŒ Parameters”…”�”}”(hjU6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjQ6ubah}”(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«hjM6ubj¿)�”}”(hhh]”jÄ)�”}”(hŒC``struct snd_pcm_substream *substream`` the pcm substream instance ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjr6h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjt6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjp6ubah}”(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¨hjl6ubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm substream instance”h]”hŒthe pcm substream instance”…”�”}”(hj‹6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‡6h´M¨hjˆ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjl6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡6h´M¨hji6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjM6ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj­6h]”hŒReturn”…”�”}”(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ªhjM6ubj{)�”}”(hŒ,A string naming the direction of the stream.”h]”hŒ,A string naming the direction of the 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ªhjM6ubeh}”(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”…”�”}”(hjò6h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjî6h²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Œ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî6h²hh³jÿ6h´MÆubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j7Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_chmap_substream”sbŒc.snd_pcm_chmap_substream”†”asbuh1hhjî6h²hh³jÿ6h´MÆubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj27h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî6h²hh³jÿ6h´MÆubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj@7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjî6h²hh³jÿ6h´MÆubj3)�”}”(hŒsnd_pcm_chmap_substream”h]”j9)�”}”(hj/7h]”hŒsnd_pcm_chmap_substream”…”�”}”(hjQ7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjM7ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjî6h²hh³jÿ6h´MÆubjT)�”}”(hŒ.(struct snd_pcm_chmap *info, unsigned int idx)”h]”(jZ)�”}”(hŒstruct snd_pcm_chmap *info”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjl7h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjh7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh7ubh)�”}”(hhh]”j9)�”}”(hŒ snd_pcm_chmap”h]”hŒ snd_pcm_chmap”…”�”}”(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-7Œc.snd_pcm_chmap_substream”†”asbuh1hhjh7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh7ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¶7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjh7ubj9)�”}”(hŒinfo”h]”hŒinfo”…”�”}”(hjÃ7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjh7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd7ubjZ)�”}”(hŒunsigned int idx”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÜ7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjØ7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØ7ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjø7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjØ7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØ7ubj9)�”}”(hŒidx”h]”hŒidx”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjØ7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjd7ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjî6h²hh³jÿ6h´MÆubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjê6h²hh³jÿ6h´MÆubah}”(h]”jå6ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÿ6h´MÆhjç6h²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”…”�”}”(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Æhj;8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjç6h²hh³jÿ6h´MÆubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jV8jšjV8j›‰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©)�”}”(hj`8h]”hŒ Parameters”…”�”}”(hjb8h²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ÊhjZ8ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ1``struct snd_pcm_chmap *info`` chmap information ”h]”(jÊ)�”}”(hŒ``struct snd_pcm_chmap *info``”h]”jÐ)�”}”(hj8h]”hŒstruct snd_pcm_chmap *info”…”�”}”(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Çhjy8ubjæ)�”}”(hhh]”j{)�”}”(hŒchmap information”h]”hŒchmap information”…”�”}”(hj˜8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j”8h´MÇhj•8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjy8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j”8h´MÇhjv8ubjÄ)�”}”(hŒ0``unsigned int idx`` the substream number index ”h]”(jÊ)�”}”(hŒ``unsigned int idx``”h]”jÐ)�”}”(hj¸8h]”hŒunsigned int idx”…”�”}”(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 substream number index”h]”hŒthe substream number index”…”�”}”(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Èhjv8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjZ8ubj{)�”}”(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ÊhjZ8ubj{)�”}”(hŒ/the matched PCM substream, or NULL if not found”h]”hŒ/the matched PCM substream, or NULL if not found”…”�”}”(hj 9h²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ÊhjZ8ubeh}”(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”…”�”}”(hj;9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj89ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j=9Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œpcm_format_to_bits”sbŒc.pcm_format_to_bits”†”asbuh1hhj49h²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]9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj49h²hh³j\9h´Mçubj3)�”}”(hŒpcm_format_to_bits”h]”j9)�”}”(hjY9h]”hŒpcm_format_to_bits”…”�”}”(hjo9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjk9ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj49h²hh³j\9h´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�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¢]”jW9Œc.pcm_format_to_bits”†”asbuh1hhj†9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj†9ubj9)�”}”(hŒ pcm_format”h]”hŒ pcm_format”…”�”}”(hj¹9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj†9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‚9ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj49h²hh³j\9h´Mçubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj09h²hh³j\9h´Mçubah}”(h]”j+9ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j\9h´Mçhj-9h²hubjv)�”}”(hhh]”j{)�”}”(hŒ0Strong-typed conversion of pcm_format to bitwise”h]”hŒ0Strong-typed conversion of pcm_format to bitwise”…”�”}”(hjã9h²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à9h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj-9h²hh³j\9h´Mçubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jû9jšjû9j›‰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ÿ9ubj¿)�”}”(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Ï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 format”h]”hŒ PCM format”…”�”}”(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ÿ9ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj_:h]”hŒReturn”…”�”}”(hja: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ÿ9ubj{)�”}”(hŒ064bit mask corresponding to the given PCM format”h]”hŒ064bit mask corresponding to the given PCM format”…”�”}”(hju: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ÿ9ubeh}”(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Ð)�”}”(hj.;h]”hŒf”…”�”}”(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´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”…”�”}”(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´MóhjD;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jC;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”…”�”}”(hjz;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjw;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íhjw;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”…”�”}”(hj9<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ðhj6<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj–;h²hh³j¯;h´Kðubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jQ<jšjQ<j›‰jœ‰j�‰uh1hþh²hhjw;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©)�”}”(hj[<h]”hŒ Parameters”…”�”}”(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:38: ./sound/core/pcm_misc.c”h´KôhjU<ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjz<h]”hŒsnd_pcm_format_t format”…”�”}”(hj|<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjx<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ñhjt<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åhjt<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�<h´Kñhjq<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjU<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óhjU<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óhjU<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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”…”�”}”(hj=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”…”�”}”(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_pcm_format_unsigned”†”asbuh1hhj3=ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ=h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3=ubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjh=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3=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Œ'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²hhjw;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žhjw;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íhjw;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”…”�”}”(hjS>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjO>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Œ ”…”�”}”(hjb>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjO>h²hh³ja>h´Mubj3)�”}”(hŒsnd_pcm_format_linear”h]”j9)�”}”(hŒsnd_pcm_format_linear”h]”hŒsnd_pcm_format_linear”…”�”}”(hjt>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjp>ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjO>h²hh³ja>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˜jv>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&]”jQjRuh1jShjO>h²hh³ja>h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjK>h²hh³ja>h´Mubah}”(h]”jF>ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³ja>h´MhjH>h²hubjv)�”}”(hhh]”j{)�”}”(hŒCheck the PCM format is linear”h]”hŒCheck the PCM format is 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&]”uh1juhjH>h²hh³ja>h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j?jšj?j›‰jœ‰j�‰uh1hþh²hhjw;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 ?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”…”�”}”(hjE?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jA?h´MhjB?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj&?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jA?h´Mhj#?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj?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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´Mhj?ubj{)�”}”(hŒ.1 if the given PCM format is linear, 0 if not.”h]”hŒ.1 if the given PCM format is linear, 0 if not.”…”�”}”(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žhjw;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_pcm_format_little_endian (C function)”Œc.snd_pcm_format_little_endian”hNt”auh1híhjw;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ:int snd_pcm_format_little_endian (snd_pcm_format_t format)”h]”j )�”}”(hŒ9int snd_pcm_format_little_endian(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´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_format_little_endian”h]”j9)�”}”(hŒsnd_pcm_format_little_endian”h]”hŒsnd_pcm_format_little_endian”…”�”}”(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Œ(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_little_endian”†”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´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 the PCM format is little-endian”h]”hŒ%Check the PCM format is little-endian”…”�”}”(hjD@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´M!hjA@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²hhjw;h³Nh´NubjŸ)�”}”(hŒ½**Parameters** ``snd_pcm_format_t format`` the format to check **Return** 1 if the given PCM format is little-endian, 0 if big-endian, or a negative error code if endian not specified.”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:38: ./sound/core/pcm_misc.c”h´M%hj`@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´M"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´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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M$hj`@ubj{)�”}”(hŒn1 if the given PCM format is little-endian, 0 if big-endian, or a negative error code if endian not specified.”h]”hŒn1 if the given PCM format is little-endian, 0 if big-endian, or a negative error code if endian not specified.”…”�”}”(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´M$hj`@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_pcm_format_big_endian (C function)”Œc.snd_pcm_format_big_endian”hNt”auh1híhjw;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ7int snd_pcm_format_big_endian (snd_pcm_format_t format)”h]”j )�”}”(hŒ6int snd_pcm_format_big_endian(snd_pcm_format_t format)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjAh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.c”h´M4ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjAh²hh³jAh´M4ubj3)�”}”(hŒsnd_pcm_format_big_endian”h]”j9)�”}”(hŒsnd_pcm_format_big_endian”h]”hŒsnd_pcm_format_big_endian”…”�”}”(hj&Ah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj"Aubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjAh²hh³jAh´M4ubjT)�”}”(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”…”�”}”(hjEAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jGAŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j(AsbŒc.snd_pcm_format_big_endian”†”asbuh1hhj>Aubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>Aubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjsAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj:Aubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjAh²hh³jAh´M4ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjý@h²hh³jAh´M4ubah}”(h]”jø@ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jAh´M4hjú@h²hubjv)�”}”(hhh]”j{)�”}”(hŒ"Check the PCM format is big-endian”h]”hŒ"Check the PCM format is big-endian”…”�”}”(hj�Ah²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šAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjú@h²hh³jAh´M4ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jµAjšjµAj›‰jœ‰j�‰uh1hþh²hhjw;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¿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´M8hj¹Aubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjÞAh]”hŒsnd_pcm_format_t format”…”�”}”(hjàAh²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´M5hjØAubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hj÷Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jóAh´M5hjôAubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjØAubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jóAh´M5hjÕAubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¹Aubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjBh]”hŒReturn”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjBubah}”(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¹Aubj{)�”}”(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.”…”�”}”(hj/Bh²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¹Aubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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”…”�”}”(hj^Bh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjZBh²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Œ ”…”�”}”(hjmBh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZBh²hh³jlBh´MFubj3)�”}”(hŒsnd_pcm_format_width”h]”j9)�”}”(hŒsnd_pcm_format_width”h]”hŒsnd_pcm_format_width”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{Bubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjZBh²hh³jlBh´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ž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˜j�BsbŒc.snd_pcm_format_width”†”asbuh1hhj—Bubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾Bh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj—Bubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjÌBh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—Bubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj“Bubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjZBh²hh³jlBh´MFubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjVBh²hh³jlBh´MFubah}”(h]”jQBah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jlBh´MFhjSBh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"return the bit-width of the format”h]”hŒ"return the bit-width of the format”…”�”}”(hjöBh²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óBh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjSBh²hh³jlBh´MFubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jCjšjCj›‰jœ‰j�‰uh1hþh²hhjw;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©)�”}”(hjCh]”hŒ Parameters”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjCubah}”(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´MJhjCubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj7Ch]”hŒsnd_pcm_format_t format”…”�”}”(hj9Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj5Cubah}”(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´MGhj1Cubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hjPCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jLCh´MGhjMCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj1Cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jLCh´MGhj.Cubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjCubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjrCh]”hŒReturn”…”�”}”(hjtCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjpCubah}”(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´MIhjCubj{)�”}”(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ˆ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´MIhjCubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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·Ch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj³Ch²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ÆCh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³Ch²hh³jÅCh´MYubj3)�”}”(hŒsnd_pcm_format_physical_width”h]”j9)�”}”(hŒsnd_pcm_format_physical_width”h]”hŒsnd_pcm_format_physical_width”…”�”}”(hjØCh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÔCubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj³Ch²hh³jÅCh´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÷Ch²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjôCubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jùCŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÚCsbŒc.snd_pcm_format_physical_width”†”asbuh1hhjðCubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjðCubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj%Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjðCubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjìCubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj³Ch²hh³jÅCh´MYubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¯Ch²hh³jÅCh´MYubah}”(h]”jªCah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅCh´MYhj¬Ch²hubjv)�”}”(hhh]”j{)�”}”(hŒ+return the physical bit-width of the format”h]”hŒ+return the physical bit-width of the format”…”�”}”(hjODh²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´MYhjLDh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¬Ch²hh³jÅCh´MYubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jgDjšjgDj›‰jœ‰j�‰uh1hþh²hhjw;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©)�”}”(hjqDh]”hŒ Parameters”…”�”}”(hjsDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjoDubah}”(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]hjkDubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hj�Dh]”hŒsnd_pcm_format_t format”…”�”}”(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:38: ./sound/core/pcm_misc.c”h´MZhjŠDubjæ)�”}”(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´MZhj¦Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŠDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¥Dh´MZhj‡Dubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjkDubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjËDh]”hŒReturn”…”�”}”(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:38: ./sound/core/pcm_misc.c”h´M\hjkDubj{)�”}”(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áDh²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\hjkDubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8•hjEubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jEŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_pcm_format_size”sbŒc.snd_pcm_format_size”†”asbuh1hhj Eh²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Œ ”…”�”}”(hj5Eh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Eh²hh³j4Eh´Mlubj3)�”}”(hŒsnd_pcm_format_size”h]”j9)�”}”(hj1Eh]”hŒsnd_pcm_format_size”…”�”}”(hjGEh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjCEubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj Eh²hh³j4Eh´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”…”�”}”(hjeEh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbEubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jgEŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j/EŒc.snd_pcm_format_size”†”asbuh1hhj^Eubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒEh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^Eubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj‘Eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZEubjZ)�”}”(hŒsize_t samples”h]”(h)�”}”(hhh]”j9)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(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/EŒc.snd_pcm_format_size”†”asbuh1hhj¦Eubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËEh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦Eubj9)�”}”(hŒsamples”h]”hŒsamples”…”�”}”(hjÙEh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦Eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZEubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj Eh²hh³j4Eh´Mlubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjEh²hh³j4Eh´Mlubah}”(h]”jEah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j4Eh´MlhjEh²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”…”�”}”(hjFh²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´MlhjFh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjEh²hh³j4Eh´Mlubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jFjšjFj›‰jœ‰j�‰uh1hþh²hhjw;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%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´MphjFubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjDFh]”hŒsnd_pcm_format_t format”…”�”}”(hjFFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjBFubah}”(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´Mmhj>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³jYFh´MmhjZFubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jYFh´Mmhj;FubjÄ)�”}”(hŒ!``size_t samples`` sampling rate ”h]”(jÊ)�”}”(hŒ``size_t samples``”h]”jÐ)�”}”(hj}Fh]”hŒsize_t samples”…”�”}”(hjFh²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´MnhjwFubjæ)�”}”(hhh]”j{)�”}”(hŒ sampling rate”h]”hŒ sampling rate”…”�”}”(hj–Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j’Fh´Mnhj“Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjwFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’Fh´Mnhj;Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjFubj{)�”}”(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´MphjFubj{)�”}”(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Î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´MphjFubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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”…”�”}”(hjýFh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjùFh²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 Gh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjùFh²hh³j Gh´M}ubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjùFh²hh³j Gh´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Gh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjùFh²hh³j Gh´M}ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj5Gh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjùFh²hh³j Gh´M}ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjùFh²hh³j Gh´M}ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjQGh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjùFh²hh³j Gh´M}ubj3)�”}”(hŒsnd_pcm_format_silence_64”h]”j9)�”}”(hŒsnd_pcm_format_silence_64”h]”hŒsnd_pcm_format_silence_64”…”�”}”(hjbGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Gubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjùFh²hh³j Gh´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�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˜jdGsbŒc.snd_pcm_format_silence_64”†”asbuh1hhjzGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡Gh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzGubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hj¯Gh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjvGubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjùFh²hh³j Gh´M}ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjõFh²hh³j Gh´M}ubah}”(h]”jðFah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j Gh´M}hjòFh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'return the silent data in 8 bytes array”h]”hŒ'return the silent data in 8 bytes 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:38: ./sound/core/pcm_misc.c”h´M}hjÖGh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjòFh²hh³j Gh´M}ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jñGjšjñGj›‰jœ‰j�‰uh1hþh²hhjw;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©)�”}”(hjûGh]”hŒ Parameters”…”�”}”(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:38: ./sound/core/pcm_misc.c”h´M�hjõGubj¿)�”}”(hhh]”jÄ)�”}”(hŒ0``snd_pcm_format_t format`` the format to check ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjHh]”hŒsnd_pcm_format_t format”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjHubah}”(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~hjHubjæ)�”}”(hhh]”j{)�”}”(hŒthe format to check”h]”hŒthe format to check”…”�”}”(hj3Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j/Hh´M~hj0Hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j/Hh´M~hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjõGubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjUHh]”hŒReturn”…”�”}”(hjWHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjSHubah}”(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õGubj{)�”}”(hŒ0The format pattern to fill or ``NULL`` if error.”h]”(hŒThe format pattern to fill or ”…”�”}”(hjkHh²hh³Nh´NubjÐ)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjsHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjkHubhŒ if error.”…”�”}”(hjkHh²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õGubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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¬Hh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¨Hh²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»Hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨Hh²hh³jºHh´M�ubj3)�”}”(hŒsnd_pcm_format_set_silence”h]”j9)�”}”(hŒsnd_pcm_format_set_silence”h]”hŒsnd_pcm_format_set_silence”…”�”}”(hjÍHh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÉHubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¨Hh²hh³jºHh´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”…”�”}”(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˜jÏHsbŒc.snd_pcm_format_set_silence”†”asbuh1hhjåHubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjåHubj9)�”}”(hŒformat”h]”hŒformat”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjåHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjáHubjZ)�”}”(hŒ void *data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj3Ih²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj/Iubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/Iubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjOIh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj/Iubj9)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj\Ih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj/Iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjáHubjZ)�”}”(hŒunsigned int samples”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjuIh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjqIubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqIubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‘Ih²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjqIubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸIh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqIubj9)�”}”(hŒsamples”h]”hŒsamples”…”�”}”(hj­Ih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqIubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjáHubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¨Hh²hh³jºHh´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¤Hh²hh³jºHh´M�ubah}”(h]”jŸHah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jºHh´M�hj¡Hh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"set the silence data on the buffer”h]”hŒ"set the silence data on the buffer”…”�”}”(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&]”uh1juhj¡Hh²hh³jºHh´M�ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jïIjšjïIj›‰jœ‰j�‰uh1hþh²hhjw;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©)�”}”(hjùIh]”hŒ Parameters”…”�”}”(hjûIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj÷Iubah}”(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óIubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ+``snd_pcm_format_t format`` the PCM format ”h]”(jÊ)�”}”(hŒ``snd_pcm_format_t format``”h]”jÐ)�”}”(hjJh]”hŒsnd_pcm_format_t format”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjJubah}”(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ŽhjJubjæ)�”}”(hhh]”j{)�”}”(hŒthe PCM format”h]”hŒthe PCM format”…”�”}”(hj1Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j-Jh´MŽhj.Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjJubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j-Jh´MŽhjJubjÄ)�”}”(hŒ"``void *data`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``void *data``”h]”jÐ)�”}”(hjQJh]”hŒ void *data”…”�”}”(hjSJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjOJubah}”(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�hjKJubjæ)�”}”(hhh]”j{)�”}”(hŒthe buffer pointer”h]”hŒthe buffer pointer”…”�”}”(hjjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jfJh´M�hjgJubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjKJubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jfJh´M�hjJubjÄ)�”}”(hŒ>``unsigned int samples`` the number of samples to set silence ”h]”(jÊ)�”}”(hŒ``unsigned int samples``”h]”jÐ)�”}”(hjŠJh]”hŒunsigned int samples”…”�”}”(hjŒJh²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 number of samples to set silence”h]”hŒ$the number of samples to set silence”…”�”}”(hj£Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŸJh´M�hj Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj„Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŸJh´M�hjJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjóIubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjÅJh]”hŒ Description”…”�”}”(hjÇJh²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:38: ./sound/core/pcm_misc.c”h´M’hjóIubj{)�”}”(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ÛJh²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ó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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:38: ./sound/core/pcm_misc.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.”…”�”}”(hjKh²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óIubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;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íhjw;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”…”�”}”(hj1Kh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj-Kh²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@Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-Kh²hh³j?Kh´MÔubj3)�”}”(hŒsnd_pcm_hw_limit_rates”h]”j9)�”}”(hŒsnd_pcm_hw_limit_rates”h]”hŒsnd_pcm_hw_limit_rates”…”�”}”(hjRKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjNKubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj-Kh²hh³j?Kh´MÔubjT)�”}”(hŒ(struct snd_pcm_hardware *hw)”h]”jZ)�”}”(hŒstruct snd_pcm_hardware *hw”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjnKh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjjKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjKubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hardware”h]”hŒsnd_pcm_hardware”…”�”}”(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˜jTKsbŒc.snd_pcm_hw_limit_rates”†”asbuh1hhjjKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjjKubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjºKh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjjKubj9)�”}”(hŒhw”h]”hŒhw”…”�”}”(hjÇKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjjKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjfKubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj-Kh²hh³j?Kh´MÔubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj)Kh²hh³j?Kh´MÔubah}”(h]”j$Kah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j?Kh´MÔhj&Kh²hubjv)�”}”(hhh]”j{)�”}”(hŒ"determine rate_min/rate_max fields”h]”hŒ"determine rate_min/rate_max fields”…”�”}”(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&Kh²hh³j?Kh´MÔubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j Ljšj Lj›‰jœ‰j�‰uh1hþh²hhjw;h³Nh´NubjŸ)�”}”(hŒÉ**Parameters** ``struct snd_pcm_hardware *hw`` the pcm hw instance **Description** Determines the rate_min and rate_max fields from the rates bits of the given hw. **Return** Zero if successful.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjLh]”hŒ Parameters”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjLubah}”(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Œ4``struct snd_pcm_hardware *hw`` the pcm hw instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm_hardware *hw``”h]”jÐ)�”}”(hj2Lh]”hŒstruct snd_pcm_hardware *hw”…”�”}”(hj4Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0Lubah}”(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 hw instance”h]”hŒthe pcm hw instance”…”�”}”(hjKLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jGLh´MÕhjHLubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jGLh´MÕhj)Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Lubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjmLh]”hŒ Description”…”�”}”(hjoLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjkLubah}”(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ŒPDetermines the rate_min and rate_max fields from the rates bits of the given hw.”h]”hŒPDetermines the rate_min and rate_max fields from the rates bits of the given hw.”…”�”}”(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©)�”}”(hj”Lh]”hŒReturn”…”�”}”(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ŒZero if successful.”h]”hŒZero if successful.”…”�”}”(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 Lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_rate_to_rate_bit (C function)”Œc.snd_pcm_rate_to_rate_bit”hNt”auh1híhjw;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ9unsigned int snd_pcm_rate_to_rate_bit (unsigned int rate)”h]”j )�”}”(hŒ8unsigned int snd_pcm_rate_to_rate_bit(unsigned int rate)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÙLh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÕLh²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èLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÕLh²hh³jçLh´Mòubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjöLh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÕLh²hh³jçLh´Mòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÕLh²hh³jçLh´Mòubj3)�”}”(hŒsnd_pcm_rate_to_rate_bit”h]”j9)�”}”(hŒsnd_pcm_rate_to_rate_bit”h]”hŒsnd_pcm_rate_to_rate_bit”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÕLh²hh³jçLh´MòubjT)�”}”(hŒ(unsigned int rate)”h]”jZ)�”}”(hŒunsigned int rate”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj2Mh²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Œint”h]”hŒint”…”�”}”(hjNMh²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Œrate”h]”hŒrate”…”�”}”(hjjMh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.Mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj*Mubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÕLh²hh³jçLh´Mòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÑLh²hh³jçLh´Mòubah}”(h]”jÌLah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jçLh´MòhjÎLh²hubjv)�”}”(hhh]”j{)�”}”(hŒ.converts sample rate to SNDRV_PCM_RATE_xxx bit”h]”hŒ.converts sample rate to SNDRV_PCM_RATE_xxx bit”…”�”}”(hj”Mh²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‘Mh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÎLh²hh³jçLh´Mòubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¬Mjšj¬Mj›‰jœ‰j�‰uh1hþh²hhjw;h³Nh´NubjŸ)�”}”(hŒ»**Parameters** ``unsigned int rate`` the sample rate to convert **Return** The SNDRV_PCM_RATE_xxx flag that corresponds to the given rate, or SNDRV_PCM_RATE_KNOT for an unknown rate.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj¶Mh]”hŒ Parameters”…”�”}”(hj¸Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj´Mubah}”(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°Mubj¿)�”}”(hhh]”jÄ)�”}”(hŒ1``unsigned int rate`` the sample rate to convert ”h]”(jÊ)�”}”(hŒ``unsigned int rate``”h]”jÐ)�”}”(hjÕMh]”hŒunsigned int rate”…”�”}”(hj×Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÓMubah}”(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ÏMubjæ)�”}”(hhh]”j{)�”}”(hŒthe sample rate to convert”h]”hŒthe sample rate to convert”…”�”}”(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óhjÌMubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj°Mubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjNh]”hŒReturn”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjNubah}”(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°Mubj{)�”}”(hŒkThe SNDRV_PCM_RATE_xxx flag that corresponds to the given rate, or SNDRV_PCM_RATE_KNOT for an unknown rate.”h]”hŒkThe SNDRV_PCM_RATE_xxx flag that corresponds to the given rate, or SNDRV_PCM_RATE_KNOT for an unknown rate.”…”�”}”(hj&Nh²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°Mubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjw;h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ%snd_pcm_rate_bit_to_rate (C function)”Œc.snd_pcm_rate_bit_to_rate”hNt”auh1híhjw;h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=unsigned int snd_pcm_rate_bit_to_rate (unsigned int rate_bit)”h]”j )�”}”(hŒvoid snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj˜Sh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj”Sh²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§Sh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj”Sh²hh³j¦Sh´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¹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_pcm *pcm)”h]”jZ)�”}”(hŒstruct snd_pcm *pcm”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_pcm”h]”hŒsnd_pcm”…”�”}”(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_pcm_lib_preallocate_free_for_all”†”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Œpcm”h]”hŒpcm”…”�”}”(hj.Th²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Œ,release all pre-allocated buffers on the pcm”h]”hŒ,release all pre-allocated buffers on the pcm”…”�”}”(hjXTh²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‡hjUTh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj�Sh²hh³j¦Sh´K‡ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jpTjšjpTj›‰jœ‰j�‰uh1hþh²hhjíQh³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©)�”}”(hjzTh]”hŒ Parameters”…”�”}”(hj|Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjxTubah}”(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‹hjtTubj¿)�”}”(hhh]”jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hj™Th]”hŒstruct snd_pcm *pcm”…”�”}”(hj›Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj—Tubah}”(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“Tubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm instance”…”�”}”(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¾hjtTubj{)�”}”(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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´KŠhjtTubj{)�”}”(hŒ8Releases all the pre-allocated buffers on the given pcm.”h]”hŒ8Releases all the pre-allocated buffers on the given pcm.”…”�”}”(hjêTh²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‰hjtTubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjíQh²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íhjíQh²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”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjUh²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(Uh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjUh²hh³j'Uh´M9ubj3)�”}”(hŒsnd_pcm_lib_preallocate_pages”h]”j9)�”}”(hŒsnd_pcm_lib_preallocate_pages”h]”hŒsnd_pcm_lib_preallocate_pages”…”�”}”(hj:Uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6Uubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjUh²hh³j'Uh´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”…”�”}”(hjVUh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjRUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcUh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjRUubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjtUh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqUubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jvUŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jhj-Xubjæ)�”}”(hhh]”j{)�”}”(hŒ$the max. allowed pre-allocation size”h]”hŒ$the max. allowed pre-allocation size”…”�”}”(hjLXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jHXh´M>hjIXubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jHXh´M>hjFWubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj*Wubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjnXh]”hŒ Description”…”�”}”(hjpXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjlXubah}”(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*Wubj{)�”}”(hŒ0Do pre-allocation for the given DMA buffer type.”h]”hŒ0Do pre-allocation for the given DMA buffer type.”…”�”}”(hj„Xh²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*Wubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjíQh²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íhjíQh²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³Xh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¯Xh²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ÂXh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¯Xh²hh³jÁXh´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ÔXh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÐXubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¯Xh²hh³jÁXh´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ð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_pcm”h]”hŒsnd_pcm”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj Yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jYŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÖXsbŒ'c.snd_pcm_lib_preallocate_pages_for_all”†”asbuh1hhjìXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.Yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjìXubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjset up buffer management for all substreams for all substreams”h]”hŒ>set up buffer management for all substreams for all substreams”…”�”}”(hjJbh²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„hjGbh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjJ`h²hh³jc`h´M„ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jbbjšjbbj›‰jœ‰j�‰uh1hþh²hhjíQh³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©)�”}”(hjlbh]”hŒ Parameters”…”�”}”(hjnbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjjbubah}”(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ˆhjfbubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ)``struct snd_pcm *pcm`` the pcm instance ”h]”(jÊ)�”}”(hŒ``struct snd_pcm *pcm``”h]”jÐ)�”}”(hj‹bh]”hŒstruct snd_pcm *pcm”…”�”}”(hj�bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj‰bubah}”(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…bubjæ)�”}”(hhh]”j{)�”}”(hŒthe pcm instance”h]”hŒthe pcm 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Œ)``int type`` DMA type (SNDRV_DMA_TYPE_*) ”h]”(jÊ)�”}”(hŒ ``int type``”h]”jÐ)�”}”(hjÄbh]”hŒint type”…”�”}”(hjÆbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÂbubah}”(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¾bubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type (SNDRV_DMA_TYPE_*)”h]”hŒDMA type (SNDRV_DMA_TYPE_*)”…”�”}”(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Œ0``struct device *data`` DMA type dependent data ”h]”(jÊ)�”}”(hŒ``struct device *data``”h]”jÐ)�”}”(hjýbh]”hŒstruct device *data”…”�”}”(hjÿbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjûbubah}”(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÷bubjæ)�”}”(hhh]”j{)�”}”(hŒDMA type dependent data”h]”hŒDMA type dependent data”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jch´Mˆhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj÷bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jch´Mˆhj‚bubjÄ)�”}”(hŒ;``size_t size`` the requested pre-allocation size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hj6ch]”hŒ size_t size”…”�”}”(hj8ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj4cubah}”(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‰hj0cubjæ)�”}”(hhh]”j{)�”}”(hŒ*the requested pre-allocation size in bytes”h]”hŒ*the requested pre-allocation size in bytes”…”�”}”(hjOch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jKch´M‰hjLcubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj0cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jKch´M‰hj‚bubjÄ)�”}”(hŒ4``size_t max`` the max. allowed pre-allocation size ”h]”(jÊ)�”}”(hŒ``size_t max``”h]”jÐ)�”}”(hjoch]”hŒ size_t max”…”�”}”(hjqch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjmcubah}”(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Šhjicubjæ)�”}”(hhh]”j{)�”}”(hŒ$the max. allowed pre-allocation size”h]”hŒ$the max. allowed pre-allocation size”…”�”}”(hjˆch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j„ch´MŠhj…cubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjicubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„ch´MŠhj‚bubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjfbubj{)�”}”(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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MŒhjfbubj{)�”}”(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Àch²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‹hjfbubj{)�”}”(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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´MŽhjfbubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjçch²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�hjfbubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjíQh²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íhjíQh²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”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjdh²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%dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjdh²hh³j$dh´Mšubj3)�”}”(hŒsnd_pcm_lib_malloc_pages”h]”j9)�”}”(hŒsnd_pcm_lib_malloc_pages”h]”hŒsnd_pcm_lib_malloc_pages”…”�”}”(hj7dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3dubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjdh²hh³j$dh´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”…”�”}”(hjSdh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjOdubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOdubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjqdh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjndubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jsdŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j9dsbŒc.snd_pcm_lib_malloc_pages”†”asbuh1hhjOdubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOdubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŸdh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjOdubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj¬dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKdubjZ)�”}”(hŒ size_t size”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¢]”j�dŒc.snd_pcm_lib_malloc_pages”†”asbuh1hhjÁdubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjædh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁdubj9)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjôdh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÁdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjKdubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjdh²hh³j$dh´Mšubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjdh²hh³j$dh´Mšubah}”(h]”j dah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j$dh´Mšhj dh²hubjv)�”}”(hhh]”j{)�”}”(hŒallocate the DMA buffer”h]”hŒallocate the DMA buffer”…”�”}”(hjeh²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šhjeh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj dh²hh³j$dh´Mšubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j6ejšj6ej›‰jœ‰j�‰uh1hþh²hhjíQh³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©)�”}”(hj@eh]”hŒ Parameters”…”�”}”(hjBeh²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:eubj¿)�”}”(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Ð)�”}”(hj_eh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjaeh²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›hjYeubjæ)�”}”(hhh]”j{)�”}”(hŒ+the substream to allocate the DMA buffer to”h]”hŒ+the substream to allocate the DMA buffer to”…”�”}”(hjxeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jteh´M›hjueubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjYeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jteh´M›hjVeubjÄ)�”}”(hŒ3``size_t size`` the requested buffer size in bytes ”h]”(jÊ)�”}”(hŒ``size_t size``”h]”jÐ)�”}”(hj˜eh]”hŒ size_t size”…”�”}”(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œhj’eubjæ)�”}”(hhh]”j{)�”}”(hŒ"the requested buffer size in bytes”h]”hŒ"the requested buffer size in bytes”…”�”}”(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œhjVeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj:eubj{)�”}”(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:eubj{)�”}”(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é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: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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:42: ./sound/core/pcm_memory.c”h´M hj:eubj{)�”}”(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.”…”�”}”(hjfh²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:eubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjíQh²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íhjíQh²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”…”�”}”(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Œ ”…”�”}”(hjNfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;fh²hh³jMfh´MÛubj3)�”}”(hŒsnd_pcm_lib_free_pages”h]”j9)�”}”(hŒsnd_pcm_lib_free_pages”h]”hŒsnd_pcm_lib_free_pages”…”�”}”(hj`fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\fubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj;fh²hh³jMfh´MÛubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj|fh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjxfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxfubh)�”}”(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˜jbfsbŒc.snd_pcm_lib_free_pages”†”asbuh1hhjxfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºfh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxfubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÈfh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjxfubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÕfh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxfubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtfubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj;fh²hh³jMfh´MÛubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj7fh²hh³jMfh´MÛubah}”(h]”j2fah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jMfh´MÛhj4fh²hubjv)�”}”(hhh]”j{)�”}”(hŒ!release the allocated DMA buffer.”h]”hŒ!release the allocated DMA buffer.”…”�”}”(hjÿfh²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üfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj4fh²hh³jMfh´MÛubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jgjšjgj›‰jœ‰j�‰uh1hþh²hhjíQh³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©)�”}”(hj!gh]”hŒ Parameters”…”�”}”(hj#gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjgubah}”(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ßhjgubj¿)�”}”(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Ð)�”}”(hj@gh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjBgh²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 substream to release the DMA buffer”h]”hŒ'the substream to release the DMA buffer”…”�”}”(hjYgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jUgh´MÜhjVgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jUgh´MÜhj7gubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjgubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj{gh]”hŒ Description”…”�”}”(hj}gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjygubah}”(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Þhjgubj{)�”}”(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‘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Ýhjgubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj¢gh]”hŒReturn”…”�”}”(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ßhjgubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(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àhjgubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjíQh²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Ùgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÖgh²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Ögh²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”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjügh²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Œ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjügh²hh³jhh´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”…”�”}”(hj!hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjügh²hh³jhh´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”…”�”}”(hj=hh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj9hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJhh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9hubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjXhh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj9hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjehh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9hubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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¢]”j¥)�”}”j˜j#hsbŒ"c.snd_hwparams_to_dma_slave_config”†”asbuh1hhj9hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9hubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¤hh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj9hubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj±hh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj5hubjZ)�”}”(hŒ&const struct snd_pcm_hw_params *params”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`)�”}”(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_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jiŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j’hŒ"c.snd_hwparams_to_dma_slave_config”†”asbuh1hhjÆhubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!ih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÆhubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj/ih²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÆhubj9)�”}”(hŒparams”h]”hŒparams”…”�”}”(hjkh´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”…”�”}”(hjQkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMkubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj,kh²hh³j>kh´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”…”�”}”(hjmkh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjikubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjikubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjˆkh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjikubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•kh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjikubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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˜jSksbŒ,c.snd_dmaengine_pcm_set_config_from_dai_data”†”asbuh1hhjikubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆkh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjikubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÔkh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjikubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjákh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjikubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjekubjZ)�”}”(hŒ1const struct snd_dmaengine_dai_dma_data *dma_data”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjúkh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjökubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjökubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjökubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"lh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjökubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_dai_dma_data”h]”hŒsnd_dmaengine_dai_dma_data”…”�”}”(hj3lh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0lubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j5lŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÂkŒ,c.snd_dmaengine_pcm_set_config_from_dai_data”†”asbuh1hhjökubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQlh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjökubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj_lh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjökubj9)�”}”(hŒdma_data”h]”hŒdma_data”…”�”}”(hjllh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjökubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjekubjZ)�”}”(hŒ%struct dma_slave_config *slave_config”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj…lh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�lubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’lh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�lubh)�”}”(hhh]”j9)�”}”(hŒdma_slave_config”h]”hŒdma_slave_config”…”�”}”(hj£lh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj lubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j¥lŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÂkŒ,c.snd_dmaengine_pcm_set_config_from_dai_data”†”asbuh1hhj�lubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁlh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�lubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÏlh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�lubj9)�”}”(hŒ slave_config”h]”hŒ slave_config”…”�”}”(hjÜlh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�lubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjekubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj,kh²hh³j>kh´KZubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj(kh²hh³j>kh´KZubah}”(h]”j#kah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j>kh´KZhj%kh²hubjv)�”}”(hhh]”j{)�”}”(hŒ2Initializes a dma slave config using DAI DMA data.”h]”hŒ2Initializes a dma slave config using DAI DMA data.”…”�”}”(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´KZhjmh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj%kh²hh³j>kh´KZubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jmjšjmj›‰jœ‰j�‰uh1hþh²hhjÖgh³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(mh]”hŒ Parameters”…”�”}”(hj*mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj&mubah}”(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"mubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``const struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ-``const struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjGmh]”hŒ)const struct snd_pcm_substream *substream”…”�”}”(hjImh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjEmubah}”(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\hjAmubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj`mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j\mh´K\hj]mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjAmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j\mh´K\hj>mubjÄ)�”}”(hŒC``const struct snd_dmaengine_dai_dma_data *dma_data`` DAI DMA data ”h]”(jÊ)�”}”(hŒ5``const struct snd_dmaengine_dai_dma_data *dma_data``”h]”jÐ)�”}”(hj€mh]”hŒ1const struct snd_dmaengine_dai_dma_data *dma_data”…”�”}”(hj‚mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj~mubah}”(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]hjzmubjæ)�”}”(hhh]”j{)�”}”(hŒ DAI DMA data”h]”hŒ DAI DMA data”…”�”}”(hj™mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j•mh´K]hj–mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjzmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j•mh´K]hj>mubjÄ)�”}”(hŒB``struct dma_slave_config *slave_config`` DMA slave configuration ”h]”(jÊ)�”}”(hŒ)``struct dma_slave_config *slave_config``”h]”jÐ)�”}”(hj¹mh]”hŒ%struct dma_slave_config *slave_config”…”�”}”(hj»mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj·mubah}”(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³mubjæ)�”}”(hhh]”j{)�”}”(hŒDMA slave configuration”h]”hŒDMA slave configuration”…”�”}”(hjÒmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÎmh´K^hjÏmubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³mubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÎmh´K^hj>mubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj"mubj{)�”}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´K`hj"mubj{)�”}”(hX}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]”hX}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.”…”�”}”(hj nh²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"mubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_dmaengine_pcm_trigger (C function)”Œc.snd_dmaengine_pcm_trigger”hNt”auh1híhjÖgh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒLint snd_dmaengine_pcm_trigger (struct snd_pcm_substream *substream, int cmd)”h]”j )�”}”(hŒKint snd_dmaengine_pcm_trigger(struct snd_pcm_substream *substream, int cmd)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj9nh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5nh²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Œ ”…”�”}”(hjHnh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5nh²hh³jGnh´K´ubj3)�”}”(hŒsnd_dmaengine_pcm_trigger”h]”j9)�”}”(hŒsnd_dmaengine_pcm_trigger”h]”hŒsnd_dmaengine_pcm_trigger”…”�”}”(hjZnh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjVnubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj5nh²hh³jGnh´K´ubjT)�”}”(hŒ.(struct snd_pcm_substream *substream, int cmd)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjvnh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjrnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒnh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjrnubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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¥)�”}”j˜j\nsbŒc.snd_dmaengine_pcm_trigger”†”asbuh1hhjrnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjrnubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÂnh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjrnubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjÏnh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjrnubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjnnubjZ)�”}”(hŒint cmd”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjènh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjänubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjönh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjänubj9)�”}”(hŒcmd”h]”hŒcmd”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjänubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjnnubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj5nh²hh³jGnh´K´ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj1nh²hh³jGnh´K´ubah}”(h]”j,nah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jGnh´K´hj.nh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*dmaengine based PCM trigger implementation”•h]”hŒ*dmaengine based PCM trigger implementation”…”�”}”(hj.oh²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+oh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj.nh²hh³jGnh´K´ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jFojšjFoj›‰jœ‰j�‰uh1hþh²hhjÖgh³Nh´NubjŸ)�”}”(hX**Parameters** ``struct snd_pcm_substream *substream`` PCM substream ``int cmd`` Trigger command **Description** This function can be used as the PCM trigger callback for dmaengine based PCM driver implementations. **Return** 0 on success, a negative error code otherwise”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjPoh]”hŒ Parameters”…”�”}”(hjRoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjNoubah}”(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¸hjJoubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjooh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjqoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjmoubah}”(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µhjioubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjˆoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j„oh´Kµhj…oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjioubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„oh´KµhjfoubjÄ)�”}”(hŒ``int cmd`` Trigger command ”h]”(jÊ)�”}”(hŒ ``int cmd``”h]”jÐ)�”}”(hj¨oh]”hŒint cmd”…”�”}”(hjªoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¦oubah}”(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¢oubjæ)�”}”(hhh]”j{)�”}”(hŒTrigger command”h]”hŒTrigger command”…”�”}”(hjÁoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j½oh´K¶hj¾oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¢oubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j½oh´K¶hjfoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjJoubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjãoh]”hŒ Description”…”�”}”(hjåoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjáoubah}”(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¸hjJoubj{)�”}”(hŒeThis function can be used as the PCM trigger callback for dmaengine based PCM driver implementations.”h]”hŒeThis function can be used as the PCM trigger callback for dmaengine based PCM driver implementations.”…”�”}”(hjùoh²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·hjJoubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj ph]”hŒReturn”…”�”}”(hj ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjpubah}”(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ºhjJoubj{)�”}”(hŒ-0 on success, a negative error code otherwise”h]”hŒ-0 on success, a negative error code otherwise”…”�”}”(hj ph²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»hjJoubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ1snd_dmaengine_pcm_pointer_no_residue (C function)”Œ&c.snd_dmaengine_pcm_pointer_no_residue”hNt”auh1híhjÖgh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ\snd_pcm_uframes_t snd_dmaengine_pcm_pointer_no_residue (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒ[snd_pcm_uframes_t snd_dmaengine_pcm_pointer_no_residue(struct snd_pcm_substream *substream)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_uframes_t”h]”hŒsnd_pcm_uframes_t”…”�”}”(hjRph²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOpubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jTpŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œ$snd_dmaengine_pcm_pointer_no_residue”sbŒ&c.snd_dmaengine_pcm_pointer_no_residue”†”asbuh1hhjKph²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Œ ”…”�”}”(hjtph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjKph²hh³jsph´Kãubj3)�”}”(hŒ$snd_dmaengine_pcm_pointer_no_residue”h]”j9)�”}”(hjpph]”hŒ$snd_dmaengine_pcm_pointer_no_residue”…”�”}”(hj†ph²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‚pubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjKph²hh³jsph´KãubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¡ph²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj�pubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®ph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�pubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hj¿ph²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¼pubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jÁpŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jnpŒ&c.snd_dmaengine_pcm_pointer_no_residue”†”asbuh1hhj�pubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�pubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjëph²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�pubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjøph²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj™pubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjKph²hh³jsph´Kãubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjGph²hh³jsph´Kãubah}”(h]”jBpah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jsph´KãhjDph²hubjv)�”}”(hhh]”j{)�”}”(hŒ*dmaengine based PCM pointer implementation”h]”hŒ*dmaengine based PCM pointer implementation”…”�”}”(hj"qh²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ãhjqh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjDph²hh³jsph´Kãubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j:qjšj:qj›‰jœ‰j�‰uh1hþh²hhjÖgh³Nh´NubjŸ)�”}”(hŒâ**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** This function is deprecated and should not be used by new drivers, as its results may be unreliable. **Return** PCM position in frames”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjDqh]”hŒ Parameters”…”�”}”(hjFqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjBqubah}”(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>qubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjcqh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjeqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjaqubah}”(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]qubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj|qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jxqh´Kähjyqubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jxqh´KähjZqubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj>qubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjžqh]”hŒ Description”…”�”}”(hj qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjœqubah}”(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>qubj{)�”}”(hŒdThis function is deprecated and should not be used by new drivers, as its results may be unreliable.”h]”hŒdThis function is deprecated and should not be used by new drivers, as its results may be unreliable.”…”�”}”(hj´qh²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>qubj{)�”}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Kèhj>qubj{)�”}”(hŒPCM position in frames”h]”hŒPCM position in frames”…”�”}”(hjÛqh²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>qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&snd_dmaengine_pcm_pointer (C function)”Œc.snd_dmaengine_pcm_pointer”hNt”auh1híhjÖgh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒQsnd_pcm_uframes_t snd_dmaengine_pcm_pointer (struct snd_pcm_substream *substream)”h]”j )�”}”(hŒPsnd_pcm_uframes_t snd_dmaengine_pcm_pointer(struct snd_pcm_substream *substream)”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_uframes_t”h]”hŒsnd_pcm_uframes_t”…”�”}”(hj rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj rubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jrŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_dmaengine_pcm_pointer”sbŒc.snd_dmaengine_pcm_pointer”†”asbuh1hhjrh²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/rh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjrh²hh³j.rh´Kóubj3)�”}”(hŒsnd_dmaengine_pcm_pointer”h]”j9)�”}”(hj+rh]”hŒsnd_dmaengine_pcm_pointer”…”�”}”(hjArh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj=rubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjrh²hh³j.rh´KóubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj\rh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjXrubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjirh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXrubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjzrh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwrubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j|rŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j)rŒc.snd_dmaengine_pcm_pointer”†”asbuh1hhjXrubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜rh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXrubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¦rh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjXrubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj³rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjXrubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjTrubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjrh²hh³j.rh´Kóubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjrh²hh³j.rh´Kóubah}”(h]”jýqah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j.rh´Kóhjÿqh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*dmaengine based PCM pointer implementation”h]”hŒ*dmaengine based PCM pointer implementation”…”�”}”(hjÝrh²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Úrh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÿqh²hh³j.rh´Kóubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jõrjšjõrj›‰jœ‰j�‰uh1hþh²hhjÖgh³Nh´NubjŸ)�”}”(hŒã**Parameters** ``struct snd_pcm_substream *substream`` PCM substream **Description** This function can be used as the PCM pointer callback for dmaengine based PCM driver implementations. **Return** PCM position in frames”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjÿrh]”hŒ Parameters”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjýrubah}”(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ùrubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjsh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hj sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjsubah}”(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ôhjsubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj7sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j3sh´Kôhj4subah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j3sh´Kôhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjùrubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjYsh]”hŒ Description”…”�”}”(hj[sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjWsubah}”(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ùrubj{)�”}”(hŒeThis function can be used as the PCM pointer callback for dmaengine based PCM driver implementations.”h]”hŒeThis function can be used as the PCM pointer callback for dmaengine based PCM driver implementations.”…”�”}”(hjosh²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ùrubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj€sh]”hŒReturn”…”�”}”(hj‚sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj~subah}”(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ùrubj{)�”}”(hŒPCM position in frames”h]”hŒPCM position in frames”…”�”}”(hj–sh²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ùrubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ.snd_dmaengine_pcm_request_channel (C function)”Œ#c.snd_dmaengine_pcm_request_channel”hNt”auh1híhjÖgh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`struct dma_chan * snd_dmaengine_pcm_request_channel (dma_filter_fn filter_fn, void *filter_data)”h]”j )�”}”(hŒ^struct dma_chan *snd_dmaengine_pcm_request_channel(dma_filter_fn filter_fn, void *filter_data)”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÅsh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÁsh²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓsh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁsh²hh³jÒsh´Mubh)�”}”(hhh]”j9)�”}”(hŒdma_chan”h]”hŒdma_chan”…”�”}”(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˜Œ!snd_dmaengine_pcm_request_channel”sbŒ#c.snd_dmaengine_pcm_request_channel”†”asbuh1hhjÁsh²hh³jÒsh´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÁsh²hh³jÒsh´Mubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÁsh²hh³jÒsh´Mubj3)�”}”(hŒ!snd_dmaengine_pcm_request_channel”h]”j9)�”}”(hjth]”hŒ!snd_dmaengine_pcm_request_channel”…”�”}”(hj$th²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj tubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÁsh²hh³jÒsh´MubjT)�”}”(hŒ,(dma_filter_fn filter_fn, void *filter_data)”h]”(jZ)�”}”(hŒdma_filter_fn filter_fn”h]”(h)�”}”(hhh]”j9)�”}”(hŒ dma_filter_fn”h]”hŒ dma_filter_fn”…”�”}”(hjBth²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?tubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jDtŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jtŒ#c.snd_dmaengine_pcm_request_channel”†”asbuh1hhj;tubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`th²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;tubj9)�”}”(hŒ filter_fn”h]”hŒ filter_fn”…”�”}”(hjnth²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj7tubjZ)�”}”(hŒvoid *filter_data”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‡th²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjƒtubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•th²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjƒtubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj£th²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjƒtubj9)�”}”(hŒ filter_data”h]”hŒ filter_data”…”�”}”(hj°th²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒtubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj7tubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÁsh²hh³jÒsh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj½sh²hh³jÒsh´Mubah}”(h]”j¸sah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÒsh´Mhjºsh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Request channel for the dmaengine PCM”h]”hŒ%Request channel for the dmaengine PCM”…”�”}”(hjÚth²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´Mhj×th²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjºsh²hh³jÒsh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jòtjšjòtj›‰jœ‰j�‰uh1hþh²hhjÖgh³Nh´NubjŸ)�”}”(hX **Parameters** ``dma_filter_fn filter_fn`` Filter function used to request the DMA channel ``void *filter_data`` Data passed to the DMA filter function **Description** This function request a DMA channel for usage with dmaengine PCM. **Return** NULL or the requested DMA channel”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjüth]”hŒ Parameters”…”�”}”(hjþth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjútubah}”(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ötubj¿)�”}”(hhh]”(jÄ)�”}”(hŒL``dma_filter_fn filter_fn`` Filter function used to request the DMA channel ”h]”(jÊ)�”}”(hŒ``dma_filter_fn filter_fn``”h]”jÐ)�”}”(hjuh]”hŒdma_filter_fn filter_fn”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjuubah}”(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´Mhjuubjæ)�”}”(hhh]”j{)�”}”(hŒ/Filter function used to request the DMA channel”h]”hŒ/Filter function used to request the DMA channel”…”�”}”(hj4uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j0uh´Mhj1uubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j0uh´MhjuubjÄ)�”}”(hŒ=``void *filter_data`` Data passed to the DMA filter function ”h]”(jÊ)�”}”(hŒ``void *filter_data``”h]”jÐ)�”}”(hjTuh]”hŒvoid *filter_data”…”�”}”(hjVuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjRuubah}”(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´MhjNuubjæ)�”}”(hhh]”j{)�”}”(hŒ&Data passed to the DMA filter function”h]”hŒ&Data passed to the DMA filter function”…”�”}”(hjmuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jiuh´Mhjjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjNuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jiuh´Mhjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjötubj{)�”}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mhjötubj{)�”}”(hŒAThis function request a DMA channel for usage with dmaengine PCM.”h]”hŒAThis function request a DMA channel for usage with dmaengine PCM.”…”�”}”(hj¥uh²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´Mhjötubj{)�”}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´Mhjötubj{)�”}”(hŒ!NULL or the requested DMA channel”h]”hŒ!NULL or the requested DMA channel”…”�”}”(hjÌuh²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´Mhjötubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ#snd_dmaengine_pcm_open (C function)”Œc.snd_dmaengine_pcm_open”hNt”auh1híhjÖgh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒWint snd_dmaengine_pcm_open (struct snd_pcm_substream *substream, struct dma_chan *chan)”h]”j )�”}”(hŒVint snd_dmaengine_pcm_open(struct snd_pcm_substream *substream, struct dma_chan *chan)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjûuh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷uh²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 vh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj÷uh²hh³j vh´M)ubj3)�”}”(hŒsnd_dmaengine_pcm_open”h]”j9)�”}”(hŒsnd_dmaengine_pcm_open”h]”hŒsnd_dmaengine_pcm_open”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjvubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj÷uh²hh³j vh´M)ubjT)�”}”(hŒ<(struct snd_pcm_substream *substream, struct dma_chan *chan)”h]”(jZ)�”}”(hŒ#struct snd_pcm_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj8vh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj4vubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4vubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(hjVvh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjSvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jXvŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jvsbŒc.snd_dmaengine_pcm_open”†”asbuh1hhj4vubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4vubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj„vh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj4vubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj‘vh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj4vubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj0vubjZ)�”}”(hŒstruct dma_chan *chan”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Œdma_chan”h]”hŒdma_chan”…”�”}”(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¢]”jrvŒc.snd_dmaengine_pcm_open”†”asbuh1hhj¦vubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjævh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¦vubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjôvh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¦vubj9)�”}”(hŒchan”h]”hŒchan”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¦vubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj0vubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj÷uh²hh³j vh´M)ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjóuh²hh³j vh´M)ubah}”(h]”jîuah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j vh´M)hjðuh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$Open a dmaengine based PCM substream”h]”hŒ$Open a dmaengine based PCM substream”…”�”}”(hj+wh²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(wh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjðuh²hh³j vh´M)ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jCwjšjCwj›‰jœ‰j�‰uh1hþh²hhjÖgh³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©)�”}”(hjMwh]”hŒ Parameters”…”�”}”(hjOwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjKwubah}”(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-hjGwubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjlwh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjnwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjwubah}”(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*hjfwubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj…wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�wh´M*hj‚wubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjfwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�wh´M*hjcwubjÄ)�”}”(hŒ@``struct dma_chan *chan`` DMA channel to use for data transfers ”h]”(jÊ)�”}”(hŒ``struct dma_chan *chan``”h]”jÐ)�”}”(hj¥wh]”hŒstruct dma_chan *chan”…”�”}”(hj§wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj£wubah}”(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Ÿwubjæ)�”}”(hhh]”j{)�”}”(hŒ%DMA channel to use for data transfers”h]”hŒ%DMA channel to use for data transfers”…”�”}”(hj¾wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jºwh´M+hj»wubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŸwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jºwh´M+hjcwubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjGwubj{)�”}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:46: ./sound/core/pcm_dmaengine.c”h´M-hjGwubj{)�”}”(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öwh²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,hjGwubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjxh]”hŒReturn”…”�”}”(hj xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjxubah}”(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´M0hjGwubj{)�”}”(hŒ-0 on success, a negative error code otherwise”h]”hŒ-0 on success, a negative error code otherwise”…”�”}”(hjxh²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´M1hjGwubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²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Ögh²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”…”�”}”(hjLxh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjHxh²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Œ ”…”�”}”(hj[xh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjHxh²hh³jZxh´Mmubj3)�”}”(hŒsnd_dmaengine_pcm_close”h]”j9)�”}”(hŒsnd_dmaengine_pcm_close”h]”hŒsnd_dmaengine_pcm_close”…”�”}”(hjmxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjixubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjHxh²hh³jZxh´MmubjT)�”}”(hŒ%(struct snd_pcm_substream *substream)”h]”jZ)�”}”(hŒ#struct snd_pcm_substream *substream”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_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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˜joxsbŒc.snd_dmaengine_pcm_close”†”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Œ substream”h]”hŒ substream”…”�”}”(hjâxh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj…xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�xubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjHxh²hh³jZxh´Mmubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjDxh²hh³jZxh´Mmubah}”(h]”j?xah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jZxh´MmhjAxh²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Close a dmaengine based PCM substream”h]”hŒ%Close a dmaengine based PCM substream”…”�”}”(hj yh²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 yh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjAxh²hh³jZxh´Mmubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j$yjšj$yj›‰jœ‰j�‰uh1hþh²hhjÖgh³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©)�”}”(hj.yh]”hŒ Parameters”…”�”}”(hj0yh²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´Mqhj(yubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjMyh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjOyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjKyubah}”(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´MnhjGyubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hjfyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jbyh´Mnhjcyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjGyubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jbyh´MnhjDyubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj(yubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjˆyh]”hŒReturn”…”�”}”(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´Mphj(yubj{)�”}”(hŒ-0 on success, a negative error code otherwise”h]”hŒ-0 on success, a negative error code otherwise”…”�”}”(hjžyh²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(yubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²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Ögh²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Íyh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉyh²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Üyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÉyh²hh³jÛyh´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îyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjêyubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÉyh²hh³jÛyh´MzubjT)�”}”(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_hjzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzubh)�”}”(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ðysbŒ&c.snd_dmaengine_pcm_close_release_chan”†”asbuh1hhjzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHzh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjzubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjVzh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjzubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjczh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjzubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÉyh²hh³jÛyh´Mzubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÅyh²hh³jÛyh´Mzubah}”(h]”jÀyah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÛyh´MzhjÂyh²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�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´MzhjŠzh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÂyh²hh³jÛyh´Mzubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¥zjšj¥zj›‰jœ‰j�‰uh1hþh²hhjÖgh³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¯zh]”hŒ Parameters”…”�”}”(hj±zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj­zubah}”(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©zubj¿)�”}”(hhh]”jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjÎzh]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjÐzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÌzubah}”(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Èzubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(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 {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©zubj{)�”}”(hŒ;Releases the DMA channel associated with the PCM substream.”h]”hŒ;Releases the DMA channel associated with the 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´M}hj©zubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hj0{h]”hŒReturn”…”�”}”(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:46: ./sound/core/pcm_dmaengine.c”h´Mhj©zubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjF{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©zubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²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Ögh²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”…”�”}”(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:46: ./sound/core/pcm_dmaengine.c”h´MŠubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„{h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq{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&]”jQjRuh1j2hjq{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_hj |ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1|h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj |ubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_dai_dma_data”h]”hŒsnd_dmaengine_dai_dma_data”…”�”}”(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ì{Œ+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Œ*”…”�”}”(hjn|h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj |ubj9)�”}”(hŒdma_data”h]”hŒdma_data”…”�”}”(hj{|h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj |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”…”�”}”(hjë|h²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”…”�”}”(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_chan”h]”hŒdma_chan”…”�”}”(hj"}h²hh³Nh´Nubah}”(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Œ*”…”�”}”(hjN}h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj}ubj9)�”}”(hŒchan”h]”hŒchan”…”�”}”(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&]”jQjRuh1jShjq{h²hh³jƒ{h´MŠubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjm{h²hh³jƒ{h´MŠubah}”(h]”jh{ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jƒ{h´MŠhjj{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&]”uh1juhjj{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Ögh³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Ð)�”}”(hj8~h]”hŒstruct snd_pcm_hardware *hw”…”�”}”(hj:~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj6~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�hj2~ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM hw params”h]”hŒ PCM hw params”…”�”}”(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½}ubjÄ)�”}”(hŒ@``struct dma_chan *chan`` DMA channel to use for data transfers ”h]”(jÊ)�”}”(hŒ``struct dma_chan *chan``”h]”jÐ)�”}”(hjq~h]”hŒstruct dma_chan *chan”…”�”}”(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:46: ./sound/core/pcm_dmaengine.c”h´MŽhjk~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åhjk~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Ögh²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Ögh²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”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjh²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!hjh²hh³j&h´Kubh)�”}”(hhh]”j9)�”}”(hŒdma_transfer_direction”h]”hŒdma_transfer_direction”…”�”}”(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¥)�”}”j˜Œ"snd_pcm_substream_to_dma_direction”sbŒ$c.snd_pcm_substream_to_dma_direction”†”asbuh1hhjh²hh³j&h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j&h´Kubj3)�”}”(hŒ"snd_pcm_substream_to_dma_direction”h]”j9)�”}”(hjVh]”hŒ"snd_pcm_substream_to_dma_direction”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjgubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²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¢]”jTŒ$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&]”jQjRuh1jShjh²hh³j&h´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³j&h´Kubah}”(h]”j ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j&h´Khjh²hubjv)�”}”(hhh]”j{)�”}”(hŒ.Get dma_transfer_direction for a PCM substream”h]”hŒ.Get dma_transfer_direction for a PCM substream”…”�”}”(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€h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j&h´Kubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j:€jšj:€j›‰jœ‰j�‰uh1hþh²hhjÖgh³j h´NubjŸ)�”}”(hŒq**Parameters** ``const struct snd_pcm_substream *substream`` PCM substream **Return** DMA transfer direction”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³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khj>€ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ<``const struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ-``const struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjc€h]”hŒ)const 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³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khj]€ubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM substream”h]”hŒ PCM substream”…”�”}”(hj|€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jx€h´Khjy€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx€h´KhjZ€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³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´Khj>€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´Khj>€ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²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Ögh²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:hj"�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Ögh³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”…”�”}”(hjI�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjE�ubhŒ:”…”�”}”(hjE�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>hjA�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; };”…”�”}”hjd�sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K@hjA�ubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hju�h]”hŒMembers”…”�”}”(hjw�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjs�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´KMhjA�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´Khj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‚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Ð)�”}”(hj@‚h]”hŒ filter_data”…”�”}”(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:47: ./include/sound/dmaengine_pcm.h”h´KBhj:‚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.”…”�”}”(hjY‚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´KAhjV‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU‚h´KBhj‹�ubjÄ)�”}”(hŒF``chan_name`` Custom channel name to use when requesting DMA channel. ”h]”(jÊ)�”}”(hŒ ``chan_name``”h]”jÐ)�”}”(hjz‚h]”hŒ chan_name”…”�”}”(hj|‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjx‚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´KChjt‚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åhjt‚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Ï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´KGhjƒubjæ)�”}”(hhh]”j{)�”}”(hŒJperipheral configuration for programming peripheral for dmaengine transfer”h]”hŒJperipheral configuration for programming peripheral for dmaengine transfer”…”�”}”(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´KFhj;ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j:ƒh´KGhj‹�ubjÄ)�”}”(hŒ9``peripheral_size`` peripheral configuration buffer size ”h]”(jÊ)�”}”(hŒ``peripheral_size``”h]”jÐ)�”}”(hj_ƒh]”hŒperipheral_size”…”�”}”(hjaƒ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´KHhjYƒubjæ)�”}”(hhh]”j{)�”}”(hŒ$peripheral configuration buffer size”h]”hŒ$peripheral configuration buffer size”…”�”}”(hjxƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jtƒh´KHhjuƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjYƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jtƒ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¾hjA�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²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Ögh²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”…”�”}”(hj4„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´Kvhj1„h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjçƒh²hh³jÿƒh´KRubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jL„jšjL„j›‰jœ‰j�‰uh1hþh²hhjÖgh³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”…”�”}”(hjX„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjT„ubhŒ:”…”�”}”(hjT„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´KzhjP„ubjc�)�”}”(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; };”…”�”}”hjq„sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:47: ./include/sound/dmaengine_pcm.h”h´K|hjP„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ˆhjP„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.”…”�”}”(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Œ9``name`` Component name. If null, dev_name will be used. ”h]”(jÊ)�”}”(hŒ``name``”h]”jÐ)�”}”(hjO…h]”hŒname”…”�”}”(hjQ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjM…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~hjI…ubjæ)�”}”(hhh]”j{)�”}”(hŒ/Component name. If null, dev_name will be used.”h]”hŒ/Component name. If null, dev_name will be used.”…”�”}”(hjh…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jd…h´K~hje…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjI…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jd…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Ð)�”}”(hj6†h]”hŒ pcm_hardware”…”�”}”(hj8†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj4†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†hj0†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.”…”�”}”(hjO†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jK†h´K†hjL†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj0†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jK†h´K†hj˜„ubjÄ)�”}”(hŒ?``prealloc_buffer_size`` Size of the preallocated audio buffer.”h]”(jÊ)�”}”(hŒ``prealloc_buffer_size``”h]”jÐ)�”}”(hjo†h]”hŒprealloc_buffer_size”…”�”}”(hjq†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjm†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†hji†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åhji†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„†h´K†hj˜„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjP„ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÖgh²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Ögh²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Ögh²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”…”�”}”(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Œ ”…”�”}”(hj1‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‡h²hh³j0‡h´K�ubj3)�”}”(hŒsnd_ctl_notify”h]”j9)�”}”(hŒsnd_ctl_notify”h]”hŒsnd_ctl_notify”…”�”}”(hjC‡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?‡ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‡h²hh³j0‡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”…”�”}”(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_card”h]”hŒsnd_card”…”�”}”(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¥)�”}”j˜jE‡sbŒc.snd_ctl_notify”†”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”ˆjQjRuh1jYhjW‡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”ˆjQjRuh1jYhjW‡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”jBˆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j™‡Œc.snd_ctl_notify”†”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Œid”h]”hŒid”…”�”}”(hjyˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjW‡ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj‡h²hh³j0‡h´K�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‡h²hh³j0‡h´K�ubah}”(h]”j‡ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j0‡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³j0‡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”…”�”}”(hjLjh²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Ð)�”}”(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: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_*”…”�”}”(hj6‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j2‰h´K‘hj3‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j2‰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Ð)�”}”(hjV‰h]”hŒstruct snd_ctl_elem_id *id”…”�”}”(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´K’hjP‰ubjæ)�”}”(hhh]”j{)�”}”(hŒ'the ctl element id to send notification”h]”hŒ'the ctl element id to send notification”…”�”}”(hjo‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jk‰h´K’hjl‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjP‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jk‰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Œ ”…”�”}”(hj Šh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŠubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj1Šh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.Šubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j3ŠŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jù‰sbŒc.snd_ctl_notify_one”†”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Œcard”h]”hŒcard”…”�”}”(hjlŠ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¢]”jMŠŒ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Œ*”…”�”}”(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Œunsigned int ioff”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”…”�”}”(hjb‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjB‹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp‹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjB‹ubj9)�”}”(hŒioff”h]”hŒioff”…”�”}”(hj~‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjB‹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Ð)�”}”(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: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_*”…”�”}”(hj;Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7Œh´KÄhj8Œubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7Œ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Ð)�”}”(hj[Œh]”hŒstruct snd_kcontrol *kctl”…”�”}”(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:54: ./sound/core/control.c”h´KÅhjUŒubjæ)�”}”(hhh]”j{)�”}”(hŒ%the pointer with the control instance”h]”hŒ%the pointer with the control instance”…”�”}”(hjtŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jpŒh´KÅhjqŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jpŒ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Œ ”…”�”}”(hj#�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�h²hh³j"�h´KÛubj3)�”}”(hŒ snd_ctl_new”h]”j9)�”}”(hŒ snd_ctl_new”h]”hŒ snd_ctl_new”…”�”}”(hj5�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1�ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�h²hh³j"�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”…”�”}”(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_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(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_ctl_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�ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjª�h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjM�ubj9)�”}”(hŒkctl”h]”hŒkctl”…”�”}”(hj·�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjM�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjI�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”ˆjQjRuh1jYhjI�ubjZ)�”}”(hŒunsigned int access”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Œaccess”h]”hŒaccess”…”�”}”(hjYŽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjI�ubjZ)�”}”(hŒstruct snd_ctl_file *file”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_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”†”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Œfile”h]”hŒfile”…”�”}”(hjÉŽh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjnŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjI�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Œ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³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Ÿ)�”}”(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Ð)�”}”(hj4�h]”hŒstruct snd_kcontrol **kctl”…”�”}”(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:54: ./sound/core/control.c”h´KÜhj.�ubjæ)�”}”(hhh]”j{)�”}”(hŒ)the pointer to store new control instance”h]”hŒ)the pointer to store new control instance”…”�”}”(hjM�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jI�h´KÜhjJ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj.�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jI�h´KÜhj+�ubjÄ)�”}”(hŒ>``unsigned int count`` the number of elements in this control ”h]”(jÊ)�”}”(hŒ``unsigned int count``”h]”jÐ)�”}”(hjm�h]”hŒunsigned int count”…”�”}”(hjo�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjk�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Ýhjg�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åhjg�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‚�h´KÝhj+�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Þhj+�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ß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Œß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 (”…”�”}”(hj0�h²hh³Nh´Nubj©)�”}”(hŒ **count**”h]”hŒcount”…”�”}”(hj8�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0�ubhŒ.). Each element has given access permissions (”…”�”}”(hj0�h²hh³Nh´Nubj©)�”}”(hŒ **access**”h]”hŒaccess”…”�”}”(hjJ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0�ubhŒ). Each element is locked when ”…”�”}”(hj0�h²hh³Nh´Nubj©)�”}”(hŒ**file**”h]”hŒfile”…”�”}”(hj\�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj0�ubhŒ is given.”…”�”}”(hj0�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©)�”}”(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´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”…”�”}”(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Œ=(const struct snd_kcontrol_new *ncontrol, void *private_data)”h]”(jZ)�”}”(hŒ'const struct snd_kcontrol_new *ncontrol”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj6‘h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj2‘ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2‘ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjQ‘h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj2‘ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2‘ubh)�”}”(hhh]”j9)�”}”(hŒsnd_kcontrol_new”h]”hŒsnd_kcontrol_new”…”�”}”(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_ctl_new1”†”asbuh1hhj2‘ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2‘ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj›‘h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj2‘ubj9)�”}”(hŒncontrol”h]”hŒncontrol”…”�”}”(hj¨‘h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj.‘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”ˆ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Œ+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™j,’jšj,’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©)�”}”(hj6’h]”hŒ Parameters”…”�”}”(hj8’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj4’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´Mhj0’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Ð)�”}”(hjU’h]”hŒ'const struct snd_kcontrol_new *ncontrol”…”�”}”(hjW’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjS’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þhjO’ubjæ)�”}”(hhh]”j{)�”}”(hŒthe initialization record”h]”hŒthe initialization record”…”�”}”(hjn’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jj’h´Kþhjk’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjO’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jj’h´KþhjL’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ÿhjL’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj0’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´Mhj0’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´Mhj0’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´Mhj0’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´Mhj0’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”…”�”}”(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:54: ./sound/core/control.c”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_ctl_free_one”h]”j9)�”}”(hŒsnd_ctl_free_one”h]”hŒsnd_ctl_free_one”…”�”}”(hjh“h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjd“ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjC“h²hh³jU“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˜jj“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&]”jQjRuh1jShjC“h²hh³jU“h´M?ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?“h²hh³jU“h´M?ubah}”(h]”j:“ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jU“h´M?hj<“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&]”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_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”…”�”}”(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´MChj#”ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ7``struct snd_kcontrol *kcontrol`` the control instance ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjH”h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(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:54: ./sound/core/control.c”h´M@hjB”ubjæ)�”}”(hhh]”j{)�”}”(hŒthe control instance”h]”hŒthe control 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?”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:54: ./sound/core/control.c”h´MBhj#”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´MAhj#”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”…”�”}”(hj#•h²hh³Nh´Nubah}”(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”†”asbuh1hhj•ubj")�”}”(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Œ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_kcontrol *kcontrol”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_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”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjΕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjs•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©)�”}”(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Ð)�”}”(hj9–h]”hŒstruct snd_card *card”…”�”}”(hj;–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7–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´Mhj3–ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjR–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jN–h´MhjO–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj3–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jN–h´Mhj0–ubjÄ)�”}”(hŒ>``struct snd_kcontrol *kcontrol`` the control instance to add ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjr–h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(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:54: ./sound/core/control.c”h´Mhjl–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åhjl–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡–h´Mhj0–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Œ ”…”�”}”(hj7—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$—h²hh³j6—h´M,ubj3)�”}”(hŒsnd_ctl_replace”h]”j9)�”}”(hŒsnd_ctl_replace”h]”hŒsnd_ctl_replace”…”�”}”(hjI—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjE—ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj$—h²hh³j6—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”…”�”}”(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_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˜jK—sbŒc.snd_ctl_replace”†”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Œcard”h]”hŒcard”…”�”}”(hj¾—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hja—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¢]”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Œ*”…”�”}”(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Œbool add_on_replace”h]”(j)�”}”(hŒbool”h]”hŒbool”…”�”}”(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˜ubj9)�”}”(hŒadd_on_replace”h]”hŒadd_on_replace”…”�”}”(hjc˜h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjC˜ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]—ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj$—h²hh³j6—h´M,ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj —h²hh³j6—h´M,ubah}”(h]”j—ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j6—h´M,hj—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&]”uh1juhj—h²hh³j6—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”…”�”}”(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Œ=``bool add_on_replace`` add the control if not already added ”h]”(jÊ)�”}”(hŒ``bool add_on_replace``”h]”jÐ)�”}”(hj@™h]”hŒbool add_on_replace”…”�”}”(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Œ$add the control if not already added”h]”hŒ$add the control if not already added”…”�”}”(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: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”…”�”}”(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_card”h]”hŒsnd_card”…”�”}”(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_ctl_remove”†”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Œ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_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¢]”jmšŒ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”ˆ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Œ/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´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Ÿ)�”}”(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©)�”}”(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:54: ./sound/core/control.c”h´MehjB›ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjg›h]”hŒstruct snd_card *card”…”�”}”(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:54: ./sound/core/control.c”h´Mbhja›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åhja›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|›h´Mbhj^›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´Mchj^›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:54: ./sound/core/control.c”h´MehjB›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´MdhjB›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´MihjB›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´MkhjB›ubj{)�”}”(hŒ50 if successful, or a negative error code on failure.”h]”hŒ50 if successful, or a negative error code on failure.”…”�”}”(hj9œ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´MihjB›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”…”�”}”(hjhœh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjdœ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Œ ”…”�”}”(hjwœh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjdœh²hh³jvœ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&]”jQjRuh1j2hjdœh²hh³jvœ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”…”�”}”(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_ctl_remove_id”†”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Œid”h]”hŒid”…”�”}”(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&]”jQjRuh1jShjdœh²hh³jvœh´Mwubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj`œh²hh³jvœh´Mwubah}”(h]”j[œah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jvœh´Mwhj]œ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&]”uh1juhj]œh²hh³jvœ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”…”�”}”(hj+ž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©)�”}”(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Œ\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.”…”�”}”(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´Mzhj´�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³Œ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Œ ”…”�”}”(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)�”}”(hŒfile”h]”hŒfile”…”�”}”(hjOŸ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”…”�”}”(hjhŸh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjdŸubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuŸh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjdŸ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¢]”j0ŸŒc.snd_ctl_remove_user_ctl”†”asbuh1hhjdŸubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤Ÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjdŸubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj²Ÿh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjdŸubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj¿Ÿ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´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”…”�”}”(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Œactive control handle”h]”hŒactive control handle”…”�”}”(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! 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Ð)�”}”(hjc h]”hŒstruct snd_ctl_elem_id *id”…”�”}”(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:54: ./sound/core/control.c”h´M�hj] 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³jx h´M�hjy ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj] ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx 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Œ\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”…”�”}”(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 snd_ctl_elem_id *id, int active)”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”…”�”}”(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_ctl_activate_id”†”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Œ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”ˆjQjRuh1jYhj?¡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Œ ”…”�”}”(hj7¢h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%¢ubj9)�”}”(hŒactive”h]”hŒactive”…”�”}”(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&]”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”…”�”}”(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´Mªhjl¢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Ð)�”}”(hj"£h]”hŒ int active”…”�”}”(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Œnon-zero to activate”h]”hŒnon-zero to activate”…”�”}”(hj;£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7£h´M­hj8£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7£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Œ¯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.”…”�”}”(hjs£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&]”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_rename_id”†”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Œ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 *src_id”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Œ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_rename_id”†”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Œsrc_id”h]”hŒsrc_id”…”�”}”(hjϤh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjt¤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¢]”j@¤Œ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Œ*”…”�”}”(hj2¥h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjä¤ubj9)�”}”(hŒdst_id”h]”hŒdst_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&]”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”…”�”}”(hji¥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Ühjf¥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Ð)�”}”(hj¦h]”hŒstruct snd_ctl_elem_id *dst_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 new id”h]”hŒ the new id”…”�”}”(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¡¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj…¥ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjW¦h]”hŒ Description”…”�”}”(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Œ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.”…”�”}”(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…¥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”…”�”}”(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&]”uh1j8hj9§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”†”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Œcard”h]”hŒcard”…”�”}”(hjw§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¢]”jX§Œ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”…”�”}”(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Œ*”…”�”}”(hj7¨h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjü§ubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjD¨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”…”�”}”(hjn¨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´Mhjk¨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Ð)�”}”(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:54: ./sound/core/control.c”h´Mhj©ubjæ)�”}”(hhh]”j{)�”}”(hŒ the new name”h]”hŒ the new name”…”�”}”(hj:©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j6©h´Mhj7©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j6©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¨hjZ©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.”…”�”}”(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´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Œ ”…”�”}”(hj7ªh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&ªubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(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_ctl_find_numid”†”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Œ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 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”ˆ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Œ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©)�”}”(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)hj7«ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(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)hj4«ubjÄ)�”}”(hŒ/``unsigned int numid`` the number-id to search ”h]”(jÊ)�”}”(hŒ``unsigned int numid``”h]”jÐ)�”}”(hjv«h]”hŒunsigned int numid”…”�”}”(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Œ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åhjp«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹«h´M*hj4«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”…”�”}”(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´MAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:¬h²hh³jK¬h´MAubh)�”}”(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¢]”j¥)�”}”j˜Œsnd_ctl_find_id”sbŒc.snd_ctl_find_id”†”asbuh1hhj:¬h²hh³jK¬h´MAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~¬h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:¬h²hh³jK¬h´MAubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŒ¬h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj:¬h²hh³jK¬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&]”jQjRuh1j2hj:¬h²hh³jK¬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¢]”jy¬Œ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Œ ”…”�”}”(hj5­h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$­ubj`)�”}”(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_ctl_elem_id”h]”hŒsnd_ctl_elem_id”…”�”}”(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¢]”jy¬Œ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&]”jQjRuh1jShj:¬h²hh³jK¬h´MAubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj6¬h²hh³jK¬h´MAubah}”(h]”j1¬ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jK¬h´MAhj3¬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&]”uh1juhj3¬h²hh³jK¬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”…”�”}”(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Œ6``const struct snd_ctl_elem_id *id`` the id to search ”h]”(jÊ)�”}”(hŒ$``const struct snd_ctl_elem_id *id``”h]”jÐ)�”}”(hj>®h]”hŒ const 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´MChj8®ubjæ)�”}”(hhh]”j{)�”}”(hŒthe id to search”h]”hŒthe id to search”…”�”}”(hjW®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jS®h´MChjT®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj8®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jS®h´MChjü­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjà­ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjy®h]”hŒ Description”…”�”}”(hj{®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjw®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&]”uh1j8hj#¯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”…”�”}”(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_ctl_register_ioctl”†”asbuh1hhj?¯ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf¯h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj?¯ubj9)�”}”(hŒfcn”h]”hŒfcn”…”�”}”(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Œ+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©)�”}”(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Œ9called from each device manager like pcm.c, hwdep.c, etc.”h]”hŒ9called from each device manager like pcm.c, hwdep.c, etc.”…”�”}”(hj0°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©)�”}”(hjA°h]”hŒReturn”…”�”}”(hjC°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”…”�”}”(hjW°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Œ±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”…”�”}”(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:54: ./sound/core/control.c”h´M®hjY±ubjæ)�”}”(hhh]”j{)�”}”(hŒioctl callback function”h]”hŒioctl callback function”…”�”}”(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±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: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”…”�”}”(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_unregister_ioctl (C function)”Œc.snd_ctl_unregister_ioctl”hNt”auh1híhjø†h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ8int snd_ctl_unregister_ioctl (snd_kctl_ioctl_func_t fcn)”h]”j )�”}”(hŒ7int snd_ctl_unregister_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_unregister_ioctl”h]”j9)�”}”(hŒsnd_ctl_unregister_ioctl”h]”hŒsnd_ctl_unregister_ioctl”…”�”}”(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Œ(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˜j²sbŒc.snd_ctl_unregister_ioctl”†”asbuh1hhj²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj²ubj9)�”}”(hŒfcn”h]”hŒfcn”…”�”}”(hjM²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Œ.de-register the device-specific control-ioctls”h]”hŒ.de-register the device-specific control-ioctls”…”�”}”(hjw²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Ðhjt²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 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©)�”}”(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 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³Œ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_unregister_ioctl_compat (C function)”Œ!c.snd_ctl_unregister_ioctl_compat”hNt”auh1híhjø†h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ?int snd_ctl_unregister_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”…”�”}”(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´MÝubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG³h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj4³h²hh³jF³h´MÝubj3)�”}”(hŒsnd_ctl_unregister_ioctl_compat”h]”j9)�”}”(hŒsnd_ctl_unregister_ioctl_compat”h]”hŒsnd_ctl_unregister_ioctl_compat”…”�”}”(hjY³h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjU³ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj4³h²hh³jF³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”…”�”}”(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¥)�”}”j˜j[³sbŒ!c.snd_ctl_unregister_ioctl_compat”†”asbuh1hhjq³ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜³h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjq³ubj9)�”}”(hŒfcn”h]”hŒfcn”…”�”}”(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&]”jQjRuh1jShj4³h²hh³jF³h´MÝubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj0³h²hh³jF³h´MÝubah}”(h]”j+³ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jF³h´MÝhj-³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&]”uh1juhj-³h²hh³jF³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©)�”}”(hjL´h]”hŒReturn”…”�”}”(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´Máhjì³ubj{)�”}”(hŒ,zero if successful, or a negative error code”h]”hŒ,zero if successful, or a negative error code”…”�”}”(hjb´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”…”�”}”(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 hj9µ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Ÿ)�”}”(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©)�”}”(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 hjXµ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 hjwµ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åhjwµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’µh´M hjtµubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjXµ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 hjXµ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 hjXµ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&]”uh1jhjz·h²hh³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MD ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�·h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjz·h²hh³jŒ·h´MD 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&]”jQjRuh1j2hjz·h²hh³jŒ·h´MD 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&]”jQjRuh1jShjz·h²hh³jŒ·h´MD ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjv·h²hh³jŒ·h´MD ubah}”(h]”jq·ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŒ·h´MD hjs·h²hubjv)�”}”(hhh]”j{)�”}”(hŒdisconnect control layer”h]”hŒdisconnect control layer”…”�”}”(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´MD hj;¸h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjs·h²hh³jŒ·h´MD ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jV¸jšjV¸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©)�”}”(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:54: ./sound/core/control.c”h´MH hjZ¸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´ME hjy¸ubjæ)�”}”(hhh]”j{)�”}”(hŒoperation structure”h]”hŒoperation structure”…”�”}”(hj˜¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j”¸h´ME hj•¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjy¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j”¸h´ME hjv¸ubah}”(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:54: ./sound/core/control.c”h´MG hjZ¸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´MF hjZ¸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”…”�”}”(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_hj8¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8¹ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjZ¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjW¹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_mono_info”†”asbuh1hhj8¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj8¹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjˆ¹h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj8¹ubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj•¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj8¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj4¹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¢]”jv¹Œ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”ˆjQjRuh1jYhj4¹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”…”�”}”(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™jGºjšjGº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©)�”}”(hjQºh]”hŒ Parameters”…”�”}”(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:54: ./sound/core/control.c”h´MÖ hjKºubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ8``struct snd_kcontrol *kcontrol`` the kcontrol instance ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjpºh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjrºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjnº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Ô hjjº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åhjjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j…ºh´MÔ hjgº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Õ hjgºubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjKº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× hjKº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Ö 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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:54: ./sound/core/control.c”h´MÙ hjKº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Ú hjKº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”…”�”}”(hjP»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjL»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!hjL»h²hh³j^»h´Mè ubj3)�”}”(hŒsnd_ctl_boolean_stereo_info”h]”j9)�”}”(hŒsnd_ctl_boolean_stereo_info”h]”hŒsnd_ctl_boolean_stereo_info”…”�”}”(hjq»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm»ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjL»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˜js»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”…”�”}”(hj¼h²hh³Nh´Nubah}”(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_stereo_info”†”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Œuinfo”h]”hŒuinfo”…”�”}”(hjV¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjû»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…»ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjL»h²hh³j^»h´Mè ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjH»h²hh³j^»h´Mè ubah}”(h]”jC»ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j^»h´Mè hjE»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&]”uh1juhjE»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 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©)�”}”(hj5½h]”hŒ Description”…”�”}”(hj7½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj3½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.”…”�”}”(hjK½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¨hjZ½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)”…”�”}”(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ð 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Œ ”…”�”}”(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”h]”hŒinfo”…”�”}”(hj7¾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”…”�”}”(hjP¾h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjL¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjL¾ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjl¾h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjL¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz¾h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjL¾ubj9)�”}”(hŒchannels”h]”hŒchannels”…”�”}”(hjˆ¾h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL¾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Œ ”…”�”}”(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`)�”}”(hjph]”hŒconst”…”�”}”(hj6¿h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjî¾ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjî¾ubj9)�”}”(hŒnames”h]”hŒnames”…”�”}”(hjQ¿h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjî¾ubj¹)�”}”(hŒ[”h]”hŒ[”…”�”}”(hj_¿h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjî¾ubj¹)�”}”(hŒ]”h]”hŒ]”…”�”}”(hjm¿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Ð)�”}”(hjJÀh]”hŒunsigned int items”…”�”}”(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´M hjDÀ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 ”…”�”}”(hjcÀh²hh³Nh´Nubj©)�”}”(hŒ **names**”h]”hŒnames”…”�”}”(hjkÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjcÀ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Ï¿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)”…”�”}”(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´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”…”�”}”(hjNÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjKÁ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íhjKÁ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”…”�”}”(hjuÁh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjqÁ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!hjqÁ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&]”jQjRuh1j2hjqÁ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&]”uh1jhj Âubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2Â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Œ ”…”�”}”(hjNÂ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 short value”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Œshort”h]”hŒshort”…”�”}”(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Œvalue”h]”hŒvalue”…”�”}”(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³jƒÁh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjmÁh²hh³jƒÁh´Mubah}”(h]”jhÁah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jƒÁh´MhjjÁ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&]”uh1juhjjÁh²hh³jƒÁh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jïÂjšjïÂj›‰jœ‰j�‰uh1hþh²hhjKÁ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”…”�”}”(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 ac97 instance”h]”hŒthe ac97 instance”…”�”}”(hj1Ã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 short reg`` the register to change ”h]”(jÊ)�”}”(hŒ``unsigned short reg``”h]”jÐ)�”}”(hjQÃh]”hŒunsigned short reg”…”�”}”(hjSÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjOÃ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´MhjKÃubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(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´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žhjKÁh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_read (C function)”Œc.snd_ac97_read”hNt”auh1híhjKÁ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Œ ”…”�”}”(hj5Ä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”…”�”}”(hjGÄh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjCÄ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”…”�”}”(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_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˜jIÄsbŒc.snd_ac97_read”†”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”…”�”}”(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[Ä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”…”�”}”(hj7Å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´Mhj4Åh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÿÃh²hh³jÄh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jOÅjšjOÅj›‰jœ‰j�‰uh1hþh²hhjKÁ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©)�”}”(hjYÅh]”hŒ Parameters”…”�”}”(hj[Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjWÅ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"hjSÅubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hjxÅh]”hŒstruct snd_ac97 *ac97”…”�”}”(hjzÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjvÅ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 hjrÅ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åhjrÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�Åh´M hjoÅ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!hjoÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjSÅ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#hjSÅ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"hjSÅ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%hjSÅ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&hjSÅubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁ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íhjKÁ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”…”�”}”(hjXÆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjTÆ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Œ ”…”�”}”(hjgÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjTÆh²hh³jfÆh´M<ubj3)�”}”(hŒsnd_ac97_write_cache”h]”j9)�”}”(hŒsnd_ac97_write_cache”h]”hŒsnd_ac97_write_cache”…”�”}”(hjyÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjuÆubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjTÆh²hh³jfÆ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”…”�”}”(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Ç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 short value”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjXÇh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjTÇubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjTÇubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjtÇ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Œvalue”h]”hŒvalue”…”�”}”(hj�Çh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjTÇubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�Æubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjTÆh²hh³jfÆh´M<ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjPÆh²hh³jfÆh´M<ubah}”(h]”jKÆah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jfÆh´M<hjMÆ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&]”uh1juhjMÆh²hh³jfÆh´M<ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÒÇjšjÒÇj›‰jœ‰j�‰uh1hþh²hhjKÁ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Ð)�”}”(hj4Èh]”hŒunsigned short reg”…”�”}”(hj6Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj2È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 change”h]”hŒthe register to change”…”�”}”(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òÇubjÄ)�”}”(hŒ*``unsigned short value`` the value to set ”h]”(jÊ)�”}”(hŒ``unsigned short value``”h]”jÐ)�”}”(hjmÈh]”hŒunsigned short value”…”�”}”(hjoÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjkÈ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?hjgÈ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åhjgÈ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žhjKÁh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_update (C function)”Œc.snd_ac97_update”hNt”auh1híhjKÁ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Œ ”…”�”}”(hj7Éh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj&Éubh)�”}”(hhh]”j9)�”}”(hŒsnd_ac97”h]”hŒsnd_ac97”…”�”}”(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_ac97_update”†”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Œ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”…”�”}”(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 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´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”…”�”}”(hjOÊ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´MRhjLÊh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjâÈh²hh³jûÈh´MRubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jgÊjšjgÊj›‰jœ‰j�‰uh1hþh²hhjKÁ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©)�”}”(hjqÊh]”hŒ Parameters”…”�”}”(hjsÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjoÊ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´MVhjkÊ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”…”�”}”(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‡Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjkÊ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´MWhjkÊ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.”…”�”}”(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´MVhjkÊ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³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MYhjkÊ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.”…”�”}”(hjzË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´MZhjkÊubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁ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íhjKÁ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Œ*”…”�”}”(hj2Ì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”…”�”}”(hjXÌh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjTÌubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfÌh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjTÌubj)�”}”(hŒshort”h]”hŒshort”…”�”}”(hjtÌ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Œreg”h]”hŒreg”…”�”}”(hj�Ìh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjTÌ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”…”�”}”(hj2Í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”…”�”}”(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´MphjYÍh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjžËh²hh³j·Ëh´Mpubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jtÍjšjtÍj›‰jœ‰j�‰uh1hþh²hhjKÁ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´MthjxÍ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Ð)�”}”(hjHÎh]”hŒunsigned short value”…”�”}”(hjJÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjFÎ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´MthjBÎubjæ)�”}”(hhh]”j{)�”}”(hŒthe value to set”h]”hŒthe value to set”…”�”}”(hjaÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]Îh´Mthj^Îubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjBÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]Îh´Mthj”Í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³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MvhjxÍ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´MuhjxÍ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´MxhjxÍ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´MyhjxÍubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁ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íhjKÁ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”…”�”}”(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 card instance”h]”hŒthe card instance”…”�”}”(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Œ``int num`` the bus number ”h]”(jÊ)�”}”(hŒ ``int num``”h]”jÐ)�”}”(hjQÓh]”hŒint num”…”�”}”(hjSÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjOÓ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ŒhjKÓubjæ)�”}”(hhh]”j{)�”}”(hŒthe bus number”h]”hŒthe bus number”…”�”}”(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Œ?``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©)�”}”(hj7Ôh]”hŒ Description”…”�”}”(hj9Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj5Ô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.”…”�”}”(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´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.”…”�”}”(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ŒXThe clock is set to 48000. If another clock is needed, set ``(*rbus)->clock`` manually.”h]”(hŒclock``”h]”hŒ(*rbus)->clock”…”�”}”(hjsÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjkÔubhŒ manually.”…”�”}”(hjkÔ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žhjKÁh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_mixer (C function)”Œc.snd_ac97_mixer”hNt”auh1híhjKÁ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”…”�”}”(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˜jÕsbŒ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Œ*”…”�”}”(hjkÕh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÕubj9)�”}”(hŒbus”h]”hŒbus”…”�”}”(hjxÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÕubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÕubjZ)�”}”(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¢]”jYÕŒ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”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÖubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j!ÖŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jYÕŒ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Œ*”…”�”}”(hjKÖ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Œrac97”h]”hŒrac97”…”�”}”(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&]”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²hhjKÁ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.”…”�”}”(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×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j×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Ð)�”}”(hjC×h]”hŒstruct snd_ac97 **rac97”…”�”}”(hjE×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjA×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 instance.”h]”hŒ+the pointer to store the new ac97 instance.”…”�”}”(hj\×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jX×h´MõhjY×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj=×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jX×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´Mhj«Ö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´Mhj«Öubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁ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íhjKÁ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´Mv ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjØh²hh³jØh´Mv 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´Mv ubjT)�”}”(hŒ-(struct snd_ac97 *ac97, int reg, int powerup)”h]”(jZ)�”}”(hŒstruct snd_ac97 *ac97”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_ac97”h]”hŒsnd_ac97”…”�”}”(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¥)�”}”j˜j+ØsbŒc.snd_ac97_update_power”†”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Œac97”h]”hŒac97”…”�”}”(hjžØh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjAØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj=Ø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”ˆjQjRuh1jYhj=Ø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”ˆjQjRuh1jYhj=Øubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjØh²hh³jØh´Mv ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjØh²hh³jØh´Mv ubah}”(h]”jû×ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jØh´Mv hjý×h²hubjv)�”}”(hhh]”j{)�”}”(hŒupdate the powerdown register”h]”hŒupdate the powerdown register”…”�”}”(hj2Ù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´Mv hj/Ùh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjý×h²hh³jØh´Mv ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jJÙjšjJÙj›‰jœ‰j�‰uh1hþh²hhjKÁ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©)�”}”(hjTÙh]”hŒ Parameters”…”�”}”(hjVÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjRÙ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´Mz hjNÙubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ-``struct snd_ac97 *ac97`` the codec instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hjsÙh]”hŒstruct snd_ac97 *ac97”…”�”}”(hjuÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjqÙ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´Mw hjmÙ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´Mw hj‰Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjmÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jˆÙh´Mw hjjÙ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´Mx 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´Mx hjÂÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¦Ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÁÙh´Mx hjjÙ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´My 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´My hjûÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjßÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³júÙh´My hjjÙubeh}”(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³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M{ hjNÙubj{)�”}”(hŒ:Update the AC97 powerdown register bits of the given part.”h]”hŒ:Update the AC97 powerdown register bits of the given part.”…”�”}”(hj6Ú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 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³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´M| hjNÙubj{)�”}”(hŒZero.”h]”hŒZero.”…”�”}”(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} hjNÙubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_suspend (C function)”Œc.snd_ac97_suspend”hNt”auh1híhjKÁ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”…”�”}”(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Œ'General suspend function for AC97 codec”h]”hŒ'General suspend function for AC97 codec”…”�”}”(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²hhjKÁ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©)�”}”(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„Û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³Œ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Œ(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× hjhÛubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_ac97_resume (C function)”Œc.snd_ac97_resume”hNt”auh1híhjKÁ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Œ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj Üh²hh³jÜh´M ubj3)�”}”(hŒsnd_ac97_resume”h]”j9)�”}”(hŒsnd_ac97_resume”h]”hŒsnd_ac97_resume”…”�”}”(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”…”�”}”(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_ac97”h]”hŒsnd_ac97”…”�”}”(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˜j0ÜsbŒc.snd_ac97_resume”†”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Œac97”h]”hŒac97”…”�”}”(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´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 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³jÜh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jåÜjšjåÜj›‰jœ‰j�‰uh1hþh²hhjKÁ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³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©)�”}”(hjIÝh]”hŒ Description”…”�”}”(hjKÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjGÝ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.”…”�”}”(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žhjKÁ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íhjKÁ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”…”�”}”(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`)�”}”(hjch]”hŒstruct”…”�”}”(hjXÞh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj9Þubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeÞh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9Þubh)�”}”(hhh]”j9)�”}”(hŒ ac97_quirk”h]”hŒ ac97_quirk”…”�”}”(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_ac97_tune_hardware”†”asbuh1hhj9Þubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Þh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9Þubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¢Þh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj9Þubj9)�”}”(hŒquirk”h]”hŒquirk”…”�”}”(hj¯Þh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9Þ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”…”�”}”(hj6ß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… 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²hhjKÁ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©)�”}”(hjXßh]”hŒ Parameters”…”�”}”(hjZßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjVß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‰ hjRßubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_ac97 *ac97`` the ac97 instance ”h]”(jÊ)�”}”(hŒ``struct snd_ac97 *ac97``”h]”jÐ)�”}”(hjwßh]”hŒstruct snd_ac97 *ac97”…”�”}”(hjyßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjuß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† hjqß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åhjqßubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŒßh´M† hjnß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‡ hjnß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ˆ 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³Œl/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:58: ./sound/pci/ac97/ac97_codec.c”h´MŠ hjRß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.”…”�”}”(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‰ hjRßubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjKàh]”hŒReturn”…”�”}”(hjMàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjIà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� hjRßubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjaà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Ž hjRßubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁ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íhjKÁ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”…”�”}”(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Œ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 rate”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjtáh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjpáubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚áh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpáubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj�áh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjpáubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžáh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpáubj9)�”}”(hŒrate”h]”hŒrate”…”�”}”(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´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²hhjKÁ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”…”�”}”(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Œ#``int reg`` the register to change ”h]”(jÊ)�”}”(hŒ ``int reg``”h]”jÐ)�”}”(hjPâh]”hŒint reg”…”�”}”(hjRâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjNâ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âhjJâubjæ)�”}”(hhh]”j{)�”}”(hŒthe register to change”h]”hŒthe register to change”…”�”}”(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Œ-``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žhjKÁ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íhjKÁ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”…”�”}”(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Œ ”…”�”}”(hjNãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;ãh²hh³jMãh´M£ubj3)�”}”(hŒsnd_ac97_pcm_assign”h]”j9)�”}”(hŒsnd_ac97_pcm_assign”h]”hŒsnd_ac97_pcm_assign”…”�”}”(hj`ãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\ãubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj;ãh²hh³jMã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_hjxãubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰ãh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjxã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˜jbãsbŒc.snd_ac97_pcm_assign”†”asbuh1hhjxã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Œbus”h]”hŒbus”…”�”}”(hjÕãh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtã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”ˆjQjRuh1jYhjtãubjZ)�”}”(hŒconst struct ac97_pcm *pcms”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Œac97_pcm”h]”hŒac97_pcm”…”�”}”(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_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Œpcms”h]”hŒpcms”…”�”}”(hj±äh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj;äubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtãubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj;ãh²hh³jMãh´M£ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj7ãh²hh³jMãh´M£ubah}”(h]”j2ãah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jMãh´M£hj4ã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&]”uh1juhj4ãh²hh³jMãh´M£ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jóäjšjóäj›‰jœ‰j�‰uh1hþh²hhjKÁ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Ð)�”}”(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³Œ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”…”�”}”(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 pcms_count`` count of PCMs to be assigned ”h]”(jÊ)�”}”(hŒ``unsigned short pcms_count``”h]”jÐ)�”}”(hjUåh]”hŒunsigned short pcms_count”…”�”}”(hjWåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjSå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¥hjOåubjæ)�”}”(hhh]”j{)�”}”(hŒcount of PCMs to be assigned”h]”hŒcount of PCMs to be assigned”…”�”}”(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Œ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žhjKÁ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íhjKÁ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”…”�”}”(hj5æh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1æ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!hj1æh²hh³jCæh´M ubj3)�”}”(hŒsnd_ac97_pcm_open”h]”j9)�”}”(hŒsnd_ac97_pcm_open”h]”hŒsnd_ac97_pcm_open”…”�”}”(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Œ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”…”�”}”(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Œ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˜jXæsbŒc.snd_ac97_pcm_open”†”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Œpcm”h]”hŒpcm”…”�”}”(hjËæh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjnæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjjæ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”ˆjQjRuh1jYhjjæubjZ)�”}”(hŒenum ac97_pcm_cfg cfg”h]”(j`)�”}”(hj…&h]”hŒenum”…”�”}”(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Œ ac97_pcm_cfg”h]”hŒ ac97_pcm_cfg”…”�”}”(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¬æŒc.snd_ac97_pcm_open”†”asbuh1hhj1çubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqçh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1çubj9)�”}”(hŒcfg”h]”hŒcfg”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1çubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjjæ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”ˆ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Œ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³jCæh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jèjšjèj›‰jœ‰j�‰uh1hþh²hhjKÁ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©)�”}”(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Ïhj9è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!hj5èubjæ)�”}”(hhh]”j{)�”}”(hŒthe ac97 pcm instance”h]”hŒthe ac97 pcm instance”…”�”}”(hjTèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jPèh´M!hjQèubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj5èubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jPèh´M!hj2è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Ð)�”}”(hjtèh]”hŒunsigned int rate”…”�”}”(hjvèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjrè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"hjnè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åhjnèubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰èh´M"hj2è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#hj2è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$hj2è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Œ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.”…”�”}”(hj7é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©)�”}”(hjHéh]”hŒReturn”…”�”}”(hjJéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjFé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žhjKÁ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íhjKÁ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”…”�”}”(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Œcloses the given AC97 pcm”h]”hŒcloses the given AC97 pcm”…”�”}”(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|hjJêh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj‚éh²hh³j›éh´M|ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jeêjšjeêj›‰jœ‰j�‰uh1hþh²hhjKÁ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©)�”}”(hjoêh]”hŒ Parameters”…”�”}”(hjqêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjmê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€hjiê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¾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³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´Mhjiê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~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³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´M€hjiê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�hjiêubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjKÁ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íhjKÁ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”…”�”}”(hj5ëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1ë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!hj1ëh²hh³jCë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”…”�”}”(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_runtime *runtime)”h]”jZ)�”}”(hŒstruct snd_pcm_runtime *runtime”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_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˜jXësbŒ c.snd_ac97_pcm_double_rate_rules”†”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Œruntime”h]”hŒruntime”…”�”}”(hjËëh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjnëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjjëubah}”(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 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³jCëh´MÆubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j ìjšj ìj›‰jœ‰j�‰uh1hþh²hhjKÁ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Ð)�”}”(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³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:59: ./sound/pci/ac97/ac97_pcm.c”h´MÇhj0ìubjæ)�”}”(hhh]”j{)�”}”(hŒ*the runtime of the ac97 front playback pcm”h]”hŒ*the runtime of the ac97 front playback pcm”…”�”}”(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-ìubah}”(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³Œ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žhjKÁ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”…”�”}”(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_card”h]”hŒsnd_card”…”�”}”(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_ctl_add_followers”†”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Œ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_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¢]”jmíŒ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”ˆjQjRuh1jYhj+í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Œ ”…”�”}”(hj"îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjîubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj0î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Œ*”…”�”}”(hjLîh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjîubj`)�”}”(hjph]”hŒconst”…”�”}”(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îubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjtî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+í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Ÿ)�”}”(hXŸ**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. 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: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Ï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Œ"the target vmaster kcontrol object”h]”hŒ"the target vmaster kcontrol object”…”�”}”(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 * const *list`` NULL-terminated list of name strings of followers to be added ”h]”(jÊ)�”}”(hŒ``const char * const *list``”h]”jÐ)�”}”(hj^ïh]”hŒconst char * const *list”…”�”}”(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´MhjXï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”…”�”}”(hjwïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsïh´Mhjtïubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsï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Çî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: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_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Œ ”…”�”}”(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_make_virtual_master”h]”j9)�”}”(hj*ðh]”hŒsnd_ctl_make_virtual_master”…”�”}”(hjLðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjHð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”…”�”}”(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¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjƒðh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjcðubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hj�ðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjcðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj_ð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”ˆ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 virtual master control”h]”hŒCreate a virtual master control”…”�”}”(hj3ñ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—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** ``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©)�”}”(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:63: ./sound/core/vmaster.c”h´M›hjOñubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``char *name`` name string of the control element to create ”h]”(jÊ)�”}”(hŒ``char *name``”h]”jÐ)�”}”(hjtñh]”hŒ char *name”…”�”}”(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´M˜hjnñ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åhjnñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰ñh´M˜hjkñ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™hjkñubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjOñ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›hjOñubj{)�”}”(hŒôh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj±óubj¹)�”}”(hŒ,”h]”hŒ,”…”�”}”(hjLôh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj±óubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj±óubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjhôh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj±óubj¹)�”}”(hjüóh]”hŒ)”…”�”}”(hjvôh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj±óubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjËò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”ˆ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 hook to a vmaster control”h]”hŒAdd a hook to a vmaster 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Ô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_kcontrol *kcontrol`` vmaster kctl element ``void (*hook)(void *private_data, int)`` the hook function ``void *private_data`` the private_data pointer to be saved **Description** Adds the given hook to the vmaster control element so that it's called at each time when the value is changed. Takes the card's controls_rwsem lock internally. **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³Œ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Œ,``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:63: ./sound/core/vmaster.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³j7õh´MÕhj8õubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7õh´MÕhjõubjÄ)�”}”(hŒ7``struct snd_kcontrol *kcontrol`` vmaster kctl element ”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Ï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Œvmaster kctl element”h]”hŒvmaster kctl element”…”�”}”(hjtõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jpõh´MÖhjqõubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jpõh´MÖhjõubjÄ)�”}”(hŒ<``void (*hook)(void *private_data, int)`` the hook function ”h]”(jÊ)�”}”(hŒ)``void (*hook)(void *private_data, int)``”h]”jÐ)�”}”(hj”õh]”hŒ%void (*hook)(void *private_data, int)”…”�”}”(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Œthe hook function”h]”hŒthe hook 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_data`` the private_data pointer to be saved ”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:63: ./sound/core/vmaster.c”h´MØhjÇõubjæ)�”}”(hhh]”j{)�”}”(hŒ$the private_data pointer to be saved”h]”hŒ$the private_data pointer to be saved”…”�”}”(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:63: ./sound/core/vmaster.c”h´MÚhjýôubj{)�”}”(hŒnAdds the given hook to the vmaster control element so that it's called at each time when the value is changed.”h]”hŒpAdds the given hook to the vmaster control element so that it’s called at each time when the value is 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:63: ./sound/core/vmaster.c”h´MÙhjýôubj{)�”}”(hŒ0Takes the card's controls_rwsem lock internally.”h]”hŒ2Takes the card’s 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: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ŒZero.”h]”hŒZero.”…”�”}”(hjTö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ß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_sync_vmaster (C function)”Œc.snd_ctl_sync_vmaster”hNt”auh1híhjÌìh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIvoid snd_ctl_sync_vmaster (struct snd_kcontrol *kcontrol, bool hook_only)”h]”j )�”}”(hŒHvoid snd_ctl_sync_vmaster(struct snd_kcontrol *kcontrol, bool hook_only)”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: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ïubj3)�”}”(hŒsnd_ctl_sync_vmaster”h]”j9)�”}”(hŒsnd_ctl_sync_vmaster”h]”hŒsnd_ctl_sync_vmaster”…”�”}”(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, bool hook_only)”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_sync_vmaster”†”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Œbool hook_only”h]”(j)�”}”(hjI˜h]”hŒbool”…”�”}”(hj2÷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Œ hook_only”h]”hŒ hook_only”…”�”}”(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&]”jQjRuh1jShjöh²hh³j‘öh´Mïubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj{öh²hh³j‘öh´Mïubah}”(h]”jvöah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‘öh´Mïhjxöh²hubjv)�”}”(hhh]”j{)�”}”(hŒ#Sync the vmaster followers and hook”h]”hŒ#Sync the vmaster followers and hook”…”�”}”(hjw÷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ïhjt÷h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjxö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`` vmaster kctl element ``bool hook_only`` sync only the hook **Description** 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]”(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Œ7``struct snd_kcontrol *kcontrol`` vmaster kctl element ”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:63: ./sound/core/vmaster.c”h´Mðhj²÷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´MðhjÎ÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍ÷h´Mðhj¯÷ubjÄ)�”}”(hŒ&``bool hook_only`` sync only the hook ”h]”(jÊ)�”}”(hŒ``bool hook_only``”h]”jÐ)�”}”(hjñ÷h]”hŒbool hook_only”…”�”}”(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Œsync only the hook”h]”hŒsync only the hook”…”�”}”(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: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 ”…”�”}”(hjBøh²hh³Nh´Nubj©)�”}”(hŒ **kcontrol**”h]”hŒkcontrol”…”�”}”(hjJøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjBøubhŒ.”…”�”}”(hjBø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Œ ”…”�”}”(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ŒUint (*func)(struct snd_kcontrol *vfollower, struct snd_kcontrol *follower, void *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj2ù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Œ(”…”�”}”(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Œfunc”h]”hŒfunc”…”�”}”(hjhùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.ùubj¹)�”}”(hjüóh]”hŒ)”…”�”}”(hjvù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`)�”}”(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_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”…”�”}”(hjçùh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.ùubj¹)�”}”(hjNô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`)�”}”(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”j0úŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”júøŒ!c.snd_ctl_apply_vmaster_followers”†”asbuh1hhj.ùubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLúh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj.ùubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjZúh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj.ùubj9)�”}”(hŒfollower”h]”hŒfollower”…”�”}”(hjgúh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj.ùubj¹)�”}”(hjNô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.ù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Œ*”…”�”}”(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´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj{øh²hh³j‘øh´Mubah}”(h]”jvøah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‘øh´Mhjxøh²hubjv)�”}”(hhh]”j{)�”}”(hŒ'Apply function to each vmaster follower”h]”hŒ'Apply function to each vmaster follower”…”�”}”(hj2û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&]”uh1juhjxøh²hh³j‘øh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jJûjšjJû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©)�”}”(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:63: ./sound/core/vmaster.c”h´MhjNûubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_kcontrol *kctl`` vmaster kctl element ”h]”(jÊ)�”}”(hŒ``struct snd_kcontrol *kctl``”h]”jÐ)�”}”(hjsûh]”hŒstruct snd_kcontrol *kctl”…”�”}”(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:63: ./sound/core/vmaster.c”h´Mhjmû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åhjmûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jˆûh´Mhjjû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´Mhj¦û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´MhjÂûubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¦ûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÁûh´MhjjûubjÄ)�”}”(hŒ)``void *arg`` optional function 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:63: ./sound/core/vmaster.c”h´Mhjßûubjæ)�”}”(hhh]”j{)�”}”(hŒoptional function argument”h]”hŒoptional function argument”…”�”}”(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´Mhjjûubeh}”(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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:63: ./sound/core/vmaster.c”h´MhjNûubj{)�”}”(hŒLApply the function **func** to each follower kctl of the given vmaster kctl.”h]”(hŒApply the function ”…”�”}”(hj6üh²hh³Nh´Nubj©)�”}”(hŒ**func**”h]”hŒfunc”…”�”}”(hj>üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj6üubhŒ1 to each follower kctl of the given vmaster kctl.”…”�”}”(hj6ü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´MhjNûubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjYüh]”hŒReturn”…”�”}”(hj[üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjWü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´MhjNûubj{)�”}”(hŒ)0 if successful, or a negative error code”h]”hŒ)0 if successful, or a negative error code”…”�”}”(hjoü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´MhjNû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”…”�”}”(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, const char *name)”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”…”�”}”(hj6ýh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3ýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j8ýŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÙüŒc.snd_ctl_find_id_mixer”†”asbuh1hhjý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ýubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjoý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ý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”…”�”}”(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_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©)�”}”(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Œ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj7þh]”hŒstruct snd_card *card”…”�”}”(hj9þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj5þ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•hj1þubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjPþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jLþh´K•hjMþubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj1þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jLþh´K•hj.þubjÄ)�”}”(hŒ%``const char *name`` the name string ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hjpþh]”hŒconst char *name”…”�”}”(hjrþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjnþ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–hjjþ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åhjjþ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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´K˜hjþ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 ”…”�”}”(hjÁþh²hh³Nh´Nubj©)�”}”(hŒ**SNDRV_CTL_ELEM_IFACE_MIXER**”h]”hŒSNDRV_CTL_ELEM_IFACE_MIXER”…”�”}”(hjÉþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÁþubhŒ. Other fields are set to zero.”…”�”}”(hjÁþh²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—hjþubj{)�”}”(hŒ.This is merely a wrapper to snd_ctl_find_id().”h]”hŒ.This is merely a wrapper to snd_ctl_find_id().”…”�”}”(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´Kœhjþ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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”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_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”…”�”}”(hjJÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjFÿ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Œ ”…”�”}”(hjYÿh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjFÿh²hh³jXÿh´Kòubj3)�”}”(hŒsnd_ctl_add_follower”h]”j9)�”}”(hŒsnd_ctl_add_follower”h]”hŒsnd_ctl_add_follower”…”�”}”(hjkÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjgÿubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjFÿh²hh³jXÿ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˜jmÿsbŒc.snd_ctl_add_follower”†”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”ˆ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Œ ”…”�”}”(hjh²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ÁÿŒc.snd_ctl_add_follower”†”asbuh1hhjõÿubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõÿubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjõÿubj9)�”}”(hŒfollower”h]”hŒfollower”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjõÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÿubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjFÿh²hh³jXÿh´Kòubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjBÿh²hh³jXÿh´Kòubah}”(h]”j=ÿah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jXÿh´Kòhj?ÿh²hubjv)�”}”(hhh]”j{)�”}”(hŒAdd a virtual follower control”h]”hŒAdd a virtual follower control”…”�”}”(hjzh²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òhjwh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj?ÿh²hh³jXÿ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Ÿ)�”}”(hXz**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_make_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Ï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Œvmaster element”h]”hŒvmaster element”…”�”}”(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Œ:``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´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³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”…”�”}”(hj1h²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ŒpAdd a virtual follower control to the given master element created via snd_ctl_make_virtual_master() beforehand.”h]”hŒpAdd a virtual follower control to the given master element created via snd_ctl_make_virtual_master() beforehand.”…”�”}”(hjEh²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.”…”�”}”(hjTh²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”…”�”}”(hjch²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©)�”}”(hjth]”hŒReturn”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjrubah}”(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”…”�”}”(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´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_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&]”jQjRuh1j2hjµh²hh³jÇh´MubjT)�”}”(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Œ ”…”�”}”(hjh²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_ctl_add_follower_uncached”†”asbuh1hhjòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjòubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjòubj9)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hjOh²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”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjƒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jˆŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j0Œc.snd_ctl_add_follower_uncached”†”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´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 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´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Ÿ)�”}”(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©)�”}”(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´Mhjubj¿)�”}”(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Ï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Œvmaster element”h]”hŒvmaster element”…”�”}”(hjCh²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_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´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³jxh´Mhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jxh´Mhj!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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:64: ./include/sound/control.h”h´Mhjubj{)�”}”(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.”…”�”}”(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´Mhjubj{)�”}”(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.”…”�”}”(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´Mhjubj{)�”}”(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´Mhjubj{)�”}”(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´Mhjubeh}”(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”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KCubh¶)�”}”(hhh]”(h»)�”}”(hŒ Raw MIDI API”h]”hŒ Raw MIDI API”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj!h²hh³hÊh´KFubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_rawmidi_receive (C function)”Œc.snd_rawmidi_receive”hNt”auh1híhj!h²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”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjGh²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Œ ”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjGh²hh³jYh´M¦ubj3)�”}”(hŒsnd_rawmidi_receive”h]”j9)�”}”(hŒsnd_rawmidi_receive”h]”hŒsnd_rawmidi_receive”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjGh²hh³jYh´M¦ubjT)�”}”(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˜jnsbŒc.snd_rawmidi_receive”†”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Œconst unsigned char *buffer”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(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öubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjh²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”…”�”}”(hj1h²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Œ*”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjöubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hjZh²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”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjoubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjoubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjoubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj€ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjGh²hh³jYh´M¦ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjCh²hh³jYh´M¦ubah}”(h]”j>ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jYh´M¦hj@h²hubjv)�”}”(hhh]”j{)�”}”(hŒ&receive the input data from the device”h]”hŒ&receive the input data from the device”…”�”}”(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³jYh´M¦ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÑjšjÑj›‰jœ‰j�‰uh1hþh²hhj!h³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´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”…”�”}”(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Œ3``const unsigned char *buffer`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``const unsigned char *buffer``”h]”jÐ)�”}”(hj3h]”hŒconst unsigned char *buffer”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1ubah}”(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”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jHh´M¨hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jHh´M¨hjñubjÄ)�”}”(hŒ$``int count`` the data size to read ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hjlh]”hŒ int count”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjubah}”(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©hjfubjæ)�”}”(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´M©hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjfubeh}”(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Œ(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´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:71: ./sound/core/rawmidi.c”h´M¬hjÕ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.”…”�”}”(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žhj!h²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íhj!h²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”…”�”}”(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´Mfubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j!h´Mfubj3)�”}”(hŒsnd_rawmidi_transmit_empty”h]”j9)�”}”(hŒsnd_rawmidi_transmit_empty”h]”hŒsnd_rawmidi_transmit_empty”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³j!h´MfubjT)�”}”(hŒ)(struct snd_rawmidi_substream *substream)”h]”jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(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¥)�”}”j˜j6sbŒc.snd_rawmidi_transmit_empty”†”asbuh1hhjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjLubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjHubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³j!h´Mfubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj h²hh³j!h´Mfubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j!h´Mfhjh²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´MfhjÐh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j!h´Mfubeh}”(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_rawmidi_substream *substream`` the rawmidi substream **Return** 1 if the internal output buffer is empty, 0 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:71: ./sound/core/rawmidi.c”h´Mjhjïubj¿)�”}”(hhh]”jÄ)�”}”(hŒB``struct snd_rawmidi_substream *substream`` the rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjh]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(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´Mghjubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi substream”h]”hŒthe rawmidi substream”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j)h´Mghj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j)h´Mghj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjïubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjOh]”hŒReturn”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjMubah}”(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´Mihjï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.”…”�”}”(hjeh²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´Mihjïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj!h²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íhj!h²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Œ*”…”�”}”(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Œunsigned char *buffer”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Œchar”h]”hŒchar”…”�”}”(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? 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”…”�”}”(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²hhj!h³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©)�”}”(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”…”�”}”(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 ubjÄ)�”}”(hŒ-``unsigned char *buffer`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``unsigned char *buffer``”h]”jÐ)�”}”(hja h]”hŒunsigned char *buffer”…”�”}”(hjc 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”…”�”}”(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²hj 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³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Œ@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´M´hj 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.”…”�”}”(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©)�”}”(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 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.”…”�”}”(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žhj!h²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íhj!h²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”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjL 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!hjL h²hh³j^ h´Mæubj3)�”}”(hŒsnd_rawmidi_transmit_ack”h]”j9)�”}”(hŒsnd_rawmidi_transmit_ack”h]”hŒsnd_rawmidi_transmit_ack”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjL 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˜js 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”…”�”}”(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&]”jQjRuh1jShjL h²hh³j^ h´Mæubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjH h²hh³j^ h´Mæubah}”(h]”jC ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j^ h´MæhjE h²hubjv)�”}”(hhh]”j{)�”}”(hŒacknowledge the transmission”h]”hŒacknowledge the transmission”…”�”}”(hjE 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æhjB h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjE 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Ÿ)�”}”(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©)�”}”(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:71: ./sound/core/rawmidi.c”h´Mêhja 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Ð)�”}”(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 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å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:71: ./sound/core/rawmidi.c”h´Mêhja 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é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:71: ./sound/core/rawmidi.c”h´Míhja 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.”…”�”}”(hj7 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îhja ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj!h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ!snd_rawmidi_transmit (C function)”Œc.snd_rawmidi_transmit”hNt”auh1híhj!h²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”…”�”}”(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:71: ./sound/core/rawmidi.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_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&]”jQjRuh1j2hjb h²hh³jt 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”†”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Œunsigned char *buffer”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(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!hjubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj› ubjZ)�”}”(hŒ int count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjoubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjoubj9)�”}”(hŒcount”h]”hŒcount”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjoubeh}”(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Œ"copy from the buffer to the device”h]”hŒ"copy from the buffer to the device”…”�”}”(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³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Ÿ)�”}”(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Ð)�”}”(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”…”�”}”(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Œ-``unsigned char *buffer`` the buffer pointer ”h]”(jÊ)�”}”(hŒ``unsigned char *buffer``”h]”jÐ)�”}”(hj3h]”hŒunsigned char *buffer”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1ubah}”(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”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jHh´MühjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jHh´MühjñubjÄ)�”}”(hŒ(``int count`` the data size to transfer ”h]”(jÊ)�”}”(hŒ ``int count``”h]”jÐ)�”}”(hjlh]”hŒ int count”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjjubah}”(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ýhjfubjæ)�”}”(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åhjfubeh}”(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©)�”}”(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´MhjÕ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.”…”�”}”(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´MhjÕubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj!h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ snd_rawmidi_proceed (C function)”Œc.snd_rawmidi_proceed”hNt”auh1híhj!h²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”…”�”}”(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´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j!h´Mubj3)�”}”(hŒsnd_rawmidi_proceed”h]”j9)�”}”(hŒsnd_rawmidi_proceed”h]”hŒsnd_rawmidi_proceed”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³j!h´MubjT)�”}”(hŒ)(struct snd_rawmidi_substream *substream)”h]”jZ)�”}”(hŒ'struct snd_rawmidi_substream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubh)�”}”(hhh]”j9)�”}”(hŒsnd_rawmidi_substream”h]”hŒsnd_rawmidi_substream”…”�”}”(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¥)�”}”j˜j6sbŒc.snd_rawmidi_proceed”†”asbuh1hhjLubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjLubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjHubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjh²hh³j!h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj h²hh³j!h´Mubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j!h´Mhjh²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´MhjÐh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²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_rawmidi_substream *substream`` rawmidi substream **Return** the number of discarded 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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:71: ./sound/core/rawmidi.c”h´Mhjïubj¿)�”}”(hhh]”jÄ)�”}”(hŒ>``struct snd_rawmidi_substream *substream`` rawmidi substream ”h]”(jÊ)�”}”(hŒ+``struct snd_rawmidi_substream *substream``”h]”jÐ)�”}”(hjh]”hŒ'struct snd_rawmidi_substream *substream”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(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´Mhjubjæ)�”}”(hhh]”j{)�”}”(hŒrawmidi substream”h]”hŒrawmidi substream”…”�”}”(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 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjïubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjOh]”hŒReturn”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjMubah}”(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´Mhjïubj{)�”}”(hŒthe number of discarded bytes”h]”hŒthe number of discarded bytes”…”�”}”(hjeh²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´Mhjïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj!h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_rawmidi_new (C function)”Œc.snd_rawmidi_new”hNt”auh1híhj!h²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´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_new”h]”j9)�”}”(hŒsnd_rawmidi_new”h]”hŒsnd_rawmidi_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Œ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_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_rawmidi_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Œ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Œchar *id”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²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”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÉ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”ˆjQjRuh1jYhjÉubjZ)�”}”(hŒint output_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Œ output_count”h]”hŒ output_count”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÉubjZ)�”}”(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Œ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjëubj9)�”}”(hŒ input_count”h]”hŒ input_count”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÉubjZ)�”}”(hŒstruct snd_rawmidi **rrawmidi”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j9)�”}”(hŒ snd_rawmidi”h]”hŒ snd_rawmidi”…”�”}”(hjBh²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 Œc.snd_rawmidi_new”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubj¹)�”}”(hj¼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Œrrawmidi”h]”hŒrrawmidi”…”�”}”(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 a rawmidi instance”h]”hŒcreate a rawmidi 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´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 ``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´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:71: ./sound/core/rawmidi.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³jh´M‰hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´M‰hjêubjÄ)�”}”(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Ï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 id string”h]”hŒ the id string”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jAh´MŠhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jAh´MŠhjêubjÄ)�”}”(hŒ ``int device`` the device index ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hjeh]”hŒ int device”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjcubah}”(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 device index”h]”hŒthe device index”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jzh´M‹hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jzh´M‹hjêubjÄ)�”}”(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´MŒhj˜ubjæ)�”}”(hhh]”j{)�”}”(hŒthe number of output streams”h]”hŒthe number of output streams”…”�”}”(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``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´M�hjÑ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´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``struct snd_rawmidi **rrawmidi`` the pointer to store the new rawmidi instance ”h]”(jÊ)�”}”(hŒ!``struct snd_rawmidi **rrawmidi``”h]”jÐ)�”}”(hjh]”hŒstruct snd_rawmidi **rrawmidi”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjubah}”(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 pointer to store the new rawmidi instance”h]”hŒ-the pointer to store the new 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êubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÎubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjKh]”hŒ Description”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjIubah}”(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Œ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.”…”�”}”(hjah²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©)�”}”(hjrh]”hŒReturn”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjpubah}”(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Œ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“hjÎubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj!h²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íhj!h²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”…”�”}”(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´Mcubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj³h²hh³jÅh´Mcubj3)�”}”(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&]”jQjRuh1j2hj³h²hh³jÅh´McubjT)�”}”(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”…”�”}”(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_rawmidi”h]”hŒ snd_rawmidi”…”�”}”(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_rawmidi_set_ops”†”asbuh1hhjðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²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”…”�”}”(hjMh²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”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjbubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjbubeh}”(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”…”�”}”(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_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Œ ”…”�”}”(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Œ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´Mcubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¯h²hh³jÅh´Mcubah}”(h]”jªah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÅh´Mchj¬h²hubjv)�”}”(hhh]”j{)�”}”(hŒset the rawmidi operators”h]”hŒset the rawmidi operators”…”�”}”(hj7h²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´Mchj4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¬h²hh³jÅh´Mcubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜•j–j™jOjšjOj›‰jœ‰j�‰uh1hþh²hhj!h³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©)�”}”(hjYh]”hŒ Parameters”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjWubah}”(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´MghjSubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_rawmidi *rmidi`` the rawmidi instance ”h]”(jÊ)�”}”(hŒ``struct snd_rawmidi *rmidi``”h]”jÐ)�”}”(hjxh]”hŒstruct snd_rawmidi *rmidi”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjvubah}”(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´Mdhjrubjæ)�”}”(hhh]”j{)�”}”(hŒthe rawmidi instance”h]”hŒthe rawmidi instance”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j�h´MdhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�h´MdhjoubjÄ)�”}”(hŒ>``int stream`` the stream direction, SNDRV_RAWMIDI_STREAM_XXX ”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:71: ./sound/core/rawmidi.c”h´Mehj«ubjæ)�”}”(hhh]”j{)�”}”(hŒ.the stream direction, SNDRV_RAWMIDI_STREAM_XXX”h]”hŒ.the stream direction, SNDRV_RAWMIDI_STREAM_XXX”…”�”}”(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´MehjoubjÄ)�”}”(hŒ9``const struct snd_rawmidi_ops *ops`` the operator table ”h]”(jÊ)�”}”(hŒ%``const struct snd_rawmidi_ops *ops``”h]”jÐ)�”}”(hjêh]”hŒ!const struct snd_rawmidi_ops *ops”…”�”}”(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´Mfhjäubjæ)�”}”(hhh]”j{)�”}”(hŒthe operator table”h]”hŒthe operator table”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÿh´Mfhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjäubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÿh´Mfhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjSubj{)�”}”(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´MhhjSubj{)�”}”(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´MghjSubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj!h²hh³Nh´Nubeh}”(h]”Œ raw-midi-api”ah ]”h"]”Œ raw midi api”ah$]”h&]”uh1hµhjh²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ºhjYh²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íhjYh²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©)�”}”(hjuh]”hŒ Parameters”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjsubah}”(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çhjoubj¿)�”}”(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”…”�”}”(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 hardware`` the hardware type, MPU401_HW_XXXX ”h]”(jÊ)�”}”(hŒ``unsigned short hardware``”h]”jÐ)�”}”(hj h]”hŒunsigned short hardware”…”�”}”(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 hardware type, MPU401_HW_XXXX”h]”hŒ!the hardware type, MPU401_HW_XXXX”…”�”}”(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``unsigned long port`` the base address of MPU401 port ”h]”(jÊ)�”}”(hŒ``unsigned long port``”h]”jÐ)�”}”(hj? h]”hŒunsigned long port”…”�”}”(hjA 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çhj9 ubjæ)�”}”(hhh]”j{)�”}”(hŒthe base address of MPU401 port”h]”hŒthe base address of MPU401 port”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jT h´MçhjU ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jT h´Mçhj‹ubjÄ)�”}”(hŒ5``unsigned int info_flags`` bitflags MPU401_INFO_XXX ”h]”(jÊ)�”}”(hŒ``unsigned int info_flags``”h]”jÐ)�”}”(hjx h]”hŒunsigned int info_flags”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjv 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èhjr 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åhjr 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Ð)�”}”(hjê h]”hŒstruct snd_rawmidi ** rrawmidi”…”�”}”(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 pointer to store the new rawmidi instance”h]”hŒ-the pointer to store the new 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‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjoubj{)�”}”(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³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mìhjoubj{)�”}”(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ëhjoubj{)�”}”(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).”…”�”}”(hjJ!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íhjoubj{)�”}”(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³Œs/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:75: ./sound/drivers/mpu401/mpu401_uart.c”h´Mñhjoubj{)�”}”(hŒ-Zero if successful, or a negative error code.”h]”hŒ-Zero if successful, or a negative error code.”…”�”}”(hjq!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òhjoubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjYh²hh³Nh´Nubeh}”(h]”Œmpu401-uart-api”ah ]”h"]”Œmpu401-uart api”ah$]”h&]”uh1hµhjh²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´MAubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá!h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÎ!h²hh³jà!h´MAubj3)�”}”(hŒsnd_info_get_line”h]”j9)�”}”(hŒsnd_info_get_line”h]”hŒsnd_info_get_line”…”�”}”(hjó!h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjï!ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÎ!h²hh³jà!h´MAubjT)�”}”(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_hj "ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj "ubh)�”}”(hhh]”j9)�”}”(hŒsnd_info_buffer”h]”hŒsnd_info_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_info_get_line”†”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Œbuffer”h]”hŒbuffer”…”�”}”(hjh"h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj "ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj"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”ˆ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´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Œ$read one line from the procfs buffer”h]”hŒ$read one line from the procfs 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´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Ÿ)�”}”(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©)�”}”(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´MEhj%#ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ5``struct snd_info_buffer *buffer`` the procfs buffer ”h]”(jÊ)�”}”(hŒ"``struct snd_info_buffer *buffer``”h]”jÐ)�”}”(hjJ#h]”hŒstruct snd_info_buffer *buffer”…”�”}”(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:82: ./sound/core/info.c”h´MBhjD#ubjæ)�”}”(hhh]”j{)�”}”(hŒthe procfs buffer”h]”hŒthe procfs buffer”…”�”}”(hjc#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j_#h´MBhj`#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjD#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_#h´MBhjA#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´MChj}#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´MChj™#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj}#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j˜#h´MChjA#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´MDhj¶#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´MDhjÒ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¶#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÑ#h´MDhjA#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´MFhj%#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´MEhj%#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´MGhj%#ubj{)�”}”(hŒ)Zero if successful, or 1 if error or EOF.”h]”hŒ)Zero if successful, or 1 if error or EOF.”…”�”}”(hj4$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%#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”…”�”}”(hjc$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´Meubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_$h²hh³jp$h´Meubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj_$h²hh³jp$h´Meubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�$h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_$h²hh³jp$h´Meubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj›$h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj_$h²hh³jp$h´Meubj3)�”}”(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³jp$h´MeubjT)�”}”(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Œ*”…”�”}”(hjä$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”…”�”}”(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Œ ”…”�”}”(hj3%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Œsrc”h]”hŒsrc”…”�”}”(hjN%h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÀ$ubjZ)�”}”(hŒint len”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(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%ubj9)�”}”(hŒlen”h]”hŒlen”…”�”}”(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&]”jQjRuh1jShj_$h²hh³jp$h´Meubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj[$h²hh³jp$h´Meubah}”(h]”jV$ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jp$h´MehjX$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´Mehjª%h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjX$h²hh³jp$h´Meubeh}”(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´MihjÉ%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´Mfhjè%ubjæ)�”}”(hhh]”j{)�”}”(hŒ$the buffer to store the string token”h]”hŒ$the buffer to store the string token”…”�”}”(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Œ(``const char *src`` the original string ”h]”(jÊ)�”}”(hŒ``const char *src``”h]”jÐ)�”}”(hj'&h]”hŒconst char *src”…”�”}”(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 original string”h]”hŒthe original string”…”�”}”(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´Mghjå%ubjÄ)�”}”(hŒ)``int len`` the max. length of token - 1 ”h]”(jÊ)�”}”(hŒ ``int len``”h]”jÐ)�”}”(hj`&h]”hŒint len”…”�”}”(hjb&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´MhhjZ&ubjæ)�”}”(hhh]”j{)�”}”(hŒthe max. length of token - 1”h]”hŒthe max. length of token - 1”…”�”}”(hjy&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³ju&h´Mhhjv&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjZ&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³ju&h´Mhhjå%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´MjhjÉ%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´MihjÉ%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´MlhjÉ%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´MmhjÉ%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”…”�”}”(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´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_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˜Œsnd_info_create_module_entry”sbŒc.snd_info_create_module_entry”†”asbuh1hhj'h²hh³j'h´M²ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG'h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj'h²hh³j'h´M²ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjU'h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj'h²hh³j'h´M²ubj3)�”}”(hŒsnd_info_create_module_entry”h]”j9)�”}”(hjD'h]”hŒsnd_info_create_module_entry”…”�”}”(hjf'h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjb'ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj'h²hh³j'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¢]”jB'Œ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”ˆjQjRuh1jYhjy'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”…”�”}”(hj5(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjí'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjy'ubjZ)�”}”(hŒstruct snd_info_entry *parent”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_info_entry”h]”hŒsnd_info_entry”…”�”}”(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¢]”jB'Œc.snd_info_create_module_entry”†”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Œparent”h]”hŒparent”…”�”}”(hj¥(h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjJ(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjy'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 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&]”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Ÿ)�”}”(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”…”�”}”(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Œ.``struct module * module`` the module pointer ”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:82: ./sound/core/info.c”h´M³hj )ubjæ)�”}”(hhh]”j{)�”}”(hŒthe module pointer”h]”hŒthe module 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Œ#``const char *name`` the file name ”h]”(jÊ)�”}”(hŒ``const char *name``”h]”jÐ)�”}”(hjI)h]”hŒconst char *name”…”�”}”(hjK)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjG)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´hjC)ubjæ)�”}”(hhh]”j{)�”}”(hŒ the file name”h]”hŒ the file 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)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µ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:82: ./sound/core/info.c”h´M·hjë(ubj{)�”}”(hŒ,ubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card 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Œ#``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Èhjw,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åhjw,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j’,h´MÈhj;,ubjÄ)�”}”(hŒ8``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É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:82: ./sound/core/info.c”h´MËhj,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.”…”�”}”(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,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´MÌhj,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”…”�”}”(hj6-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Í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_disconnect_entry (C function)”Œc.snd_info_disconnect_entry”hNt”auh1híhj¨!h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ=void snd_info_disconnect_entry (struct snd_info_entry *entry)”h]”j )�”}”(hŒ8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-8ubh)�”}”(hhh]”j9)�”}”(hŒsnd_compr_stream”h]”hŒsnd_compr_stream”…”�”}”(hjO8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjL8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jQ8Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j8sbŒc.snd_compr_stop_error”†”asbuh1hhj-8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj-8ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj}8h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj-8ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjŠ8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj-8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj)8ubjZ)�”}”(hŒsnd_pcm_state_t state”h]”(h)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_state_t”h]”hŒsnd_pcm_state_t”…”�”}”(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¢]”jk8Œc.snd_compr_stop_error”†”asbuh1hhjŸ8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŸ8ubj9)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjÒ8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŸ8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj)8ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjð7h²hh³j8h´M¥ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjì7h²hh³j8h´M¥ubah}”(h]”jç7ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j8h´M¥hjé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´M¥hjù8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjé7h²hh³j8h´M¥ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j9jšj9j›‰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©)�”}”(hj9h]”hŒ Parameters”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj9ubah}”(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©hj9ubj¿)�”}”(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´M¦hj79ubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to stream”h]”hŒpointer to stream”…”�”}”(hjV9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jR9h´M¦hjS9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj79ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jR9h´M¦hj49ubjÄ)�”}”(hŒ<``snd_pcm_state_t state`` state to transition the stream to ”h]”(jÊ)�”}”(hŒ``snd_pcm_state_t state``”h]”jÐ)�”}”(hjv9h]”hŒsnd_pcm_state_t state”…”�”}”(hjx9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjt9ubah}”(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§hjp9ubjæ)�”}”(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³j‹9h´M§hjŒ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjp9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹9h´M§hj49ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj9ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj±9h]”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´M©hj9ubj{)�”}”(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´M¨hj9ubj{)�”}”(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´Mªhj9ubj{)�”}”(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¬hj9ubj{)�”}”(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­hj9ubeh}”(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,: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´MQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;:h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj(:h²hh³j::h´MQubj3)�”}”(hŒsnd_compr_task_finished”h]”j9)�”}”(hŒsnd_compr_task_finished”h]”hŒsnd_compr_task_finished”…”�”}”(hjM:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjI:ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj(:h²hh³j::h´MQubjT)�”}”(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”…”�”}”(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_compr_stream”h]”hŒsnd_compr_stream”…”�”}”(hj‡:h²hh³Nh´Nubah}”(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_compr_task_finished”†”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Œstream”h]”hŒstream”…”�”}”(hjÂ:h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hje:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhja: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¢]”j£:Œ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”…”�”}”(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´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Œ!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´MQhjY;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj!:h²hh³j::h´MQubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jt;jšjt;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©)�”}”(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´MUhjx;ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_compr_stream *stream`` pointer to stream ”h]”(jÊ)�”}”(hŒ#``struct snd_compr_stream *stream``”h]”jÐ)�”}”(hj�;h]”hŒstruct snd_compr_stream *stream”…”�”}”(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´MRhj—;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´MRhj³;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj—;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j²;h´MRhj”;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´MShjÐ;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´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¾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³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´MUhjx;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´MThjx;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”…”�”}”(hjV<h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjR<h²hh³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´MGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hje<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjR<h²hh³jd<h´MGubj3)�”}”(hŒsnd_compress_new”h]”j9)�”}”(hŒsnd_compress_new”h]”hŒsnd_compress_new”…”�”}”(hjw<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjs<ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjR<h²hh³jd<h´MGubjT)�”}”(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”…”�”}”(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˜jy<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”ˆjQjRuh1jYhj‹<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”ˆjQjRuh1jYhj‹<ubjZ)�”}”(hŒint dirn”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(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=ubj9)�”}”(hŒdirn”h]”hŒdirn”…”�”}”(hjV=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‹<ubjZ)�”}”(hŒconst char *id”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(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=ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjŠ=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=ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¦=h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjk=ubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hj³=h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjk=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‹<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”ˆjQjRuh1jYhj‹<ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjR<h²hh³jd<h´MGubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjN<h²hh³jd<h´MGubah}”(h]”jI<ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jd<h´MGhjK<h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new compress device”h]”hŒcreate new compress device”…”�”}”(hjM>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´MGhjJ>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjK<h²hh³jd<h´MGubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™je>jšje>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©)�”}”(hjo>h]”hŒ Parameters”…”�”}”(hjq>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjm>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´MKhji>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Ï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´MHhjˆ>ubjæ)�”}”(hhh]”j{)�”}”(hŒsound card pointer”h]”hŒsound card pointer”…”�”}”(hj§>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j£>h´MHhj¤>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆ>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j£>h´MHhj…>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´MIhjÁ>ubjæ)�”}”(hhh]”j{)�”}”(hŒ device number”h]”hŒ device number”…”�”}”(hjà>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÜ>h´MIhjÝ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁ>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜ>h´MIhj…>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´MJhjú>ubjæ)�”}”(hhh]”j{)�”}”(hŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j?h´MJhj…>ubjÄ)�”}”(hŒ``const char *id`` ID string ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hj9?h]”hŒconst char *id”…”�”}”(hj;?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7?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´MKhj3?ubjæ)�”}”(hhh]”j{)�”}”(hŒ ID string”h]”hŒ ID string”…”�”}”(hjR?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jN?h´MKhjO?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj3?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jN?h´MKhj…>ubjÄ)�”}”(hŒ4``struct snd_compr *compr`` compress device pointer ”h]”(jÊ)�”}”(hŒ``struct snd_compr *compr``”h]”jÐ)�”}”(hjr?h]”hŒstruct snd_compr *compr”…”�”}”(hjt?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjp?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´MLhjl?ubjæ)�”}”(hhh]”j{)�”}”(hŒcompress device pointer”h]”hŒcompress device pointer”…”�”}”(hj‹?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‡?h´MLhjˆ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjl?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‡?h´MLhj…>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾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³Œn/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:89: ./sound/core/compress_offload.c”h´MNhji>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´MNhji>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”…”�”}”(hj4@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´Khj1@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjç?h²hh³jÿ?h´Kubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jL@jšjL@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”…”�”}”(hjX@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjT@ubhŒ:”…”�”}”(hjT@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´KhjP@ubjc�)�”}”(hŒOstruct snd_compressed_buffer { __u32 fragment_size; __u32 fragments; };”h]”hŒOstruct snd_compressed_buffer { __u32 fragment_size; __u32 fragments; };”…”�”}”hjq@sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KhjP@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³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KhjP@ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``fragment_size`` size of buffer fragment in bytes ”h]”(jÊ)�”}”(hŒ``fragment_size``”h]”jÐ)�”}”(hj¡@h]”hŒ fragment_size”…”�”}”(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Œ 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åhj›@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¶@h´Khj˜@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´Khj˜@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjP@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”…”�”}”(hj4Ah²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj0Ah²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Œ ”…”�”}”(hjBAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0Ah²hh³jAAh´Kubj3)�”}”(hŒsnd_compr_params”h]”j9)�”}”(hj.Ah]”hŒsnd_compr_params”…”�”}”(hjTAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjPAubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj0Ah²hh³jAAh´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj,Ah²hh³jAAh´Kubah}”(h]”j'Aah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jAAh´Khj)Ah²hubjv)�”}”(hhh]”j{)�”}”(hŒcompressed stream params”h]”hŒcompressed stream params”…”�”}”(hjvAh²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´KhjsAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj)Ah²hh³jAAh´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”…”�”}”(hjšAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj–AubhŒ:”…”�”}”(hj–Ah²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’Aubjc�)�”}”(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&]”jQjRuh1jb�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Ð)�”}”(hjBh]”hŒcodec”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjBubah}”(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Œcodec parameters”h]”hŒcodec parameters”…”�”}”(hj5Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1Bh´Khj2Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1Bh´KhjÚAubjÄ)�”}”(hŒ.``no_wake_mode`` dont wake on fragment elapsed”h]”(jÊ)�”}”(hŒ``no_wake_mode``”h]”jÐ)�”}”(hjUBh]”hŒ no_wake_mode”…”�”}”(hjWBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjSBubah}”(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´KhjOBubjæ)�”}”(hhh]”j{)�”}”(hŒdont wake on fragment elapsed”h]”hŒdont wake on fragment elapsed”…”�”}”(hjnBh²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 hjkBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjOBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jjBh´KhjÚAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj’Aubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_tstamp (C struct)”Œc.snd_compr_tstamp”hNt”auh1híhjÊ7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_tstamp”h]”j )�”}”(hŒstruct snd_compr_tstamp”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¯Bh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj«Bh²hh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K&ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½Bh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj«Bh²hh³j¼Bh´K&ubj3)�”}”(hŒsnd_compr_tstamp”h]”j9)�”}”(hj©Bh]”hŒsnd_compr_tstamp”…”�”}”(hjÏBh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjËBubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj«Bh²hh³j¼Bh´K&ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj§Bh²hh³j¼Bh´K&ubah}”(h]”j¢Bah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¼Bh´K&hj¤Bh²hubjv)�”}”(hhh]”j{)�”}”(hŒtimestamp descriptor”h]”hŒtimestamp descriptor”…”�”}”(hjñBh²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îBh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¤Bh²hh³j¼Bh´K&ubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j Cjšj Cj›‰jœ‰j�‰uh1hþh²hhjÊ7h³Nh´NubjŸ)�”}”(hXÓ**Definition**:: struct snd_compr_tstamp { __u32 byte_offset; __u32 copied_total; __u32 pcm_frames; __u32 pcm_io_frames; __u32 sampling_rate; }; **Members** ``byte_offset`` Byte offset in ring buffer to DSP ``copied_total`` Total number of bytes copied from/to ring buffer to/by DSP ``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. ``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. ``sampling_rate`` sampling rate of audio”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjCubhŒ:”…”�”}”(hjCh²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 Cubjc�)�”}”(hŒ“struct snd_compr_tstamp { __u32 byte_offset; __u32 copied_total; __u32 pcm_frames; __u32 pcm_io_frames; __u32 sampling_rate; };”h]”hŒ“struct snd_compr_tstamp { __u32 byte_offset; __u32 copied_total; __u32 pcm_frames; __u32 pcm_io_frames; __u32 sampling_rate; };”…”�”}”hj.Csbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K.hj Cubj{)�”}”(hŒ **Members**”•Bh]”j©)�”}”(hj?Ch]”hŒMembers”…”�”}”(hjACh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj=Cubah}”(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´K6hj Cubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``byte_offset`` Byte offset in ring buffer to DSP ”h]”(jÊ)�”}”(hŒ``byte_offset``”h]”jÐ)�”}”(hj^Ch]”hŒ byte_offset”…”�”}”(hj`Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj\Cubah}”(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´K*hjXCubjæ)�”}”(hhh]”j{)�”}”(hŒ!Byte offset in ring buffer to DSP”h]”hŒ!Byte offset in ring buffer to DSP”…”�”}”(hjwCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsCh´K*hjtCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsCh´K*hjUCubjÄ)�”}”(hŒL``copied_total`` Total number of bytes copied from/to ring buffer to/by DSP ”h]”(jÊ)�”}”(hŒ``copied_total``”h]”jÐ)�”}”(hj—Ch]”hŒ copied_total”…”�”}”(hj™Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj•Cubah}”(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´K+hj‘Cubjæ)�”}”(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”…”�”}”(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+hjUCubjÄ)�”}”(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ÐCh]”hŒ pcm_frames”…”�”}”(hjÒCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÎCubah}”(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´K.hjÊCubjæ)�”}”(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éCh²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æCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÊCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jåCh´K.hjUCubjÄ)�”}”(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 Dh]”hŒ pcm_io_frames”…”�”}”(hj Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjDubah}”(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´K0hjDubjæ)�”}”(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#Dh²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 Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jDh´K0hjUCubjÄ)�”}”(hŒ(``sampling_rate`` sampling rate of audio”h]”(jÊ)�”}”(hŒ``sampling_rate``”h]”jÐ)�”}”(hjDDh]”hŒ sampling_rate”…”�”}”(hjFDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjBDubah}”(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´K0hj>Dubjæ)�”}”(hhh]”j{)�”}”(hŒsampling rate of audio”h]”hŒsampling rate of audio”…”�”}”(hj]Dh²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´K1hjZDubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj>Dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jYDh´K0hjUCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj Cubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr_tstamp64 (C struct)”Œc.snd_compr_tstamp64”hNt”auh1híhjÊ7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒsnd_compr_tstamp64”h]”j )�”}”(hŒstruct snd_compr_tstamp64”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjžDh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjšDh²hh³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´K7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Dh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjšDh²hh³j«Dh´K7ubj3)�”}”(hŒsnd_compr_tstamp64”h]”j9)�”}”(hj˜Dh]”hŒsnd_compr_tstamp64”…”�”}”(hj¾Dh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjºDubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjšDh²hh³j«Dh´K7ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj–Dh²hh³j«Dh´K7ubah}”(h]”j‘Dah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j«Dh´K7hj“Dh²hubjv)�”}”(hhh]”j{)�”}”(hŒ*timestamp descriptor with fields in 64 bit”h]”hŒ*timestamp descriptor with fields in 64 bit”…”�”}”(hjàDh²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ÝDh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj“Dh²hh³j«Dh´K7ubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jøDjšjøDj›‰jœ‰j�‰uh1hþh²hhjÊ7h³Nh´NubjŸ)�”}”(hXÕ**Definition**:: struct snd_compr_tstamp64 { __u32 byte_offset; __u64 copied_total; __u64 pcm_frames; __u64 pcm_io_frames; __u32 sampling_rate; }; **Members** ``byte_offset`` Byte offset in ring buffer to DSP ``copied_total`` Total number of bytes copied from/to ring buffer to/by DSP ``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. ``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. ``sampling_rate`` sampling rate of audio”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjEubhŒ:”…”�”}”(hjEh²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üDubjc�)�”}”(hŒ•struct snd_compr_tstamp64 { __u32 byte_offset; __u64 copied_total; __u64 pcm_frames; __u64 pcm_io_frames; __u32 sampling_rate; };”h]”hŒ•struct snd_compr_tstamp64 { __u32 byte_offset; __u64 copied_total; __u64 pcm_frames; __u64 pcm_io_frames; __u32 sampling_rate; };”…”�”}”hjEsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œv/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:90: ./include/uapi/sound/compress_offload.h”h´KAhjüDubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj.Eh]”hŒMembers”…”�”}”(hj0Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj,Eubah}”(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´KIhjüDubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``byte_offset`` Byte offset in ring buffer to DSP ”h]”(jÊ)�”}”(hŒ``byte_offset``”h]”jÐ)�”}”(hjMEh]”hŒ byte_offset”…”�”}”(hjOEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjKEubah}”(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´K=hjGEubjæ)�”}”(hhh]”j{)�”}”(hŒ!Byte offset in ring buffer to DSP”h]”hŒ!Byte offset in ring buffer to DSP”…”�”}”(hjfEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jbEh´K=hjcEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjGEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jbEh´K=hjDEubjÄ)�”}”(hŒL``copied_total`` Total number of bytes copied from/to ring buffer to/by DSP ”h]”(jÊ)�”}”(hŒ``copied_total``”h]”jÐ)�”}”(hj†Eh]”hŒ copied_total”…”�”}”(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´K>hj€Eubjæ)�”}”(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”…”�”}”(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>hjDEubjÄ)�”}”(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´KAhjDEubjÄ)�”}”(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.”…”�”}”(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´KBhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjóEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jFh´KChjDEubjÄ)�”}”(hŒ(``sampling_rate`` sampling rate of audio”h]”(jÊ)�”}”(hŒ``sampling_rate``”h]”jÐ)�”}”(hj3Fh]”hŒ sampling_rate”…”�”}”(hj5Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj1Fubah}”(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-Fubjæ)�”}”(hhh]”j{)�”}”(hŒsampling rate of audio”h]”hŒsampling rate of audio”…”�”}”(hjLFh²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´KDhjIFubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj-Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jHFh´KChjDEubeh}”(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_hj‰Fh²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Œ ”…”�”}”(hj›Fh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‰Fh²hh³jšFh´KJubj3)�”}”(hŒsnd_compr_avail”h]”j9)�”}”(hj‡Fh]”hŒsnd_compr_avail”…”�”}”(hj­Fh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj©Fubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‰Fh²hh³jšFh´KJubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj…Fh²hh³jšFh´KJubah}”(h]”j€Fah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jšFh´KJhj‚Fh²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&]”uh1juhj‚Fh²hh³jšFh´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ëFubjc�)�”}”(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 Gsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�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©)�”}”(hjGh]”hŒMembers”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjGubah}”(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Ð)�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj:Gubah}”(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´KPhj6Gubjæ)�”}”(hhh]”j{)�”}”(hŒWh²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´KèhjÊ7h²hubj{)�”}”(hŒFFor best quality users should specify VBR mode and set quality levels.”h]”hŒFFor best quality users should specify VBR mode and set quality levels.”…”�”}”(hjMWh²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´KëhjÊ7h²hubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_enc_real (C struct)”Œc.snd_enc_real”hNt”auh1híhjÊ7h²hh³jEUh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ snd_enc_real”h]”j )�”}”(hŒstruct snd_enc_real”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjuWh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjqWh²hh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´Kðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒWh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjqWh²hh³j‚Wh´Kðubj3)�”}”(hŒ snd_enc_real”h]”j9)�”}”(hjoWh]”hŒ snd_enc_real”…”�”}”(hj•Wh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘Wubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjqWh²hh³j‚Wh´Kðubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjmWh²hh³j‚Wh´Kðubah}”(h]”jhWah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‚Wh´KðhjjWh²hubjv)�”}”(hhh]”j{)�”}”(hŒRealAudio encoder parameters”h]”hŒRealAudio encoder parameters”…”�”}”(hj·Wh²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´Kùhj´Wh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjjWh²hh³j‚Wh´Kðubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jÏWjšjÏWj›‰jœ‰j�‰uh1hþh²hhjÊ7h³jEUh´NubjŸ)�”}”(hX.**Definition**:: struct snd_enc_real { __u32 quant_bits; __u32 start_region; __u32 num_regions; }; **Members** ``quant_bits`` number of coupling quantization bits in the stream ``start_region`` coupling start region in the stream ``num_regions`` number of regions value”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÛWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj×WubhŒ:”…”�”}”(hj×Wh²hh³Nh´Nubeh}”(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´KýhjÓWubjc�)�”}”(hŒ]struct snd_enc_real { __u32 quant_bits; __u32 start_region; __u32 num_regions; };”h]”hŒ]struct snd_enc_real { __u32 quant_bits; __u32 start_region; __u32 num_regions; };”…”�”}”hjôWsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´KÿhjÓWubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjXh]”hŒMembers”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjXubah}”(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´MhjÓWubj¿)�”}”(hhh]”(jÄ)�”}”(hŒB``quant_bits`` number of coupling quantization bits in the stream ”h]”(jÊ)�”}”(hŒ``quant_bits``”h]”jÐ)�”}”(hj$Xh]”hŒ quant_bits”…”�”}”(hj&Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj"Xubah}”(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´KûhjXubjæ)�”}”(hhh]”j{)�”}”(hŒ2number of coupling quantization bits in the stream”h]”hŒ2number of coupling quantization bits in the stream”…”�”}”(hj=Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j9Xh´Kûhj:Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9Xh´KûhjXubjÄ)�”}”(hŒ5``start_region`` coupling start region in the stream ”h]”(jÊ)�”}”(hŒ``start_region``”h]”jÐ)�”}”(hj]Xh]”hŒ start_region”…”�”}”(hj_Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj[Xubah}”(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´KühjWXubjæ)�”}”(hhh]”j{)�”}”(hŒ#coupling start region in the stream”h]”hŒ#coupling start region in the stream”…”�”}”(hjvXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jrXh´KühjsXubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjWXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jrXh´KühjXubjÄ)�”}”(hŒ'``num_regions`` number of regions value”h]”(jÊ)�”}”(hŒ``num_regions``”h]”jÐ)�”}”(hj–Xh]”hŒ num_regions”…”�”}”(hj˜Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj”Xubah}”(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´Kühj�Xubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of regions value”h]”hŒnumber of regions value”…”�”}”(hj¯Xh²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´Kýhj¬Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj�Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j«Xh´KühjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÓWubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³jEUh´Nubj{)�”}”(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³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MhjÊ7h²hubj{)�”}”(hŒ5These options were extracted from the OpenMAX IL spec”h]”hŒ5These options were extracted from the OpenMAX IL spec”…”�”}”(hjïXh²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´KýhjÊ7h²hubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_enc_flac (C struct)”Œc.snd_enc_flac”hNt”auh1híhjÊ7h²hh³jEUh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ snd_enc_flac”h]”j )�”}”(hŒstruct snd_enc_flac”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjYh²hh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYh²hh³j$Yh´Mubj3)�”}”(hŒ snd_enc_flac”h]”j9)�”}”(hjYh]”hŒ snd_enc_flac”…”�”}”(hj7Yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3Yubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjYh²hh³j$Yh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjYh²hh³j$Yh´Mubah}”(h]”j Yah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j$Yh´Mhj Yh²hubjv)�”}”(hhh]”j{)�”}”(hŒFLAC encoder parameters”h]”hŒFLAC encoder parameters”…”�”}”(hjYYh²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´MhjVYh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj Yh²hh³j$Yh´Mubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jqYjšjqYj›‰jœ‰j�‰uh1hþh²hhjÊ7h³jEUh´NubjŸ)�”}”(hŒÕ**Definition**:: struct snd_enc_flac { __u32 num; __u32 gain; }; **Members** ``num`` serial number, valid only for OGG formats needs to be set by application ``gain`` Add replay gain tags”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj}Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjyYubhŒ:”…”�”}”(hjyYh²hh³Nh´Nubeh}”(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 hjuYubjc�)�”}”(hŒ7struct snd_enc_flac { __u32 num; __u32 gain; };”h]”hŒ7struct snd_enc_flac { __u32 num; __u32 gain; };”…”�”}”hj–Ysbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MhjuYubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj§Yh]”hŒMembers”…”�”}”(hj©Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj¥Yubah}”(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´MhjuYubj¿)�”}”(hhh]”(jÄ)�”}”(hŒQ``num`` serial number, valid only for OGG formats needs to be set by application ”h]”(jÊ)�”}”(hŒ``num``”h]”jÐ)�”}”(hjÆYh]”hŒnum”…”�”}”(hjÈYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÄYubah}”(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´M hjÀYubjæ)�”}”(hhh]”j{)�”}”(hŒHserial number, valid only for OGG formats needs to be set by application”h]”hŒHserial number, valid only for OGG formats needs to be set by application”…”�”}”(hjßYh²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ÜYubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÀYubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÛYh´M hj½YubjÄ)�”}”(hŒ``gain`` Add replay gain tags”h]”(jÊ)�”}”(hŒ``gain``”h]”jÐ)�”}”(hjZh]”hŒgain”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjþYubah}”(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´M hjúYubjæ)�”}”(hhh]”j{)�”}”(hŒAdd replay gain tags”h]”hŒAdd replay gain tags”…”�”}”(hjZh²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 hjZubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjúYubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jZh´M hj½Yubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjuYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³jEUh´Nubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjCZh]”hŒ Description”…”�”}”(hjEZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjAZubah}”(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´MhjÊ7h²hubj{)�”}”(hŒ|These options were extracted from the FLAC online documentation at http://flac.sourceforge.net/documentation_tools_flac.html”h]”(hŒCThese options were extracted from the FLAC online documentation at ”…”�”}”(hjYZh²hh³Nh´NubhŒ reference”“”)�”}”(hŒ9http://flac.sourceforge.net/documentation_tools_flac.html”h]”hŒ9http://flac.sourceforge.net/documentation_tools_flac.html”…”�”}”(hjcZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jeZuh1jaZhjYZubeh}”(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ŒµTo make the API simpler, it is assumed that the user will select quality profiles. Additional options that affect encoding quality and speed can be added at a later stage if needed.”h]”hŒµTo make the API simpler, it is assumed that the user will select quality profiles. Additional options that affect encoding quality and speed can be added at a later stage if needed.”…”�”}”(hjyZh²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´MhjÊ7h²hubj{)�”}”(hŒ1By default the Subset format is used by encoders.”h]”hŒ1By default the Subset format is used by encoders.”…”�”}”(hjˆZh²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´MhjÊ7h²hubj{)�”}”(hŒhTAGS such as pictures, etc, cannot be handled by an offloaded encoder and are not supported in this API.”h]”hŒhTAGS such as pictures, etc, cannot be handled by an offloaded encoder and are not supported in this API.”…”�”}”(hj—Zh²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´MhjÊ7h²hubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_dec_opus (C struct)”Œc.snd_dec_opus”hNt”auh1híhjÊ7h²hh³jEUh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ snd_dec_opus”h]”j )�”}”(hŒstruct snd_dec_opus”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¿Zh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj»Zh²hh³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”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_dec_opus”h]”j9)�”}”(hj¹Zh]”hŒ snd_dec_opus”…”�”}”(hjßZh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÛZubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj»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Œ*Opus decoder parameters (raw opus packets)”h]”hŒ*Opus decoder parameters (raw opus packets)”…”�”}”(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´MIhjþZh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj´Zh²hh³jÌZh´Mubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j[jšj[j›‰jœ‰j�‰uh1hþh²hhjÊ7h³jEUh´NubjŸ)�”}”(hXç**Definition**:: struct snd_dec_opus { __u8 version; __u8 num_channels; __u16 pre_skip; __u32 sample_rate; __u16 output_gain; __u8 mapping_family; struct snd_dec_opus_ch_map { __u8 stream_count; __u8 coupled_count; __u8 channel_map[8]; } chan_map; }; **Members** ``version`` Usually should be '1' but can be split into major (4 upper bits) and minor (4 lower bits) sub-fields. ``num_channels`` Number of output channels. ``pre_skip`` Number of samples to discard at 48 kHz. ``sample_rate`` Sample rate of original input. ``output_gain`` Gain to apply when decoding (in Q7.8 format). ``mapping_family`` Order and meaning of output channels. Only values 0 and 1 are expected; values 2..255 are not recommended for playback. ``chan_map`` Optional channel mapping table. Describes mapping of opus streams to decoded channels. Fields: ``chan_map.stream_count`` Number of streams encoded in each Ogg packet. ``chan_map.coupled_count`` Number of streams whose decoders are used for two channels. ``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Œ**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³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MMhj[ubjc�)�”}”(hX!struct snd_dec_opus { __u8 version; __u8 num_channels; __u16 pre_skip; __u32 sample_rate; __u16 output_gain; __u8 mapping_family; struct snd_dec_opus_ch_map { __u8 stream_count; __u8 coupled_count; __u8 channel_map[8]; } chan_map; };”h]”hX!struct snd_dec_opus { __u8 version; __u8 num_channels; __u16 pre_skip; __u32 sample_rate; __u16 output_gain; __u8 mapping_family; struct snd_dec_opus_ch_map { __u8 stream_count; __u8 coupled_count; __u8 channel_map[8]; } chan_map; };”…”�”}”hj>[sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œu/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:91: ./include/uapi/sound/compress_params.h”h´MOhj[ubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjO[h]”hŒMembers”…”�”}”(hjQ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjM[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[ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒr``version`` Usually should be '1' but can be split into major (4 upper bits) and minor (4 lower bits) sub-fields. ”h]”(jÊ)�”}”(hŒ ``version``”h]”jÐ)�”}”(hjn[h]”hŒversion”…”�”}”(hjp[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjl[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´MLhjh[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.”…”�”}”(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´MKhj„[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjh[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jƒ[h´MLhje[ubjÄ)�”}”(hŒ,``num_channels`` Number of output channels. ”h]”(jÊ)�”}”(hŒ``num_channels``”h]”jÐ)�”}”(hj¨[h]”hŒ num_channels”…”�”}”(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´MMhj¢[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åhj¢[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j½[h´MMhje[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´MNhje[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.”…”�”}”(hj3\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j/\h´MOhj0\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j/\h´MOhje[ubjÄ)�”}”(hŒ>``output_gain`` Gain to apply when decoding (in Q7.8 format). ”h]”(jÊ)�”}”(hŒ``output_gain``”h]”jÐ)�”}”(hjS\h]”hŒ output_gain”…”�”}”(hjU\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjQ\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´MPhjM\ubjæ)�”}”(hhh]”j{)�”}”(hŒ-Gain to apply when decoding (in Q7.8 format).”h]”hŒ-Gain to apply when decoding (in Q7.8 format).”…”�”}”(hjl\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh\h´MPhji\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjM\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh\h´MPhje[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Ð)�”}”(hjŒ\h]”hŒmapping_family”…”�”}”(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´MRhj†\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.”…”�”}”(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´MQhj¢\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj†\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¡\h´MRhje[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´MUhje[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´MVhje[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Ð)�”}”(hj9]h]”hŒchan_map.coupled_count”…”�”}”(hj;]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj7]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´MXhj3]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.”…”�”}”(hjR]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´MWhjO]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj3]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jN]h´MXhje[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Ð)�”}”(hjs]h]”hŒchan_map.channel_map”…”�”}”(hju]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjq]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´MZhjm]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.”…”�”}”(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´MYhj‰]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjm]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jˆ]h´MZhje[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj[ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³jEUh´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”…”�”}”(hj6^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´Khj3^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjé]h²hh³j^h´Kubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jN^jšjN^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”…”�”}”(hjZ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjV^ubhŒ:”…”�”}”(hjV^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´KhjR^ubjc�)�”}”(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; };”…”�”}”hjs^sbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´KhjR^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³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K)hjR^ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ#``list`` list of all managed tasks ”h]”(jÊ)�”}”(hŒ``list``”h]”jÐ)�”}”(hj£^h]”hŒlist”…”�”}”(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Œ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åhj�^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¸^h´Khjš^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´Khjš^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´Khjš^ubjÄ)�”}”(hŒ``seqno`` sequence number ”h]”(jÊ)�”}”(hŒ ``seqno``”h]”jÐ)�”}”(hjN_h]”hŒseqno”…”�”}”(hjP_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjL_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´KhjH_ubjæ)�”}”(hhh]”j{)�”}”(hŒsequence number”h]”hŒsequence number”…”�”}”(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´Khjš^ubjÄ)�”}”(hŒ4``input_size`` really used data in the input buffer ”h]”(jÊ)�”}”(hŒ``input_size``”h]”jÐ)�”}”(hj‡_h]”hŒ input_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 input buffer”h]”hŒ$really used data in the input 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´Khjš^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´Khjš^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´Khjš^ubjÄ)�”}”(hŒ``state`` actual task state ”h]”(jÊ)�”}”(hŒ ``state``”h]”jÐ)�”}”(hj2`h]”hŒstate”…”�”}”(hj4`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0`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”…”�”}”(hjK`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jG`h´K hjH`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jG`h´K hjš^ubjÄ)�”}”(hŒ6``private_value`` used by the lowlevel driver (opaque)”h]”(jÊ)�”}”(hŒ``private_value``”h]”jÐ)�”}”(hjk`h]”hŒ private_value”…”�”}”(hjm`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhji`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 hje`ubjæ)�”}”(hhh]”j{)�”}”(hŒ$used by the lowlevel driver (opaque)”h]”hŒ$used by the lowlevel driver (opaque)”…”�”}”(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�`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€`h´K hjš^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjR^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”…”�”}”(hjah²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/hjah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjº`h²hh³jÒ`h´K'ubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™jajšjaj›‰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+ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'aubhŒ:”…”�”}”(hj'ah²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#aubjc�)�”}”(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; };”…”�”}”hjDasbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K5hj#aubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjUah]”hŒMembers”…”�”}”(hjWah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjSaubah}”(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#aubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``state`` stream state ”h]”(jÊ)�”}”(hŒ ``state``”h]”jÐ)�”}”(hjtah]”hŒstate”…”�”}”(hjvah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjraubah}”(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´K1hjnaubjæ)�”}”(hhh]”j{)�”}”(hŒ stream state”h]”hŒ stream state”…”�”}”(hj�ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‰ah´K1hjŠaubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjnaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰ah´K1hjkaubjÄ)�”}”(hŒ!``ops`` pointer to DSP callbacks ”h]”(jÊ)�”}”(hŒ``ops``”h]”jÐ)�”}”(hj­ah]”hŒops”…”�”}”(hj¯ah²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´K2hj§aubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to DSP callbacks”h]”hŒpointer to DSP callbacks”…”�”}”(hjÆah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÂah´K2hjÃaubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj§aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÂah´K2hjkaubjÄ)�”}”(hŒd``buffer`` pointer to kernel buffer, valid only when not in mmap mode or DSP doesn't implement copy ”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³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K4hjàaubjæ)�”}”(hhh]”j{)�”}”(hŒXpointer to kernel buffer, valid only when not in mmap mode or DSP doesn't implement copy”h]”hŒZpointer to kernel buffer, valid only when not in mmap mode or DSP doesn’t implement copy”…”�”}”(hjÿah²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´K3hjüaubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjàaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jûah´K4hjkaubjÄ)�”}”(hŒ)``buffer_size`` size of the above buffer ”h]”(jÊ)�”}”(hŒ``buffer_size``”h]”jÐ)�”}”(hj bh]”hŒ buffer_size”…”�”}”(hj"bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjbubah}”(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´K5hjbubjæ)�”}”(hhh]”j{)�”}”(hŒsize of the above buffer”h]”hŒsize of the above buffer”…”�”}”(hj9bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5bh´K5hj6bubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5bh´K5hjkaubjÄ)�”}”(hŒ3``fragment_size`` size of buffer fragment in bytes ”h]”(jÊ)�”}”(hŒ``fragment_size``”h]”jÐ)�”}”(hjYbh]”hŒ fragment_size”…”�”}”(hj[bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjWbubah}”(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´K6hjSbubjæ)�”}”(hhh]”j{)�”}”(hŒ size of buffer fragment in bytes”h]”hŒ size of buffer fragment in bytes”…”�”}”(hjrbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jnbh´K6hjobubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjSbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jnbh´K6hjkaubjÄ)�”}”(hŒ'``fragments`` number of such fragments ”h]”(jÊ)�”}”(hŒ ``fragments``”h]”jÐ)�”}”(hj’bh]”hŒ fragments”…”�”}”(hj”bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj�bubah}”(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´K7hjŒbubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of such fragments”h]”hŒnumber of such fragments”…”�”}”(hj«bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j§bh´K7hj¨bubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŒbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j§bh´K7hjkaubjÄ)�”}”(hŒW``total_bytes_available`` cumulative number of bytes made available in the ring buffer ”h]”(jÊ)�”}”(hŒ``total_bytes_available``”h]”jÐ)�”}”(hjËbh]”hŒtotal_bytes_available”…”�”}”(hjÍbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÉbubah}”(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´K9hjÅbubjæ)�”}”(hhh]”j{)�”}”(hŒch]”hŒsleep”…”�”}”(hj@ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjhjãcubjæ)�”}”(hhh]”j{)�”}”(hŒ6physical buffer address (not accessible from main CPU)”h]”hŒ6physical buffer address (not accessible from main CPU)”…”�”}”(hjdh²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>hjkaubjÄ)�”}”(hŒ``dma_bytes`` size of DMA area ”h]”(jÊ)�”}”(hŒ ``dma_bytes``”h]”jÐ)�”}”(hj"dh]”hŒ dma_bytes”…”�”}”(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?hjdubjæ)�”}”(hhh]”j{)�”}”(hŒsize of DMA area”h]”hŒsize of DMA area”…”�”}”(hj;dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7dh´K?hj8dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7dh´K?hjkaubjÄ)�”}”(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ÏhjYdubah}”(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@hjUdubjæ)�”}”(hhh]”j{)�”}”(hŒruntime dma buffer pointer”h]”hŒruntime dma buffer pointer”…”�”}”(hjtdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jpdh´K@hjqdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jpdh´K@hjkaubjÄ)�”}”(hŒ'``active_tasks`` count of active tasks ”h]”(jÊ)�”}”(hŒ``active_tasks``”h]”jÐ)�”}”(hj”dh]”hŒ active_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´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³j©dh´KAhjªdubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjŽdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j©dh´KAhjkaubjÄ)�”}”(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´KBhjkaubjÄ)�”}”(hŒ0``task_seqno`` last task sequence number (!= 0) ”h]”(jÊ)�”}”(hŒ``task_seqno``”h]”jÐ)�”}”(hjeh]”hŒ task_seqno”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjeubah}”(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Œ last task sequence number (!= 0)”h]”hŒ last task sequence number (!= 0)”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jeh´KChjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jeh´KChjkaubjÄ)�”}”(hŒ``tasks`` list of all tasks”h]”(jÊ)�”}”(hŒ ``tasks``”h]”jÐ)�”}”(hj?eh]”hŒtasks”…”�”}”(hjAeh²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´KChj9eubjæ)�”}”(hhh]”j{)�”}”(hŒlist of all tasks”h]”hŒlist of all tasks”…”�”}”(hjXeh²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´KDhjUeubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj9eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jTeh´KChjkaubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj#aubeh}”(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”…”�”}”(hj™eh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj•eh²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Œ ”…”�”}”(hj§eh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj•eh²hh³j¦eh´KJubj3)�”}”(hŒsnd_compr_stream”h]”j9)�”}”(hj“eh]”hŒsnd_compr_stream”…”�”}”(hj¹eh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjµeubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj•eh²hh³j¦eh´KJubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‘eh²hh³j¦eh´KJubah}”(h]”jŒeah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¦eh´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³j¦eh´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÷eubjc�)�”}”(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; };”…”�”}”hjfsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�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)fh]”hŒMembers”…”�”}”(hj+fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj'fubah}”(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Ð)�”}”(hjHfh]”hŒname”…”�”}”(hjJfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjFfubah}”(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´KahjBfubjæ)�”}”(hhh]”j{)�”}”(hŒ device name”h]”hŒ device name”…”�”}”(hjafh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]fh´Kahj^fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjBfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]fh´Kahj?fubjÄ)�”}”(hŒ!``ops`` pointer to DSP callbacks ”h]”(jÊ)�”}”(hŒ``ops``”•!h]”jÐ)�”}”(hj�fh]”hŒops”…”�”}”(hjƒfh²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´Kbhj{fubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to DSP callbacks”h]”hŒpointer to DSP callbacks”…”�”}”(hjšfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–fh´Kbhj—fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj{fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–fh´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 gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jgh´Kdhj gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjífubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jgh´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,gh]”hŒ error_work”…”�”}”(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´Kehj&gubjæ)�”}”(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”…”�”}”(hjEgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jAgh´KehjBgubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj&gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jAgh´Kehj?fubjÄ)�”}”(hŒ3``direction`` stream direction, playback/recording ”h]”(jÊ)�”}”(hŒ ``direction``”h]”jÐ)�”}”(hjegh]”hŒ direction”…”�”}”(hjggh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjcgubah}”(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”…”�”}”(hj~gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jzgh´Kfhj{gubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj_gubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jzgh´Kfhj?fubjÄ)�”}”(hŒ2``metadata_set`` metadata set flag, true when set ”h]”(jÊ)�”}”(hŒ``metadata_set``”h]”jÐ)�”}”(hjžgh]”hŒ metadata_set”…”�”}”(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´Kghj˜gubjæ)�”}”(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åhj˜gubeh}”(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Ð)�”}”(hjhh]”hŒ partial_drain”…”�”}”(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´Kihj hubjæ)�”}”(hhh]”j{)�”}”(hŒ2undergoing partial_drain for stream, true when set”h]”hŒ2undergoing partial_drain for stream, true when set”…”�”}”(hj)hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j%hh´Kihj&hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j%hh´Kihj?fubjÄ)�”}”(hŒB``pause_in_draining`` paused during draining state, true when set ”h]”(jÊ)�”}”(hŒ``pause_in_draining``”h]”jÐ)�”}”(hjIhh]”hŒpause_in_draining”…”�”}”(hjKhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjGhubah}”(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´KjhjChubjæ)�”}”(hhh]”j{)�”}”(hŒ+paused during draining state, true when set”h]”hŒ+paused during draining state, true when set”…”�”}”(hjbhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j^hh´Kjhj_hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjChubeh}”(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Ð)�”}”(hj‚hh]”hŒ private_data”…”�”}”(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Œpointer to DSP private data”h]”hŒpointer to DSP private data”…”�”}”(hj›hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j—hh´Kkhj˜hubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj|hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j—hh´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”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjih²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#ih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjih²hh³j"ih´Krubj3)�”}”(hŒ snd_compr_ops”h]”j9)�”}”(hjih]”hŒ snd_compr_ops”…”�”}”(hj5ih²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1iubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjih²hh³j"ih´Krubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj ih²hh³j"ih´Krubah}”(h]”jiah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j"ih´Krhj ih²hubjv)�”}”(hhh]”j{)�”}”(hŒcompressed path DSP operations”h]”hŒcompressed path DSP operations”…”�”}”(hjWih²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}hjTih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj ih²hh³j"ih´Krubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™joijšjoij›‰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”…”�”}”(hj{ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjwiubhŒ:”…”�”}”(hjwih²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�hjsiubjc�)�”}”(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; };”…”�”}”hj”isbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Kƒhjsiubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hj¥ih]”hŒMembers”…”�”}”(hj§ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj£iubah}”(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™hjsiubj¿)�”}”(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”…”�”}”(hjjh²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”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jjh´K‚hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjøiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jjh´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Ð)�”}”(hj7jh]”hŒ set_params”…”�”}”(hj9jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj5jubah}”(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…hj1jubjæ)�”}”(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”…”�”}”(hjPjh²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ƒhjMjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj1jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jLjh´K…hj»iubjÄ)�”}”(hŒ8``get_params`` retrieve the codec parameters, mandatory ”h]”(jÊ)�”}”(hŒ``get_params``”h]”jÐ)�”}”(hjqjh]”hŒ get_params”…”�”}”(hjsjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjojubah}”(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†hjkjubjæ)�”}”(hhh]”j{)�”}”(hŒ(retrieve the codec parameters, mandatory”h]”hŒ(retrieve the codec parameters, mandatory”…”�”}”(hjŠjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j†jh´K†hj‡jubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†jh´K†hj»iubjÄ)�”}”(hŒ6``set_metadata`` Set the metadata values for a stream ”h]”(jÊ)�”}”(hŒ``set_metadata``”h]”jÐ)�”}”(hjªjh]”hŒ set_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Œ$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åhj¤jubeh}”(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Ð)�”}”(hjkh]”hŒtrigger”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjkubah}”(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Œ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”…”�”}”(hj5kh²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‰hj2kubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1kh´KŠhj»iubjÄ)�”}”(hŒ@``pointer`` Retrieve current h/w pointer information. Mandatory ”h]”(jÊ)�”}”(hŒ ``pointer``”h]”jÐ)�”}”(hjVkh]”hŒpointer”…”�”}”(hjXkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjTkubah}”(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‹hjPkubjæ)�”}”(hhh]”j{)�”}”(hŒ3Retrieve current h/w pointer information. Mandatory”h]”hŒ3Retrieve current h/w pointer information. Mandatory”…”�”}”(hjokh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jkkh´K‹hjlkubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjPkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jkkh´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�hj‰kubjæ)�”}”(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”…”�”}”(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Œ,``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Ð)�”}”(hjlh]”hŒack”…”�”}”(hjlh²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�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”…”�”}”(hjlh²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�hjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjükubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jlh´K�hj»iubjÄ)�”}”(hŒ2``get_caps`` Retrieve DSP capabilities, mandatory ”h]”(jÊ)�”}”(hŒ ``get_caps``”h]”jÐ)�”}”(hjlh²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‘hj6lubjæ)�”}”(hhh]”j{)�”}”(hŒ$Retrieve DSP capabilities, mandatory”h]”hŒ$Retrieve DSP capabilities, mandatory”…”�”}”(hjUlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jQlh´K‘hjRlubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj6lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jQlh´K‘hj»iubjÄ)�”}”(hŒI``get_codec_caps`` Retrieve capabilities for a specific codec, mandatory ”h]”(jÊ)�”}”(hŒ``get_codec_caps``”h]”jÐ)�”}”(hjulh]”hŒget_codec_caps”…”�”}”(hjwlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjslubah}”(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’hjolubjæ)�”}”(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³jŠlh´K’hj‹lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjolubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŠlh´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Ï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Œ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åhj¨lubeh}”(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”…”�”}”(hjmh²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 mh]”hŒ task_stop”…”�”}”(hj"mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjmubah}”(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•hjmubjæ)�”}”(hhh]”j{)�”}”(hŒ*Stop (dequeue) a task for accel operations”h]”hŒ*Stop (dequeue) a task for accel operations”…”�”}”(hj9mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5mh´K•hj6mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5mh´K•hj»iubjÄ)�”}”(hŒE``task_free`` Free a set of input/output buffers for accel operations”h]”(jÊ)�”}”(hŒ ``task_free``”h]”jÐ)�”}”(hjYmh]”hŒ task_free”…”�”}”(hj[mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjWmubah}”(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•hjSmubjæ)�”}”(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”…”�”}”(hjrmh²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–hjomubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjSmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jnmh´K•hj»iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjsiubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_compr (C struct)”Œ c.snd_compr”hNt”auh1híhjÊ7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ snd_compr”h]”j )�”}”(hŒstruct snd_compr”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj³mh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¯mh²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Ámh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¯mh²hh³jÀmh´Kœubj3)�”}”(hŒ snd_compr”h]”j9)�”}”(hj­mh]”hŒ snd_compr”…”�”}”(hjÓmh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÏmubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¯mh²hh³jÀmh´Kœubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj«mh²hh³jÀmh´Kœubah}”(h]”j¦mah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÀmh´Kœhj¨mh²hubjv)�”}”(hhh]”j{)�”}”(hŒCompressed device”h]”hŒCompressed device”…”�”}”(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òmh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¨mh²hh³jÀmh´Kœubeh}”(h]”h ]”(j–Œstruct”eh"]”h$]”h&]”j˜j–j™j njšj nj›‰jœ‰j�‰uh1hþh²hhjÊ7h³Nh´NubjŸ)�”}”(hXô**Definition**:: struct snd_compr { const char *name; struct device *dev; struct snd_compr_ops *ops; void *private_data; struct snd_card *card; unsigned int direction; struct mutex lock; struct list_head open_list; int device; bool use_pause_in_draining; #ifdef CONFIG_SND_VERBOSE_PROCFS; }; **Members** ``name`` DSP device name ``dev`` associated device instance ``ops`` pointer to DSP callbacks ``private_data`` pointer to DSP pvt data ``card`` sound card pointer ``direction`` Playback or capture direction ``lock`` device lock ``open_list`` list of open compress files ``device`` device id ``use_pause_in_draining`` allow pause in draining, true when set”h]”(j{)�”}”(hŒ**Definition**::”h]”(j©)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjnubhŒ:”…”�”}”(hjnh²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»hjnubjc�)�”}”(hX:struct snd_compr { const char *name; struct device *dev; struct snd_compr_ops *ops; void *private_data; struct snd_card *card; unsigned int direction; struct mutex lock; struct list_head open_list; int device; bool use_pause_in_draining; #ifdef CONFIG_SND_VERBOSE_PROCFS; };”h]”hX:struct snd_compr { const char *name; struct device *dev; struct snd_compr_ops *ops; void *private_data; struct snd_card *card; unsigned int direction; struct mutex lock; struct list_head open_list; int device; bool use_pause_in_draining; #ifdef CONFIG_SND_VERBOSE_PROCFS; };”…”�”}”hj2nsbah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jb�h³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´K½hjnubj{)�”}”(hŒ **Members**”h]”j©)�”}”(hjCnh]”hŒMembers”…”�”}”(hjEnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjAnubah}”(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Ëhjnubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ``name`` DSP device name ”h]”(jÊ)�”}”(hŒ``name``”h]”jÐ)�”}”(hjbnh]”hŒname”…”�”}”(hjdnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj`nubah}”(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\nubjæ)�”}”(hhh]”j{)�”}”(hŒDSP device name”h]”hŒDSP device name”…”�”}”(hj{nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jwnh´K¹hjxnubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jwnh´K¹hjYnubjÄ)�”}”(hŒ#``dev`` associated device instance ”h]”(jÊ)�”}”(hŒ``dev``”h]”jÐ)�”}”(hj›nh]”hŒdev”…”�”}”(hj�nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj™nubah}”(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•nubjæ)�”}”(hhh]”j{)�”}”(hŒassociated device instance”h]”hŒassociated device instance”…”�”}”(hj´nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j°nh´Kºhj±nubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj•nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j°nh´KºhjYnubjÄ)�”}”(hŒ!``ops`` pointer to DSP callbacks ”h]”(jÊ)�”}”(hŒ``ops``”h]”jÐ)�”}”(hjÔnh]”hŒops”…”�”}”(hjÖnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjÒnubah}”(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Înubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to DSP callbacks”h]”hŒpointer to DSP callbacks”…”�”}”(hjính²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jénh´K»hjênubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÎnubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jénh´K»hjYnubjÄ)�”}”(hŒ)``private_data`` pointer to DSP pvt data ”h]”(jÊ)�”}”(hŒ``private_data``”h]”jÐ)�”}”(hj oh]”hŒ private_data”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj oubah}”(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¼hjoubjæ)�”}”(hhh]”j{)�”}”(hŒpointer to DSP pvt data”h]”hŒpointer to DSP pvt data”…”�”}”(hj&oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j"oh´K¼hj#oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"oh´K¼hjYnubjÄ)�”}”(hŒ``card`` sound card pointer ”h]”(jÊ)�”}”(hŒ``card``”h]”jÐ)�”}”(hjFoh]”hŒcard”…”�”}”(hjHoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjDoubah}”(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@oubjæ)�”}”(hhh]”j{)�”}”(hŒsound card pointer”h]”hŒsound card pointer”…”�”}”(hj_oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j[oh´K½hj\oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj@oubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j[oh´K½hjYnubjÄ)�”}”(hŒ,``direction`` Playback or capture direction ”h]”(jÊ)�”}”(hŒ ``direction``”h]”jÐ)�”}”(hjoh]”hŒ direction”…”�”}”(hj�oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj}oubah}”(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¾hjyoubjæ)�”}”(hhh]”j{)�”}”(hŒPlayback or capture direction”h]”hŒPlayback or capture direction”…”�”}”(hj˜oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j”oh´K¾hj•oubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjyoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j”oh´K¾hjYnubjÄ)�”}”(hŒ``lock`` device lock ”h]”(jÊ)�”}”(hŒ``lock``”h]”jÐ)�”}”(hj¸oh]”hŒlock”…”�”}”(hjºoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¶oubah}”(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²oubjæ)�”}”(hhh]”j{)�”}”(hŒ device lock”h]”hŒ device lock”…”�”}”(hjÑoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÍoh´K¿hjÎoubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj²oubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÍoh´K¿hjYnubjÄ)�”}”(hŒ*``open_list`` list of open compress files ”h]”(jÊ)�”}”(hŒ ``open_list``”h]”jÐ)�”}”(hjñoh]”hŒ open_list”…”�”}”(hjóoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjïoubah}”(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ëoubjæ)�”}”(hhh]”j{)�”}”(hŒlist of open compress files”h]”hŒlist of open compress files”…”�”}”(hj ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jph´KÀhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjëoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jph´KÀhjYnubjÄ)�”}”(hŒ``device`` device id ”h]”(jÊ)�”}”(hŒ ``device``”h]”jÐ)�”}”(hj*ph]”hŒdevice”…”�”}”(hj,ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj(pubah}”(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$pubjæ)�”}”(hhh]”j{)�”}”(hŒ device id”h]”hŒ device id”…”�”}”(hjCph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j?ph´KÁhj@pubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj$pubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j?ph´KÁhjYnubjÄ)�”}”(hŒ@``use_pause_in_draining`` allow pause in draining, true when set”h]”(jÊ)�”}”(hŒ``use_pause_in_draining``”h]”jÐ)�”}”(hjcph]”hŒuse_pause_in_draining”…”�”}”(hjeph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjapubah}”(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]pubjæ)�”}”(hhh]”j{)�”}”(hŒ&allow pause in draining, true when set”h]”hŒ&allow pause in draining, true when set”…”�”}”(hj|ph²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Âhjypubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]pubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jxph´KÁhjYnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjnubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,snd_compr_use_pause_in_draining (C function)”Œ!c.snd_compr_use_pause_in_draining”hNt”auh1híhjÊ7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒIvoid snd_compr_use_pause_in_draining (struct snd_compr_stream *substream)”h]”j )�”}”(hŒHvoid snd_compr_use_pause_in_draining(struct snd_compr_stream *substream)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj½ph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¹ph²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Ìph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹ph²hh³jËph´KÛubj3)�”}”(hŒsnd_compr_use_pause_in_draining”h]”j9)�”}”(hŒsnd_compr_use_pause_in_draining”h]”hŒsnd_compr_use_pause_in_draining”…”�”}”(hjÞph²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚpubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¹ph²hh³jËph´KÛubjT)�”}”(hŒ$(struct snd_compr_stream *substream)”h]”jZ)�”}”(hŒ"struct snd_compr_stream *substream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjúph²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjöpubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöpubh)�”}”(hhh]”j9)�”}”(hŒsnd_compr_stream”h]”hŒsnd_compr_stream”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jqŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jàpsbŒ!c.snd_compr_use_pause_in_draining”†”asbuh1hhjöpubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8qh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjöpubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjFqh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjöpubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hjSqh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjöpubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjòpubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¹ph²hh³jËph´KÛubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjµph²hh³jËph´KÛubah}”(h]”j°pah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jËph´KÛhj²ph²hubjv)�”}”(hhh]”j{)�”}”(hŒ(Allow pause and resume in draining state”h]”hŒ(Allow pause and resume in draining state”…”�”}”(hj}qh²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Ûhjzqh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj²ph²hh³jËph´KÛubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j•qjšj•qj›‰jœ‰j�‰uh1hþh²hhjÊ7h³Nh´NubjŸ)�”}”(hŒÉ**Parameters** ``struct snd_compr_stream *substream`` compress substream to set **Description** Allow pause and resume in draining state. Only HW driver supports this transition can call this API.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjŸqh]”hŒ Parameters”…”�”}”(hj¡qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj�qubah}”(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™qubj¿)�”}”(hhh]”jÄ)�”}”(hŒA``struct snd_compr_stream *substream`` compress substream to set ”h]”(jÊ)�”}”(hŒ&``struct snd_compr_stream *substream``”h]”jÐ)�”}”(hj¾qh]”hŒ"struct snd_compr_stream *substream”…”�”}”(hjÀqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj¼qubah}”(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¸qubjæ)�”}”(hhh]”j{)�”}”(hŒcompress substream to set”h]”hŒcompress substream to set”…”�”}”(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Ühjµqubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj™qubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjùqh]”hŒ Description”…”�”}”(hjûqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj÷qubah}”(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™qubj{)�”}”(hŒdAllow pause and resume in draining state. Only HW driver supports this transition can call this API.”h]”hŒdAllow pause and resume in draining state. Only HW driver supports this transition can call this API.”…”�”}”(hjrh²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™qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjÊ7h²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ)snd_compr_set_runtime_buffer (C function)”Œc.snd_compr_set_runtime_buffer”hNt”auh1híhjÊ7h²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ`void snd_compr_set_runtime_buffer (struct snd_compr_stream *stream, struct snd_dma_buffer *bufp)”h]”j )�”}”(hŒ_void snd_compr_set_runtime_buffer(struct snd_compr_stream *stream, struct snd_dma_buffer *bufp)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj>rh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj:rh²hh³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMrh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:rh²hh³jLrh´Mubj3)�”}”(hŒsnd_compr_set_runtime_buffer”h]”j9)�”}”(hŒsnd_compr_set_runtime_buffer”h]”hŒsnd_compr_set_runtime_buffer”…”�”}”(hj_rh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[rubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj:rh²hh³jLrh´MubjT)�”}”(hŒ>(struct snd_compr_stream *stream, struct snd_dma_buffer *bufp)”h]”(jZ)�”}”(hŒstruct snd_compr_stream *stream”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj{rh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjwrubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆrh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjwrubh)�”}”(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”j›rŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jarsbŒc.snd_compr_set_runtime_buffer”†”asbuh1hhjwrubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹rh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjwrubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÇrh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjwrubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjÔrh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwrubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsrubjZ)�”}”(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 sh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjsubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j sŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jµrŒc.snd_compr_set_runtime_buffer”†”asbuh1hhjérubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)sh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjérubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj7sh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjérubj9)�”}”(hŒbufp”h]”hŒbufp”…”�”}”(hjDsh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjérubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjsrubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj:rh²hh³jLrh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj6rh²hh³jLrh´Mubah}”(h]”j1rah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jLrh´Mhj3rh²hubjv)�”}”(hhh]”j{)�”}”(hŒSet the Compress runtime buffer”h]”hŒSet the Compress runtime buffer”…”�”}”(hjnsh²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´Mhjksh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj3rh²hh³jLrh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j†sjšj†sj›‰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´MhjŠsubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ;``struct snd_compr_stream *stream`` compress stream to set ”h]”(jÊ)�”}”(hŒ#``struct snd_compr_stream *stream``”h]”jÐ)�”}”(hj¯sh]”hŒstruct snd_compr_stream *stream”…”�”}”(hj±sh²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´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³jÄsh´MhjÅsubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©subeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄsh´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”…”�”}”(hjêsh²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´Mhjâsubjæ)�”}”(hhh]”j{)�”}”(hŒ%the buffer information, NULL to clear”h]”hŒ%the buffer information, NULL to clear”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jýsh´Mhjþsubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjâsubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jýsh´Mhj¦subeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjŠsubj{)�”}”(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³Œp/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:92: ./include/sound/compress_driver.h”h´MhjŠsubj{)�”}”(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 ”…”�”}”(hj9th²hh³Nh´Nubj©)�”}”(hŒ**bufp**”h]”hŒbufp”…”�”}”(hjAth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj9tubhŒA is non-NULL. Otherwise it clears the current buffer information.”…”�”}”(hj9th²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´MhjŠsubeh}”(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”…”�”}”(hjtth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjqth²hh³hÊh´K_ubh¶)�”}”(hhh]”(h»)�”}”(hŒ ASoC Core API”h]”hŒ ASoC Core API”…”�”}”(hj…th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj‚th²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íhj‚th²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”…”�”}”(hj¬th²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Œ ”…”�”}”(hjºth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨th²hh³j¹th´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”jÍtŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_find_dai”sbŒc.snd_soc_find_dai”†”asbuh1hhj¨th²hh³j¹th´MÏubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìth²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¨th²hh³j¹th´MÏubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjúth²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¨th²hh³j¹th´MÏubj3)�”}”(hŒsnd_soc_find_dai”h]”j9)�”}”(hjéth]”hŒsnd_soc_find_dai”…”�”}”(hj uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjuubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¨th²hh³j¹th´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&uh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj"uubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3uh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj"uubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjAuh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj"uubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj"uubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dai_link_component”h]”hŒsnd_soc_dai_link_component”…”�”}”(hj_uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj\uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jauŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jçtŒc.snd_soc_find_dai”†”asbuh1hhj"uubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}uh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj"uubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‹uh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj"uubj9)�”}”(hŒdlc”h]”hŒdlc”…”�”}”(hj˜uh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj"uubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjuubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¨th²hh³j¹th´MÏubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¤th²hh³j¹th´MÏubah}”(h]”jŸtah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¹th´MÏhj¡th²hubjv)�”}”(hhh]”j{)�”}”(hŒFind a registered DAI”h]”hŒFind a registered DAI”…”�”}”(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Ïhj¿uh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj¡th²hh³j¹th´MÏubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÚujšjÚuj›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(hjäuh]”hŒ Parameters”…”�”}”(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ÓhjÞuubj¿)�”}”(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Ð)�”}”(hjvh]”hŒ,const struct snd_soc_dai_link_component *dlc”…”�”}”(hjvh²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: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”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jvh´MÑhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjýuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jvh´MÑhjúuubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÞuubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj>vh]”hŒ Description”…”�”}”(hj@vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj``struct snd_soc_pcm_runtime *rtd`` The pcm_runtime to remove ”h]”(jÊ)�”}”(hŒ#``struct snd_soc_pcm_runtime *rtd``”h]”jÐ)�”}”(hjTxh]”hŒstruct snd_soc_pcm_runtime *rtd”…”�”}”(hjVxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjRxubah}”(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·hjNxubjæ)�”}”(hhh]”j{)�”}”(hŒThe pcm_runtime to remove”h]”hŒThe pcm_runtime to remove”…”�”}”(hjmxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jixh´M·hjjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjNxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jixh´M·hjxubeh}”(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´M¹hjö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´M¸hjöwubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjÔxh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÐxh²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ãxh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÐxh²hh³jâxh´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&]”jQjRuh1j2hjÐxh²hh³jâxh´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”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj yubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(hj/yh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj,yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j1yŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j÷xsbŒc.snd_soc_add_pcm_runtime”†”asbuh1hhj yubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOyh²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Œcard”h]”hŒcard”…”�”}”(hjjyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj yubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj yubjZ)�”}”(hŒ!struct snd_soc_dai_link *dai_link”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjƒyh²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”…”�”}”(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¢]”jKyŒc.snd_soc_add_pcm_runtime”†”asbuh1hhjyubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿yh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjyubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÍyh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjyubj9)�”}”(hŒdai_link”h]”hŒdai_link”…”�”}”(hjÚyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjyubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj yubeh}”(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Œ*Add a pcm_runtime dynamically via dai_link”h]”hŒ*Add a pcm_runtime dynamically via dai_link”…”�”}”(hjzh²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Íhjzh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÉxh²hh³jâxh´MÍubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jzjšjzj›‰jœ‰j�‰uh1hþh²hhj‚th³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&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:100: ./sound/soc/soc-core.c”h´MÑhj zubj¿)�”}”(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Ð)�”}”(hjEzh]”hŒstruct snd_soc_card *card”…”�”}”(hjGzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjCzubah}”(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 ASoC card to which the pcm_runtime is added”h]”hŒ/The ASoC card to which the pcm_runtime is added”…”�”}”(hj^zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jZzh´MÎhj[zubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj?zubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jZzh´MÎhj~jšj>~j›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(hjH~h]”hŒ Parameters”…”�”}”(hjJ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjF~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‹hjB~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Ð)�”}”(hjg~h]”hŒstruct snd_soc_card *card”…”�”}”(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´Mˆhja~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åhja~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j|~h´Mˆ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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MŠhjB~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.”…”�”}”(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‰hjB~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”hjB~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â€�.”…”�”}”(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™hjB~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.”…”�”}”(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œhjB~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¡hjB~ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_soc_cnew (C function)”Œc.snd_soc_cnew”hNt”auh1híhj‚th²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_hjh²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Œ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j0h´M¹ubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hjBh²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˜Œ snd_soc_cnew”sbŒc.snd_soc_cnew”†”asbuh1hhjh²hh³j0h´M¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³j0h´M¹ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjh²hh³j0h´M¹ubj3)�”}”(hŒ snd_soc_cnew”h]”j9)�”}”(hj`h]”hŒ snd_soc_cnew”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj~ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjh²hh³j0h´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”…”�”}”(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_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Œ ”…”�”}”(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Œdata”h]”hŒdata”…”�”}”(hjQ€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”…”�”}”(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€ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj…€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjf€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Œ long_name”h]”hŒ long_name”…”�”}”(hj®€h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjf€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_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Œprefix”h]”hŒprefix”…”�”}”(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³j0h´M¹ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³j0h´M¹ubah}”(h]”jah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j0h´M¹hjh²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new control”h]”hŒcreate new control”…”�”}”(hj5�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¹hj2�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjh²hh³j0h´M¹ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jM�jšjM�j›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(hjW�h]”hŒ Parameters”…”�”}”(hjY�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjU�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½hjQ�ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ>``const struct snd_kcontrol_new *_template`` control template ”h]”(jÊ)�”}”(hŒ,``const struct snd_kcontrol_new *_template``”h]”jÐ)�”}”(hjv�h]”hŒ(const struct snd_kcontrol_new *_template”…”�”}”(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:100: ./sound/soc/soc-core.c”h´Mºhjp�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åhjp�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹�h´Mºhjm�ubjÄ)�”}”(hŒ$``void *data`` control private data ”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³Œ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³jÄ�h´M»hjÅ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj©�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÄ�h´M»hjm�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¼hjâ�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åhjâ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jý�h´M¼hjm�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³j6‚h´M½hj7‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j6‚h´M½hjm�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjQ�ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj\‚h]”hŒ Description”…”�”}”(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¿hjQ�ubj{)�”}”(hŒ3Create a new mixer control from a template control.”h]”hŒ3Create a new mixer control from a template control.”…”�”}”(hjr‚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¾hjQ�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ÀhjQ�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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´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_add_card_controls”h]”j9)�”}”(hŒsnd_soc_add_card_controls”h]”hŒsnd_soc_add_card_controls”…”�”}”(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Œ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”…”�”}”(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_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Œ*”…”�”}”(hj9ƒh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjé‚ubj9)�”}”(hŒsoc_card”h]”hŒsoc_card”…”�”}”(hjFƒ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”…”�”}”(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Œ ”…”�”}”(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”…”�”}”(hjуh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj[ƒ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´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Œ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.”…”�”}”(hj0„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™jH„jšjH„j›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(hjR„h]”hŒ Parameters”…”�”}”(hjT„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjP„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ühjL„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Ð)�”}”(hjq„h]”hŒstruct snd_soc_card *soc_card”…”�”}”(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:100: ./sound/soc/soc-core.c”h´Mûhjk„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´Mûhj‡„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjk„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†„h´Mûhjh„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´Mü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´MühjÀ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¤„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¿„h´Mühjh„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´Mý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´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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´MþhjL„ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjc…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Œ ”…”�”}”(hjr…h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj_…h²hh³jq…h´M 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&]”jQjRuh1j2hj_…h²hh³jq…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_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&]”jQjRuh1jShj_…h²hh³jq…h´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj[…h²hh³jq…h´M ubah}”(h]”jV…ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jq…h´M hjX…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´M hj †h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjX…h²hh³jq…h´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j;†jšj;†j›‰jœ‰j�‰uh1hþh²hhj‚th³Nh´NubjŸ)�”}”(hŒ@**Parameters** ``struct snd_soc_card *card`` Card to register”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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:100: ./sound/soc/soc-core.c”h´Mhj?†ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ.``struct snd_soc_card *card`` Card to register”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hjd†h]”hŒstruct snd_soc_card *card”…”�”}”(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´Mhj^†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´Mhjz†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj^†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jy†h´Mhj[†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj?†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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´M1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj͆h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjº†h²hh³j̆h´M1ubj3)�”}”(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´M1ubjT)�”}”(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_unregister_card”†”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Œcard”h]”hŒcard”…”�”}”(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´M1ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj¶†h²hh³j̆h´M1ubah}”(h]”j±†ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j̆h´M1hj³†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´M1hj{‡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj³†h²hh³j̆h´M1ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j–‡jšj–‡j›‰jœ‰j�‰uh1hþh²hhj‚th³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´M5hjš‡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´M7hj¹‡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´M3hjÕ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¹‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÔ‡h´M7hj¶‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjš‡ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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´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_dais”h]”j9)�”}”(hŒsnd_soc_unregister_dais”h]”hŒsnd_soc_unregister_dais”…”�”}”(hj:ˆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6ˆ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”…”�”}”(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_soc_component”h]”hŒsnd_soc_component”…”�”}”(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¥)�”}”j˜j<ˆsbŒc.snd_soc_unregister_dais”†”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Œ component”h]”hŒ component”…”�”}”(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&]”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 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´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‚th³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”…”�”}”(hj3‰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…hj0‰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žhj‚th²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íhj‚th²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”…”�”}”(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:100: ./sound/soc/soc-core.c”h´M�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ‰h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjp‰h²hh³j‚‰h´M�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&]”jQjRuh1j2hjp‰h²hh³j‚‰h´M�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”…”�”}”(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_soc_dai_driver”h]”hŒsnd_soc_dai_driver”…”�”}”(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_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Œ*”…”�”}”(hjmŠh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjŠubj9)�”}”(hŒdai_drv”h]”hŒdai_drv”…”�”}”(hjzŠ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&]”jQjRuh1jShjp‰h²hh³j‚‰h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjl‰h²hh³j‚‰h´M�ubah}”(h]”jg‰ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j‚‰h´M�hji‰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´M�hjéŠh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhji‰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‚th³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´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”…”�”}”(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Œ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Ð)�”}”(hjf‹h]”hŒ"struct snd_soc_dai_driver *dai_drv”…”�”}”(hjh‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjd‹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Œ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´M“hj|‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj`‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j{‹h´M“hj$‹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´M•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´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‚th²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íhj‚th²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´MB ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõ‹h²hh³jŒh´MB 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´MB 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”…”�”}”(hj6Œh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj2Œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2Œubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(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¥)�”}”j˜jŒsbŒ(c.snd_soc_unregister_component_by_driver”†”asbuh1hhj2Œubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtŒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2Œubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‚Œh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj2Œubj9)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj�Œh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2Œ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¢]”jpŒŒ(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´MB ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjñ‹h²hh³jŒh´MB ubah}”(h]”jì‹ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŒh´MB hjî‹h²hubjv)�”}”(hhh]”j{)�”}”(hŒ0 on success, -EINVAL if args_count != 1 or no match is found.”h]”hŒ>0 on success, -EINVAL if args_count != 1 or no match is 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:100: ./sound/soc/soc-core.c”h´M; hjé�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ,devm_snd_soc_register_component (C function)”Œ!c.devm_snd_soc_register_component”hNt”auh1híhj‚th²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ›int devm_snd_soc_register_component (struct device *dev, const struct snd_soc_component_driver *cmpnt_drv, struct snd_soc_dai_driver *dai_drv, int num_dai)”h]”j )�”}”(hŒšint devm_snd_soc_register_component(struct device *dev, const struct snd_soc_component_driver *cmpnt_drv, struct snd_soc_dai_driver *dai_drv, int num_dai)”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´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjý�h²hh³j‘h´Kubj3)�”}”(hŒdevm_snd_soc_register_component”h]”j9)�”}”(hŒdevm_snd_soc_register_component”h]”hŒdevm_snd_soc_register_component”…”�”}”(hj"‘h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‘ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjý�h²hh³j‘h´KubjT)�”}”(hŒw(struct device *dev, const struct snd_soc_component_driver *cmpnt_drv, struct snd_soc_dai_driver *dai_drv, int num_dai)”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Œ ”…”�”}”(hjK‘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&]”uh1j8hjY‘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_soc_register_component”†”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”ˆjQjRuh1jYhj6‘ubjZ)�”}”(hŒ0const struct snd_soc_component_driver *cmpnt_drv”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¢]”jx‘Œ!c.devm_snd_soc_register_component”†”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Œ cmpnt_drv”h]”hŒ cmpnt_drv”…”�”}”(hj"’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6‘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_hj7’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjH’h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj7’ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dai_driver”h]”hŒsnd_soc_dai_driver”…”�”}”(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¢]”jx‘Œ!c.devm_snd_soc_register_component”†”asbuh1hhj7’ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw’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Œdai_drv”h]”hŒdai_drv”…”�”}”(hj’’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6‘ubjZ)�”}”(hŒ int num_dai”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_dai”h]”hŒnum_dai”…”�”}”(hjÇ’h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj§’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6‘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Œ'resource managed component registration”h]”hŒ'resource managed component 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´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‚th³Nh´NubjŸ)�”}”(hXZ**Parameters** ``struct device *dev`` Device used to manage component ``const struct snd_soc_component_driver *cmpnt_drv`` Component driver ``struct snd_soc_dai_driver *dai_drv`` DAI driver ``int num_dai`` Number of DAIs to register **Description** Register a component 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´Khj “ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ7``struct device *dev`` Device used to manage component ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hj2“h]”hŒstruct device *dev”…”�”}”(hj4“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0“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´Khj,“ubjæ)�”}”(hhh]”j{)�”}”(hŒDevice used to manage component”h]”hŒDevice used to manage component”…”�”}”(hjK“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jG“h´KhjH“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj,“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jG“h´Khj)“ubjÄ)�”}”(hŒF``const struct snd_soc_component_driver *cmpnt_drv`` Component driver ”h]”(jÊ)�”}”(hŒ4``const struct snd_soc_component_driver *cmpnt_drv``”h]”jÐ)�”}”(hjk“h]”hŒ0const struct snd_soc_component_driver *cmpnt_drv”…”�”}”(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:101: ./sound/soc/soc-devres.c”h´Khje“ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent driver”h]”hŒComponent driver”…”�”}”(hj„“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j€“h´Khj�“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhje“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j€“h´Khj)“ubjÄ)�”}”(hŒ2``struct snd_soc_dai_driver *dai_drv`` DAI driver ”h]”(jÊ)�”}”(hŒ&``struct snd_soc_dai_driver *dai_drv``”h]”jÐ)�”}”(hj¤“h]”hŒ"struct snd_soc_dai_driver *dai_drv”…”�”}”(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´Khjž“ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAI driver”h]”hŒ DAI driver”…”�”}”(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Œ+``int num_dai`` Number of DAIs to register ”h]”(jÊ)�”}”(hŒ``int num_dai``”h]”jÐ)�”}”(hjÝ“h]”hŒ int num_dai”…”�”}”(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´Khjדubjæ)�”}”(hhh]”j{)�”}”(hŒNumber of DAIs to register”h]”hŒNumber of DAIs to register”…”�”}”(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³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´Khj “ubj{)�”}”(hŒSRegister a component with automatic unregistration when the device is unregistered.”h]”hŒSRegister a component 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´Khj “ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ'devm_snd_soc_register_card (C function)”Œc.devm_snd_soc_register_card”hNt”auh1híhj‚th²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒNint devm_snd_soc_register_card (struct device *dev, struct snd_soc_card *card)”h]”j )�”}”(hŒMint devm_snd_soc_register_card(struct device *dev, struct snd_soc_card *card)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj]”h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjY”h²hh³Œh/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:101: ./sound/soc/soc-devres.c”h´K5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl”h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjY”h²hh³jk”h´K5ubj3)�”}”(hŒdevm_snd_soc_register_card”h]”j9)�”}”(hŒdevm_snd_soc_register_card”h]”hŒdevm_snd_soc_register_card”…”�”}”(hj~”h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjz”ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjY”h²hh³jk”h´K5ubjT)�”}”(hŒ/(struct device *dev, struct snd_soc_card *card)”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_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Œ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Œ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Ô”Œc.devm_snd_soc_register_card”†”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Œcard”h]”hŒcard”…”�”}”(hjc•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´K5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjU”h²hh³jk”h´K5ubah}”(h]”jP”ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jk”h´K5hjR”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&]”uh1juhjR”h²hh³jk”h´K5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¥•jšj¥•j›‰jœ‰j�‰uh1hþh²hhj‚th³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”…”�”}”(hj –h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j–h´K7hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j–h´K7hjÅ•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj©•ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjB–h]”hŒ Description”…”�”}”(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: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.”…”�”}”(hjX–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žhj‚th²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íhj‚th²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Œ*”…”�”}”(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Œ-const struct snd_dmaengine_pcm_config *config”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj6—h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj2—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2—ubj`)�”}”(hjch]”hŒstruct”…”�”}”(hjQ—h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj2—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2—ubh)�”}”(hhh]”j9)�”}”(hŒsnd_dmaengine_pcm_config”h]”hŒsnd_dmaengine_pcm_config”…”�”}”(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_dmaengine_pcm_register”†”asbuh1hhj2—ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�—h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj2—ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj›—h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj2—ubj9)�”}”(hŒconfig”h]”hŒconfig”…”�”}”(hj¨—h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj2—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]”jz–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”…”�”}”(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´KKhj ˜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²hhj‚th³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©)�”}”(hjE˜h]”hŒ Parameters”…”�”}”(hjG˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjC˜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´KOhj?˜ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct device *dev`` The parent device for the PCM device ”h]”(jÊ)�”}”(hŒ``struct device *dev``”h]”jÐ)�”}”(hjd˜h]”hŒstruct device *dev”…”�”}”(hjf˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjb˜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³jy˜h´KLhjz˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj^˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jy˜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¾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:101: ./sound/soc/soc-devres.c”h´KPhj?˜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.”…”�”}”(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´KOhj?˜ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjV™h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjR™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Œ ”…”�”}”(hje™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjR™h²hh³jd™h´K_ubj3)�”}”(hŒsnd_soc_component_set_sysclk”h]”j9)�”}”(hŒsnd_soc_component_set_sysclk”h]”hŒsnd_soc_component_set_sysclk”…”�”}”(hjw™h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjs™ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjR™h²hh³jd™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˜jy™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Œ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjšubj9)�”}”(hŒclk_id”h]”hŒclk_id”…”�”}”(hj!š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&]”uh1jhj6šubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj6šubj9)�”}”(hŒsource”h]”hŒsource”…”�”}”(hjVšh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj6šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‹™ubjZ)�”}”(hŒunsigned int freq”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(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šubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‹š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Œfreq”h]”hŒfreq”…”�”}”(hj§šh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjkš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&]”jQjRuh1jShjR™h²hh³jd™h´K_ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjN™h²hh³jd™h´K_ubah}”(h]”jI™ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jd™h´K_hjK™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&]”uh1juhjK™h²hh³jd™h´K_ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j›jšj›j›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(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´Kchj"›ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ2``struct snd_soc_component *component`` COMPONENT ”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Œ 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åhjA›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j\›h´K`hj>›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´Kahjz›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´Kahj–›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjz›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j•›h´Kahj>›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´Kbhj³›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´KbhjÏ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj³›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jΛh´Kbhj>›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´Kchjì›ubjæ)�”}”(hhh]”j{)�”}”(hŒnew clock frequency in Hz”h]”hŒnew clock frequency in Hz”…”�”}”(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Œ0``int dir`` new clock direction - input/output. ”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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Kdhj%œubjæ)�”}”(hhh]”j{)�”}”(hŒ#new clock direction - input/output.”h]”hŒ#new clock direction - input/output.”…”�”}”(hjDœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j@œh´KdhjAœubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj%œubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j@œh´Kdhj>›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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Kfhj"›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´Kehj"›ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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Œ ”…”�”}”(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Œ component”h]”hŒ component”…”�”}”(hjA�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”…”�”}”(hjZ�h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjV�ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjV�ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_jack”h]”hŒ snd_soc_jack”…”�”}”(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_soc_component_set_jack”†”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Œjack”h]”hŒjack”…”�”}”(hj±�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjV�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.”…”�”}”(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&]”uh1juhj œh²hh³j¹œh´KÑubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j5žjšj5žj›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(hj?žh]”hŒ Parameters”…”�”}”(hjAž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Õhj9ž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ÒhjXžubjæ)�”}”(hhh]”j{)�”}”(hŒ COMPONENTs”h]”hŒ COMPONENTs”…”�”}”(hjwžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsžh´KÒhjtžubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXžubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsžh´KÒhjUž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ÓhjUž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ÔhjUžubeh}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´KÖhj9žubj{)�”}”(hŒ/Configures and enables jack detection function.”h]”hŒ/Configures and enables jack detection function.”…”�”}”(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Õhj9žubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjPŸh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjLŸ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!hjLŸ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”…”�”}”(hjqŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmŸubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjLŸ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˜jsŸ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&]”jQjRuh1jShjLŸh²hh³j^Ÿh´Kåubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjHŸh²hh³j^Ÿh´Kåubah}”(h]”jCŸah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j^Ÿh´KåhjEŸh²hubjv)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1juhjEŸ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‚th³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©)�”}”(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´Kéhj ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ3``struct snd_soc_component *component`` COMPONENTs ”h]”(jÊ)�”}”(hŒ'``struct snd_soc_component *component``”h]”jÐ)�”}”(hjB h]”hŒ#struct snd_soc_component *component”…”�”}”(hjD 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³jW h´KæhjX ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj< ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jW h´Kæhj9 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:102: ./sound/soc/soc-component.c”h´Kèhj 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çhj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ+snd_soc_component_add_controls (C function)”Œ c.snd_soc_component_add_controls”hNt”auh1híhj‚th²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒŒint snd_soc_component_add_controls (struct snd_soc_component *component, const struct snd_kcontrol_new *controls, unsigned int num_controls)”h]”j )�”}”(hŒ‹int snd_soc_component_add_controls(struct snd_soc_component *component, const struct snd_kcontrol_new *controls, unsigned int num_controls)”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´MNubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¾ h²hh³jРh´MNubj3)�”}”(hŒsnd_soc_component_add_controls”h]”j9)�”}”(hŒsnd_soc_component_add_controls”h]”hŒsnd_soc_component_add_controls”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjß ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¾ h²hh³jРh´MNubjT)�”}”(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˜jå sbŒ c.snd_soc_component_add_controls”†”asbuh1hhjû 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Œ component”h]”hŒ component”…”�”}”(hjX¡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”…”�”}”(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Œ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¢]”j9¡Œ c.snd_soc_component_add_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Œcontrols”h]”hŒcontrols”…”�”}”(hjã¡h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷ 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”…”�”}”(hj4¢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´MNubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjº h²hh³jРh´MNubah}”(h]”jµ ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jРh´MNhj· 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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MNhj[¢h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj· h²hh³jРh´MNubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jv¢jšjv¢j›‰jœ‰j�‰uh1hþh²hhj‚th³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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MRhjz¢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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MPhj™¢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³j´¢h´MPhjµ¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj™¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j´¢h´MPhj–¢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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MQhjÒ¢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´MQhjî¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÒ¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jí¢h´MQhj–¢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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MRhj £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´MRhj'£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj £ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j&£h´MRhj–¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjz¢ubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjL£h]”hŒReturn”…”�”}”(hjN£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjJ£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´MThjz¢ubj{)�”}”(hŒ0 for success, else error.”h]”hŒ0 for success, else error.”…”�”}”(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´MThjz¢ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ0snd_soc_component_regmap_cache_sync (C function)”Œ%c.snd_soc_component_regmap_cache_sync”hNt”auh1híhj‚th²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒMint snd_soc_component_regmap_cache_sync (struct snd_soc_component *component)”h]”j )�”}”(hŒLint snd_soc_component_regmap_cache_sync(struct snd_soc_component *component)”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_regmap_cache_sync”h]”j9)�”}”(hŒ#snd_soc_component_regmap_cache_sync”h]”hŒ#snd_soc_component_regmap_cache_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_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_regmap_cache_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Œ 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Œ)Sync the register cache with the hardware”h]”hŒ)Sync the register cache with the hardware”…”�”}”(hjQ¤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¤h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj†£h²hh³jŸ£h´M—ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™ji¤jšji¤j›‰jœ‰j�‰uh1hþh²hhj‚th³Nh´NubjŸ)�”}”(hŒ~**Parameters** ``struct snd_soc_component *component`` COMPONENT to sync **Note** This function will call regcache_sync()”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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M›hjm¤ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ:``struct snd_soc_component *component`` COMPONENT to sync ”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 sync”h]”hŒCOMPONENT to sync”…”�”}”(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¾hjm¤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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mšhjm¤ubj{)�”}”(hŒ'This function will call regcache_sync()”h]”hŒ'This function will call regcache_sync()”…”�”}”(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šhjm¤ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ4snd_soc_component_regmap_async_complete (C function)”Œ)c.snd_soc_component_regmap_async_complete”hNt”auh1híhj‚th²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒRvoid snd_soc_component_regmap_async_complete (struct snd_soc_component *component)”h]”j )�”}”(hŒQvoid snd_soc_component_regmap_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_regmap_async_complete”h]”j9)�”}”(hŒ'snd_soc_component_regmap_async_complete”h]”hŒ'snd_soc_component_regmap_async_complete”…”�”}”(hj3¥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”…”�”}”(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Œsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(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˜j5¥sbŒ)c.snd_soc_component_regmap_async_complete”†”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Œ component”h]”hŒ component”…”�”}”(hj¨¥h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjK¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjG¥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”…”�”}”(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²hhj‚th³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©)�”}”(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Œ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¾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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M©hjî¥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.”…”�”}”(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´M¨hjî¥ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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Œ ”…”�”}”(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_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Œ 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”…”�”}”(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Œ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”jb§Œ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²hhj‚th³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©)�”}”(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Œ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Ð)�”}”(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Œ9The component for which to initialize the regmap instance”h]”hŒ9The component for which to initialize the regmap 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Œ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¹hj7¨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”…”�”}”(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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´M»hjß§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ºhjß§ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(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_exit_regmap”†”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Œ component”h]”hŒ component”…”�”}”(hjS©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Œ/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Èhjz©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‚th³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Ð)�”}”(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 write to”h]”hŒComponent to write to”…”�”}”(hj0®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 write ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjP®h]”hŒunsigned int reg”…”�”}”(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ŒRegister to write”h]”hŒRegister to write”…”�”}”(hji®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³je®h´M hjf®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjJ®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³je®h´M hj®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´Mhjƒ®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´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Œ **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´Mhjò­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´Mhjò­ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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&]”uh1jhj¯h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.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_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&]”uh1j8hj&¯ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¯h²hh³j¯h´M5ubjT)�”}”(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”…”�”}”(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_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjd¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hja¯ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jf¯Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j,¯sbŒc.snd_soc_component_update_bits”†”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Œ component”h]”hŒ component”…”�”}”(hjŸ¯h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjB¯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Œ ”…”�”}”(hj3°h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj°ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjA°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”…”�”}”(hjZ°h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjV°ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh°h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjV°ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjv°h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjV°ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„°h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjV°ubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hj’°h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjV°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Œ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´M5hj¹°h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjþ®h²hh³j¯h´M5ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÔ°jšjÔ°j›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(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´M9hjذubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct snd_soc_component *component`` Component to update ”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´M6hj÷°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´M6hj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj÷°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j±h´M6hjô°ubjÄ)�”}”(hŒ(``unsigned int reg`` Register to update ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hj6±h]”hŒunsigned int reg”…”�”}”(hj8±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj4±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´M7hj0±ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to update”h]”hŒRegister to update”…”�”}”(hjO±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jK±h´M7hjL±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj0±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jK±h´M7hjô°ubjÄ)�”}”(hŒ?``unsigned int mask`` Mask that specifies which bits to update ”h]”(jÊ)�”}”(hŒ``unsigned int mask``”h]”jÐ)�”}”(hjo±h]”hŒunsigned int mask”…”�”}”(hjq±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjm±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´M8hji±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´M8hj…±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhji±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j„±h´M8hjô°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´M9hj¢±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´M9hj¾±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¢±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j½±h´M9hjô°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³Œ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 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´M;hjذubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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&]”uh1jhj$²h²hh³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´MSubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$²h²hh³j6²h´MSubj3)�”}”(hŒ#snd_soc_component_update_bits_async”h]”j9)�”}”(hŒ#snd_soc_component_update_bits_async”h]”hŒ#snd_soc_component_update_bits_async”…”�”}”(hjI²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjE²ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj$²h²hh³j6²h´MSubjT)�”}”(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”…”�”}”(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_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˜jK²sbŒ%c.snd_soc_component_update_bits_async”†”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Œ component”h]”hŒ component”…”�”}”(hj¾²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hja²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Œ ”…”�”}”(hj6³h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj$³ubj)�”}”(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Œ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 int val”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³ubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hj±³h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hju³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj]²ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj$²h²hh³j6²h´MSubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj ²h²hh³j6²h´MSubah}”(h]”j²ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j6²h´MShj²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´MShjسh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj²h²hh³j6²h´MSubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jó³jšjó³j›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(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´MWhj÷³ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ<``struct snd_soc_component *component`` Component to update ”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´MUhj´ubjæ)�”}”(hhh]”j{)�”}”(hŒComponent to update”h]”hŒComponent to update”…”�”}”(hj5´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1´h´MUhj2´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1´h´MUhj´ubjÄ)�”}”(hŒ(``unsigned int reg`` Register to update ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjU´h]”hŒunsigned int reg”…”�”}”(hjW´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjS´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´MVhjO´ubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to update”h]”hŒRegister to update”…”�”}”(hjn´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jj´h´MVhjk´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjO´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jj´h´MVhj´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´MWhjˆ´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´MWhj¤´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjˆ´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j£´h´MWhj´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´MXhjÁ´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´MXhjÝ´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÁ´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÜ´h´MXhj´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´MZhj÷³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.”…”�”}”(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´MYhj÷³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 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´M_hj÷³ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjnµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjµ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!hjjµh²hh³j|µh´Mƒubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj‹µh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjjµh²hh³j|µ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_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&]”jQjRuh1j2hjjµ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”…”�”}”(hjåµh²hh³Nh´Nubah}”(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_read_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”…”�”}”(hj9¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5¶ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjU¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5¶ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc¶h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5¶ubj9)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjq¶h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5¶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&]”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Œ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&]”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‚th³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©)�”}”(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Œ?``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”…”�”}”(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Œ&``unsigned int reg`` Register to read ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjf·h]”hŒunsigned int reg”…”�”}”(hjh·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjd·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…hj$·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†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³Œk/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:102: ./sound/soc/soc-component.c”h´Mˆhj·ubj{)�”}”(hŒread value of register field.”h]”hŒread value of 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´Mˆhj·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(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_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&]”jQjRuh1j2hj¸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_hjX¸ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hji¸h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjX¸ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_component”h]”hŒsnd_soc_component”…”�”}”(hjz¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjw¸ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j|¸Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jB¸sbŒc.snd_soc_component_write_field”†”asbuh1hhjX¸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Œ component”h]”hŒ component”…”�”}”(hjµ¸h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjX¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjT¸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”ˆjQjRuh1jYhjT¸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Œ ”…”�”}”(hjI¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¹ubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjW¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjT¸ubjZ)�”}”(hŒunsigned int val”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjp¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjl¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjl¹ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjŒ¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjl¹ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš¹h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjl¹ubj9)�”}”(hŒval”h]”hŒval”…”�”}”(hj¨¹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjl¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjT¸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Œ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´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‚th³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©)�”}”(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Œ>``struct snd_soc_component *component`` Component to write 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³Œ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 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åhj ºubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j(ºh´M™hj ºubjÄ)�”}”(hŒ'``unsigned int reg`` Register to write ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjLºh]”hŒunsigned int reg”…”�”}”(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´MšhjFºubjæ)�”}”(hhh]”j{)�”}”(hŒRegister to write”h]”hŒRegister to write”…”�”}”(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šhj º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´M›hjº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´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 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´Mœhj¸º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´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³Œ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žhj‚th²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íhj‚th²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Œ ”…”�”}”(hjM»h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:»h²hh³jL»h´M¬ubj3)�”}”(hŒsnd_soc_component_test_bits”h]”j9)�”}”(hŒsnd_soc_component_test_bits”h]”hŒsnd_soc_component_test_bits”…”�”}”(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Œ^(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”…”�”}”(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_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˜ja»sbŒc.snd_soc_component_test_bits”†”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Œ component”h]”hŒ component”…”�”}”(hjÔ»h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjw»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjs»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”ˆjQjRuh1jYhjs»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Œ ”…”�”}”(hjL¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:¼ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjZ¼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)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjv¼h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjs»ubjZ)�”}”(hŒunsigned int 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Œ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”ˆ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Œ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&]”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‚th³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Ð)�”}”(hj2½h]”hŒ#struct snd_soc_component *component”…”�”}”(hj4½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj0½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”…”�”}”(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 int reg`` Register to test ”h]”(jÊ)�”}”(hŒ``unsigned int reg``”h]”jÐ)�”}”(hjk½h]”hŒunsigned int reg”…”�”}”(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ŒRegister to test”h]”hŒRegister to test”…”�”}”(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Œ=``unsigned int mask`` Mask that specifies which bits to test ”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 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åhjž½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”…”�”}”(hjA¾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.”…”�”}”(hjU¾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žhj‚th²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íhj‚th²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”…”�”}”(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_action”h]”j9)�”}”(hŒsnd_soc_runtime_action”h]”hŒsnd_soc_runtime_action”…”�”}”(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Œ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”…”�”}”(hj3¿h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj/¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj/¿ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjO¿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”…”�”}”(hjh¿h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjd¿ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv¿h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjd¿ubj9)�”}”(hŒaction”h]”hŒaction”…”�”}”(hj„¿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´M]ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj|¾h²hh³j’¾h´M]ubah}”(h]”jw¾ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j’¾h´M]hjy¾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&]”uh1juhjy¾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‚th³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´MahjÊ¿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”…”�”}”(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æ¿ubjÄ)�”}”(hŒ7``int action`` Activate stream if 1. Deactivate if -1. ”h]”(jÊ)�”}”(hŒ``int action``”h]”jÐ)�”}”(hjaÀh]”hŒ int action”…”�”}”(hjcÀ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´Mahj[Àubjæ)�”}”(hhh]”j{)�”}”(hŒ'Activate stream if 1. Deactivate if -1.”h]”hŒ'Activate stream if 1. Deactivate if -1.”…”�”}”(hjzÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jvÀh´MahjwÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj[Àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jvÀh´Mahjæ¿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´MchjÊ¿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´MbhjÊ¿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´MfhjÊ¿ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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)�”}”(hjI˜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´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_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´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Œ ”…”�”}”(hj9Á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”…”�”}”(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_soc_runtime_ignore_pmdown_time”†”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Œ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 jhjihjèÀh²hh³jýÀh´Mubah}”(h]”jãÀah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jýÀh´MhjåÀ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´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‚th³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´M€hjêÁ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´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³Œ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.”…”�”}”(hjAÂ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žhj‚th²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íhj‚th²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”…”�”}”(hjpÂh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjlÂ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!hjlÂh²hh³j~Âh´Mƒubj3)�”}”(hŒsnd_soc_runtime_calc_hw”h]”j9)�”}”(hŒsnd_soc_runtime_calc_hw”h]”hŒsnd_soc_runtime_calc_hw”…”�”}”(hj‘Âh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Âubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjlÂh²hh³j~Â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˜j“Â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”ˆ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_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Œ*”…”�”}”(hjiÃh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÃubj9)�”}”(hŒhw”h]”hŒhw”…”�”}”(hjvÃ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¥Âubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjlÂh²hh³j~Âh´Mƒubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjhÂh²hh³j~Âh´Mƒubah}”(h]”jcÂah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j~Âh´MƒhjeÂ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&]”uh1juhjeÂ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‚th³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Ð)�”}”(hjOÄh]”hŒstruct snd_pcm_hardware *hw”…”�”}”(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:103: ./sound/soc/soc-pcm.c”h´M…hjIÄubjæ)�”}”(hhh]”j{)�”}”(hŒ PCM hardware parameters (output)”h]”hŒ PCM hardware parameters (output)”…”�”}”(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 Ä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 Ä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žhj‚th²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íhj‚th²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”…”�”}”(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_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(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¥)�”}”j˜j+ÅsbŒc.snd_soc_info_enum_double”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjžÅh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjAÅ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_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”…”�”}”(hj8Æ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´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‚th³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©)�”}”(hjZÆh]”hŒ Parameters”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´K"hjTÆubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjyÆh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´KhjsÆubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(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Æ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 hjpÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjTÆ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"hjTÆ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!hjTÆ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$hjTÆubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjAÇ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Œ ”…”�”}”(hjPÇh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj=Çh²hh³jOÇh´K2ubj3)�”}”(hŒsnd_soc_get_enum_double”h]”j9)�”}”(hŒsnd_soc_get_enum_double”h]”hŒsnd_soc_get_enum_double”…”�”}”(hjbÇh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Çubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj=Çh²hh³jOÇ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”…”�”}”(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_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˜jdÇsbŒc.snd_soc_get_enum_double”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hj×Çh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjzÇubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjvÇ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”…”�”}”(hjGÈ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³jOÇh´K2ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj9Çh²hh³jOÇh´K2ubah}”(h]”j4Çah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jOÇh´K2hj6Çh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$enumerated double mixer get callback”h]”hŒ$enumerated double mixer get callback”…”�”}”(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´K2hjnÈh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj6Çh²hh³jOÇh´K2ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j‰Èjšj‰Èj›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(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´K6hj�È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¾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´K6hj�È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´K5hj�Èubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjKÉ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´K7hj�Èubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjzÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjvÉ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!hjvÉ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”…”�”}”(hj›Éh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj—Éubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjvÉ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˜j�É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Œ ”…”�”}”(hj6Ê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”…”�”}”(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_soc_put_enum_double”†”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&]”jQjRuh1jShjvÉh²hh³jˆÉh´KQubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjrÉh²hh³jˆÉh´KQubah}”(h]”jmÉah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jˆÉh´KQhjoÉ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&]”uh1juhjoÉh²hh³jˆÉh´KQubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÂÊjšjÂÊj›‰jœ‰j�‰uh1hþh²hhj‚th³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³j9Ëh´KShj:Ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9Ëh´KShjâÊ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³Œ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.”…”�”}”(hjuË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.”…”�”}”(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´KVhjÆÊubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hjIÌ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”…”�”}”(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_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_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Œ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´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²hhj‚th³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³j9Íh´Mhj:Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j9Íh´MhjÍ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´MhjWÍ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´MhjsÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjWÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jrÍ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Œ~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žhj‚th²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íhj‚th²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Œ ”…”�”}”(hj6Îh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj%Îubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(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_soc_info_volsw_sx”†”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”…”�”}”(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¢]”jcÎŒ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Œ*”…”�”}”(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´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™j4Ïjšj4Ïj›‰jœ‰j�‰uh1hþh²hhj‚th³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 register value representing the minimum volume, max is the number of volume 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´M1hj8Ï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.hjWÏubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(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.hjTÏ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/hjTÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj8Ï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´M1hj8Ï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 register value representing the minimum volume, max is the number of volume 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 register value representing the minimum volume, max is the number of volume 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´M0hj8Ï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´M6hj8Ïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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Œ ”…”�”}”(hj4Ðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj!Ðh²hh³j3Ðh´MDubj3)�”}”(hŒsnd_soc_get_volsw”h]”j9)�”}”(hŒsnd_soc_get_volsw”h]”hŒsnd_soc_get_volsw”…”�”}”(hjFÐh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBÐubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj!Ðh²hh³j3Ð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”…”�”}”(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_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˜jHÐsbŒ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Œkcontrol”h]”hŒkcontrol”…”�”}”(hj»Ðh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZÐ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_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”ˆjQjRuh1jYhjZÐubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj!Ðh²hh³j3Ðh´MDubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÐh²hh³j3Ðh´MDubah}”(h]”jÐah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j3Ðh´MDhjÐh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$single mixer get callback with range”h]”hŒ$single mixer get callback with range”…”�”}”(hjUÑ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´MDhjRÑh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÐh²hh³j3Ðh´MDubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jmÑjšjmÑj›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(hjwÑh]”hŒ Parameters”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´MHhjqÑ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´MEhj�Ñ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åhj�Ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j«Ñh´MEhj�Ñ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´MFhj�Ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjqÑ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´MHhjqÑ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´MGhjqÑ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´MJhjqÑubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´MYubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmÒh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjZÒh²hh³jlÒh´MYubj3)�”}”(hŒsnd_soc_put_volsw”h]”j9)�”}”(hŒsnd_soc_put_volsw”h]”hŒsnd_soc_put_volsw”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj{Òubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjZÒh²hh³jlÒ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”…”�”}”(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”†”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_volsw”†”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Œucontrol”h]”hŒucontrol”…”�”}”(hjdÓ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³jlÒh´MYubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjVÒh²hh³jlÒh´MYubah}”(h]”jQÒah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jlÒh´MYhjSÒh²hubjv)�”}”(hhh]”j{)�”}”(hŒ$single mixer put callback with range”h]”hŒ$single mixer put 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´MYhj‹Óh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjSÒh²hh³jlÒh´MYubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¦Ójšj¦Ój›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(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: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.”…”�”}”(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´M\hjªÓubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjhÔ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žhj‚th²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íhj‚th²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”…”�”}”(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´Mnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Ôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj“Ôh²hh³j¥Ô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&]”jQjRuh1j2hj“Ôh²hh³j¥Ô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”…”�”}”(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_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjdÕh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jfÕŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÕŒc.snd_soc_get_volsw_sx”†”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Œucontrol”h]”hŒucontrol”…”�”}”(hj�Õh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBÕubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÌÔubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj“Ôh²hh³j¥Ôh´Mnubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj�Ôh²hh³j¥Ôh´Mnubah}”(h]”jŠÔah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¥Ôh´MnhjŒÔ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&]”uh1juhjŒÔh²hh³j¥Ôh´Mnubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jßÕjšjßÕj›‰jœ‰j�‰uh1hþh²hhj‚th³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Ð)�”}”(hjAÖh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjCÖ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”…”�”}”(hjZÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jVÖh´MphjWÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj;Öubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jVÖ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¨hjzÖ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.”…”�”}”(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´MqhjãÕ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´MthjãÕubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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Œ ”…”�”}”(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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjf×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¢]”jG׌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Œ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Œ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²hhj‚th³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Ð)�”}”(hjAØh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjCØ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”…”�”}”(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„hj8ØubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjzØh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hj|Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjxØ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…hjtØ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åhjtØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j�Øh´M…hj8Ø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žhj‚th²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íhj‚th²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”…”�”}”(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_soc_card”h]”hŒ snd_soc_card”…”�”}”(hjdÙh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaÙubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jfÙŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j,ÙsbŒc.snd_soc_limit_volume”†”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>Ù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”…”�”}”(hj1Ú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.”…”�”}”(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¶hjXÚh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjþØh²hh³jÙh´M¶ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jsÚjšjsÚj›‰jœ‰j�‰uh1hþh²hhj‚th³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©)�”}”(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ºhjwÚ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Ð)�”}”(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³Œ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Œ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åhj–Úubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j±Úh´M¸hj“Ú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¹hj“Ú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ºhj“Úubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjwÚ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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M¼hjwÚ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³Œe/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:104: ./sound/soc/soc-ops.c”h´M»hjwÚubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(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´Mzubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Ûh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjŠÛh²hh³jœÛ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³jœÛ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_hj9Üubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9Üubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_info”h]”hŒsnd_ctl_elem_info”…”�”}”(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ÜŒc.snd_soc_info_xr_sx”†”asbuh1hhj9Üubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyÜh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9Üubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‡Üh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj9Üubj9)�”}”(hŒuinfo”h]”hŒuinfo”…”�”}”(hj”Üh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9Üubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÃÛubeh}”(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Œ#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&]”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‚th³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Ð)�”}”(hj8Ýh]”hŒstruct snd_ctl_elem_info *uinfo”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´M|hj2Ýubjæ)�”}”(hhh]”j{)�”}”(hŒcontrol element information”h]”hŒcontrol element information”…”�”}”(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: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.”…”�”}”(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žhj‚th²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íhj‚th²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Œ ”…”�”}”(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Œ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”…”�”}”(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Þ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_xr_sx”†”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Œucontrol”h]”hŒucontrol”…”�”}”(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Œ"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²hhj‚th³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Ð)�”}”(hj8ßh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´M–hj2ßubjæ)�”}”(hhh]”j{)�”}”(hŒ mreg control”h]”hŒ mreg control”…”�”}”(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/ßubjÄ)�”}”(hŒD``struct snd_ctl_elem_value *ucontrol`` control element information ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjqßh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(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Œ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åhjkß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žhj‚th²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íhj‚th²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_hj9àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJàh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9àubh)�”}”(hhh]”j9)�”}”(hŒ snd_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(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˜j#àsbŒc.snd_soc_put_xr_sx”†”asbuh1hhj9àubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{àh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj9àubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‰àh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj9àubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hj–àh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9àubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj5à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¢]”jwàŒ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”ˆjQjRuh1jYhj5à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”…”�”}”(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²hhj‚th³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©)�”}”(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_kcontrol *kcontrol`` mreg control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjqáh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(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Œ 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åhjkáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j†áh´MÃhjhá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Ä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{)�”}”(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ÅhjLá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ÌhjLáubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(hj9âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5â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Œ ”…”�”}”(hjHâh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5âh²hh³jGâh´M÷ubj3)�”}”(hŒsnd_soc_get_strobe”h]”j9)�”}”(hŒsnd_soc_get_strobe”h]”hŒsnd_soc_get_strobe”…”�”}”(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ŒD(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(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â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_strobe”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjÏâh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjrâubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjnâ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Œ*”…”�”}”(hj2ã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”ˆjQjRuh1jYhjnâubeh}”(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Œstrobe get callback”h]”hŒstrobe get callback”…”�”}”(hjiã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÷hjfã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²hhj‚th³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”…”�”}”(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Ð)�”}”(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Œ1Callback get the value of a strobe mixer control.”h]”hŒ1Callback get the value of a strobe mixer control.”…”�”}”(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úhj…ãubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(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´Mühj…ãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²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íhj‚th²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”…”�”}”(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:104: ./sound/soc/soc-ops.c”h´Mubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�äh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjnäh²hh³j€äh´Mubj3)�”}”(hŒsnd_soc_put_strobe”h]”j9)�”}”(hŒsnd_soc_put_strobe”h]”hŒsnd_soc_put_strobe”…”�”}”(hj“äh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�äubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjnä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_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”jAåŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jéäŒ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Œ*”…”�”}”(hjkåh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjåubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(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&]”jQjRuh1jShjnäh²hh³j€äh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjjäh²hh³j€äh´Mubah}”(h]”jeäah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j€äh´Mhjgäh²hubjv)�”}”(hhh]”j{)�”}”(hŒstrobe put callback”h]”hŒstrobe 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´MhjŸåh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjgäh²hh³j€äh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jºåjšjºåj›‰jœ‰j�‰uh1hþh²hhj‚th³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”…”�”}”(hj5æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1æh´Mhj2æubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1æh´MhjÚåubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¾åubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjWæh]”hŒ Description”…”�”}”(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: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.”…”�”}”(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´Mhj¾åubj{)�”}”(hŒReturns 1 for success.”h]”hŒReturns 1 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žhj‚th²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íhj‚th²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´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_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´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_new_compress”†”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Œrtd”h]”hŒrtd”…”�”}”(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´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 compress.”h]”hŒcreate a new compress.”…”�”}”(hjkç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´MÌhjhç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‚th³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©)�”}”(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:105: ./sound/soc/soc-compress.c”h´MÐhj‡ç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´MÎhj¦ç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´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³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´MÐ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³Œj/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:105: ./sound/soc/soc-compress.c”h´MÐhj‡çubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj‚th²hh³Nh´Nubeh}”(h]”Œ asoc-core-api”ah ]”h"]”Œ asoc core api”ah$]”h&]”uh1hµhjqth²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”…”�”}”(hjEèh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjAè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Œ ”…”�”}”(hjSèh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjAèh²hh³jRèh´M­ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hjdèh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaèubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jfèŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜Œsnd_soc_dapm_kcontrol_to_widget”sbŒ!c.snd_soc_dapm_kcontrol_to_widget”†”asbuh1hhjAèh²hh³jRèh´M­ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…èh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjAèh²hh³jRèh´M­ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj“èh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjAèh²hh³jRèh´M­ubj3)�”}”(hŒsnd_soc_dapm_kcontrol_to_widget”h]”j9)�”}”(hj‚èh]”hŒsnd_soc_dapm_kcontrol_to_widget”…”�”}”(hj¤èh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj èubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjAèh²hh³jRè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_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&]”jQjRuh1jShjAèh²hh³jRèh´M­ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj=èh²hh³jRèh´M­ubah}”(h]”j8èah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jRè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³jRèh´M­ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jXéjšjXéj›‰jœ‰j�‰uh1hþh²hhjèh³Nh´NubjŸ)�”}”(hŒ@**Parameters** ``struct snd_kcontrol *kcontrol`` The kcontrol”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³Œ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³Œ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³hjxéubah}”(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_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&]”uh1j8hj6ê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”…”�”}”(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_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êŒc.snd_soc_dapm_kcontrol_to_dapm”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(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Œ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”…”�”}”(hj0ë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©)�”}”(hjRëh]”hŒNote”…”�”}”(hjTëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjPë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.”…”�”}”(hjhë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”…”�”}”(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_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”†”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_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&]”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”j1ìŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÒëŒ$c.snd_soc_dapm_kcontrol_to_component”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjhì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 component associated to a kcontrol”h]”hŒ.Returns the component 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 **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”…”�”}”(hjSíh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjOí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Œ ”…”�”}”(hjbíh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjOíh²hh³jaí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”…”�”}”(hjtíh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjpíubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjOíh²hh³jaí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”…”�”}”(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˜jvísbŒ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Œí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_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”…”�”}”(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&]”jQjRuh1jShjOíh²hh³jaíh´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjKíh²hh³jaíh´Mubah}”(h]”jFíah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jaíh´MhjHíh²hubjv)�”}”(hhh]”j{)�”}”(hŒSets the DAPM bias level”h]”hŒSets the DAPM bias level”…”�”}”(hjvî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´Mhjsîh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjHíh²hh³jaíh´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jŽîjšjŽî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©)�”}”(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Œ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¾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{)�”}”(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.”…”�”}”(hjAï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’î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.”…”�”}”(hjPï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_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”…”�”}”(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´M3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽïh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj{ïh²hh³j�ïh´M3ubj3)�”}”(hŒsnd_soc_dapm_init_bias_level”h]”j9)�”}”(hŒsnd_soc_dapm_init_bias_level”h]”hŒsnd_soc_dapm_init_bias_level”…”�”}”(hj ïh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjœïubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj{ïh²hh³j�ïh´M3ubjT)�”}”(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_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”…”�”}”(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öïŒc.snd_soc_dapm_init_bias_level”†”asbuh1hhj*ðubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjðh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj*ðubj9)�”}”(hŒlevel”h]”hŒlevel”…”�”}”(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&]”jQjRuh1jShj{ïh²hh³j�ïh´M3ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjwïh²hh³j�ïh´M3ubah}”(h]”jrïah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j�ïh´M3hjtïh²hubjv)�”}”(hhh]”j{)�”}”(hŒInitialize DAPM bias level”h]”hŒInitialize 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´M3hjŸðh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjtïh²hh³j�ïh´M3ubeh}”(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´M7hj¾ð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´M4hjÝð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´M4hjùðubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÝðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jøðh´M4hjÚð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´M5hjñubjæ)�”}”(hhh]”j{)�”}”(hŒThe DAPM level to initialize to”h]”hŒThe DAPM level to initialize to”…”�”}”(hj5ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j1ñh´M5hj2ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j1ñh´M5hjÚðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¾ðubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjWñh]”hŒ Description”…”�”}”(hjYñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjUñ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´M7hj¾ð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.”…”�”}”(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´M6hj¾ð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().”…”�”}”(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_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´MFubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºñh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj§ñh²hh³j¹ñh´MFubj3)�”}”(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´MFubjT)�”}”(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Œ*”…”�”}”(hj4òh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjäñubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjAò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”…”�”}”(hjZòh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjVòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgòh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjVòubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_bias_level”h]”hŒsnd_soc_bias_level”…”�”}”(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_soc_dapm_set_bias_level”†”asbuh1hhjVòubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–òh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjVòubj9)�”}”(hŒlevel”h]”hŒlevel”…”�”}”(hj¤òh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjVòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjàñubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj§ñh²hh³j¹ñh´MFubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj£ñh²hh³j¹ñh´MFubah}”(h]”jžñah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¹ñh´MFhj ñ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´MFhjËòh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj ñh²hh³j¹ñh´MFubeh}”(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´MJhjêò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´MGhj óubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(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´MGhjóubjÄ)�”}”(hŒ5``enum snd_soc_bias_level level`` level to configure ”h]”(jÊ)�”}”(hŒ!``enum snd_soc_bias_level level``”h]”jÐ)�”}”(hjHóh]”hŒenum snd_soc_bias_level level”…”�”}”(hjJóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjFó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´MHhjBóubjæ)�”}”(hhh]”j{)�”}”(hŒlevel to configure”h]”hŒlevel to configure”…”�”}”(hjaóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j]óh´MHhj^óubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjBóubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j]óh´MHhjó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´MJhjêòubj{)�”}”(hŒ;Configure the bias (power) levels for the SoC audio device.”h]”hŒ;Configure the bias (power) levels for the SoC audio device.”…”�”}”(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´MIhjêò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´MKhjêò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´Mlubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåóh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓóh²hh³jäóh´Mlubh)�”}”(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´Mlubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÓóh²hh³jäóh´Mlubj3)�”}”(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´MlubjT)�”}”(hŒ#(struct snd_soc_dapm_context *dapm)”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”…”�”}”(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ôŒc.snd_soc_dapm_get_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<ôubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÓóh²hh³jäóh´Mlubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÏóh²hh³jäóh´Mlubah}”(h]”jÊóah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jäóh´MlhjÌó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´MlhjÂôh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÌóh²hh³jäóh´Mlubeh}”(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´Mphjáô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´Mmhjõ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´Mmhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jõh´Mmhjýôubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjáô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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´Mohjáôubj{)�”}”(hŒ2The current bias level of the passed DAPM context.”h]”hŒ2The current bias level of the passed DAPM context.”…”�”}”(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´Mohjáô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&]”uh1jhj‚õh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M7ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•õh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj‚õh²hh³j”õh´M7ubj3)�”}”(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&]”uh1j8hj£õubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj‚õh²hh³j”õh´M7ubjT)�”}”(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”…”�”}”(hj5öh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1öubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCöh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj1öubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjQöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj1öubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj»õubjZ)�”}”(hŒ&struct snd_soc_dapm_widget_list **list”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_soc_dapm_widget_list”h]”hŒsnd_soc_dapm_widget_list”…”�”}”(hjˆöh²hh³Nh´Nubah}”(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”†”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öubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÁöh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjföubj9)�”}”(hŒlist”h]”hŒlist”…”�”}”(hjÎöh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjfö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)�”}”(hjI˜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¹)�”}”(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Œ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¹)�”}”(hjÓóh]”hŒ(”…”�”}”(hj7÷h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjãöubj`)�”}”(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_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(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ýõŒ(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ãöubj¹)�”}”(hjNô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`)�”}”(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&]”jQjRuh1jShj‚õh²hh³j”õh´M7ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj~õh²hh³j”õh´M7ubah}”(h]”jyõah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j”õh´M7hj{õ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´M7hj øh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj{õh²hh³j”õh´M7ubeh}”(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”…”�”•#}”(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Œ)``struct snd_soc_dai *dai`` the soc DAI. ”h]”(jÊ)�”}”(hŒ``struct snd_soc_dai *dai``”h]”jÐ)�”}”(hjNøh]”hŒstruct snd_soc_dai *dai”…”�”}”(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´M8hjHøubjæ)�”}”(hhh]”j{)�”}”(hŒ the soc DAI.”h]”hŒ the soc DAI.”…”�”}”(hjgøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jcøh´M8hjdøubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjHøubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jcøh´M8hjEø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³Œ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Œstream direction.”h]”hŒstream direction.”…”�”}”(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´M9hjEø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´M:hjºø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´M:hjÖøubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjºøubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÕøh´M:hjEø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<hjEøubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj)ø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: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.”…”�”}”(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´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.”…”�”}”(hjZù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)øubj{)�”}”(hŒ4Returns the number of valid paths or negative error.”h]”hŒ4Returns the number of valid paths or negative error.”…”�”}”(hjiù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úŒ%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´M3 hjsú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”…”�”}”(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_soc_dapm_context *dapm)”h]”jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”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_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(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_soc_dapm_sync_unlocked”†”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Œdapm”h]”hŒdapm”…”�”}”(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Œ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”…”�”}”(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Œ**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³Œ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.”…”�”}”(hjjü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.”…”�”}”(hjyü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Œ ”…”�”}”(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Œdapm”h]”hŒdapm”…”�”}”(hjMý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”…”�”}”(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´MÕ hjtý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. 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Œ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_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”…”�”}”(hjGþh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjCþ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Œ ”…”�”}”(hjVþh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjCþh²hh³jUþh´MÜ ubj3)�”}”(hŒsnd_soc_dapm_add_routes”h]”j9)�”}”(hŒsnd_soc_dapm_add_routes”h]”hŒsnd_soc_dapm_add_routes”…”�”}”(hjhþh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjdþubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjCþh²hh³jUþ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”…”�”}”(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˜jjþsbŒ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Œ*”…”�”}”(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_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”j1ÿŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¾þŒc.snd_soc_dapm_add_routes”†”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Œroute”h]”hŒroute”…”�”}”(hjhÿh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjòþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj|þubjZ)�”}”(hŒint num”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”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&]”jQjRuh1jShjCþh²hh³jUþh´MÜ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj?þh²hh³jUþh´MÜ ubah}”(h]”j:þah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jUþ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³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Ÿ)�”}”(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Ð)�”}”(hjh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(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Œ DAPM context”h]”hŒ DAPM context”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´MÝ hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´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Ð)�”}”(hjAh]”hŒ&const struct snd_soc_dapm_route *route”…”�”}”(hjCh²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”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jVh´MÞ hjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jVh´MÞ hjÿÿubjÄ)�”}”(hŒ``int num`` number of routes ”h]”(jÊ)�”}”(hŒ ``int num``”h]”jÐ)�”}”(hjzh]”hŒint num”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjxubah}”(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ß hjtubjæ)�”}”(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åhjtubeh}”(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Œ 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&]”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Œ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh²hh³jh´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&]”jQjRuh1j2hjh²hh³jh´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”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjBubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjBubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjaubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jfŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j,sbŒc.snd_soc_dapm_del_routes”†”asbuh1hhjBubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjBubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjBubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj>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”…”�”}”(hjñh²hh³Nh´Nubah}”(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_del_routes”†”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Œroute”h]”hŒroute”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj´ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj>ubjZ)�”}”(hŒint num”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj?ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²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&]”jQjRuh1jShjh²hh³jh´Mû ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjh²hh³jh´Mû ubah}”(h]”jüah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jh´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³jh´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 ``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ÿ 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ý hjýubjæ)�”}”(hhh]”j{)�”}”(hŒ audio routes”h]”hŒ audio routes”…”�”}”(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Œ``int num`` number of routes ”h]”(jÊ)�”}”(hŒ ``int num``”h]”jÐ)�”}”(hj<h]”hŒ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´Mþ hj6ubjæ)�”}”(hhh]”j{)�”}”(hŒnumber of routes”h]”hŒnumber of routes”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jQh´Mþ hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jQh´Mþ hjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¥ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjwh]”hŒ Description”…”�”}”(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´M hj¥ubj{)�”}”(hŒ%Removes routes from the DAPM context.”h]”hŒ%Removes routes from the 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´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_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Œ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_card”…”�”}”(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_new_widgets”†”asbuh1hhjõubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjõubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjRh²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”…”�”}”(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 hjyh²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_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©)�”}”(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Œ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¾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Œ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.”…”�”}”(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´M hj˜ubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(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´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_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”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjHh²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!hjHh²hh³jZh´M^ ubj3)�”}”(hŒsnd_soc_dapm_get_volsw”h]”j9)�”}”(hŒsnd_soc_dapm_get_volsw”h]”hŒsnd_soc_dapm_get_volsw”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjiubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjHh²hh³jZh´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˜josbŒ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Œ*”…”�”}”(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Œ ”…”�”}”(hjh²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”…”�”}”(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_get_volsw”†”asbuh1hhj÷ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj÷ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj÷ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj�ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjHh²hh³jZh´M^ ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjDh²hh³jZh´M^ ubah}”(h]”j?ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jZh´M^ hjAh²hubjv)�”}”(hhh]”j{)�”}”(hŒdapm mixer get callback”h]”hŒdapm 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^ hjyh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjAh²hh³jZh´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 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´Mb 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”…”�”}”(hjh²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©)�”}”(hj1h]”hŒ Description”…”�”}”(hj3h²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´Mb hj˜ubj{)�”}”(hŒ2Callback to get the value of a dapm mixer control.”h]”hŒ2Callback to get the value of a dapm mixer control.”…”�”}”(hjGh²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´Ma hj˜ubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(hjVh²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´Mc 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_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”…”�”}”(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_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&]”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_put_volsw”†”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Œ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”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0ubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jTŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jüŒc.snd_soc_dapm_put_volsw”†”asbuh1hhj0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj0ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj0ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0ubeh}”(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]”jxah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j“h´M˜ hjzh²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&]”uh1juhjzh²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 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”…”�”}”(hj1 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”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jD h´Mš hjE ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj) 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©)�”}”(hjj h]”hŒ Description”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjh 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.”…”�”}”(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_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Œ ”…”�”}”(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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjT 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”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hji ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hji 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¢]”j5 Œc.snd_soc_dapm_get_enum_double”†”asbuh1hhji ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hji ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hji ubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hji 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”…”�”}”(hj1 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”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jD h´Mò hjE ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj) ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jD 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Ð)�”}”(hjh h]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjf 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ó hjb 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åhjb 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Œ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”…”�”}”(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_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(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_soc_dapm_put_enum_double”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0 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¢]”jn Œc.snd_soc_dapm_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Œ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´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™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 enumerated double mixer control. Returns 0 for success.”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:109: ./sound/soc/soc-dapm.c”h´MhjC ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”• h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjh h]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjf 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´Mhjb 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åhjb 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³Œ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Œ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¾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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´MhjC ubj{)�”}”(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´MhjC ubj{)�”}”(hŒReturns 0 for success.”h]”hŒReturns 0 for success.”…”�”}”(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´MhjC 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_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”…”�”}”(hj0h²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´MRubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj,h²hh³j>h´MRubj3)�”}”(hŒsnd_soc_dapm_info_pin_switch”h]”j9)�”}”(hŒsnd_soc_dapm_info_pin_switch”h]”hŒsnd_soc_dapm_info_pin_switch”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjMubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj,h²hh³j>h´MRubjT)�”}”(hŒ@(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)”h]”(jZ)�”}”(hŒstruct snd_kcontrol *kcontrol”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Œ 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˜jSsbŒc.snd_soc_dapm_info_pin_switch”†”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Œkcontrol”h]”hŒkcontrol”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjeubjZ)�”}”(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Œ ”…”�”}”(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Œuinfo”h]”hŒuinfo”…”�”}”(hj6h²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³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ŒInfo for a pin switch”h]”hŒInfo 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´MRhj]h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj%h²hh³j>h´MRubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jxjšjxj›‰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©)�”}”(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´MVhj|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´MThj›ubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(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Œ@``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´MUhjÔ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´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©)�”}”(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´MWhj|ubj{)�”}”(hŒ;Callback to provide information about a pin switch control.”h]”hŒ;Callback to provide information about a pin switch 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´MVhj|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_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”…”�”}”(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´Mqubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjVh²hh³jhh´Mqubj3)�”}”(hŒsnd_soc_dapm_get_pin_switch”h]”j9)�”}”(hŒsnd_soc_dapm_get_pin_switch”h]”hŒsnd_soc_dapm_get_pin_switch”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjwubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjVh²hh³jhh´MqubjT)�”}”(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_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”…”�”}”(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_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”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjSh²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&]”jQjRuh1jShjVh²hh³jhh´Mqubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjRh²hh³jhh´Mqubah}”(h]”jMah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jhh´MqhjOh²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´Mqhj‡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjOh²hh³jhh´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_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´Muhj¦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´MshjÅubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(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Œ.``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´Mthjþubjæ)�”}”(hhh]”j{)�”}”(hŒValue”h]”hŒValue”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Mthjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´MthjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¦ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj?h]”hŒ Description”…”�”}”(hjAh²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´Mvhj¦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.”…”�”}”(hjUh²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´Muhj¦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”…”�”}”(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_component_pin_switch”h]”j9)�”}”(hŒ%snd_soc_dapm_get_component_pin_switch”h]”hŒ%snd_soc_dapm_get_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”…”�”}”(hjßh²hh³Nh´Nubah}”(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”…”�”}”(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”…”�”}”(hj3h²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”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jSŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jûŒ'c.snd_soc_dapm_get_component_pin_switch”†”asbuh1hhj/ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²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]”jwah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j’h´M…hjyh²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´M…hj±h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjyh²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”…”�”}”(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”…”�”}”(hjh²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”…”�”}”(hj0h²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”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jCh´MˆhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jCh´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³Œ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.”…”�”}”(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´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_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&]”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_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&]”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&]”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_pin_switch”†”asbuh1hhjçubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjçubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjçubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjDh²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_hjYubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYubh)�”}”(hhh]”j9)�”}”(hŒsnd_ctl_elem_value”h]”hŒsnd_ctl_elem_value”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j}Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j%Œc.snd_soc_dapm_put_pin_switch”†”asbuh1hhjYubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjYubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjYubj9)�”}”(hŒucontrol”h]”hŒucontrol”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjYubeh}”(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 card level.”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hjh]”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”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j4h´Mªhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j4h´MªhjubjÄ)�”}”(hŒ.``struct snd_ctl_elem_value *ucontrol`` Value ”h]”(jÊ)�”}”(hŒ'``struct snd_ctl_elem_value *ucontrol``”h]”jÐ)�”}”(hjXh]”hŒ#struct snd_ctl_elem_value *ucontrol”…”�”}”(hjZh²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:109: ./sound/soc/soc-dapm.c”h´M«hjRubjæ)�”}”(hhh]”j{)�”}”(hŒValue”h]”hŒValue”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jmh´M«hjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jmh´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Œ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”…”�”}”(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_kcontrol”h]”hŒ snd_kcontrol”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j5Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jûsbŒ'c.snd_soc_dapm_put_component_pin_switch”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒkcontrol”h]”hŒkcontrol”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(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¢]”jOŒ'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Œ*”…”�”}”(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Œ Set information for a pin switch”h]”hŒ Set information for a pin switch”…”�”}”(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´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²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´MÀhj$ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_kcontrol *kcontrol`` mixer control ”h]”(jÊ)�”}”(hŒ!``struct snd_kcontrol *kcontrol``”h]”jÐ)�”}”(hjIh]”hŒstruct snd_kcontrol *kcontrol”…”�”}”(hjKh²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:109: ./sound/soc/soc-dapm.c”h´M¾hjCubjæ)�”}”(hhh]”j{)�”}”(hŒ mixer control”h]”hŒ mixer control”…”�”}”(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Œ.``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”…”�”}”(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: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”…”�”}”(hjh²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Œ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþh²hh³jh´M`ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_widget”h]”hŒsnd_soc_dapm_widget”…”�”}”(hj!h²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˜Œsnd_soc_dapm_new_control”sbŒc.snd_soc_dapm_new_control”†”asbuh1hhjþh²hh³jh´M`ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþh²hh³jh´M`ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjþh²hh³jh´M`ubj3)�”}”(hŒsnd_soc_dapm_new_control”h]”j9)�”}”(hj?h]”hŒsnd_soc_dapm_new_control”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjþh²hh³jh´M`ubjT)�”}”(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”…”�”}”(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_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=Œc.snd_soc_dapm_new_control”†”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Œdapm”h]”hŒdapm”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtubjZ)�”}”(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”…”�”}”(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_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Œ ”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjèubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjèubj9)�”}”(hŒwidget”h]”hŒwidget”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjèubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjtubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjþh²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Œ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´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²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©)�”}”(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´Mdhj¤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´MahjÃubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(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Œ=``const struct snd_soc_dapm_widget *widget`` widget template ”h]”(jÊ)�”}”(hŒ,``const struct snd_soc_dapm_widget *widget``”h]”jÐ)�”}”(hjh]”hŒ(const struct snd_soc_dapm_widget *widget”…”�”}”(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´Mbhjüubjæ)�”}”(hhh]”j{)�”}”(hŒwidget template”h]”hŒwidget template”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jh´Mbhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jh´MbhjÀ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´Mdhj¤ubj{)�”}”(hŒ/Creates new DAPM control based upon a template.”h]”hŒ/Creates new DAPM control based upon a template.”…”�”}”(hjSh²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´Mchj¤ubj{)�”}”(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”…”�”}”(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´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_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”…”�”}”(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´Mwubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�h²hh³jŸh´Mwubj3)�”}”(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&]”jQjRuh1j2hj�h²hh³jŸh´MwubjT)�”}”(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Œ*”…”�”}”(hjh²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”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²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Œ ”…”�”}”(hjhh²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”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j{Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”jŒ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Œwidget”h]”hŒwidget”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj<ubeh}”(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”…”�”}”(hjh²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´Mwubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‰h²hh³jŸh´Mwubah}”(h]”j„ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jŸh´Mwhj†h²hubjv)�”}”(hhh]”j{)�”}”(hŒcreate new dapm controls”h]”hŒcreate new dapm 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:109: ./sound/soc/soc-dapm.c”h´Mwhj*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj†h²hh³jŸh´Mwubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jEjšjEj›‰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©)�”}”(hjOh]”hŒ Parameters”…”�”}”(hjQh²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:109: ./sound/soc/soc-dapm.c”h´M{hjIubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjnh]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjlubah}”(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´Mxhjhubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jƒh´Mxhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jƒh´MxhjeubjÄ)�”}”(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Ï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´Myhj¡ubjæ)�”}”(hhh]”j{)�”}”(hŒ widget array”h]”hŒ widget array”…”�”}”(hjÀ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´MyhjeubjÄ)�”}”(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´MzhjÚ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´Mzhjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jõh´Mzhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjIubj{)�”}”(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´M|hjIubj{)�”}”(hŒ3Creates new DAPM controls based upon the templates.”h]”hŒ3Creates new DAPM controls based upon the templates.”…”�”}”(hj1h²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{hjIubj{)�”}”(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}hjIubeh}”(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”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjkh²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!hjkh²hh³j}h´M%ubj3)�”}”(hŒsnd_soc_dapm_new_dai_widgets”h]”j9)�”}”(hŒsnd_soc_dapm_new_dai_widgets”h]”hŒsnd_soc_dapm_new_dai_widgets”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjŒubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjkh²hh³j}h´M%ubjT)�”}”(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˜j’sbŒ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”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¨ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¤ubjZ)�”}”(hŒstruct snd_soc_dai *dai”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_dai”h]”hŒ snd_soc_dai”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj9ubah}”(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”†”asbuh1hhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjubj9)�”}”(hŒdai”h]”hŒdai”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjkh²hh³j}h´M%ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjgh²hh³j}h´M%ubah}”(h]”jbah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j}h´M%hjdh²hubjv)�”}”(hhh]”j{)�”}”(hŒCreate new DAPM widgets”h]”hŒCreate new 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&]”uh1juhjdh²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 ``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´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Œ'``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´M'hj ubjæ)�”}”(hhh]”j{)�”}”(hŒ parent DAI”h]”hŒ parent DAI”…”�”}”(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×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³Œ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 on success, error code otherwise.”h]”hŒ+Returns 0 on success, error code otherwise.”…”�”}”(hjj 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_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”…”�”}”(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´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_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&]”jQjRuh1j2hj• h²hh³j§ h´MDubjT)�”}”(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”…”�”}”(hjH!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjD!ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV!h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjD!ubj9)�”}”(hŒstream”h]”hŒstream”…”�”}”(hjd!h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjD!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÎ ubjZ)�”}”(hŒ int event”h]”(j)�”}”(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!ubj9)�”}”(hŒevent”h]”hŒevent”…”�”}”(hj™!h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjy!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Œ$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´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Ÿ)�”}”(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´MHhjß!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´MEhjþ!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´MEhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþ!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j"h´MEhjû!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´MFhj7"ubjæ)�”}”(hhh]”j{)�”}”(hŒ stream name”h]”hŒ stream name”…”�”}”(hjV"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jR"h´MFhjS"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj7"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jR"h´MFhjû!ubjÄ)�”}”(hŒ``int event`` stream event ”h]”(jÊ)�”}”(hŒ ``int event``”h]”jÐ)�”}”(hjv"h]”hŒ int event”…”�”}”(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´MGhjp"ubjæ)�”}”(hhh]”j{)�”}”(hŒ stream event”h]”hŒ stream event”…”�”}”(hj�"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j‹"h´MGhjŒ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjp"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‹"h´MGhjû!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´MIhjß!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´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´MKhjß!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´Mpubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj#h²hh³j#h´Mpubj3)�”}”(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´MpubjT)�”}”(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”…”�”}”(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_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”jb#Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j(#sbŒ"c.snd_soc_dapm_enable_pin_unlocked”†”asbu•h1hhj>#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³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Œ 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´Mphj$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²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©)�”}”(hjD$h]”hŒ Parameters”…”�”}”(hjF$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjB$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´Mthj>$ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjc$h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hje$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhja$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´Mqhj]$ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj|$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jx$h´Mqhjy$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx$h´MqhjZ$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´Mrhj–$ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(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´MrhjZ$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´Mthj>$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´Mshj>$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´Mvhj>$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´Mxhj>$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´Myhj>$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”…”�”}”(hjR%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN%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Œ ”…”�”}”(hja%h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjN%h²hh³j`%h´M„ubj3)�”}”(hŒsnd_soc_dapm_enable_pin”h]”j9)�”}”(hŒsnd_soc_dapm_enable_pin”h]”hŒsnd_soc_dapm_enable_pin”…”�”}”(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Œ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˜ju%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Œ*”…”�”}”(hj8&h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjý%ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(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&]”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Œ enable pin.”h]”hŒ enable pin.”…”�”}”(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&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Ÿ)�”}”(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©)�”}”(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©)�”}”(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Œ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´M‡hj‹&ubj{)�”}”(hŒ**NOTE**”h]”j©)�”}”(hjK'h]”hŒNOTE”…”�”}”(hjM'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjI'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.”…”�”}”(hja'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”…”�”}”(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_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&]”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_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Œ ”…”�”}”(hjL(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj;(ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjZ(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;(ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjv(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Ÿ)�”}”(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©)�”}”(hjb)h]”hŒ Description”…”�”}”(hjd)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.”…”�”}”(hjx)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_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”…”�”}”(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_dapm_force_enable_pin”†”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Œdapm”h]”hŒdapm”…”�”}”(hjs*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Œ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Ïhj9+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Ìhj5+ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjT+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jP+h´MÌhjQ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj5+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jP+h´MÌhj2+ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjt+h]”hŒconst char *pin”…”�”}”(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:109: ./sound/soc/soc-dapm.c”h´MÍhjn+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åhjn+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰+h´MÍhj2+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&]”uh1j8hj8,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”…”�”}”(hjX,h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjT,ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hje,h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjT,ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(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_dapm_disable_pin_unlocked”†”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Œdapm”h]”hŒdapm”…”�”}”(hj±,h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjT,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjP,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”ˆjQjRuh1jYhjP,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.”…”�”}”(hj8-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æhj5-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Ÿ)�”}”(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©)�”}”(hjZ-h]”hŒ Parameters”…”�”}”(hj\-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjX-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êhjT-ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjy-h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj{-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw-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çhjs-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åhjs-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽ-h´Mçhjp-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èhjp-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjT-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êhjT-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éhjT-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ëhjT-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íhjT-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.”…”�”}”(hj9.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îhjT-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”…”�”}”(hjh.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjd.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Œ ”…”�”}”(hjw.h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjd.h²hh³jv.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&]”uh1j8hj….ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjd.h²hh³jv.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_disable_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”…”�”}”(hj2/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Œ*”…”�”}”(hjN/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&]”jQjRuh1jShjd.h²hh³jv.h´Mùubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj`.h²hh³jv.h´Mùubah}”(h]”j[.ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jv.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³jv.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** 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§/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”…”�”}”(hj0h²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”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j0h´Mûhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjù/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j0h´Mûhj½/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj¡/ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj:0h]”hŒ Description”…”�”}”(hj<0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj80ubah}”(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.”…”�”}”(hjP0h²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©)�”}”(hja0h]”hŒNOTE”…”�”}”(hjc0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj_0ubah}”(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.”…”�”}”(hjw0h²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_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¦0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¢0h²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µ0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¢0h²hh³j´0h´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Ç0h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÃ0ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj¢0h²hh³j´0h´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ã0h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjß0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð0h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjß0ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjþ0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j1Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÉ0sbŒc.snd_soc_dapm_get_pin_status”†”asbuh1hhjß0ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjß0ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj/1h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjß0ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj<1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjß0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÛ0ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjU1h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjQ1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ1ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjp1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjQ1ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~1h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjQ1ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŒ1h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjQ1ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hj™1h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQ1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÛ0ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj¢0h²hh³j´0h´Mubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjž0h²hh³j´0h´Mubah}”(h]”j™0ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j´0h´Mhj›0h²hubjv)�”}”(hhh]”j{)�”}”(hŒget audio pin status”h]”hŒget audio pin status”…”�”}”(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´MhjÀ1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj›0h²hh³j´0h´Mubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÛ1jšjÛ1j›‰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å1h]”hŒ Parameters”…”�”}”(hjç1h²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´Mhjß1ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hj2h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj2ubah}”(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þ1ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j2h´Mhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjþ1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j2h´Mhjû1ubjÄ)�”}”(hŒ?``const char *pin`` audio signal pin endpoint (or start point) ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hj=2h]”hŒconst char *pin”…”�”}”(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´Mhj72ubjæ)�”}”(hhh]”j{)�”}”(hŒ*audio signal pin endpoint (or start point)”h]”hŒ*audio signal pin endpoint (or start point)”…”�”}”(hjV2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jR2h´MhjS2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj72ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jR2h´Mhjû1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjß1ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjx2h]”hŒ Description”…”�”}”(hjz2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjv2ubah}”(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ß1ubj{)�”}”(hŒ1Get audio pin status - connected or disconnected.”h]”hŒ1Get audio pin status - connected or disconnected.”…”�”}”(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ß1ubj{)�”}”(hŒ$Returns 1 for connected otherwise 0.”h]”hŒ$Returns 1 for connected otherwise 0.”…”�”}”(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ß1ubeh}”(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Ì2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÈ2h²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Û2h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÈ2h²hh³jÚ2h´M'ubj3)�”}”(hŒsnd_soc_dapm_ignore_suspend”h]”j9)�”}”(hŒsnd_soc_dapm_ignore_suspend”h]”hŒsnd_soc_dapm_ignore_suspend”…”�”}”(hjí2h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjé2ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjÈ2h²hh³jÚ2h´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 3h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3ubh)�”}”(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ï2sbŒc.snd_soc_dapm_ignore_suspend”†”asbuh1hhj3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjU3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj3ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hjb3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj3ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hj{3h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjw3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw3ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj–3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjw3ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤3h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjw3ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj²3h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjw3ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hj¿3h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjw3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj3ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjÈ2h²hh³jÚ2h´M'ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÄ2h²hh³jÚ2h´M'ubah}”(h]”j¿2ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jÚ2h´M'hjÁ2h²hubjv)�”}”(hhh]”j{)�”}”(hŒ'ignore suspend status for DAPM endpoint”h]”hŒ'ignore suspend status for DAPM endpoint”…”�”}”(hjé3h²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æ3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjÁ2h²hh³jÚ2h´M'ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j4jšj4j›‰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´M+hj4ubj¿)�”}”(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”…”�”}”(hj,4h²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´M(hj$4ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hjC4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j?4h´M(hj@4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj$4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j?4h´M(hj!4ubjÄ)�”}”(hŒ?``const char *pin`` audio signal pin endpoint (or start point) ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjc4h]”hŒconst char *pin”…”�”}”(hje4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhja4ubah}”(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]4ubjæ)�”}”(hhh]”j{)�”}”(hŒ*audio signal pin endpoint (or start point)”h]”hŒ*audio signal pin endpoint (or start point)”…”�”}”(hj|4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jx4h´M)hjy4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj]4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jx4h´M)hj!4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj4ubj{)�”}”(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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:109: ./sound/soc/soc-dapm.c”h´M+hj4ubj{)�”}”(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´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´M*hj4ubeh}”(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)�”}”(hjI˜h]”hŒbool”…”�”}”(hjã4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjß4h²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Œ ”…”�”}”(hjñ4h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjß4h²hh³jð4h´MCubj3)�”}”(hŒsnd_soc_dapm_pin_has_prefix”h]”j9)�”}”(hŒsnd_soc_dapm_pin_has_prefix”h]”hŒsnd_soc_dapm_pin_has_prefix”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿ4ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjß4h²hh³jð4h´MCubjT)�”}”(hŒ,(struct snd_soc_card *card, const char *pin)”h]”(jZ)�”}”(hŒstruct snd_soc_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubh)�”}”(hhh]”j9)�”}”(hŒ snd_soc_card”h]”hŒ snd_soc_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˜j5sbŒc.snd_soc_dapm_pin_has_prefix”†”asbuh1hhj5ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]5h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjk5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj5ubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hjx5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj5ubjZ)�”}”(hŒconst char *pin”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(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�5ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(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�5ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÈ5h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�5ubj9)�”}”(hŒpin”h]”hŒpin”…”�”}”(hjÕ5h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj5ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjß4h²hh³jð4h´MCubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjÛ4h²hh³jð4h´MCubah}”(h]”jÖ4ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jð4h´MChjØ4h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%check if given pin has a known prefix”h]”hŒ%check if given pin has a known prefix”…”�”}”(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´MChjü5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjØ4h²hh³jð4h´MCubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j6jšj6j›‰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¨hj6ubah}”(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´MGhj6ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ1``struct snd_soc_card *card`` card to be checked ”h]”(jÊ)�”}”(hŒ``struct snd_soc_card *card``”h]”jÐ)�”}”(hj@6h]”hŒstruct snd_soc_card *card”…”�”}”(hjB6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj>6ubah}”(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:6ubjæ)�”}”(hhh]”j{)�”}”(hŒcard to be checked”h]”hŒcard to be checked”…”�”}”(hjY6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jU6h´MDhjV6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj:6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jU6h´MDhj76ubjÄ)�”}”(hŒ``const char *pin`` pin name ”h]”(jÊ)�”}”(hŒ``const char *pin``”h]”jÐ)�”}”(hjy6h]”hŒconst char *pin”…”�”}”(hj{6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjw6ubah}”(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´MEhjs6ubjæ)�”}”(hhh]”j{)�”}”(hŒpin name”h]”hŒpin name”…”�”}”(hj’6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽ6h´MEhj�6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjs6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽ6h´MEhj76ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj6ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj´6h]”hŒ Description”…”�”}”(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´MGhj6ubj{)�”}”(hŒ,Returns true if given pin has a known prefix”h]”hŒ,Returns true 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´MFhj6ubeh}”(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ù6h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjõ6h²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Œ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjõ6h²hh³j7h´M^ubj3)�”}”(hŒsnd_soc_dapm_free”h]”j9)�”}”(hŒsnd_soc_dapm_free”h]”hŒsnd_soc_dapm_free”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj7ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjõ6h²hh³j7h´M^ubjT)�”}”(hŒ#(struct snd_soc_dapm_context *dapm)”h]”jZ)�”}”(hŒ!struct snd_soc_dapm_context *dapm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj67h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj27ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj27ubh)�”}”(hhh]”j9)�”}”(hŒsnd_soc_dapm_context”h]”hŒsnd_soc_dapm_context”…”�”}”(hjT7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjQ7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jV7Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j7sbŒc.snd_soc_dapm_free”†”asbuh1hhj27ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt7h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj27ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj‚7h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj27ubj9)�”}”(hŒdapm”h]”hŒdapm”…”�”}”(hj�7h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj27ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj.7ubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjõ6h²hh³j7h´M^ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjñ6h²hh³j7h´M^ubah}”(h]”jì6ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j7h´M^hjî6h²hubjv)�”}”(hhh]”j{)�”}”(hŒfree dapm resources”h]”hŒfree dapm resources”…”�”}”(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´M^hj¶7h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjî6h²hh³j7h´M^ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÑ7jšjÑ7j›‰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Û7h]”hŒ Parameters”…”�”}”(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´MbhjÕ7ubj¿)�”}”(hhh]”jÄ)�”}”(hŒ3``struct snd_soc_dapm_context *dapm`` DAPM context ”h]”(jÊ)�”}”(hŒ%``struct snd_soc_dapm_context *dapm``”h]”jÐ)�”}”(hjú7h]”hŒ!struct snd_soc_dapm_context *dapm”…”�”}”(hjü7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjø7ubah}”(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ô7ubjæ)�”}”(hhh]”j{)�”}”(hŒ DAPM context”h]”hŒ DAPM context”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j8h´M_hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjô7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j8h´M_hjñ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÕ7ubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj58h]”hŒ Description”…”�”}”(hj78h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj38ubah}”(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Õ7ubj{)�”}”(hŒ$Free all dapm widgets and resources.”h]”hŒ$Free all dapm widgets and resources.”…”�”}”(hjK8h²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Õ7ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjèh²hh³Nh´Nubeh}”(h]”Œ asoc-dapm-api”ah ]”h"]”Œ asoc dapm api”ah$]”h&]”uh1hµhjqth²hh³hÊh´Klubh¶)�”}”(hhh]”(h»)�”}”(hŒASoC DMA Engine API”h]”hŒASoC DMA Engine API”…”�”}”(hjl8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhji8h²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íhji8h²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”…”�”}”(hj“8h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�8h²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Œ ”…”�”}”(hj¢8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�8h²hh³j¡8h´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´8h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj°8ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj�8h²hh³j¡8h´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Ð8h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÌ8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ8h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ8ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_substream”h]”hŒsnd_pcm_substream”…”�”}”(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¶8sbŒ(c.snd_dmaengine_pcm_prepare_slave_config”†”asbuh1hhjÌ8ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÌ8ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÌ8ubj9)�”}”(hŒ substream”h]”hŒ substream”…”�”}”(hj)9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÌ8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ8ubjZ)�”}”(hŒ struct snd_pcm_hw_params *params”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjB9h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj>9ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO9h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>9ubh)�”}”(hhh]”j9)�”}”(hŒsnd_pcm_hw_params”h]”hŒsnd_pcm_hw_params”…”�”}”(hj`9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jb9Œmodname”NŒ classname”NjœjŸ)�”}”j¢]”j 9Œ(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Œparams”h]”hŒparams”…”�”}”(hj™9h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ8ubjZ)�”}”(hŒ%struct dma_slave_config *slave_config”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Œdma_slave_config”h]”hŒdma_slave_config”…”�”}”(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 9Œ(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Œ slave_config”h]”hŒ slave_config”…”�”}”(hj :h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj®9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjÈ8ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj�8h²hh³j¡8h´K'ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj‹8h²hh³j¡8h´K'ubah}”(h]”j†8ah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j¡8h´K'hjˆ8h²hubjv)�”}”(hhh]”j{)�”}”(hŒ%Generic prepare_slave_config callback”h]”hŒ%Generic prepare_slave_config callback”…”�”}”(hj3: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'hj0:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjˆ8h²hh³j¡8h´K'ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jK:jšjK:j›‰jœ‰j�‰uh1hþh²hhji8h³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©)�”}”(hjU:h]”hŒ Parameters”…”�”}”(hjW:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjS: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+hjO:ubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ6``struct snd_pcm_substream *substream`` PCM substream ”h]”(jÊ)�”}”(hŒ'``struct snd_pcm_substream *substream``”h]”jÐ)�”}”(hjt:h]”hŒ#struct snd_pcm_substream *substream”…”�”}”(hjv:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjr: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(hjn: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åhjn:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‰:h´K(hjk: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)hjk: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*hjk:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjO: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,hjO: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.”…”�”}”(hj7;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+hjO:ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhji8h²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íhji8h²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”…”�”}”(hjf;h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjb;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Œ ”…”�”}”(hju;h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjb;h²hh³jt;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&]”uh1j8hjƒ;ubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjb;h²hh³jt;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”…”�”}”(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_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Œ*”…”�”}”(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Œ-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”…”�”}”(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_dmaengine_pcm_config”h]”hŒsnd_dmaengine_pcm_config”…”�”}”(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Ý;Œc.snd_dmaengine_pcm_register”†”asbuh1hhj<ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl<h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj<ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjz<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”ˆ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&]”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Œ%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&]”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²hhji8h³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Ð)�”}”(hjC=h]”hŒstruct device *dev”…”�”}”(hjE=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjA=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”…”�”}”(hj\=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jX=h´M½hjY=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj==ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jX=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Ð)�”}”(hj|=h]”hŒ-const struct snd_dmaengine_pcm_config *config”…”�”}”(hj~=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjz=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¾hjv=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´M¾hj’=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjv=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j‘=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žhji8h²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íhji8h²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”…”�”}”(hj0>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”…”�”}”(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>ubh)�”}”(hhh]”j9)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(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˜j2>sbŒc.snd_dmaengine_pcm_unregister”†”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Œdev”h]”hŒdev”…”�”}”(hj¥>h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjH>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjD>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Œ$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²hhji8h³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©)�”}”(hjK?h]”hŒ Description”…”�”}”(hjM?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjI?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.”…”�”}”(hja?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žhji8h²hh³Nh´Nubeh}”(h]”Œasoc-dma-engine-api”ah ]”h"]”Œasoc dma engine api”ah$]”h&]”uh1hµhjqth²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”…”�”}”(hj›?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj˜?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íhj˜?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Œ ”…”�”}”(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Œcard”h]”hŒcard”…”�”}”(hjX@h²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”…”�”}”(hjq@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjm@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Œid”h]”hŒid”…”�”}”(hjš@h²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjm@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj÷?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”ˆjQjRuh1jYhj÷?ubjZ)�”}”(hŒstruct snd_hwdep **rhwdep”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_hwdep”h]”hŒ snd_hwdep”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jAŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j9@Œc.snd_hwdep_new”†”asbuh1hhjä@ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Ah²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjä@ubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj2Ah²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Œrhwdep”h]”hŒrhwdep”…”�”}”(hjLAh²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 a new hwdep instance”h]”hŒcreate a new hwdep instance”…”�”}”(hjvAh²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_hjsAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj·?h²hh³jÐ?h´M_ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jŽAjšjŽAj›‰jœ‰j�‰uh1hþh²hhj˜?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©)�”}”(hj˜Ah]”hŒ Parameters”…”�”}”(hjšAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj–Aubah}”(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´Mchj’Aubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj·Ah]”hŒstruct snd_card *card”…”�”}”(hj¹Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjµAubah}”(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±Aubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hjÐAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÌAh´M`hjÍAubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj±Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÌAh´M`hj®AubjÄ)�”}”(hŒ``char *id`` the id string ”h]”(jÊ)�”}”(hŒ ``char *id``”h]”jÐ)�”}”(hjðAh]”hŒchar *id”…”�”}”(hjòAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjîAubah}”(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êAubjæ)�”}”(hhh]”j{)�”}”(hŒ the id string”h]”hŒ the id string”…”�”}”(hj Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jBh´MahjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjêAubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jBh´Mahj®AubjÄ)�”}”(hŒ-``int device`` the device index (zero-based) ”h]”(jÊ)�”}”(hŒ``int device``”h]”jÐ)�”}”(hj)Bh]”hŒ int device”…”�”}”(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´Mbhj#Bubjæ)�”}”(hhh]”j{)�”}”(hŒthe device index (zero-based)”h]”hŒthe device index (zero-based)”…”�”}”(hjBBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j>Bh´Mbhj?Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj#Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j>Bh´Mbhj®AubjÄ)�”}”(hŒJ``struct snd_hwdep **rhwdep`` the pointer to store the new hwdep instance ”h]”(jÊ)�”}”(hŒ``struct snd_hwdep **rhwdep``”h]”jÐ)�”}”(hjbBh]”hŒstruct snd_hwdep **rhwdep”…”�”}”(hjdBh²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´Mchj\Bubjæ)�”}”(hhh]”j{)�”}”(hŒ+the pointer to store the new hwdep instance”h]”hŒ+the pointer to store the new hwdep instance”…”�”}”(hj{Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jwBh´MchjxBubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj\Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jwBh´Mchj®Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj’Aubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj�Bh]”hŒ Description”…”�”}”(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:120: ./sound/core/hwdep.c”h´Mehj’Aubj{)�”}”(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³Bh²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´Mdhj’Aubj{)�”}”(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³Œd/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:120: ./sound/core/hwdep.c”h´Mhhj’Aubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjÚBh²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´Mihj’Aubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhj˜?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ûBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjøBh²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øBh²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_hjCh²hh³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:124: ./include/sound/jack.h”h´Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1Ch²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjCh²hh³j0Ch´Kubj3)�”}”(hŒsnd_jack_types”h]”j9)�”}”(hjCh]”hŒsnd_jack_types”…”�”}”(hjCCh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj?Cubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjCh²hh³j0Ch´Kubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjCh²hh³j0Ch´Kubah}”(h]”jCah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j0Ch´KhjCh²hubjv)�”}”(hhh]”j{)�”}”(hŒ Jack types which can be reported”h]”hŒ Jack types which can be reported”…”�”}”(hjeCh²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´KhjbCh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjCh²hh³j0Ch´Kubeh}”(h]”h ]”(j–Œenum”eh"]”h$]”h&]”j˜j–j™j}Cjšj}Cj›‰jœ‰j�‰uh1hþh²hhjøBh³jCh´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‡Ch]”hŒ Constants”…”�”}”(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:124: ./include/sound/jack.h”h´Khj�Cubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ!``SND_JACK_HEADPHONE`` Headphone ”h]”(jÊ)�”}”(hŒ``SND_JACK_HEADPHONE``”h]”jÐ)�”}”(hj¦Ch]”hŒSND_JACK_HEADPHONE”…”�”}”(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:124: ./include/sound/jack.h”h´Khj Cubjæ)�”}”(hhh]”j{)�”}”(hŒ Headphone”h]”hŒ Headphone”…”�”}”(hj¿Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j»Ch´Khj¼Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj Cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j»Ch´Khj�CubjÄ)�”}”(hŒ#``SND_JACK_MICROPHONE`` Microphone ”h]”(jÊ)�”}”(hŒ``SND_JACK_MICROPHONE``”h]”jÐ)�”}”(hjßCh]”hŒSND_JACK_MICROPHONE”…”�”}”(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:124: ./include/sound/jack.h”h´KhjÙCubjæ)�”}”(hhh]”j{)�”}”(hŒ Microphone”h]”hŒ Microphone”…”�”}”(hjøCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jôCh´KhjõCubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÙCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jôCh´Khj�CubjÄ)�”}”(hŒ``SND_JACK_HEADSET`` Headset ”h]”(jÊ)�”}”(hŒ``SND_JACK_HEADSET``”h]”jÐ)�”}”(hjDh]”hŒSND_JACK_HEADSET”…”�”}”(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:124: ./include/sound/jack.h”h´KhjDubjæ)�”}”(hhh]”j{)�”}”(hŒHeadset”h]”hŒHeadset”…”�”}”(hj1Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j-Dh´Khj.Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j-Dh´Khj�CubjÄ)�”}”(hŒ``SND_JACK_LINEOUT`` Line out ”h]”(jÊ)�”}”(hŒ``SND_JACK_LINEOUT``”h]”jÐ)�”}”(hjQDh]”hŒSND_JACK_LINEOUT”…”�”}”(hjSDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjODubah}”(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 hjKDubjæ)�”}”(hhh]”j{)�”}”(hŒLine out”h]”hŒLine out”…”�”}”(hjjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jfDh´K hjgDubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjKDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jfDh´K hj�CubjÄ)�”}”(hŒ*``SND_JACK_MECHANICAL`` Mechanical switch ”h]”(jÊ)�”}”(hŒ``SND_JACK_MECHANICAL``”h]”jÐ)�”}”(hjŠDh]”hŒSND_JACK_MECHANICAL”…”�”}”(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´K#hj„Dubjæ)�”}”(hhh]”j{)�”}”(hŒMechanical switch”h]”hŒMechanical switch”…”�”}”(hj£Dh²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#hj�CubjÄ)�”}”(hŒ ``SND_JACK_VIDEOOUT`` Video out ”h]”(jÊ)�”}”(hŒ``SND_JACK_VIDEOOUT``”h]”jÐ)�”}”(hjÃDh]”hŒSND_JACK_VIDEOOUT”…”�”}”(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´K&hj½Dubjæ)�”}”(hhh]”j{)�”}”(hŒ Video out”h]”hŒ Video out”…”�”}”(hjÜDh²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&hj�CubjÄ)�”}”(hŒ(``SND_JACK_AVOUT`` AV (Audio Video) out ”h]”(jÊ)�”}”(hŒ``SND_JACK_AVOUT``”h]”jÐ)�”}”(hjüDh]”hŒSND_JACK_AVOUT”…”�”}”(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´K)hjöDubjæ)�”}”(hhh]”j{)�”}”(hŒAV (Audio Video) out”h]”hŒAV (Audio Video) out”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jEh´K)hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjöDubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jEh´K)hj�CubjÄ)�”}”(hŒ``SND_JACK_LINEIN`` Line in ”h]”(jÊ)�”}”(hŒ``SND_JACK_LINEIN``”h]”jÐ)�”}”(hj5Eh]”hŒSND_JACK_LINEIN”…”�”}”(hj7Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj3Eubah}”(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 in”h]”hŒLine in”…”�”}”(hjNEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jJEh´K,hjKEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj/Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jJEh´K,hj�CubjÄ)�”}”(hŒ"``SND_JACK_USB`` USB audio device ”h]”(jÊ)�”}”(hŒ``SND_JACK_USB``”h]”jÐ)�”}”(hjnEh]”hŒ SND_JACK_USB”…”�”}”(hjpEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjlEubah}”(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/hjhEubjæ)�”}”(hhh]”j{)�”}”(hŒUSB audio device”h]”hŒUSB audio device”…”�”}”(hj‡Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jƒEh´K/hj„Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjhEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jƒEh´K/hj�CubjÄ)�”}”(hŒ``SND_JACK_BTN_0`` Button 0 ”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_0``”h]”jÐ)�”}”(hj§Eh]”hŒSND_JACK_BTN_0”…”�”}”(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´K2hj¡Eubjæ)�”}”(hhh]”j{)�”}”(hŒButton 0”h]”hŒButton 0”…”�”}”(hjÀEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¼Eh´K2hj½Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¡Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¼Eh´K2hj�CubjÄ)�”}”(hŒ``SND_JACK_BTN_1`` Button 1 ”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_1``”h]”jÐ)�”}”(hjàEh]”hŒSND_JACK_BTN_1”…”�”}”(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´K5hjÚEubjæ)�”}”(hhh]”j{)�”}”(hŒButton 1”h]”hŒButton 1”…”�”}”(hjùEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jõEh´K5hjöEubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjÚEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jõEh´K5hj�CubjÄ)�”}”(hŒ``SND_JACK_BTN_2`` Button 2 ”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_2``”h]”jÐ)�”}”(hjFh]”hŒSND_JACK_BTN_2”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjFubah}”(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´K8hjFubjæ)�”}”(hhh]”j{)�”}”(hŒButton 2”h]”hŒButton 2”…”�”}”(hj2Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j.Fh´K8hj/Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j.Fh´K8hj�CubjÄ)�”}”(hŒ``SND_JACK_BTN_3`` Button 3 ”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_3``”h]”jÐ)�”}”(hjRFh]”hŒSND_JACK_BTN_3”…”�”}”(hjTFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjPFubah}”(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;hjLFubjæ)�”}”(hhh]”j{)�”}”(hŒButton 3”h]”hŒButton 3”…”�”}”(hjkFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jgFh´K;hjhFubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjLFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jgFh´K;hj�CubjÄ)�”}”(hŒ``SND_JACK_BTN_4`` Button 4 ”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_4``”h]”jÐ)�”}”(hj‹Fh]”hŒSND_JACK_BTN_4”…”�”}”(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:124: ./include/sound/jack.h”h´K>hj…Fubjæ)�”}”(hhh]”j{)�”}”(hŒButton 4”h]”hŒButton 4”…”�”}”(hj¤Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j Fh´K>hj¡Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj…Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j Fh´K>hj�CubjÄ)�”}”(hŒ``SND_JACK_BTN_5`` Button 5”h]”(jÊ)�”}”(hŒ``SND_JACK_BTN_5``”h]”jÐ)�”}”(hjÄFh]”hŒSND_JACK_BTN_5”…”�”}”(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:124: ./include/sound/jack.h”h´K@hj¾Fubjæ)�”}”(hhh]”j{)�”}”(hŒButton 5”h]”hŒButton 5”…”�”}”(hjÝFh²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ÚFubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¾Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÙFh´K@hj�Cubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj�Cubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjøBh²hh³jCh´Nubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hjGh]”hŒ Description”…”�”}”(hj Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjGubah}”(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øBh²hubj{)�”}”(hŒ#These values are used as a bitmask.”h]”hŒ#These values are used as a bitmask.”…”�”}”(hjGh²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øBh²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.”…”�”}”(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øBh²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øBh²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”…”�”}”(hjTGh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjPGh²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Œ ”…”�”}”(hjcGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjPGh²hh³jbGh´Mõubj3)�”}”(hŒsnd_jack_add_new_kctl”h]”j9)�”}”(hŒsnd_jack_add_new_kctl”h]”hŒsnd_jack_add_new_kctl”…”�”}”(hjuGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjqGubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjPGh²hh³jbGh´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”…”�”}”(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Œsnd_jack”h]”hŒsnd_jack”…”�”}”(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˜jwGsbŒc.snd_jack_add_new_kctl”†”asbuh1hhj�Gubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏGh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj�Gubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjÝGh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj�Gubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjêGh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj�Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‰GubjZ)�”}”(hŒconst char *name”h]”(j`)�”}”(hjph]”hŒconst”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÿGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿGubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿGubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Hh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÿGubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj:Hh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÿGubj9)�”}”(hŒname”h]”hŒname”…”�”}”(hjGHh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÿGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj‰GubjZ)�”}”(hŒint mask”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj`Hh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj\Hubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnHh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj\Hubj9)�”}”(hŒmask”h]”hŒmask”…”�”}”(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&]”jQjRuh1jShjPGh²hh³jbGh´Mõubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjLGh²hh³jbGh´Mõubah}”(h]”jGGah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jbGh´MõhjIGh²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¦Hh²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£Hh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjIGh²hh³jbGh´Mõubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j¾Hjšj¾Hj›‰jœ‰j�‰uh1hþh²hhjøBh³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ÈHh]”hŒ Parameters”…”�”}”(hjÊHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÆHubah}”(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ÂHubj¿)�”}”(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çHh]”hŒstruct snd_jack *jack”…”�”}”(hjéHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjåHubah}”(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áHubjæ)�”}”(hhh]”j{)�”}”(hŒ2the jack instance which the kctl will attaching to”h]”hŒ2the jack instance which the kctl will attaching to”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jüHh´MöhjýHubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjáHubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jüHh´MöhjÞHubjÄ)�”}”(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ÏhjIubah}”(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÷hjIubjæ)�”}”(hhh]”j{)�”}”(hŒ$the name for the snd_kcontrol object”h]”hŒ$the name for the snd_kcontrol object”…”�”}”(hj9Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j5Ih´M÷hj6Iubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j5Ih´M÷hjÞHubjÄ)�”}”(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Ð)�”}”(hjYIh]”hŒint mask”…”�”}”(hj[Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjWIubah}”(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ùhjSIubjæ)�”}”(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.”…”�”}”(hjrIh²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øhjoIubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjSIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jnIh´MùhjÞHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÂHubj{)�”}”(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³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MûhjÂHubj{)�”}”(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«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úhjÂHubj{)�”}”(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³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MühjÂHubj{)�”}”(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³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MýhjÂHubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjøBh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_jack_new (C function)”Œc.snd_jack_new”hNt”auh1híhjøBh²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”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjýIh²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Œ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjýIh²hh³jJh´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&]”uh1j8hjJubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjýIh²hh³jJh´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”…”�”}”(hj>Jh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj:Jubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKJh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:Jubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hj\Jh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjYJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”j^JŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜j$JsbŒc.snd_jack_new”†”asbuh1hhj:Jubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Jh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj:Jubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjŠJh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj:Jubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj—Jh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj:Jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6JubjZ)�”}”(hŒconst char *id”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)�”}”(hŒchar”h]”hŒchar”…”�”}”(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¹)�”}”(hj¼h]”hŒ*”…”�”}”(hjçJh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj¬Jubj9)�”}”(hŒid”h]”hŒid”…”�”}”(hjôJh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj¬Jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6JubjZ)�”}”(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Œ ”…”�”}”(hjKh²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”ˆjQjRuh1jYhj6JubjZ)�”}”(hŒstruct snd_jack **jjack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjBKh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj>Kubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOKh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj>Kubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack”h]”hŒsnd_jack”…”�”}”(hj`Kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj]Kubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jbKŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jxJŒc.snd_jack_new”†”asbuh1hhj>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>Kubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj™Kh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj>Kubj9)�”}”(hŒjjack”h]”hŒjjack”…”�”}”(hj¦Kh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj>Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6JubjZ)�”}”(hŒbool initial_kctl”h]”(j)�”}”(hjI˜h]”hŒbool”…”�”}”(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Œ initial_kctl”h]”hŒ initial_kctl”…”�”}”(hjÚKh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj»Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6JubjZ)�”}”(hŒbool phantom_jack”h]”(j)�”}”(hjI˜h]”hŒbool”…”�”}”(hjóKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjïKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjïKubj9)�”}”(hŒ phantom_jack”h]”hŒ phantom_jack”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjïKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj6Jubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjýIh²hh³jJh´M ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjùIh²hh³jJh´M ubah}”(h]”jôIah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³jJh´M hjöIh²hubjv)�”}”(hhh]”j{)�”}”(hŒCreate a new jack”h]”hŒCreate a new jack”…”�”}”(hj8Lh²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 hj5Lh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjöIh²hh³jJh´M ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jPLjšjPLj›‰jœ‰j�‰uh1hþh²hhjøBh³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©)�”}”(hjZLh]”hŒ Parameters”…”�”}”(hj\Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjXLubah}”(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´MhjTLubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ,``struct snd_card *card`` the card instance ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hjyLh]”hŒstruct snd_card *card”…”�”}”(hj{Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjwLubah}”(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´MhjsLubjæ)�”}”(hhh]”j{)�”}”(hŒthe card instance”h]”hŒthe card instance”…”�”}”(hj’Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jŽLh´Mhj�Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjsLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jŽLh´MhjpLubjÄ)�”}”(hŒ7``const char *id`` an identifying string for this jack ”h]”(jÊ)�”}”(hŒ``const char *id``”h]”jÐ)�”}”(hj²Lh]”hŒconst char *id”…”�”}”(hj´Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj°Lubah}”(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´Mhj¬Lubjæ)�”}”(hhh]”j{)�”}”(hŒ#an identifying string for this jack”h]”hŒ#an identifying string for this jack”…”�”}”(hjËLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jÇLh´MhjÈLubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj¬Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jÇLh´MhjpLubjÄ)�”}”(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ëLh]”hŒint type”…”�”}”(hjíLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjéLubah}”(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´MhjåLubjæ)�”}”(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”…”�”}”(hjMh²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´MhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjåLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jMh´MhjpLubjÄ)�”}”(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´MhjMubjæ)�”}”(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.”…”�”}”(hj>Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j:Mh´Mhj;Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j:Mh´MhjpLubjÄ)�”}”(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Ð)�”}”(hj^Mh]”hŒbool initial_kctl”…”�”}”(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´MhjXMubjæ)�”}”(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.”…”�”}”(hjwMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jsMh´MhjtMubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjXMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jsMh´MhjpLubjÄ)�”}”(hŒE``bool phantom_jack`` Don't create a input device for phantom jacks. ”h]”(jÊ)�”}”(hŒ``bool phantom_jack``”h]”jÐ)�”}”(hj—Mh]”hŒbool phantom_jack”…”�”}”(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´Mhj‘Mubjæ)�”}”(hhh]”j{)�”}”(hŒ.Don't create a input device for phantom jacks.”h]”hŒ0Don’t create a input device for phantom jacks.”…”�”}”(hj°Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j¬Mh´Mhj­Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhj‘Mubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j¬Mh´MhjpLubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjTLubj{)�”}”(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³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MhjTLubj{)�”}”(hŒCreates a new jack object.”h]”hŒCreates a new jack object.”…”�”}”(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´MhjTLubj{)�”}”(hŒ **Return**”h]”j©)�”}”(hjùMh]”hŒReturn”…”�”}”(hjûMh²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´MhjTLubj{)�”}”(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 ”…”�”}”(hjNh²hh³Nh´Nubj©)�”}”(hŒ **jjack**”h]”hŒjjack”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjNubhŒ will be initialised.”…”�”}”(hjNh²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´MhjTLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjøBh²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øBh²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”…”�”}”(hjPNh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjLNh²hh³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´Mjubj")�”}”(hŒ ”h]”hŒ ”…”�”•}”(hj_Nh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjLNh²hh³j^Nh´Mjubj3)�”}”(hŒsnd_jack_set_key”h]”j9)�”}”(hŒsnd_jack_set_key”h]”hŒsnd_jack_set_key”…”�”}”(hjqNh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjmNubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hjLNh²hh³j^Nh´MjubjT)�”}”(hŒ>(struct snd_jack *jack, enum snd_jack_types type, int keytype)”h]”(jZ)�”}”(hŒstruct snd_jack *jack”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Œsnd_jack”h]”hŒsnd_jack”…”�”}”(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¥)�”}”j˜jsNsbŒc.snd_jack_set_key”†”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Œjack”h]”hŒjack”…”�”}”(hjæNh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‰Nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…NubjZ)�”}”(hŒenum snd_jack_types type”h]”(j`)�”}”(hj…&h]”hŒenum”…”�”}”(hjÿNh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjûNubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Oh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjûNubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack_types”h]”hŒsnd_jack_types”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jOŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”jÇNŒc.snd_jack_set_key”†”asbuh1hhjûNubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;Oh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjûNubj9)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjIOh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjûNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…NubjZ)�”}”(hŒ int keytype”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjbOh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj^Oubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjpOh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^Oubj9)�”}”(hŒkeytype”h]”hŒkeytype”…”�”}”(hj~Oh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhj…Nubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShjLNh²hh³j^Nh´Mjubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjHNh²hh³j^Nh´Mjubah}”(h]”jCNah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j^Nh´MjhjENh²hubjv)�”}”(hhh]”j{)�”}”(hŒSet a key mapping on a jack”h]”hŒSet a key mapping on a jack”…”�”}”(hj¨Oh²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´Mjhj¥Oh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjENh²hh³j^Nh´Mjubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jÀOjšjÀOj›‰jœ‰j�‰uh1hþh²hhjøBh³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ÊOh]”hŒ Parameters”…”�”}”(hjÌOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÈOubah}”(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ÄOubj¿)�”}”(hhh]”(jÄ)�”}”(hŒ0``struct snd_jack *jack`` The jack to configure ”h]”(jÊ)�”}”(hŒ``struct snd_jack *jack``”h]”jÐ)�”}”(hjéOh]”hŒstruct snd_jack *jack”…”�”}”(hjëOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjçOubah}”(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´MlhjãOubjæ)�”}”(hhh]”j{)�”}”(hŒThe jack to configure”h]”hŒThe jack to configure”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jþOh´MlhjÿOubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjãOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jþOh´MlhjàOubjÄ)�”}”(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´MmhjPubjæ)�”}”(hhh]”j{)�”}”(hŒJack report type for this key”h]”hŒJack report type for this key”…”�”}”(hj;Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j7Ph´Mmhj8Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j7Ph´MmhjàOubjÄ)�”}”(hŒ4``int keytype`` Input layer key type to be reported ”h]”(jÊ)�”}”(hŒ``int keytype``”h]”jÐ)�”}”(hj[Ph]”hŒ int keytype”…”�”}”(hj]Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjYPubah}”(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´MnhjUPubjæ)�”}”(hhh]”j{)�”}”(hŒ#Input layer key type to be reported”h]”hŒ#Input layer key type to be reported”…”�”}”(hjtPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³jpPh´MnhjqPubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjUPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³jpPh´MnhjàOubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¾hjÄOubj{)�”}”(hŒ**Description**”h]”j©)�”}”(hj–Ph]”hŒ Description”…”�”}”(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´MphjÄOubj{)�”}”(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¬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´MohjÄOubj{)�”}”(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»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´MthjÄOubj{)�”}”(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Ê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´MwhjÄOubj{)�”}”(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Ù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´M}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³Œc/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:125: ./sound/core/jack.c”h´MhjÄOubj{)�”}”(hŒ8Zero if successful, or a negative error code on failure.”h]”hŒ8Zero if successful, or a negative error code on failure.”…”�”}”(hjQh²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ÄOubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjøBh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_jack_report (C function)”Œc.snd_jack_report”hNt”auh1híhjøBh²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”…”�”}”(hj/Qh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj+Qh²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>Qh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+Qh²hh³j=Qh´M”ubj3)�”}”(hŒsnd_jack_report”h]”j9)�”}”(hŒsnd_jack_report”h]”hŒsnd_jack_report”…”�”}”(hjPQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjLQubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj+Qh²hh³j=Qh´M”ubjT)�”}”(hŒ#(struct snd_jack *jack, int status)”h]”(jZ)�”}”(hŒstruct snd_jack *jack”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjlQh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjhQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyQh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhQubh)�”}”(hhh]”j9)�”}”(hŒsnd_jack”h]”hŒsnd_jack”…”�”}”(hjŠQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj‡Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jŒQŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jRQsbŒc.snd_jack_report”†”asbuh1hhjhQubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªQh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjhQubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj¸Qh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjhQubj9)�”}”(hŒjack”h]”hŒjack”…”�”}”(hjÅQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjhQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdQubjZ)�”}”(hŒ int status”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Œstatus”h]”hŒstatus”…”�”}”(hjúQh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjÚQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjdQubeh}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj+Qh²hh³j=Qh´M”ubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihj'Qh²hh³j=Qh´M”ubah}”(h]”j"Qah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j=Qh´M”hj$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´M”hj!Rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj$Qh²hh³j=Qh´M”ubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jth²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Ìhjuh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhj>th²hh³jWth´KÌubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™j!ujšj!uj›‰jœ‰j�‰uh1hþh²hhjžrh³Nh´NubjŸ)�”}”(hŒ=**Parameters** ``struct snd_card *card`` sound card object”h]”(j{)�”}”(hŒ**Parameters**”h]”j©)�”}”(hj+uh]”hŒ Parameters”…”�”}”(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: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Ð)�”}”(hjJuh]”hŒstruct snd_card *card”…”�”}”(hjLuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏhjHuubah}”(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ÒhjDuubjæ)�”}”(hhh]”j{)�”}”(hŒsound card object”h]”hŒsound card object”…”�”}”(hjcuh²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`uubah}”(h]”h ]”h"]”h$]”h&]”uh1jåhjDuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÃh³j_uh´KÒhjAuubah}”(h]”h ]”h"]”h$]”h&]”uh1j¾hj%uubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjžrh²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íhjžrh²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”…”�”}”(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:134: ./include/sound/core.h”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_power_sync_ref”h]”j9)�”}”(hŒsnd_power_sync_ref”h]”hŒsnd_power_sync_ref”…”�”}”(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_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_hjÝuubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîuh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝuubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(hjÿuh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjüuubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j–Œreftype”j˜Œ reftarget”jvŒmodname”NŒ classname”NjœjŸ)�”}”j¢]”j¥)�”}”j˜jÇusbŒc.snd_power_sync_ref”†”asbuh1hhjÝuubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÝuubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj-vh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hjÝuubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj:vh²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Œ&wait until the card power_ref is freed”h]”hŒ&wait until the card power_ref is freed”…”�”}”(hjdvh²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Õhjavh²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²hhjžrh³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†vh]”hŒ Parameters”…”�”}”(hjˆvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj„vubah}”(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€vubj¿)�”}”(hhh]”jÄ)�”}”(hŒ,``struct snd_card *card`` sound card object ”h]”(jÊ)�”}”(hŒ``struct snd_card *card``”h]”jÐ)�”}”(hj¥vh]”hŒstruct snd_card *card”…”�”}”(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:134: ./include/sound/core.h”h´KÖhjŸvubjæ)�”}”(hhh]”j{)�”}”(hŒsound card object”h]”hŒsound card object”…”�”}”(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³Œf/var/lib/git/docbuild/linux/Documentation/sound/kernel-api/alsa-driver-api:134: ./include/sound/core.h”h´KØhj€vubj{)�”}”(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övh²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€vubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjžrh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒsnd_card_unref (C function)”Œc.snd_card_unref”hNt”auh1híhjžrh²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´MKubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj!wh²hh³j3wh´MKubj3)�”}”(hŒsnd_card_unref”h]”j9)�”}”(hŒsnd_card_unref”h]”hŒsnd_card_unref”…”�”}”(hjFwh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hjBwubah}”(h]”h ]”(jLjMeh"]”h$]”h&]”jQjRuh1j2hj!wh²hh³j3wh´MKubjT)�”}”(hŒ(struct snd_card *card)”h]”jZ)�”}”(hŒstruct snd_card *card”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjbwh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj^wubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjowh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^wubh)�”}”(hhh]”j9)�”}”(hŒsnd_card”h]”hŒsnd_card”…”�”}”(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˜jHwsbŒc.snd_card_unref”†”asbuh1hhj^wubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj wh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj^wubj¹)�”}”(hj¼h]”hŒ*”…”�”}”(hj®wh²hh³Nh´Nubah}”(h]”h ]”jÅah"]”h$]”h&]”uh1j¸hj^wubj9)�”}”(hŒcard”h]”hŒcard”…”�”}”(hj»wh²hh³Nh´Nubah}”(h]”h ]”jEah"]”h$]”h&]”uh1j8hj^wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆjQjRuh1jYhjZwubah}”(h]”h ]”h"]”h$]”h&]”jQjRuh1jShj!wh²hh³j3wh´MKubeh}”(h]”h ]”h"]”h$]”h&]”jQjRjgˆuh1j jhjihjwh²hh³j3wh´MKubah}”(h]”jwah ]”(jmjneh"]”h$]”h&]”jrˆjs)jthuh1jh³j3wh´MKhjwh²hubjv)�”}”(hhh]”j{)�”}”(hŒUnreference the card object”h]”hŒUnreference the card object”…”�”}”(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´MKhjâwh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1juhjwh²hh³j3wh´MKubeh}”(h]”h ]”(j–Œfunction”eh"]”h$]”h&]”j˜j–j™jýwjšjýwj›‰jœ‰j�‰uh1hþh²hhjžrh³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©)�”}”(hjxh]”hŒ Parameters”…”�”}”(hj xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjxubah}”(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´MOhjxubj¿)�”}”(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´MLhj xubjæ)�”}”(hhh]”j{)�”}”(hŒthe card object to unreference”h]”hŒthe card object to unreference”…”�”}”(hj?xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzh³j;xh´MLhj…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©)�”}”(hjc…h]”hŒ Description”…”�”}”(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: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.”…”�”}”(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øhjy…ubj{)�”}”(hŒ@Both of the allocated units are released together automatically.”h]”hŒ@Both of the allocated units are released together automatically.”…”�”}”(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ûhjy…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j®h³j‹…h´Møhj…ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jžhjžrh²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¤/j¡/j89j59jÝ[jÚ[jä†já†jt;jq;jêQjçQjÓgjÐgj܆jÙ†j j jHÁjEÁjÉìjÆìjjj”!j‘!jVjSjŒ!j‰!j¶7j³7j®7j«7jntjktjftjctj„?j�?jèjèjf8jc8j|?jy?jµ…j²…jõBjòBjrijoij›rj˜rj­…jª…uŒ nametypes”}”(j½…‰jå[‰j§%‰j¤/‰j89‰jÝ[‰j䆉jt;‰jêQ‰jÓg‰j܆‰j ‰jHÁ‰jÉì‰j‰j”!‰jV‰jŒ!‰j¶7‰j®7‰jnt‰jft‰j„?‰jè‰jf8‰j|?‰jµ…‰jõB‰jri‰j›r‰j­…‰uh}”(jº…h·jâ[hËj¤%hÜhüjj}j‚jjj­ j² jUjZjYj^jÚjßj‚j‡j9j>jZj_jŸj¤jQjVj™jžjôjùjO"jT"j$j $j¡/jª%jÇ%jÌ%jZ)j_)jŒ+j‘+jˆ-j�-j59j§/jÄ/jÉ/j1j 1j+3j03j—7jœ7jÚ[j;9jX9j]9j)<j.<j ?j?jÝAjâAj¦Dj«Dj‚Hj‡HjÂKjÇKjCMjHMjÀPjÅPjêRjïRjáTjæTjöVjûVj3Yj8Yjá†jè[jq;jù[j\j\j—]jœ]j`j `jhdjmdjµhjºhjËjjÐjj~mjƒmjqjqj}sj‚sj”vj™vj2zj7zjÐ}jÕ}jÌ�jÑ�jÈ…jÍ…j5‰j:‰j´Œj¹Œjé�jî�j““j˜“j=–jB–jf˜jk˜j£›j¨›jŸjŸj‘¢j–¢jà¥jå¥j/©j4©ju¬jz¬j‹¯j�¯j²j²j"´j'´j"·j'·j¡ºj¦ºj ¾j%¾j»¿jÀ¿jhÂjmÂjÛÄjàÄj}Æj‚ÆjËj Ëj†Ìj‹ÌjÎj ÎjˆÏj�Ïj ÑjÑjÓjÓjðÔjõÔj„Öj‰ÖjõØjúØjvÚj{ÚjŸÜj¤ÜjGÞjLÞjïßjôßjÊájÏájôãjùãj¡æj¦æjòèj÷èjCëjHëjÄìjÉìjîj îjJïjOïjÃðjÈðjDòjIòjFôjKôj[öj`öjpøjuøj…újŠújšüjŸüjœþj¡þj0j5jÄjÉjj„j:j?jÎjÓjbjgj j j² j· jZ j_ jjjªj¯jãjèjšjŸjQjVjj j¿jÄjvj{j-j2j¹j¾j!j!j“"j˜"jÏ$jÔ$jÓ&jØ&j*j*jS-jX-jq/jv/j"2j'2jÐ3jÕ3j<5jA5jå6jê6j+9j09j—:jœ:jçQjw;j”;j™;jí<jò<jF>jK>jŸ?j¤?jø@jý@jQBjVBjªCj¯CjEjEjðFjõFjŸHj¤Hj$Kj)KjÌLjÑLjHNjMNjÄOjÉOjÐgjíQj RjRj‹Sj�Sj UjUj¦Xj«Xj\j\jH`jM`j djdj2fj7fjÙ†jÖgjógjøgj#kj(kj,nj1njBpjGpjýqjrj¸sj½sjîujóuj?xjDxjÀyjÅyjh{jm{j jjÖ€jÛ€jåƒjêƒj jç†jEÁ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¨©j1¬j6¬jù®jþ®jy°j~°jÒ±j×±j+³j0³j„´j‰´jðµjõµjq·jv·jò¸j÷¸jC»jH»j”½j™½jÆìjKÁjhÁjmÁjýÃjÄjKÆjPÆjàÈjåÈjœËj¡ËjâÎjçÎj‹Ðj�ÐjÕÔjÚÔjû×jØjÚj„ÚjÜjÜj�Ýj†Ýjƒàjˆàj2ãj7ãj(æj-æj€éj…éj(ëj-ëjjÌìjéìjîìjàïjåïj‰òjŽòjvöj{öjvøj{øj‘üj–üj=ÿjBÿj¬j±j‘!jjSj!j>jCjj j‡jŒjC jH jY j^ jj j‡jŒjªj¯j‰!jYjvj{j‘j–j¬j±j³7j—!j«7j¨!jÅ!jÊ!jV$j[$jú&jÿ&j.*j3*jb-jg-jã.jè.jd0ji0j 2j2jktj¹7jctjÊ7jç7jì7j:j$:jI<jN<jå?jê?j'Aj,Aj¢Bj§Bj‘Dj–Dj€Fj…FjÂGjÇGjIj IjœKj¡KjMjMj-Nj2NjoOjtOjÎQjÓQjSj"SjCUjIUjhWjmWj YjYj²Zj·Zjç]jì]j¸`j½`jŒej‘ejij ij¦mj«mj°pjµpj1rj6rj�?jqtjèj‚tjŸtj¤tj�vj¢vjÇxjÌxj{j{jY}j^}jjj£‚j¨‚jV…j[…j±†j¶†j ˆjˆjg‰jl‰jì‹jñ‹j ŽjŽjô�jù�jP”jU”jz–j–jI™jN™jžœj£œjCŸjHŸjµ jº j„£j‰£j¥j ¥j†¦j‹¦j°¨jµ¨j@ªjEªjg¬jl¬jü®j¯j²j ²jaµjfµj¸j¸j1»j6»jw¾j|¾jãÀjèÀjcÂjhÂjûÄjÅj4Çj9ÇjmÉjrÉj¦Ëj«ËjßÍjäÍjÐjÐjQÒjVÒjŠÔj�ÔjÃÖjÈÖjüØjÙj�Ûj†ÛjºÝj¿Ýjóßjøßj,âj1âjeäjjäjžæj£æjc8jèj8èj=èjÎéjÓéjŠëj�ëjFíjKíjrïjwïjžñj£ñjÊójÏójyõj~õj‹ùj�ùj ûjûjªüj¯üj:þj?þjüjj¯j´j?jDjxj}j± j¶ jê jï j#j(jMjRjwj|j¡j¦jËjÐjõjúj„j‰jbjgjŒ j‘ jø"jý"jE%jJ%jƒ'jˆ'jÐ)jÕ)j,j,j[.j`.j™0jž0j¿2jÄ2jÖ4jÛ4jì6jñ6jy?ji8j†8j‹8jY;j^;j>j>j²…j‡?jòBj˜?jµ?jº?joijøBjCjCjGGjLGjôIjùIjCNjHNj"Qj'QjSjSj•UjšUj-Xj2XjZj!Zj´\j¹\jÞ^jã^jaj aj cj¥cjáfjæfj˜rjuij’ij—ij�lj•ljðmjõmjöojûojª…jžrj»rjÀrj