€•Œ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”Œ8/translations/zh_CN/driver-api/firmware/other_interfaces”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/zh_TW/driver-api/firmware/other_interfaces”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/it_IT/driver-api/firmware/other_interfaces”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/ja_JP/driver-api/firmware/other_interfaces”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/ko_KR/driver-api/firmware/other_interfaces”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/pt_BR/driver-api/firmware/other_interfaces”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/sp_SP/driver-api/firmware/other_interfaces”Œ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ŒOther Firmware Interfaces”h]”hŒOther Firmware Interfaces”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces.rst”h´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒDMI Interfaces”h]”hŒDMI Interfaces”…”�”}”(hhÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhËh²hh³hÊh´KubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œdmi_check_system (C function)”Œc.dmi_check_system”hNt”auh1hÜhhËh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ7int dmi_check_system (const struct dmi_system_id *list)”h]”hŒdesc_signature_line”“”)�”}”(hŒ6int dmi_check_system(const struct dmi_system_id *list)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1hþhhúh²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M{ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jhhúh²hh³jh´M{ubhŒ desc_name”“”)�”}”(hŒdmi_check_system”h]”hŒ desc_sig_name”“”)�”}”(hŒdmi_check_system”h]”hŒdmi_check_system”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j'hj#ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j!hhúh²hh³jh´M{ubhŒdesc_parameterlist”“”)�”}”(hŒ"(const struct dmi_system_id *list)”h]”hŒdesc_parameter”“”)�”}”(hŒ const struct dmi_system_id *list”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jNhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJubjO)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJubh)�”}”(hhh]”j()�”}”(hŒ dmi_system_id”h]”hŒ dmi_system_id”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj‰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.dmi_check_system”†”asbuh1hhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjJubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jÃhjJubj()�”}”(hŒlist”h]”hŒlist”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjDubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhhúh²hh³jh´M{ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAŒ add_permalink”ˆuh1høŒsphinx_line_type”Œ declarator”hhôh²hh³jh´M{ubah}”(h]”hëah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1hòh³jh´M{hhïh²hubhŒ desc_content”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒcheck system DMI data”h]”hŒcheck system DMI data”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M{hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhïh²hh³jh´M{ubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”Œdomain”j¡Œobjtype”j"Œdesctype”j"Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1híh²hhhËh³Nh´NubhŒ container”“”)�”}”(hXX**Parameters** ``const struct dmi_system_id *list`` array of dmi_system_id structures to match against All non-null elements of the list must match their slot's (field index's) data (i.e., each list string must be a substring of the specified DMI slot's string data) to be considered a successful match. **Description** Walk the blacklist table running matching functions until someone returns non zero or we hit the end. Callback function is called for each successful match. Returns the number of matches. dmi_setup must be called before this function is called.”h]”(j )�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hj4h]”hŒ Parameters”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mhj.ubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hX!``const struct dmi_system_id *list`` array of dmi_system_id structures to match against All non-null elements of the list must match their slot's (field index's) data (i.e., each list string must be a substring of the specified DMI slot's string data) to be considered a successful match. ”h]”(hŒterm”“”)�”}”(hŒ$``const struct dmi_system_id *list``”h]”hŒliteral”“”)�”}”(hj[h]”hŒ const struct dmi_system_id *list”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M�hjSubhŒ definition”“”)�”}”(hhh]”j )�”}”(hŒûarray of dmi_system_id structures to match against All non-null elements of the list must match their slot's (field index's) data (i.e., each list string must be a substring of the specified DMI slot's string data) to be considered a successful match.”h]”hXarray of dmi_system_id structures to match against All non-null elements of the list must match their slot’s (field index’s) data (i.e., each list string must be a substring of the specified DMI slot’s string data) to be considered a successful match.”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M|hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjSubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jrh´M�hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhj.ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj›h]”hŒ Description”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mƒhj.ubhŒ block_quote”“”)�”}”(hŒõWalk the blacklist table running matching functions until someone returns non zero or we hit the end. Callback function is called for each successful match. Returns the number of matches. dmi_setup must be called before this function is called.”h]”(j )�”}”(hŒ»Walk the blacklist table running matching functions until someone returns non zero or we hit the end. Callback function is called for each successful match. Returns the number of matches.”h]”hŒ»Walk the blacklist table running matching functions until someone returns non zero or we hit the end. Callback function is called for each successful match. Returns the number of matches.”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M‚hj³ubj )�”}”(hŒ8dmi_setup must be called before this function is called.”h]”hŒ8dmi_setup must be called before this function is called.”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M†hj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jÅ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éŒdmi_first_match (C function)”Œc.dmi_first_match”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒOconst struct dmi_system_id * dmi_first_match (const struct dmi_system_id *list)”h]”hù)�”}”(hŒMconst struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list)”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj÷h²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mšubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷h²hh³jh´MšubjO)�”}”(hjoh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj÷h²hh³jh´Mšubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷h²hh³jh´Mšubh)�”}”(hhh]”j()�”}”(hŒ dmi_system_id”h]”hŒ dmi_system_id”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j7Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œdmi_first_match”sbŒc.dmi_first_match”†”asbuh1hhj÷h²hh³jh´Mšubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷h²hh³jh´MšubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj÷h²hh³jh´Mšubj")�”}”(hŒdmi_first_match”h]”j()�”}”(hjSh]”hŒdmi_first_match”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjqubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj÷h²hh³jh´MšubjC)�”}”(hŒ"(const struct dmi_system_id *list)”h]”jI)�”}”(hŒ const struct dmi_system_id *list”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjŒubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŒubjO)�”}”(hjoh]”hŒstruct”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjŒubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŒubh)�”}”(hhh]”j()�”}”(hŒ dmi_system_id”h]”hŒ dmi_system_id”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjÆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jËŒmodname”NŒ classname”Nj§jª)�”}”j­]”jQŒc.dmi_first_match”†”asbuh1hhjŒubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŒubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjŒubj()�”}”(hŒlist”h]”hŒlist”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjˆubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj÷h²hh³jh´Mšubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjóh²hh³jh´Mšubah}”(h]”jîah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jh´Mšhjðh²hubj)�”}”(hhh]”j )�”}”(hŒ5find dmi_system_id structure matching system DMI data”h]”hŒ5find dmi_system_id structure matching system DMI data”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mšhj)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðh²hh³jh´Mšubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jDj(jDj)‰j*‰j+‰uh1híh²hhhËh³Nh´Nubj-)�”}”(hX**Parameters** ``const struct dmi_system_id *list`` array of dmi_system_id structures to match against All non-null elements of the list must match their slot's (field index's) data (i.e., each list string must be a substring of the specified DMI slot's string data) to be considered a successful match. **Description** Walk the blacklist table until the first match is found. Return the pointer to the matching entry or NULL if there's no match. dmi_setup must be called before this function is called.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjNh]”hŒ Parameters”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MžhjHubjM)�”}”(hhh]”jR)�”}”(hX!``const struct dmi_system_id *list`` array of dmi_system_id structures to match against All non-null elements of the list must match their slot's (field index's) data (i.e., each list string must be a substring of the specified DMI slot's string data) to be considered a successful match. ”h]”(jX)�”}”(hŒ$``const struct dmi_system_id *list``”h]”j^)�”}”(hjmh]”hŒ const struct dmi_system_id *list”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjkubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M hjgubjt)�”}”(hhh]”j )�”}”(hŒûarray of dmi_system_id structures to match against All non-null elements of the list must match their slot's (field index's) data (i.e., each list string must be a substring of the specified DMI slot's string data) to be considered a successful match.”h]”hXarray of dmi_system_id structures to match against All non-null elements of the list must match their slot’s (field index’s) data (i.e., each list string must be a substring of the specified DMI slot’s string data) to be considered a successful match.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M›hjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j‚h´M hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjHubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj©h]”hŒ Description”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¢hjHubj²)�”}”(hŒ¹Walk the blacklist table until the first match is found. Return the pointer to the matching entry or NULL if there's no match. dmi_setup must be called before this function is called.”h]”(j )�”}”(hŒWalk the blacklist table until the first match is found. Return the pointer to the matching entry or NULL if there's no match.”h]”hŒ�Walk the blacklist table until the first match is found. Return the pointer to the matching entry or NULL if there’s no match.”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¡hj¿ubj )�”}”(hŒ8dmi_setup must be called before this function is called.”h]”hŒ8dmi_setup must be called before this function is called.”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¤hj¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jÑh´M¡hjHubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ dmi_get_system_info (C function)”Œc.dmi_get_system_info”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ,const char * dmi_get_system_info (int field)”h]”hù)�”}”(hŒ*const char *dmi_get_system_info(int field)”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjh²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M´ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³jh´M´ubhÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjh²hh³jh´M´ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³jh´M´ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjh²hh³jh´M´ubj")�”}”(hŒdmi_get_system_info”h]”j()�”}”(hŒdmi_get_system_info”h]”hŒdmi_get_system_info”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjLubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjh²hh³jh´M´ubjC)�”}”(hŒ (int field)”h]”jI)�”}”(hŒ int field”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjhubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjhubj()�”}”(hŒfield”h]”hŒfield”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjdubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjh²hh³jh´M´ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjÿh²hh³jh´M´ubah}”(h]”júah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jh´M´hjüh²hubj)�”}”(hhh]”j )�”}”(hŒreturn DMI data value”h]”hŒreturn DMI data value”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M´hj¯h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüh²hh³jh´M´ubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jÊj(jÊj)‰j*‰j+‰uh1híh²hhhËh³Nh´Nubj-)�”}”(hŒ§**Parameters** ``int field`` data index (see enum dmi_field) **Description** Returns one DMI data value, can be used to perform complex DMI data checks.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjÔh]”hŒ Parameters”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¸hjÎubjM)�”}”(hhh]”jR)�”}”(hŒ.``int field`` data index (see enum dmi_field) ”h]”(jX)�”}”(hŒ ``int field``”h]”j^)�”}”(hjóh]”hŒ int field”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mµhjíubjt)�”}”(hhh]”j )�”}”(hŒdata index (see enum dmi_field)”h]”hŒdata index (see enum dmi_field)”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´Mµhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jh´Mµhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjÎubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj.h]”hŒ Description”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M·hjÎubj²)�”}”(hŒKReturns one DMI data value, can be used to perform complex DMI data checks.”h]”j )�”}”(hŒKReturns one DMI data value, can be used to perform complex DMI data checks.”h]”hŒKReturns one DMI data value, can be used to perform complex DMI data checks.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¶hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jVh´M¶hjÎubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ dmi_name_in_vendors (C function)”Œc.dmi_name_in_vendors”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ)int dmi_name_in_vendors (const char *str)”h]”hù)�”}”(hŒ(int dmi_name_in_vendors(const char *str)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjyh²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÍubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjyh²hh³j‹h´MÍubj")�”}”(hŒdmi_name_in_vendors”h]”j()�”}”(hŒdmi_name_in_vendors”h]”hŒdmi_name_in_vendors”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjšubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjyh²hh³j‹h´MÍubjC)�”}”(hŒ(const char *str)”h]”jI)�”}”(hŒconst char *str”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj¶ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶ubhÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj¶ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj¶ubj()�”}”(hŒstr”h]”hŒstr”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj²ubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjyh²hh³j‹h´MÍubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjuh²hh³j‹h´MÍubah}”(h]”jpah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j‹h´MÍhjrh²hubj)�”}”(hhh]”j )�”}”(hŒ9Check if string is in the DMI system or board vendor name”h]”hŒ9Check if string is in the DMI system or board vendor name”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÍhj%h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjrh²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Œ9**Parameters** ``const char *str`` Case sensitive Name”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjJh]”hŒ Parameters”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÑhjDubjM)�”}”(hhh]”jR)�”}”(hŒ'``const char *str`` Case sensitive Name”h]”(jX)�”}”(hŒ``const char *str``”h]”j^)�”}”(hjih]”hŒconst char *str”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÓhjcubjt)�”}”(hhh]”j )�”}”(hŒCase sensitive Name”h]”hŒCase sensitive Name”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÎhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j~h´MÓhj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjDubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒdmi_find_device (C function)”Œc.dmi_find_device”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒeconst struct dmi_device * dmi_find_device (int type, const char *name, const struct dmi_device *from)”h]”hù)�”}”(hŒcconst struct dmi_device *dmi_find_device(int type, const char *name, const struct dmi_device *from)”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj¿h²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÞubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿h²hh³jÐh´MÞubjO)�”}”(hjoh]”hŒstruct”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj¿h²hh³jÐh´MÞubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿h²hh³jÐh´MÞubh)�”}”(hhh]”j()�”}”(hŒ dmi_device”h]”hŒ dmi_device”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjúubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jÿŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œdmi_find_device”sbŒc.dmi_find_device”†”asbuh1hhj¿h²hh³jÐh´MÞubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿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Þubj")�”}”(hŒdmi_find_device”h]”j()�”}”(hjh]”hŒdmi_find_device”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj9ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj¿h²hh³jÐh´MÞubjC)�”}”(hŒ;(int type, const char *name, const struct dmi_device *from)”h]”(jI)�”}”(hŒint type”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjTubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjTubj()�”}”(hŒtype”h]”hŒtype”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjPubjI)�”}”(hŒconst char *name”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj‰ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰ubhÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj‰ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj‰ubj()�”}”(hŒname”h]”hŒname”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjPubjI)�”}”(hŒconst struct dmi_device *from”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjæubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæubjO)�”}”(hjoh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjæubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæubh)�”}”(hhh]”j()�”}”(hŒ dmi_device”h]”hŒ dmi_device”…”�”}”(hj# h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j% Œmodname”NŒ classname”Nj§jª)�”}”j­]”jŒc.dmi_find_device”†”asbuh1hhjæubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjæubj()�”}”(hŒfrom”h]”hŒfrom”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjPubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj¿h²hh³jÐh´MÞubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj»h²hh³jÐh´MÞubah}”(h]”j¶ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÐh´MÞhj¸h²hubj)�”}”(hhh]”j )�”}”(hŒ find onboard device by type/name”h]”hŒ find onboard device by type/name”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MÞhjƒ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¸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-)�”}”(hXw**Parameters** ``int type`` device type or ``DMI_DEV_TYPE_ANY`` to match all device types ``const char *name`` device name string or ``NULL`` to match all ``const struct dmi_device *from`` previous device found in search, or ``NULL`` for new search. **Description** Iterates through the list of known onboard devices. If a device is found with a matching **type** and **name**, a pointer to its device structure is returned. Otherwise, ``NULL`` is returned. A new search is initiated by passing ``NULL`` as the **from** argument. If **from** is not ``NULL``, searches continue from next device.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj¨ h]”hŒ Parameters”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj¦ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mâhj¢ ubjM)�”}”(hhh]”(jR)�”}”(hŒK``int type`` device type or ``DMI_DEV_TYPE_ANY`` to match all device types ”h]”(jX)�”}”(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&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MßhjÁ ubjt)�”}”(hhh]”j )�”}”(hŒ=device type or ``DMI_DEV_TYPE_ANY`` to match all device types”h]”(hŒdevice type or ”…”�”}”(hjà h²hh³Nh´Nubj^)�”}”(hŒ``DMI_DEV_TYPE_ANY``”h]”hŒDMI_DEV_TYPE_ANY”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjà ubhŒ to match all device types”…”�”}”(hjà h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÜ h´MßhjÝ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjÁ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÜ h´Mßhj¾ ubjR)�”}”(hŒA``const char *name`` device name string or ``NULL`` to match all ”h]”(jX)�”}”(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&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Màhj ubjt)�”}”(hhh]”j )�”}”(hŒ+device name string or ``NULL`` to match all”h]”(hŒdevice name string or ”…”�”}”(hj+ h²hh³Nh´Nubj^)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj+ ubhŒ to match all”…”�”}”(hj+ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j' h´Màhj( ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j' h´Màhj¾ ubjR)�”}”(hŒ_``const struct dmi_device *from`` previous device found in search, or ``NULL`` for new search. ”h]”(jX)�”}”(hŒ!``const struct dmi_device *from``”h]”j^)�”}”(hj] h]”hŒconst struct dmi_device *from”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj[ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MáhjW ubjt)�”}”(hhh]”j )�”}”(hŒh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj¿ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿ubh)�”}”(hhh]”j()�”}”(hŒ dmi_header”h]”hŒ dmi_header”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjYubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j^Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£j©sbŒ c.dmi_walk”†”asbuh1hhj¿ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj¿ubjÄ)�”}”(hŒ,”h]”hŒ,”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj¿ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿ubhÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþ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¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj»ubjI)�”}”(hŒvoid *private_data”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjÔubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÔubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjÔubj()�”}”(hŒ private_data”h]”hŒ private_data”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjÔubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj»ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj‚h²hh³j”h´MYubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj~h²hh³j”h´MYubah}”(h]”jyah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j”h´MYhj{h²hubj)�”}”(hhh]”j )�”}”(hŒ7Walk the DMI table and get called back for every record”h]”hŒ7Walk the DMI table and get called back for every record”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MYhj(h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj{h²hh³j”h´MYubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jCj(jCj)‰j*‰j+‰uh1híh²hhhËh³Nh´Nubj-)�”}”(hX?**Parameters** ``void (*decode)(const struct dmi_header *, void *)`` Callback function ``void *private_data`` Private data to be passed to the callback function **Description** Returns 0 on success, -ENXIO if DMI is not selected or not present, or a different negative error code if DMI walking fails.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjMh]”hŒ Parameters”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M]hjGubjM)�”}”(hhh]”(jR)�”}”(hŒH``void (*decode)(const struct dmi_header *, void *)`` Callback function ”h]”(jX)�”}”(hŒ5``void (*decode)(const struct dmi_header *, void *)``”h]”j^)�”}”(hjlh]”hŒ1void (*decode)(const struct dmi_header *, void *)”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´MZhjfubjt)�”}”(hhh]”j )�”}”(hŒCallback function”h]”hŒCallback function”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´MZhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j�h´MZhjcubjR)�”}”(hŒJ``void *private_data`` Private data to be passed to the callback function ”h]”(jX)�”}”(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&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M[hjŸubjt)�”}”(hhh]”j )�”}”(hŒ2Private data to be passed to the callback function”h]”hŒ2Private data to be passed to the callback function”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jºh´M[hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jºh´M[hjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjGubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjàh]”hŒ Description”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M]hjGubj²)�”}”(hŒ|Returns 0 on success, -ENXIO if DMI is not selected or not present, or a different negative error code if DMI walking fails.”h]”j )�”}”(hŒ|Returns 0 on success, -ENXIO if DMI is not selected or not present, or a different negative error code if DMI walking fails.”h]”hŒ|Returns 0 on success, -ENXIO if DMI is not selected or not present, or a different negative error code if DMI walking fails.”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M\hjöubah}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jh´M\hjGubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒdmi_match (C function)”Œ c.dmi_match”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ2bool dmi_match (enum dmi_field f, const char *str)”h]”hù)�”}”(hŒ1bool dmi_match(enum dmi_field f, const char *str)”h]”(hÿ)�”}”(hjy h]”hŒbool”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj+h²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mtubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj+h²hh³j<h´Mtubj")�”}”(hŒ dmi_match”h]”j()�”}”(hŒ dmi_match”h]”hŒ dmi_match”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjKubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj+h²hh³j<h´MtubjC)�”}”(hŒ#(enum dmi_field f, const char *str)”h]”(jI)�”}”(hŒenum dmi_field f”h]”(jO)�”}”(hŒenum”h]”hŒenum”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjgubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjgubh)�”}”(hhh]”j()�”}”(hŒ dmi_field”h]”hŒ dmi_field”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj‡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jŒŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jQsbŒ c.dmi_match”†”asbuh1hhjgubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjgubj()�”}”(hŒf”h]”hŒf”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjcubjI)�”}”(hŒconst char *str”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjÍubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÍubhÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjÍubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÍubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjÍubj()�”}”(hŒstr”h]”hŒstr”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjÍubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjcubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj+h²hh³j<h´Mtubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj'h²hh³j<h´Mtubah}”(h]”j"ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j<h´Mthj$h²hubj)�”}”(hhh]”j )�”}”(hŒ-compare a string to the dmi field (if exists)”h]”hŒ-compare a string to the dmi field (if exists)”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mthj<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$h²hh³j<h´Mtubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jWj(jWj)‰j*‰j+‰uh1híh²hhhËh³Nh´Nubj-)�”}”(hŒÏ**Parameters** ``enum dmi_field f`` DMI field identifier ``const char *str`` string to compare the DMI field to **Description** Returns true if the requested field equals to the str (including NULL).”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjah]”hŒ Parameters”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mxhj[ubjM)�”}”(hhh]”(jR)�”}”(hŒ*``enum dmi_field f`` DMI field identifier ”h]”(jX)�”}”(hŒ``enum dmi_field f``”h]”j^)�”}”(hj€h]”hŒenum dmi_field f”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Muhjzubjt)�”}”(hhh]”j )�”}”(hŒDMI field identifier”h]”hŒDMI field identifier”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j•h´Muhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j•h´MuhjwubjR)�”}”(hŒ7``const char *str`` string to compare the DMI field to ”h]”(jX)�”}”(hŒ``const char *str``”h]”j^)�”}”(hj¹h]”hŒconst char *str”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mvhj³ubjt)�”}”(hhh]”j )�”}”(hŒ"string to compare the DMI field to”h]”hŒ"string to compare the DMI field to”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÎh´MvhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÎh´Mvhjwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhj[ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjôh]”hŒ Description”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mxhj[ubj )�”}”(hŒGReturns true if the requested field equals to the str (including NULL).”h]”hŒGReturns true if the requested field equals to the str (including NULL).”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mwhj[ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒdmi_memdev_type (C function)”Œc.dmi_memdev_type”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒu8 dmi_memdev_type (u16 handle)”h]”hù)�”}”(hŒu8 dmi_memdev_type(u16 handle)”h]”(h)�”}”(hhh]”j()�”}”(hŒu8”h]”hŒu8”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j>Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œdmi_memdev_type”sbŒc.dmi_memdev_type”†”asbuh1hhj5h²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¥ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5h²hh³j]h´M¥ubj")�”}”(hŒdmi_memdev_type”h]”j()�”}”(hjZh]”hŒdmi_memdev_type”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjlubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj5h²hh³j]h´M¥ubjC)�”}”(hŒ (u16 handle)”h]”jI)�”}”(hŒ u16 handle”h]”(h)�”}”(hhh]”j()�”}”(hŒu16”h]”hŒu16”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j�Œmodname”NŒ classname”Nj§jª)�”}”j­]”jXŒc.dmi_memdev_type”†”asbuh1hhj‡ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‡ubj()�”}”(hŒhandle”h]”hŒhandle”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj‡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjƒubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj5h²hh³j]h´M¥ubeh}”(h]”h ]”h"]”h$]”h&]”j@• jAjõˆuh1højöj÷hj1h²hh³j]h´M¥ubah}”(h]”j,ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j]h´M¥hj.h²hubj)�”}”(hhh]”j )�”}”(hŒget the memory type”h]”hŒget the memory type”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¥hjáh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.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** ``u16 handle`` DMI structure handle **Description** Return the DMI memory type of the module in the slot associated with the given DMI handle, or 0x0 if no such DMI handle exists.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M©hjubjM)�”}”(hhh]”jR)�”}”(hŒ$``u16 handle`` DMI structure handle ”h]”(jX)�”}”(hŒ``u16 handle``”h]”j^)�”}”(hj%h]”hŒ u16 handle”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¦hjubjt)�”}”(hhh]”j )�”}”(hŒDMI structure handle”h]”hŒDMI structure handle”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j:h´M¦hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j:h´M¦hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj`h]”hŒ Description”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¨hjubj )�”}”(hŒReturn the DMI memory type of the module in the slot associated with the given DMI handle, or 0x0 if no such DMI handle exists.”h]”hŒReturn the DMI memory type of the module in the slot associated with the given DMI handle, or 0x0 if no such DMI handle exists.”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M§hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒdmi_memdev_handle (C function)”Œc.dmi_memdev_handle”hNt”auh1hÜhhËh²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ u16 dmi_memdev_handle (int slot)”h]”hù)�”}”(hŒu16 dmi_memdev_handle(int slot)”h]”(h)�”}”(hhh]”j()�”}”(hŒu16”h]”hŒu16”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jªŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œdmi_memdev_handle”sbŒc.dmi_memdev_handle”†”asbuh1hhj¡h²hh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mºubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¡h²hh³jÉh´Mºubj")�”}”(hŒdmi_memdev_handle”h]”j()�”}”(hjÆh]”hŒdmi_memdev_handle”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjØubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj¡h²hh³jÉh´MºubjC)�”}”(hŒ (int slot)”h]”jI)�”}”(hŒint slot”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjóubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjóubj()�”}”(hŒslot”h]”hŒslot”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjóubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjïubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj¡h²hh³jÉh´Mºubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj�h²hh³jÉh´Mºubah}”(h]”j˜ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÉh´Mºhjšh²hubj)�”}”(hhh]”j )�”}”(hŒ#get the DMI handle of a memory slot”h]”hŒ#get the DMI handle of a memory slot”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´Mºhj:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjšh²hh³jÉh´Mºubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jUj(jUj)‰j*‰j+‰uh1híh²hhhËh³Nh´Nubj-)�”}”(hŒ©**Parameters** ``int slot`` slot number **Description** Return the DMI handle associated with a given memory slot, or ``0xFFFF`` if there is no such slot.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj_h]”hŒ Parameters”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¾hjYubjM)�”}”(hhh]”jR)�”}”(hŒ``int slot`` slot number ”h]”(jX)�”}”(hŒ ``int slot``”h]”j^)�”}”(hj~h]”hŒint slot”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M»hjxubjt)�”}”(hhh]”j )�”}”(hŒ slot number”h]”hŒ slot number”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j“h´M»hj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j“h´M»hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjYubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj¹h]”hŒ Description”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M½hjYubj²)�”}”(hŒbReturn the DMI handle associated with a given memory slot, or ``0xFFFF`` if there is no such slot.”h]”j )�”}”(hŒbReturn the DMI handle associated with a given memory slot, or ``0xFFFF`` if there is no such slot.”h]”(hŒ>Return the DMI handle associated with a given memory slot, or ”…”�”}”(hjÓh²hh³Nh´Nubj^)�”}”(hŒ ``0xFFFF``”h]”hŒ0xFFFF”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjÓubhŒ if there is no such slot.”…”�”}”(hjÓh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œo/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:7: ./drivers/firmware/dmi_scan.c”h´M¼hjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jóh´M¼hjYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hhËh²hh³Nh´Nubeh}”(h]”Œdmi-interfaces”ah ]”h"]”Œdmi interfaces”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒEDD Interfaces”h]”hŒEDD Interfaces”…”�”}”(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éŒedd_show_raw_data (C function)”Œc.edd_show_raw_data”hNt”auh1hÜhj h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ>ssize_t edd_show_raw_data (struct edd_device *edev, char *buf)”h]”hù)�”}”(hŒ=ssize_t edd_show_raw_data(struct edd_device *edev, char *buf)”h]”(h)�”}”(hhh]”j()�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j8Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œedd_show_raw_data”sbŒc.edd_show_raw_data”†”asbuh1hhj/h²hh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Kâubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj/h²hh³jWh´Kâubj")�”}”(hŒedd_show_raw_data”h]”j()�”}”(hjTh]”hŒedd_show_raw_data”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjfubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj/h²hh³jWh´KâubjC)�”}”(hŒ$(struct edd_device *edev, char *buf)”h]”(jI)�”}”(hŒstruct edd_device *edev”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj�ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�ubh)�”}”(hhh]”j()�”}”(hŒ edd_device”h]”hŒ edd_device”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j¥Œmodname”NŒ classname”Nj§jª)�”}”j­]”jRŒc.edd_show_raw_data”†”asbuh1hhj�ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj�ubj()�”}”(hŒedev”h]”hŒedev”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj}ubjI)�”}”(hŒ char *buf”h]”(hÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjñubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjñubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjñubj()�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj}ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj/h²hh³jWh´Kâubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj+h²hh³jWh´Kâubah}”(h]”j&ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jWh´Kâhj(h²hubj)�”}”(hhh]”j )�”}”(hŒ0copies raw data to buffer for userspace to parse”h]”hŒ0copies raw data to buffer for userspace to parse”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´KâhjEh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj(h²hh³jWh´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 edd_device *edev`` target edd_device ``char *buf`` output buffer **Return** number of bytes written, or -EINVAL on failure”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjjh]”hŒ Parameters”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´KæhjdubjM)�”}”(hhh]”(jR)�”}”(hŒ.``struct edd_device *edev`` target edd_device ”h]”(jX)�”}”(hŒ``struct edd_device *edev``”h]”j^)�”}”(hj‰h]”hŒstruct edd_device *edev”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Kãhjƒubjt)�”}”(hhh]”j )�”}”(hŒtarget edd_device”h]”hŒtarget edd_device”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jžh´KãhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jžh´Kãhj€ubjR)�”}”(hŒ``char *buf`` output buffer ”h]”(jX)�”}”(hŒ ``char *buf``”h]”j^)�”}”(hjÂh]”hŒ char *buf”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Kähj¼ubjt)�”}”(hhh]”j )�”}”(hŒ output buffer”h]”hŒ output buffer”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j×h´KähjØubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j×h´Kähj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjdubj )�”}”(hŒ **Return**”h]”j7)�”}”(hjýh]”hŒReturn”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Kæhjdubj )�”}”(hŒ.number of bytes written, or -EINVAL on failure”h]”hŒ.number of bytes written, or -EINVAL on failure”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Kæhjdubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hj h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒedd_release (C function)”Œ c.edd_release”hNt”auh1hÜhj h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ(void edd_release (struct kobject * kobj)”h]”hù)�”}”(hŒ&void edd_release(struct kobject *kobj)”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj>h²hh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MUubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj>h²hh³jPh´MUubj")�”}”(hŒ edd_release”h]”j()�”}”(hŒ edd_release”h]”hŒ edd_release”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj_ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj>h²hh³jPh´MUubjC)�”}”(hŒ(struct kobject *kobj)”h]”jI)�”}”(hŒstruct kobject *kobj”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj{ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{ubh)�”}”(hhh]”j()�”}”(hŒkobject”h]”hŒkobject”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jŸŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jesbŒ c.edd_release”†”asbuh1hhj{ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj{ubj()�”}”(hŒkobj”h]”hŒkobj”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjwubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj>h²hh³jPh´MUubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj:h²hh³jPh´MUubah}”(h]”j5ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jPh´MUhj7h²hubj)�”}”(hhh]”j )�”}”(hŒfree edd structure”h]”hŒfree edd structure”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MUhjÿh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7h²hh³jPh´MUubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jj(jj)‰j*‰j+‰uh1híh²hhj h³Nh´Nubj-)�”}”(hX **Parameters** ``struct kobject * kobj`` kobject of edd structure **Description** This is called when the refcount of the edd structure reaches 0. This should happen right after we unregister, but just in case, we use the release callback anyway.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj$h]”hŒ Parameters”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MYhjubjM)�”}”(hhh]”jR)�”}”(hŒ3``struct kobject * kobj`` kobject of edd structure ”h]”(jX)�”}”(hŒ``struct kobject * kobj``”h]”j^)�”}”(hjCh]”hŒstruct kobject * kobj”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MVhj=ubjt)�”}”(hhh]”j )�”}”(hŒkobject of edd structure”h]”hŒkobject of edd structure”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jXh´MVhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jXh´MVhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj~h]”hŒ Description”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MXhjubj²)�”}”(hŒ¤This is called when the refcount of the edd structure reaches 0. This should happen right after we unregister, but just in case, we use the release callback anyway.”h]”j )�”}”(hŒ¤This is called when the refcount of the edd structure reaches 0. This should happen right after we unregister, but just in case, we use the release callback anyway.”h]”hŒ¤This is called when the refcount of the edd structure reaches 0. This should happen right after we unregister, but just in case, we use the release callback anyway.”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MWhj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1j±h³j¦h´MWhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hj h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒedd_dev_is_type (C function)”Œc.edd_dev_is_type”hNt”auh1hÜhj h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ?int edd_dev_is_type (struct edd_device *edev, const char *type)”h]”hù)�”}”(hŒ>int edd_dev_is_type(struct edd_device *edev, const char *type)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjÉh²hh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mlubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÉh²hh³jÛh´Mlubj")�”}”(hŒedd_dev_is_type”h]”j()�”}”(hŒedd_dev_is_type”h]”hŒedd_dev_is_type”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjêubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjÉh²hh³jÛh´MlubjC)�”}”(hŒ+(struct edd_device *edev, const char *type)”h]”(jI)�”}”(hŒstruct edd_device *edev”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubh)�”}”(hhh]”j()�”}”(hŒ edd_device”h]”hŒ edd_device”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j*Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jðsbŒc.edd_dev_is_type”†”asbuh1hhjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjubj()�”}”(hŒedev”h]”hŒedev”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjubjI)�”}”(hŒconst char *type”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjxubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjxubhÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjxubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjxubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjxubj()�”}”(hŒtype”h]”hŒtype”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjÉh²hh³jÛh´Mlubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjÅh²hh³jÛh´Mlubah}”(h]”jÀah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÛh´MlhjÂh²hubj)�”}”(hhh]”j )�”}”(hŒ#is this EDD device a 'type' device?”h]”hŒ'is this EDD device a ‘type’ device?”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mlhjçh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÂh²hh³jÛh´Mlubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jj(jj)‰j*‰j+‰uh1híh²hhj h³Nh´Nubj-)�”}”(hŒÜ**Parameters** ``struct edd_device *edev`` target edd_device ``const char *type`` a host bus or interface identifier string per the EDD spec **Description** Returns 1 (TRUE) if it is a 'type' device, 0 otherwise.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj h]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MphjubjM)�”}”(hhh]”(jR)�”}”(hŒ.``struct edd_device *edev`` target edd_device ”h]”(jX)�”}”(hŒ``struct edd_device *edev``”h]”j^)�”}”(hj+h]”hŒstruct edd_device *edev”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mmhj%ubjt)�”}”(hhh]”j )�”}”(hŒtarget edd_device”h]”hŒtarget edd_device”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j@h´MmhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j@h´Mmhj"ubjR)�”}”(hŒP``const char *type`` a host bus or interface identifier string per the EDD spec ”h]”(jX)�”}”(hŒ``const char *type``”h]”j^)�”}”(hjdh]”hŒconst char *type”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mnhj^ubjt)�”}”(hhh]”j )�”}”(hŒ:a host bus or interface identifier string per the EDD spec”h]”hŒ:a host bus or interface identifier string per the EDD spec”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jyh´Mnhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jyh´Mnhj"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjŸh]”hŒ Description”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mphjubj )�”}”(hŒ7Returns 1 (TRUE) if it is a 'type' device, 0 otherwise.”h]”hŒ;Returns 1 (TRUE) if it is a ‘type’ device, 0 otherwise.”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mohjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hj h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒedd_get_pci_dev (C function)”Œc.edd_get_pci_dev”hNt”auh1hÜhj h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ:struct pci_dev * edd_get_pci_dev (struct edd_device *edev)”h]”hù)�”}”(hŒ8struct pci_dev *edd_get_pci_dev(struct edd_device *edev)”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjàh²hh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Mƒubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjàh²hh³jñh´Mƒubh)�”}”(hhh]”j()�”}”(hŒpci_dev”h]”hŒpci_dev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œedd_get_pci_dev”sbŒc.edd_get_pci_dev”†”asbuh1hhjàh²hh³jñh´Mƒubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjàh²hh³jñh´MƒubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjàh²hh³jñh´Mƒubj")�”}”(hŒedd_get_pci_dev”h]”j()�”}”(hj!h]”hŒedd_get_pci_dev”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj?ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjàh²hh³jñh´MƒubjC)�”}”(hŒ(struct edd_device *edev)”h]”jI)�”}”(hŒstruct edd_device *edev”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjZubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjZubh)�”}”(hhh]”j()�”}”(hŒ edd_device”h]”hŒ edd_device”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjyubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j~Œmodname”NŒ classname”Nj§jª)�”}”j­]”jŒc.edd_get_pci_dev”†”asbuh1hhjZubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjZubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjZubj()�”}”(hŒedev”h]”hŒedev”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjZubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjVubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjàh²hh³jñh´Mƒubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjÜh²hh³jñh´Mƒubah}”(h]”j×ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jñh´MƒhjÙh²hubj)�”}”(hhh]”j )�”}”(hŒfinds pci_dev that matches edev”h]”hŒfinds pci_dev that matches edev”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MƒhjÜh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙh²hh³jñh´Mƒubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'j÷j(j÷j)‰j*‰j+‰uh1híh²hhj h³Nh´Nubj-)�”}”(hŒl**Parameters** ``struct edd_device *edev`` edd_device **Description** Returns pci_dev if found, or NULL”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´M‡hjûubjM)�”}”(hhh]”jR)�”}”(hŒ'``struct edd_device *edev`` edd_device ”h]”(jX)�”}”(hŒ``struct edd_device *edev``”h]”j^)�”}”(hj h]”hŒstruct edd_device *edev”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´M„hjubjt)�”}”(hhh]”j )�”}”(hŒ edd_device”h]”hŒ edd_device”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j5h´M„hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j5h´M„hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjûubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj[h]”hŒ Description”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´M†hjûubj )�”}”(hŒ!Returns pci_dev if found, or NULL”h]”hŒ!Returns pci_dev if found, or NULL”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.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éŒedd_init (C function)”Œ c.edd_init”hNt”auh1hÜhj h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒint edd_init (void)”h]”hù)�”}”(hŒint edd_init(void)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjœh²hh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MÓubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjœh²hh³j®h´MÓubj")�”}”(hŒedd_init”h]”j()�”}”(hŒedd_init”h]”hŒedd_init”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj½ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjœh²hh³j®h´MÓubjC)�”}”(hŒ(void)”h]”jI)�”}”(hŒvoid”h]”hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjÙubah}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjÕubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjœh²hh³j®h´MÓubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj˜h²hh³j®h´MÓubah}”(h]”j“ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j®h´MÓhj•h²hubj)�”}”(hhh]”j )�”}”(hŒcreates sysfs tree of EDD data”h]”hŒcreates sysfs tree of EDD data”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MÓhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•h²hh³j®h´MÓubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'jj(jj)‰j*‰j+‰uh1híh²hhj h³Nh´Nubj-)�”}”(hŒ'**Parameters** ``void`` no arguments”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj)h]”hŒ Parameters”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´M×hj#ubjM)�”}”(hhh]”jR)�”}”(hŒ``void`` no arguments”h]”(jX)�”}”(hŒ``void``”h]”j^)�”}”(hjHh]”hŒvoid”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´MÙhjBubjt)�”}”(hhh]”j )�”}”(hŒ no arguments”h]”hŒ no arguments”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œk/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:13: ./drivers/firmware/edd.c”h´Khj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j]h´MÙhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhj#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hj h²hh³Nh´Nubeh}”(h]”Œedd-interfaces”ah ]”h"]”Œedd interfaces”ah$]”h&]”uh1hµhh·h²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒ%Generic System Framebuffers Interface”h]”hŒ%Generic System Framebuffers Interface”…”�”}”(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éŒsysfb_disable (C function)”Œc.sysfb_disable”hNt”auh1hÜhj‘h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ'void sysfb_disable (struct device *dev)”h]”hù)�”}”(hŒ&void sysfb_disable(struct device *dev)”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj·h²hh³Œm/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:19: ./drivers/firmware/sysfb.c”h´K8ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj·h²hh³jÉh´K8ubj")�”}”(hŒ sysfb_disable”h]”j()�”}”(hŒ sysfb_disable”h]”hŒ sysfb_disable”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjØubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj·h²hh³jÉh´K8ubjC)�”}”(hŒ(struct device *dev)”h]”jI)�”}”(hŒstruct device *dev”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjôubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjôubh)�”}”(hhh]”j()�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jÞsbŒc.sysfb_disable”†”asbuh1hhjôubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjôubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjD h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjôubj()�”}”(hŒdev”h]”hŒdev”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjðubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj·h²hh³jÉh´K8ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj³h²hh³jÉh´K8ubah}”(h]”j®ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÉh´K8hj°h²hubj)�”}”(hhh]”j )�”}”(hŒ/disable the Generic System Framebuffers support”h]”hŒ/disable the Generic System Framebuffers support”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œm/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:19: ./drivers/firmware/sysfb.c”h´K8hjx h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj°h²hh³jÉh´K8ubeh}”(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 device *dev`` the device to check if non-NULL **Description** This disables the registration of system framebuffer devices that match the generic drivers that make use of the system framebuffer set up by firmware. It also unregisters a device if this was already registered by sysfb_init(). **Context** The function can sleep. A **disable_lock** mutex is acquired to serialize against sysfb_init(), that registers a system framebuffer device.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj� h]”hŒ Parameters”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj› ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œm/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:19: ./drivers/firmware/sysfb.c”h´K'h´Kšhj�#ubjR)�”}”(hŒŠ``COMMAND_FCS_GET_PROVISION_DATA`` read the provisioning data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ"``COMMAND_FCS_GET_PROVISION_DATA``”h]”j^)�”}”(hjc'h]”hŒCOMMAND_FCS_GET_PROVISION_DATA”…”�”}”(hje'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hja'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kžhj]'ubjt)�”}”(hhh]”j )�”}”(hŒfread the provisioning data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR”h]”hŒfread the provisioning data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR”…”�”}”(hj|'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K�hjy'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj]'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jx'h´Kžhj�#ubjR)�”}”(hŒ}``COMMAND_FCS_DATA_ENCRYPTION`` encrypt the data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ``COMMAND_FCS_DATA_ENCRYPTION``”h]”j^)�”}”(hj�'h]”hŒCOMMAND_FCS_DATA_ENCRYPTION”…”�”}”(hjŸ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj›'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¢hj—'ubjt)�”}”(hhh]”j )�”}”(hŒ\encrypt the data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR”h]”hŒ\encrypt the data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR”…”�”}”(hj¶'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¡hj³'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj—'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j²'h´K¢hj�#ubjR)�”}”(hŒ}``COMMAND_FCS_DATA_DECRYPTION`` decrypt the data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ``COMMAND_FCS_DATA_DECRYPTION``”h]”j^)�”}”(hj×'h]”hŒCOMMAND_FCS_DATA_DECRYPTION”…”�”}”(hjÙ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjÕ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¦hjÑ'ubjt)�”}”(hhh]”j )�”}”(hŒ\decrypt the data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR”h]”hŒ\decrypt the data, return status is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR”…”�”}”(hjð'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¥hjí'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjÑ'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jì'h´K¦hj�#ubjR)�”}”(hŒm``COMMAND_FCS_RANDOM_NUMBER_GEN`` generate a random number, return status is SVC_STATUS_OK, SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ!``COMMAND_FCS_RANDOM_NUMBER_GEN``”h]”j^)�”}”(hj(h]”hŒCOMMAND_FCS_RANDOM_NUMBER_GEN”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kªhj (ubjt)�”}”(hhh]”j )�”}”(hŒJgenerate a random number, return status is SVC_STATUS_OK, SVC_STATUS_ERROR”h]”hŒJgenerate a random number, return status is SVC_STATUS_OK, SVC_STATUS_ERROR”…”�”}”(hj*(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K©hj'(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj (ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j&(h´Kªhj�#ubjR)�”}”(hŒ�``COMMAND_POLL_SERVICE_STATUS`` poll if the service request is complete, return statis is SVC_STATUS_OK, SVC_STATUS_ERROR or SVC_STATUS_BUSY ”h]”(jX)�”}”(hŒ``COMMAND_POLL_SERVICE_STATUS``”h]”j^)�”}”(hjK(h]”hŒCOMMAND_POLL_SERVICE_STATUS”…”�”}”(hjM(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjI(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K®hjE(ubjt)�”}”(hhh]”j )�”}”(hŒlpoll if the service request is complete, return statis is SVC_STATUS_OK, SVC_STATUS_ERROR or SVC_STATUS_BUSY”h]”hŒlpoll if the service request is complete, return statis is SVC_STATUS_OK, SVC_STATUS_ERROR or SVC_STATUS_BUSY”…”�”}”(hjd(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K­hja(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjE(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j`(h´K®hj�#ubjR)�”}”(hŒk``COMMAND_MBOX_SEND_CMD`` send generic mailbox command, return status is SVC_STATUS_OK or SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ``COMMAND_MBOX_SEND_CMD``”h]”j^)�”}”(hj…(h]”hŒCOMMAND_MBOX_SEND_CMD”…”�”}”(hj‡(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjƒ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K²hj(ubjt)�”}”(hhh]”j )�”}”(hŒPsend generic mailbox command, return status is SVC_STATUS_OK or SVC_STATUS_ERROR”h]”hŒPsend generic mailbox command, return status is SVC_STATUS_OK or SVC_STATUS_ERROR”…”�”}”(hjž(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K±hj›(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jš(h´K²hj�#ubjR)�”}”(hŒ\``COMMAND_SMC_SVC_VERSION`` Non-mailbox SMC SVC API Version, return status is SVC_STATUS_OK ”h]”(jX)�”}”(hŒ``COMMAND_SMC_SVC_VERSION``”h]”j^)�”}”(hj¿(h]”hŒCOMMAND_SMC_SVC_VERSION”…”�”}”(hjÁ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj½(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¶hj¹(ubjt)�”}”(hhh]”j )�”}”(hŒ?Non-mailbox SMC SVC API Version, return status is SVC_STATUS_OK”h]”hŒ?Non-mailbox SMC SVC API Version, return status is SVC_STATUS_OK”…”�”}”(hjØ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KµhjÕ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj¹(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÔ(h´K¶hj�#ubjR)�”}”(hŒ``COMMAND_HWMON_READTEMP`` query the temperature from the hardware monitor, return status is SVC_STATUS_OK or SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ``COMMAND_HWMON_READTEMP``”h]”j^)�”}”(hjù(h]”hŒCOMMAND_HWMON_READTEMP”…”�”}”(hjû(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj÷(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kºhjó(ubjt)�”}”(hhh]”j )�”}”(hŒcquery the temperature from the hardware monitor, return status is SVC_STATUS_OK or SVC_STATUS_ERROR”h]”hŒcquery the temperature from the hardware monitor, return status is SVC_STATUS_OK or SVC_STATUS_ERROR”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¹hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjó(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j)h´Kºhj�#ubjR)�”}”(hŒ{``COMMAND_HWMON_READVOLT`` query the voltage from the hardware monitor, return status is SVC_STATUS_OK or SVC_STATUS_ERROR ”h]”(jX)�”}”(hŒ``COMMAND_HWMON_READVOLT``”h]”j^)�”}”(hj3)h]”hŒCOMMAND_HWMON_READVOLT”…”�”}”(hj5)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj1)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K¾hj-)ubjt)�”}”(hhh]”j )�”}”(hŒ_query the voltage from the hardware monitor, return status is SVC_STATUS_OK or SVC_STATUS_ERROR”h]”hŒ_query the voltage from the hardware monitor, return status is SVC_STATUS_OK or SVC_STATUS_ERROR”…”�”}”(hjL)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´K½hjI)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj-)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jH)h´K¾hj�#ubjR)�”}”(hŒ_``COMMAND_SMC_ATF_BUILD_VER`` Non-mailbox SMC ATF Build Version, return status is SVC_STATUS_OK”h]”(jX)�”}”(hŒ``COMMAND_SMC_ATF_BUILD_VER``”h]”j^)�”}”(hjm)h]”hŒCOMMAND_SMC_ATF_BUILD_VER”…”�”}”(hjo)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjk)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:35: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÁhjg)ubjt)�”}”(hhh]”j )�”}”(hŒANon-mailbox SMC ATF Build Version, return status is SVC_STATUS_OK”h]”hŒANon-mailbox SMC ATF Build Version, return status is SVC_STATUS_OK”…”�”}”(hj†)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‚)h´KÁhjƒ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjg)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j‚)h´KÁhj�#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhje#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ#stratix10_svc_client_msg (C struct)”Œc.stratix10_svc_client_msg”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒstratix10_svc_client_msg”h]”hù)�”}”(hŒstruct stratix10_svc_client_msg”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjÆ)h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjÂ)h²hh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÂ)h²hh³jÓ)h´Kubj")�”}”(hŒstratix10_svc_client_msg”h]”j()�”}”(hjÀ)h]”hŒstratix10_svc_client_msg”…”�”}”(hjæ)h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjâ)ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjÂ)h²hh³jÓ)h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj¾)h²hh³jÓ)h´Kubah}”(h]”j¹)ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÓ)h´Khj»)h²hubj)�”}”(hhh]”j )�”}”(hŒ!message sent by client to service”h]”hŒ!message sent by client to service”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÌhj*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»)h²hh³jÓ)h´Kubeh}”(h]”h ]”(j¡Œstruct”eh"]”h$]”h&]”j&j¡j'j *j(j *j)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hXj **Definition**:: struct stratix10_svc_client_msg { void *payload; size_t payload_length; void *payload_output; size_t payload_length_output; enum stratix10_svc_command_code command; u64 arg[3]; }; **Members** ``payload`` starting address of data need be processed ``payload_length`` to be processed data size in bytes ``payload_output`` starting address of processed data ``payload_length_output`` processed data size in bytes ``command`` service command ``arg`` args to be passed via registers and not physically mapped buffers”h]”(j²)�”}”(hŒú**Definition**:: struct stratix10_svc_client_msg { void *payload; size_t payload_length; void *payload_output; size_t payload_length_output; enum stratix10_svc_command_code command; u64 arg[3]; }; ”h]”(j )�”}”(hŒ**Definition**::”h]”(j7)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj0*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj,*ubhŒ:”…”�”}”(hj,*h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÐhj(*ubhŒ literal_block”“”)�”}”(hŒ×struct stratix10_svc_client_msg { void *payload; size_t payload_length; void *payload_output; size_t payload_length_output; enum stratix10_svc_command_code command; u64 arg[3]; };”h]”hŒ×struct stratix10_svc_client_msg { void *payload; size_t payload_length; void *payload_output; size_t payload_length_output; enum stratix10_svc_command_code command; u64 arg[3]; };”…”�”}”hjK*sbah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jI*h³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÒhj(*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jH*h´KÐhj$*ubj )�”}”(hŒ **Members**”h]”j7)�”}”(hjb*h]”hŒMembers”…”�”}”(hjd*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj`*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÛhj$*ubjM)�”}”(hhh]”(jR)�”}”(hŒ7``payload`` starting address of data need be processed ”h]”(jX)�”}”(hŒ ``payload``”h]”j^)�”}”(hj�*h]”hŒpayload”…”�”}”(hjƒ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÎhj{*ubjt)�”}”(hhh]”j )�”}”(hŒ*starting address of data need be processed”h]”hŒ*starting address of data need be processed”…”�”}”(hjš*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j–*h´KÎhj—*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj{*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j–*h´KÎhjx*ubjR)�”}”(hŒ6``payload_length`` to be processed data size in bytes ”h]”(jX)�”}”(hŒ``payload_length``”h]”j^)�”}”(hjº*h]”hŒpayload_length”…”�”}”(hj¼*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj¸*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÏhj´*ubjt)�”}”(hhh]”j )�”}”(hŒ"to be processed data size in bytes”h]”hŒ"to be processed data size in bytes”…”�”}”(hjÓ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÏ*h´KÏhjÐ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj´*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÏ*h´KÏhjx*ubjR)�”}”(hŒ6``payload_output`` starting address of processed data ”h]”(jX)�”}”(hŒ``payload_output``”h]”j^)�”}”(hjó*h]”hŒpayload_output”…”�”}”(hjõ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjñ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÐhjí*ubjt)�”}”(hhh]”j )�”}”(hŒ"starting address of processed data”h]”hŒ"starting address of processed data”…”�”}”(hj +h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j+h´KÐhj +ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjí*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j+h´KÐhjx*ubjR)�”}”(hŒ7``payload_length_output`` processed data size in bytes ”h]”(jX)�”}”(hŒ``payload_length_output``”h]”j^)�”}”(hj,+h]”hŒpayload_length_output”…”�”}”(hj.+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj*+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÑhj&+ubjt)�”}”(hhh]”j )�”}”(hŒprocessed data size in bytes”h]”hŒprocessed data size in bytes”…”�”}”(hjE+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jA+h´KÑhjB+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj&+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jA+h´KÑhjx*ubjR)�”}”(hŒ``command`` service command ”h]”(jX)�”}”(hŒ ``command``”h]”j^)�”}”(hje+h]”hŒcommand”…”�”}”(hjg+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjc+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÒhj_+ubjt)�”}”(hhh]”j )�”}”(hŒservice command”h]”hŒservice command”…”�”}”(hj~+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jz+h´KÒhj{+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj_+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jz+h´KÒhjx*ubjR)�”}”(hŒI``arg`` args to be passed via registers and not physically mapped buffers”h]”(jX)�”}”(hŒ``arg``”h]”j^)�”}”(hjž+h]”hŒarg”…”�”}”(hj +h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjœ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÒhj˜+ubjt)�”}”(hhh]”j )�”}”(hŒAargs to be passed via registers and not physically mapped buffers”h]”hŒAargs to be passed via registers and not physically mapped buffers”…”�”}”(hj·+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:38: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÓhj´+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj˜+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j³+h´KÒhjx*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhj$*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ,stratix10_svc_command_config_type (C struct)”Œ#c.stratix10_svc_command_config_type”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ!stratix10_svc_command_config_type”h]”hù)�”}”(hŒ(struct stratix10_svc_command_config_type”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjø+h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjô+h²hh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjô+h²hh³j,h´Kubj")�”}”(hŒ!stratix10_svc_command_config_type”h]”j()�”}”(hjò+h]”hŒ!stratix10_svc_command_config_type”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj,ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjô+h²hh³j,h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjð+h²hh³j,h´Kubah}”(h]”jë+ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j,h´Khjí+h²hubj)�”}”(hhh]”j )�”}”(hŒ config type”h]”hŒ config type”…”�”}”(hj:,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KÞhj7,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjí+h²hh³j,h´Kubeh}”(h]”h ]”(j¡Œstruct”eh"]”h$]”h&]”j&j¡j'jR,j(jR,j)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hŒ¤ **Definition**:: struct stratix10_svc_command_config_type { u32 flags; }; **Members** ``flags`` flag bit for the type of FPGA configuration”h]”(j²)�”}”(hŒW**Definition**:: struct stratix10_svc_command_config_type { u32 flags; }; ”h]”(j )�”}”(hŒ**Definition**::”h]”(j7)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjb,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj^,ubhŒ:”…”�”}”(hj^,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KâhjZ,ubjJ*)�”}”(hŒ>struct stratix10_svc_command_config_type { u32 flags; };”h]”hŒ>struct stratix10_svc_command_config_type { u32 flags; };”…”�”}”hj{,sbah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jI*h³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KähjZ,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jz,h´KâhjV,ubj )�”}”(hŒ **Members**”h]”j7)�”}”(hj’,h]”hŒMembers”…”�”}”(hj”,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj�,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KèhjV,ubjM)�”}”(hhh]”jR)�”}”(hŒ5``flags`` flag bit for the type of FPGA configuration”h]”(jX)�”}”(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&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kßhj«,ubjt)�”}”(hhh]”j )�”}”(hŒ+flag bit for the type of FPGA configuration”h]”hŒ+flag bit for the type of FPGA configuration”…”�”}”(hjÊ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:41: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KàhjÇ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj«,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÆ,h´Kßhj¨,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhjV,ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ stratix10_svc_cb_data (C struct)”Œc.stratix10_svc_cb_data”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒstratix10_svc_cb_data”h]”hù)�”}”(hŒstruct stratix10_svc_cb_data”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj -h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj-h²hh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj-h²hh³j-h´Kubj")�”}”(hŒstratix10_svc_cb_data”h]”j()�”}”(hj-h]”hŒstratix10_svc_cb_data”…”�”}”(hj+-h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj'-ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj-h²hh³j-h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj-h²hh³j-h´Kubah}”(h]”jþ,ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j-h´Khj-h²hubj)�”}”(hhh]”j )�”}”(hŒ*callback data structure from service layer”h]”hŒ*callback data structure from service layer”…”�”}”(hjM-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´KæhjJ-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-h²hh³j-h´Kubeh}”(h]”h ]”(j¡Œstruct”eh"]”h$]”h&]”j&j¡j'je-j(je-j)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hXÌ **Definition**:: struct stratix10_svc_cb_data { u32 status; void *kaddr1; void *kaddr2; void *kaddr3; }; **Members** ``status`` the status of sent command ``kaddr1`` address of 1st completed data block, or command-specific payload. For COMMAND_RSU_GET_DEVICE_INFO on SVC_STATUS_OK or SVC_STATUS_ERROR, points to struct arm_smccc_1_2_regs filled by the SMC/HVC return registers (a0 status, a1-a4 packed device words per INTEL_SIP_SMC_RSU_GET_DEVICE_INFO). On SVC_STATUS_NO_SUPPORT (older firmware that does not handle this command), kaddr1 is NULL. ``kaddr2`` address of 2nd completed data block ``kaddr3`` address of 3rd completed data block”h]”(j²)�”}”(hŒŽ**Definition**:: struct stratix10_svc_cb_data { u32 status; void *kaddr1; void *kaddr2; void *kaddr3; }; ”h]”(j )�”}”(hŒ**Definition**::”h]”(j7)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hju-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjq-ubhŒ:”…”�”}”(hjq-h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kêhjm-ubjJ*)�”}”(hŒostruct stratix10_svc_cb_data { u32 status; void *kaddr1; void *kaddr2; void *kaddr3; };”h]”hŒostruct stratix10_svc_cb_data { u32 status; void *kaddr1; void *kaddr2; void *kaddr3; };”…”�”}”hjŽ-sbah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jI*h³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kìhjm-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j±h³j�-h´Kêhji-ubj )�”}”(hŒ **Members**”h]”j7)�”}”(hj¥-h]”hŒMembers”…”�”}”(hj§-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj£-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kóhji-ubjM)�”}”(hhh]”(jR)�”}”(hŒ&``status`` the status of sent command ”h]”(jX)�”}”(hŒ ``status``”h]”j^)�”}”(hjÄ-h]”hŒstatus”…”�”}”(hjÆ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjÂ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kèhj¾-ubjt)�”}”(hhh]”j )�”}”(hŒthe status of sent command”h]”hŒthe status of sent command”…”�”}”(hjÝ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÙ-h´KèhjÚ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj¾-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÙ-h´Kèhj»-ubjR)�”}”(hXŠ``kaddr1`` address of 1st completed data block, or command-specific payload. For COMMAND_RSU_GET_DEVICE_INFO on SVC_STATUS_OK or SVC_STATUS_ERROR, points to struct arm_smccc_1_2_regs filled by the SMC/HVC return registers (a0 status, a1-a4 packed device words per INTEL_SIP_SMC_RSU_GET_DEVICE_INFO). On SVC_STATUS_NO_SUPPORT (older firmware that does not handle this command), kaddr1 is NULL. ”h]”(jX)�”}”(hŒ ``kaddr1``”h]”j^)�”}”(hjý-h]”hŒkaddr1”…”�”}”(hjÿ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjû-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kîhj÷-ubjt)�”}”(hhh]”j )�”}”(hX~address of 1st completed data block, or command-specific payload. For COMMAND_RSU_GET_DEVICE_INFO on SVC_STATUS_OK or SVC_STATUS_ERROR, points to struct arm_smccc_1_2_regs filled by the SMC/HVC return registers (a0 status, a1-a4 packed device words per INTEL_SIP_SMC_RSU_GET_DEVICE_INFO). On SVC_STATUS_NO_SUPPORT (older firmware that does not handle this command), kaddr1 is NULL.”h]”hX~address of 1st completed data block, or command-specific payload. For COMMAND_RSU_GET_DEVICE_INFO on SVC_STATUS_OK or SVC_STATUS_ERROR, points to struct arm_smccc_1_2_regs filled by the SMC/HVC return registers (a0 status, a1-a4 packed device words per INTEL_SIP_SMC_RSU_GET_DEVICE_INFO). On SVC_STATUS_NO_SUPPORT (older firmware that does not handle this command), kaddr1 is NULL.”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kéhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj÷-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j.h´Kîhj»-ubjR)�”}”(hŒ/``kaddr2`` address of 2nd completed data block ”h]”(jX)�”}”(hŒ ``kaddr2``”h]”j^)�”}”(hj7.h]”hŒkaddr2”…”�”}”(hj9.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj5.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kïhj1.ubjt)�”}”(hhh]”j )�”}”(hŒ#address of 2nd completed data block”h]”hŒ#address of 2nd completed data block”…”�”}”(hjP.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jL.h´KïhjM.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj1.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jL.h´Kïhj»-ubjR)�”}”(hŒ.``kaddr3`` address of 3rd completed data block”h]”(jX)�”}”(hŒ ``kaddr3``”h]”j^)�”}”(hjp.h]”hŒkaddr3”…”�”}”(hjr.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjn.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kïhjj.ubjt)�”}”(hhh]”j )�”}”(hŒ#address of 3rd completed data block”h]”hŒ#address of 3rd completed data block”…”�”}”(hj‰.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:44: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kðhj†.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j….h´Kïhj»-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhji-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒstratix10_svc_client (C struct)”Œc.stratix10_svc_client”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒstratix10_svc_client”h]”hù)�”}”(hŒstruct stratix10_svc_client”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjÊ.h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjÆ.h²hh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØ.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÆ.h²hh³j×.h´Kubj")�”}”(hŒstratix10_svc_client”h]”j()�”}”(hjÄ.h]”hŒstratix10_svc_client”…”�”}”(hjê.h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjæ.ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjÆ.h²hh³j×.h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjÂ.h²hh³j×.h´Kubah}”(h]”j½.ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j×.h´Khj¿.h²hubj)�”}”(hhh]”j )�”}”(hŒservice client structure”h]”hŒservice client structure”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kùhj /h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¿.h²hh³j×.h´Kubeh}”(h]”h ]”(j¡Œstruct”eh"]”h$]”h&]”j&j¡j'j$/j(j$/j)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hXk **Definition**:: struct stratix10_svc_client { struct device *dev; void (*receive_cb)(struct stratix10_svc_client *client, struct stratix10_svc_cb_data *cb_data); void *priv; }; **Members** ``dev`` the client device ``receive_cb`` callback to provide service client the received data ``priv`` client private data”h]”(j²)�”}”(hŒÏ**Definition**:: struct stratix10_svc_client { struct device *dev; void (*receive_cb)(struct stratix10_svc_client *client, struct stratix10_svc_cb_data *cb_data); void *priv; }; ”h]”(j )�”}”(hŒ**Definition**::”h]”(j7)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj4/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj0/ubhŒ:”…”�”}”(hj0/h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kýhj,/ubjJ*)�”}”(hŒ²struct stratix10_svc_client { struct device *dev; void (*receive_cb)(struct stratix10_svc_client *client, struct stratix10_svc_cb_data *cb_data); void *priv; };”h]”hŒ²struct stratix10_svc_client { struct device *dev; void (*receive_cb)(struct stratix10_svc_client *client, struct stratix10_svc_cb_data *cb_data); void *priv; };”…”�”}”hjM/sbah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jI*h³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kÿhj,/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j±h³jL/h´Kýhj(/ubj )�”}”(hŒ **Members**”h]”j7)�”}”(hjd/h]”hŒMembers”…”�”}”(hjf/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjb/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Mhj(/ubjM)�”}”(hhh]”(jR)�”}”(hŒ``dev`` the client device ”h]”(jX)�”}”(hŒ``dev``”h]”j^)�”}”(hjƒ/h]”hŒdev”…”�”}”(hj…/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj�/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kûhj}/ubjt)�”}”(hhh]”j )�”}”(hŒthe client device”h]”hŒthe client device”…”�”}”(hjœ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j˜/h´Kûhj™/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj}/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j˜/h´Kûhjz/ubjR)�”}”(hŒD``receive_cb`` callback to provide service client the received data ”h]”(jX)�”}”(hŒ``receive_cb``”h]”j^)�”}”(hj¼/h]”hŒ receive_cb”…”�”}”(hj¾/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjº/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kühj¶/ubjt)�”}”(hhh]”j )�”}”(hŒ4callback to provide service client the received data”h]”hŒ4callback to provide service client the received data”…”�”}”(hjÕ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÑ/h´KühjÒ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj¶/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÑ/h´Kühjz/ubjR)�”}”(hŒ``priv`` client private data”h]”(jX)�”}”(hŒ``priv``”h]”j^)�”}”(hjõ/h]”hŒpriv”…”�”}”(hj÷/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjó/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kühjï/ubjt)�”}”(hhh]”j )�”}”(hŒclient private data”h]”hŒclient private data”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œˆ/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:47: ./include/linux/firmware/intel/stratix10-svc-client.h”h´Kýhj 0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjï/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j 0h´Kühjz/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhj(/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ1stratix10_svc_request_channel_byname (C function)”Œ&c.stratix10_svc_request_channel_byname”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒxstruct stratix10_svc_chan * stratix10_svc_request_channel_byname (struct stratix10_svc_client *client, const char *name)”h]”hù)�”}”(hŒvstruct stratix10_svc_chan *stratix10_svc_request_channel_byname(struct stratix10_svc_client *client, const char *name)”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjO0h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjK0h²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mûubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjK0h²hh³j\0h´Mûubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hjn0h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjk0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jp0Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£Œ$stratix10_svc_request_channel_byname”sbŒ&c.stratix10_svc_request_channel_byname”†”asbuh1hhjK0h²hh³j\0h´Mûubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjK0h²hh³j\0h´MûubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj�0h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjK0h²hh³j\0h´Mûubj")�”}”(hŒ$stratix10_svc_request_channel_byname”h]”j()�”}”(hjŒ0h]”hŒ$stratix10_svc_request_channel_byname”…”�”}”(hj®0h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjª0ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjK0h²hh³j\0h´MûubjC)�”}”(hŒ7(struct stratix10_svc_client *client, const char *name)”h]”(jI)�”}”(hŒ#struct stratix10_svc_client *client”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjÉ0h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjÅ0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÅ0ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_client”h]”hŒstratix10_svc_client”…”�”}”(hjç0h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjä0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jé0Œmodname”NŒ classname”Nj§jª)�”}”j­]”jŠ0Œ&c.stratix10_svc_request_channel_byname”†”asbuh1hhjÅ0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÅ0ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjÅ0ubj()�”}”(hŒclient”h]”hŒclient”…”�”}”(hj 1h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjÅ0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjÁ0ubjI)�”}”(hŒconst char *name”h]”(jO)�”}”(hjRh]”hŒconst”…”�”}”(hj91h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj51ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjF1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj51ubhÿ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjT1h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj51ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj51ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjp1h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj51ubj()�”}”(hŒname”h]”hŒname”…”�”}”(hj}1h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj51ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjÁ0ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjK0h²hh³j\0h´Mûubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjG0h²hh³j\0h´Mûubah}”(h]”jB0ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j\0h´MûhjD0h²hubj)�”}”(hhh]”j )�”}”(hŒrequest a service channel”h]”hŒrequest a service channel”…”�”}”(hj§1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mûhj¤1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjD0h²hh³j\0h´Mûubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'j¿1j(j¿1j)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hX3**Parameters** ``struct stratix10_svc_client *client`` pointer to service client ``const char *name`` service client name **Description** This function is used by service client to request a service channel. **Return** a pointer to channel assigned to the client on success, or ERR_PTR() on error.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjÉ1h]”hŒ Parameters”…”�”}”(hjË1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÇ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÿhjÃ1ubjM)�”}”(hhh]”(jR)�”}”(hŒB``struct stratix10_svc_client *client`` pointer to service client ”h]”(jX)�”}”(hŒ'``struct stratix10_svc_client *client``”h]”j^)�”}”(hjè1h]”hŒ#struct stratix10_svc_client *client”…”�”}”(hjê1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjæ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mühjâ1ubjt)�”}”(hhh]”j )�”}”(hŒpointer to service client”h]”hŒpointer to service client”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jý1h´Mühjþ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjâ1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jý1h´Mühjß1ubjR)�”}”(hŒ)``const char *name`` service client name ”h]”(jX)�”}”(hŒ``const char *name``”h]”j^)�”}”(hj!2h]”hŒconst char *name”…”�”}”(hj#2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mýhj2ubjt)�”}”(hhh]”j )�”}”(hŒservice client name”h]”hŒservice client name”…”�”}”(hj:2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j62h´Mýhj72ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j62h´Mýhjß1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjÃ1ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj\2h]”hŒ Description”…”�”}”(hj^2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjZ2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÿhjÃ1ubj )�”}”(hŒEThis function is used by service client to request a service channel.”h]”hŒEThis function is used by service client to request a service channel.”…”�”}”(hjr2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MþhjÃ1ubj )�”}”(hŒ **Return**”h]”j7)�”}”(hjƒ2h]”hŒReturn”…”�”}”(hj…2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj�2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MhjÃ1ubj )�”}”(hŒNa pointer to channel assigned to the client on success, or ERR_PTR() on error.”h]”hŒNa pointer to channel assigned to the client on success, or ERR_PTR() on error.”…”�”}”(hj™2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.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éŒ+stratix10_svc_add_async_client (C function)”Œ c.stratix10_svc_add_async_client”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ^int stratix10_svc_add_async_client (struct stratix10_svc_chan *chan, bool use_unique_clientid)”h]”hù)�”}”(hŒ]int stratix10_svc_add_async_client(struct stratix10_svc_chan *chan, bool use_unique_clientid)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÈ2h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjÄ2h²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M/ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÄ2h²hh³jÖ2h´M/ubj")�”}”(hŒstratix10_svc_add_async_client”h]”j()�”}”(hŒstratix10_svc_add_async_client”h]”hŒstratix10_svc_add_async_client”…”�”}”(hjé2h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjå2ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjÄ2h²hh³jÖ2h´M/ubjC)�”}”(hŒ;(struct stratix10_svc_chan *chan, bool use_unique_clientid)”h]”(jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj3ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hj#3h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj 3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j%3Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jë2sbŒ c.stratix10_svc_add_async_client”†”asbuh1hhj3ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjQ3h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj3ubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hj^3h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjý2ubjI)�”}”(hŒbool use_unique_clientid”h]”(hÿ)�”}”(hjy h]”hŒbool”…”�”}”(hjw3h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjs3ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjs3ubj()�”}”(hŒuse_unique_clientid”h]”hŒuse_unique_clientid”…”�”}”(hj’3h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjs3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjý2ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjÄ2h²hh³jÖ2h´M/ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjÀ2h²hh³jÖ2h´M/ubah}”(h]”j»2ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÖ2h´M/hj½2h²hubj)�”}”(hhh]”j )�”}”(hŒ8h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj8ubj()�”}”(hŒcb_arg”h]”hŒcb_arg”…”�”}”(hjK8h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjÏ6ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj–6h²hh³j¨6h´M»ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj’6h²hh³j¨6h´M»ubah}”(h]”j�6ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j¨6h´M»hj�6h²hubj)�”}”(hhh]”j )�”}”(hŒ5Send an asynchronous message to the Stratix10 service”h]”hŒ5Send an asynchronous message to the Stratix10 service”…”�”}”(hju8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M»hjr8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�6h²hh³j¨6h´M»ubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'j�8j(j�8j)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hXl**Parameters** ``struct stratix10_svc_chan *chan`` Pointer to the service channel structure ``void *msg`` Pointer to the message to be sent ``void **handler`` Pointer to the handler for the asynchronous message used by caller for later reference. ``async_callback_t cb`` Callback function to be called upon completion ``void *cb_arg`` Argument to be passed to the callback function **Description** This function sends an asynchronous message to the SDM mailbox in EL3 secure firmware. It performs various checks and setups, including allocating a job ID, setting up the transaction ID and packaging it to El3 firmware. The function handles different commands by setting up the appropriate arguments for the SMC call. If the SMC call is successful, the handler is set up and the function returns 0. If the SMC call fails, appropriate error handling is performed along with cleanup of resources. **Return** 0 on success, -EINVAL for invalid argument, -ENOMEM if memory is not available, -EAGAIN if EL3 firmware is busy, -EBADF if the message is rejected by EL3 firmware and -EIO on other errors from EL3 firmware.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj—8h]”hŒ Parameters”…”�”}”(hj™8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj•8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M¿hj‘8ubjM)�”}”(hhh]”(jR)�”}”(hŒM``struct stratix10_svc_chan *chan`` Pointer to the service channel structure ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hj¶8h]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hj¸8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj´8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M½hj°8ubjt)�”}”(hhh]”j )�”}”(hŒ(Pointer to the service channel structure”h]”hŒ(Pointer to the service channel structure”…”�”}”(hjÏ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jË8h´M½hjÌ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj°8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jË8h´M½hj­8ubjR)�”}”(hŒ0``void *msg`` Pointer to the message to be sent ”h]”(jX)�”}”(hŒ ``void *msg``”h]”j^)�”}”(hjï8h]”hŒ void *msg”…”�”}”(hjñ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjí8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M¾hjé8ubjt)�”}”(hhh]”j )�”}”(hŒ!Pointer to the message to be sent”h]”hŒ!Pointer to the message to be sent”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j9h´M¾hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjé8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j9h´M¾hj­8ubjR)�”}”(hŒk``void **handler`` Pointer to the handler for the asynchronous message used by caller for later reference. ”h]”(jX)�”}”(hŒ``void **handler``”h]”j^)�”}”(hj(9h]”hŒvoid **handler”…”�”}”(hj*9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj&9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÀhj"9ubjt)�”}”(hhh]”j )�”}”(hŒWPointer to the handler for the asynchronous message used by caller for later reference.”h]”hŒWPointer to the handler for the asynchronous message used by caller for later reference.”…”�”}”(hjA9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M¿hj>9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj"9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j=9h´MÀhj­8ubjR)�”}”(hŒG``async_callback_t cb`` Callback function to be called upon completion ”h]”(jX)�”}”(hŒ``async_callback_t cb``”h]”j^)�”}”(hjb9h]”hŒasync_callback_t cb”…”�”}”(hjd9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj`9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÁhj\9ubjt)�”}”(hhh]”j )�”}”(hŒ.Callback function to be called upon completion”h]”hŒ.Callback function to be called upon completion”…”�”}”(hj{9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jw9h´MÁhjx9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj\9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jw9h´MÁhj­8ubjR)�”}”(hŒ@``void *cb_arg`` Argument to be passed to the callback function ”h]”(jX)�”}”(hŒ``void *cb_arg``”h]”j^)�”}”(hj›9h]”hŒ void *cb_arg”…”�”}”(hj�9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj™9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÂhj•9ubjt)�”}”(hhh]”j )�”}”(hŒ.Argument to be passed to the callback function”h]”hŒ.Argument to be passed to the callback function”…”�”}”(hj´9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j°9h´MÂhj±9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj•9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j°9h´MÂhj­8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhj‘8ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjÖ9h]”hŒ Description”…”�”}”(hjØ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÔ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÄhj‘8ubj )�”}”(hXïThis function sends an asynchronous message to the SDM mailbox in EL3 secure firmware. It performs various checks and setups, including allocating a job ID, setting up the transaction ID and packaging it to El3 firmware. The function handles different commands by setting up the appropriate arguments for the SMC call. If the SMC call is successful, the handler is set up and the function returns 0. If the SMC call fails, appropriate error handling is performed along with cleanup of resources.”h]”hXïThis function sends an asynchronous message to the SDM mailbox in EL3 secure firmware. It performs various checks and setups, including allocating a job ID, setting up the transaction ID and packaging it to El3 firmware. The function handles different commands by setting up the appropriate arguments for the SMC call. If the SMC call is successful, the handler is set up and the function returns 0. If the SMC call fails, appropriate error handling is performed along with cleanup of resources.”…”�”}”(hjì9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÃhj‘8ubj )�”}”(hŒ **Return**”h]”j7)�”}”(hjý9h]”hŒReturn”…”�”}”(hjÿ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjû9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÌhj‘8ubj )�”}”(hŒÎ0 on success, -EINVAL for invalid argument, -ENOMEM if memory is not available, -EAGAIN if EL3 firmware is busy, -EBADF if the message is rejected by EL3 firmware and -EIO on other errors from EL3 firmware.”h]”hŒÎ0 on success, -EINVAL for invalid argument, -ENOMEM if memory is not available, -EAGAIN if EL3 firmware is busy, -EBADF if the message is rejected by EL3 firmware and -EIO on other errors from EL3 firmware.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÍhj‘8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ%stratix10_svc_async_poll (C function)”Œc.stratix10_svc_async_poll”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒsint stratix10_svc_async_poll (struct stratix10_svc_chan *chan, void *tx_handle, struct stratix10_svc_cb_data *data)”h]”hù)�”}”(hŒrint stratix10_svc_async_poll(struct stratix10_svc_chan *chan, void *tx_handle, struct stratix10_svc_cb_data *data)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hjB:h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj>:h²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M…ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj>:h²hh³jP:h´M…ubj")�”}”(hŒstratix10_svc_async_poll”h]”j()�”}”(hŒstratix10_svc_async_poll”h]”hŒstratix10_svc_async_poll”…”�”}”(hjc:h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj_:ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj>:h²hh³jP:h´M…ubjC)�”}”(hŒV(struct stratix10_svc_chan *chan, void *tx_handle, struct stratix10_svc_cb_data *data)”h]”(jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj{:ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{:ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hj�:h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjš:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jŸ:Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£je:sbŒc.stratix10_svc_async_poll”†”asbuh1hhj{:ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj{:ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjË:h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj{:ubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hjØ:h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj{:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjw:ubjI)�”}”(hŒvoid *tx_handle”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjñ:h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjí:ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjí:ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj ;h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjí:ubj()�”}”(hŒ tx_handle”h]”hŒ tx_handle”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjí:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjw:ubjI)�”}”(hŒ"struct stratix10_svc_cb_data *data”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj3;h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj/;ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@;h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj/;ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_cb_data”h]”hŒstratix10_svc_cb_data”…”�”}”(hjQ;h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjN;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jS;Œmodname”NŒ classname”Nj§jª)�”}”j­]”j¹:Œc.stratix10_svc_async_poll”†”asbuh1hhj/;ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo;h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj/;ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj};h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj/;ubj()�”}”(hŒdata”h]”hŒdata”…”�”}”(hjŠ;h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj/;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjw:ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj>:h²hh³jP:h´M…ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj::h²hh³jP:h´M…ubah}”(h]”j5:ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jP:h´M…hj7:h²hubj)�”}”(hhh]”j )�”}”(hŒ0Polls the status of an asynchronous transaction.”h]”hŒ0Polls the status of an asynchronous transaction.”…”�”}”(hj´;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M…hj±;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7:h²hh³jP: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-)�”}”(hXz**Parameters** ``struct stratix10_svc_chan *chan`` Pointer to the service channel structure. ``void *tx_handle`` Handle to the transaction being polled. ``struct stratix10_svc_cb_data *data`` Pointer to the callback data structure. **Description** This function polls the status of an asynchronous transaction identified by the given transaction handle. It ensures that the necessary structures are initialized and valid before proceeding with the poll operation. The function sets up the necessary arguments for the SMC call, invokes the call, and prepares the response data if the call is successful. If the call fails, the function returns the error mapped to the SVC status error. **Return** 0 on success, -EINVAL if any input parameter is invalid, -EAGAIN if the transaction is still in progress, -EPERM if the command is invalid, or other negative error codes on failure.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjÖ;h]”hŒ Parameters”…”�”}”(hjØ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÔ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M‰hjÐ;ubjM)�”}”(hhh]”(jR)�”}”(hŒN``struct stratix10_svc_chan *chan`` Pointer to the service channel structure. ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hjõ;h]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hj÷;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjó;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M‡hjï;ubjt)�”}”(hhh]”j )�”}”(hŒ)Pointer to the service channel structure.”h]”hŒ)Pointer to the service channel structure.”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j <h´M‡hj <ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjï;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j <h´M‡hjì;ubjR)�”}”(hŒ<``void *tx_handle`` Handle to the transaction being polled. ”h]”(jX)�”}”(hŒ``void *tx_handle``”h]”j^)�”}”(hj.<h]”hŒvoid *tx_handle”…”�”}”(hj0<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj,<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mˆhj(<ubjt)�”}”(hhh]”j )�”}”(hŒ'Handle to the transaction being polled.”h]”hŒ'Handle to the transaction being polled.”…”�”}”(hjG<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jC<h´MˆhjD<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj(<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jC<h´Mˆhjì;ubjR)�”}”(hŒO``struct stratix10_svc_cb_data *data`` Pointer to the callback data structure. ”h]”(jX)�”}”(hŒ&``struct stratix10_svc_cb_data *data``”h]”j^)�”}”(hjg<h]”hŒ"struct stratix10_svc_cb_data *data”…”�”}”(hji<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hje<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M‰hja<ubjt)�”}”(hhh]”j )�”}”(hŒ'Pointer to the callback data structure.”h]”hŒ'Pointer to the callback data structure.”…”�”}”(hj€<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|<h´M‰hj}<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshja<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j|<h´M‰hjì;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjÐ;ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj¢<h]”hŒ Description”…”�”}”(hj¤<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj <ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M‹hjÐ;ubj )�”}”(hX´This function polls the status of an asynchronous transaction identified by the given transaction handle. It ensures that the necessary structures are initialized and valid before proceeding with the poll operation. The function sets up the necessary arguments for the SMC call, invokes the call, and prepares the response data if the call is successful. If the call fails, the function returns the error mapped to the SVC status error.”h]”hX´This function polls the status of an asynchronous transaction identified by the given transaction handle. It ensures that the necessary structures are initialized and valid before proceeding with the poll operation. The function sets up the necessary arguments for the SMC call, invokes the call, and prepares the response data if the call is successful. If the call fails, the function returns the error mapped to the SVC status error.”…”�”}”(hj¸<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MŠhjÐ;ubj )�”}”(hŒ **Return**”h]”j7)�”}”(hjÉ<h]”hŒReturn”…”�”}”(hjË<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÇ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M’hjÐ;ubj )�”}”(hŒµ0 on success, -EINVAL if any input parameter is invalid, -EAGAIN if the transaction is still in progress, -EPERM if the command is invalid, or other negative error codes on failure.”h]”hŒµ0 on success, -EINVAL if any input parameter is invalid, -EAGAIN if the transaction is still in progress, -EPERM if the command is invalid, or other negative error codes on failure.”…”�”}”(hjß<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.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éŒ%stratix10_svc_async_done (C function)”Œc.stratix10_svc_async_done”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒOint stratix10_svc_async_done (struct stratix10_svc_chan *chan, void *tx_handle)”h]”hù)�”}”(hŒNint stratix10_svc_async_done(struct stratix10_svc_chan *chan, void *tx_handle)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj =h²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÕubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj =h²hh³j=h´MÕubj")�”}”(hŒstratix10_svc_async_done”h]”j()�”}”(hŒstratix10_svc_async_done”h]”hŒstratix10_svc_async_done”…”�”}”(hj/=h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj+=ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj =h²hh³j=h´MÕubjC)�”}”(hŒ2(struct stratix10_svc_chan *chan, void *tx_handle)”h]”(jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjK=h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjG=ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjX=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjG=ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hji=h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjf=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jk=Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£j1=sbŒc.stratix10_svc_async_done”†”asbuh1hhjG=ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjG=ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj—=h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjG=ubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hj¤=h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjG=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjC=ubjI)�”}”(hŒvoid *tx_handle”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj½=h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj¹=ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¹=ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjÙ=h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj¹=ubj()�”}”(hŒ tx_handle”h]”hŒ tx_handle”…”�”}”(hjæ=h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj¹=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjC=ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj =h²hh³j=h´MÕubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj=h²hh³j=h´MÕubah}”(h]”j=ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j=h´MÕhj=h²hubj)�”}”(hhh]”j )�”}”(hŒ&Completes an asynchronous transaction.”h]”hŒ&Completes an asynchronous transaction.”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÕhj >h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj=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 stratix10_svc_chan *chan`` Pointer to the service channel structure. ``void *tx_handle`` Handle to the transaction being completed. **Description** This function completes an asynchronous transaction identified by the given transaction handle. It ensures that the necessary structures are initialized and valid before proceeding with the completion operation. The function deallocates the transaction ID, frees the memory allocated for the handler, and removes the handler from the transaction list. **Return** 0 on success, -EINVAL if any input parameter is invalid, or other negative error codes on failure.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj2>h]”hŒ Parameters”…”�”}”(hj4>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj0>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÙhj,>ubjM)�”}”(hhh]”(jR)�”}”(hŒN``struct stratix10_svc_chan *chan`` Pointer to the service channel structure. ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hjQ>h]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hjS>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjO>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÖhjK>ubjt)�”}”(hhh]”j )�”}”(hŒ)Pointer to the service channel structure.”h]”hŒ)Pointer to the service channel structure.”…”�”}”(hjj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jf>h´MÖhjg>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjK>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jf>h´MÖhjH>ubjR)�”}”(hŒ?``void *tx_handle`` Handle to the transaction being completed. ”h]”(jX)�”}”(hŒ``void *tx_handle``”h]”j^)�”}”(hjŠ>h]”hŒvoid *tx_handle”…”�”}”(hjŒ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjˆ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M×hj„>ubjt)�”}”(hhh]”j )�”}”(hŒ*Handle to the transaction being completed.”h]”hŒ*Handle to the transaction being completed.”…”�”}”(hj£>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŸ>h´M×hj >ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj„>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jŸ>h´M×hjH>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhj,>ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjÅ>h]”hŒ Description”…”�”}”(hjÇ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÃ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÙhj,>ubj )�”}”(hX_This function completes an asynchronous transaction identified by the given transaction handle. It ensures that the necessary structures are initialized and valid before proceeding with the completion operation. The function deallocates the transaction ID, frees the memory allocated for the handler, and removes the handler from the transaction list.”h]”hX_This function completes an asynchronous transaction identified by the given transaction handle. It ensures that the necessary structures are initialized and valid before proceeding with the completion operation. The function deallocates the transaction ID, frees the memory allocated for the handler, and removes the handler from the transaction list.”…”�”}”(hjÛ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MØhj,>ubj )�”}”(hŒ **Return**”h]”j7)�”}”(hjì>h]”hŒReturn”…”�”}”(hjî>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjê>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mßhj,>ubj )�”}”(hŒb0 on success, -EINVAL if any input parameter is invalid, or other negative error codes on failure.”h]”hŒb0 on success, -EINVAL if any input parameter is invalid, or other negative error codes on failure.”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.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éŒ'stratix10_svc_free_channel (C function)”Œc.stratix10_svc_free_channel”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒAvoid stratix10_svc_free_channel (struct stratix10_svc_chan *chan)”h]”hù)�”}”(hŒ@void stratix10_svc_free_channel(struct stratix10_svc_chan *chan)”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj1?h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj-?h²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Möubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@?h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj-?h²hh³j??h´Möubj")�”}”(hŒstratix10_svc_free_channel”h]”j()�”}”(hŒstratix10_svc_free_channel”h]”hŒstratix10_svc_free_channel”…”�”}”(hjR?h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjN?ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj-?h²hh³j??h´MöubjC)�”}”(hŒ!(struct stratix10_svc_chan *chan)”h]”jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjn?h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjj?ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{?h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjj?ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hjŒ?h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj‰?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jŽ?Œmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jT?sbŒc.stratix10_svc_free_channel”†”asbuh1hhjj?ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬?h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjj?ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjº?h²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjj?ubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hjÇ?h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjj?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjf?ubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj-?h²hh³j??h´Möubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hj)?h²hh³j??h´Möubah}”(h]”j$?ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³j??h´Möhj&?h²hubj)�”}”(hhh]”j )�”}”(hŒfree service channel”h]”hŒfree service channel”…”�”}”(hjñ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Möhjî?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&?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 stratix10_svc_chan *chan`` service channel to be freed **Description** This function is used by service client to free a service channel.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj@h]”hŒ Parameters”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Múhj @ubjM)�”}”(hhh]”jR)�”}”(hŒ@``struct stratix10_svc_chan *chan`` service channel to be freed ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hj2@h]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hj4@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj0@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M÷hj,@ubjt)�”}”(hhh]”j )�”}”(hŒservice channel to be freed”h]”hŒservice channel to be freed”…”�”}”(hjK@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jG@h´M÷hjH@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj,@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jG@h´M÷hj)@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhj @ubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjm@h]”hŒ Description”…”�”}”(hjo@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjk@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mùhj @ubj )�”}”(hŒBThis function is used by service client to free a service channel.”h]”hŒBThis function is used by service client to free a service channel.”…”�”}”(hjƒ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.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éŒstratix10_svc_send (C function)”Œc.stratix10_svc_send”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒCint stratix10_svc_send (struct stratix10_svc_chan *chan, void *msg)”h]”hù)�”}”(hŒBint stratix10_svc_send(struct stratix10_svc_chan *chan, void *msg)”h]”(hÿ)�”}”(hŒint”h]”hŒint”…”�”}”(hj²@h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj®@h²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj®@h²hh³jÀ@h´Mubj")�”}”(hŒstratix10_svc_send”h]”j()�”}”(hŒstratix10_svc_send”h]”hŒstratix10_svc_send”…”�”}”(hjÓ@h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjÏ@ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj®@h²hh³jÀ@h´MubjC)�”}”(hŒ,(struct stratix10_svc_chan *chan, void *msg)”h]”(jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjï@h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjë@ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjë@ubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj Aubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jAŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jÕ@sbŒc.stratix10_svc_send”†”asbuh1hhjë@ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-Ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjë@ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj;Ah²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjë@ubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hjHAh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjë@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjç@ubjI)�”}”(hŒ void *msg”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjaAh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj]Aubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj]AubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj}Ah²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj]Aubj()�”}”(hŒmsg”h]”hŒmsg”…”�”}”(hjŠAh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj]Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjç@ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhj®@h²hh³jÀ@h´Mubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjª@h²hh³jÀ@h´Mubah}”(h]”j¥@ah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jÀ@h´Mhj§@h²hubj)�”}”(hhh]”j )�”}”(hŒ!send a message data to the remote”h]”hŒ!send a message data to the remote”…”�”}”(hj´Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mhj±Ah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§@h²hh³jÀ@h´Mubeh}”(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 stratix10_svc_chan *chan`` service channel assigned to the client ``void *msg`` message data to be sent, in the format of "struct stratix10_svc_client_msg" **Description** This function is used by service client to add a message to the service layer driver's queue for being sent to the secure world. **Return** 0 for success, -ENOMEM or -ENOBUFS on error.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjÖAh]”hŒ Parameters”…”�”}”(hjØAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjÔAubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M hjÐAubjM)�”}”(hhh]”(jR)�”}”(hŒK``struct stratix10_svc_chan *chan`` service channel assigned to the client ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hjõAh]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hj÷Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjóAubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M hjïAubjt)�”}”(hhh]”j )�”}”(hŒ&service channel assigned to the client”h]”hŒ&service channel assigned to the client”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j Bh´M hj Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjïAubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³j Bh´M hjìAubjR)�”}”(hŒZ``void *msg`` message data to be sent, in the format of "struct stratix10_svc_client_msg" ”h]”(jX)�”}”(hŒ ``void *msg``”h]”j^)�”}”(hj.Bh]”hŒ void *msg”…”�”}”(hj0Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj,Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M hj(Bubjt)�”}”(hhh]”j )�”}”(hŒKmessage data to be sent, in the format of "struct stratix10_svc_client_msg"”h]”hŒOmessage data to be sent, in the format of “struct stratix10_svc_client_msgâ€�”…”�”}”(hjGBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M hjDBubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj(Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jCBh´M hjìAubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjÐAubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjjBh]”hŒ Description”…”�”}”(hjlBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjhBubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M hjÐAubj )�”}”(hŒ€This function is used by service client to add a message to the service layer driver's queue for being sent to the secure world.”h]”hŒ‚This function is used by service client to add a message to the service layer driver’s queue for being sent to the secure world.”…”�”}”(hj€Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M hjÐAubj )�”}”(hŒ **Return**”h]”j7)�”}”(hj‘Bh]”hŒReturn”…”�”}”(hj“Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj�Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MhjÐAubj )�”}”(hŒ,0 for success, -ENOMEM or -ENOBUFS on error.”h]”hŒ,0 for success, -ENOMEM or -ENOBUFS on error.”…”�”}”(hj§Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MhjÐAubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒstratix10_svc_done (C function)”Œc.stratix10_svc_done”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒ9void stratix10_svc_done (struct stratix10_svc_chan *chan)”h]”hù)�”}”(hŒ8void stratix10_svc_done(struct stratix10_svc_chan *chan)”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÖBh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjÒBh²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mrubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåBh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÒBh²hh³jäBh´Mrubj")�”}”(hŒstratix10_svc_done”h]”j()�”}”(hŒstratix10_svc_done”h]”hŒstratix10_svc_done”…”�”}”(hj÷Bh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjóBubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjÒBh²hh³jäBh´MrubjC)�”}”(hŒ!(struct stratix10_svc_chan *chan)”h]”jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjCubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjCubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hj1Ch²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj.Cubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”j3CŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£jùBsbŒc.stratix10_svc_done”†”asbuh1hhjCubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQCh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjCubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hj_Ch²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjCubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hjlCh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjCubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj Cubah}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjÒBh²hh³jäBh´Mrubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjÎBh²hh³jäBh´Mrubah}”(h]”jÉBah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jäBh´MrhjËBh²hubj)�”}”(hhh]”j )�”}”(hŒ%complete service request transactions”h]”hŒ%complete service request transactions”…”�”}”(hj–Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mrhj“Ch²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjËBh²hh³jäBh´Mrubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'j®Cj(j®Cj)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hXD**Parameters** ``struct stratix10_svc_chan *chan`` service channel assigned to the client **Description** This function should be called when client has finished its request or there is an error in the request process. It allows the service layer to stop the running thread to have maximize savings in kernel resources.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hj¸Ch]”hŒ Parameters”…”�”}”(hjºCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hj¶Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mvhj²CubjM)�”}”(hhh]”jR)�”}”(hŒK``struct stratix10_svc_chan *chan`` service channel assigned to the client ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hj×Ch]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hjÙCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjÕCubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MshjÑCubjt)�”}”(hhh]”j )�”}”(hŒ&service channel assigned to the client”h]”hŒ&service channel assigned to the client”…”�”}”(hjðCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jìCh´MshjíCubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjÑCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jìCh´MshjÎCubah}”(h]”h ]”h"]”h$]”h&]”uh1jLhj²Cubj )�”}”(hŒ**Description**”h]”j7)�”}”(hjDh]”hŒ Description”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Muhj²Cubj )�”}”(hŒÕThis function should be called when client has finished its request or there is an error in the request process. It allows the service layer to stop the running thread to have maximize savings in kernel resources.”h]”hŒÕThis function should be called when client has finished its request or there is an error in the request process. It allows the service layer to stop the running thread to have maximize savings in kernel resources.”…”�”}”(hj(Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´Mthj²Cubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ*stratix10_svc_allocate_memory (C function)”Œc.stratix10_svc_allocate_memory”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒSvoid * stratix10_svc_allocate_memory (struct stratix10_svc_chan *chan, size_t size)”h]”hù)�”}”(hŒQvoid *stratix10_svc_allocate_memory(struct stratix10_svc_chan *chan, size_t size)”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjWDh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhjSDh²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M†ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfDh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjSDh²hh³jeDh´M†ubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjtDh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjSDh²hh³jeDh´M†ubj")�”}”(hŒstratix10_svc_allocate_memory”h]”j()�”}”(hŒstratix10_svc_allocate_memory”h]”hŒstratix10_svc_allocate_memory”…”�”}”(hj…Dh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj�Dubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hjSDh²hh³jeDh´M†ubjC)�”}”(hŒ.(struct stratix10_svc_chan *chan, size_t size)”h]”(jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hj¡Dh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj�Dubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®Dh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�Dubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hj¿Dh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj¼Dubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jÁDŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£j‡DsbŒc.stratix10_svc_allocate_memory”†”asbuh1hhj�Dubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßDh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�DubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjíDh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhj�Dubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hjúDh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hj�Dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj™DubjI)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j()�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjEubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jEŒmodname”NŒ classname”Nj§jª)�”}”j­]”jÛDŒc.stratix10_svc_allocate_memory”†”asbuh1hhjEubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4Eh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjEubj()�”}”(hŒsize”h]”hŒsize”…”�”}”(hjBEh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjEubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhj™Dubeh}”(h]”h ]”h"]”h$]”h&]”j@jAuh1jBhjSDh²hh³jeDh´M†ubeh}”(h]”h ]”h"]”h$]”h&]”j@jAjõˆuh1højöj÷hjODh²hh³jeDh´M†ubah}”(h]”jJDah ]”(jûjüeh"]”h$]”h&]”jˆj)jhuh1hòh³jeDh´M†hjLDh²hubj)�”}”(hhh]”j )�”}”(hŒallocate memory”h]”hŒallocate memory”…”�”}”(hjlEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M†hjiEh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjLDh²hh³jeDh´M†ubeh}”(h]”h ]”(j¡Œfunction”eh"]”h$]”h&]”j&j¡j'j„Ej(j„Ej)‰j*‰j+‰uh1híh²hhjÁ"h³Nh´Nubj-)�”}”(hX�**Parameters** ``struct stratix10_svc_chan *chan`` service channel assigned to the client ``size_t size`` memory size requested by a specific service client **Description** Service layer allocates the requested number of bytes buffer from the memory pool, service client uses this function to get allocated buffers. **Return** address of allocated memory on success, or ERR_PTR() on error.”h]”(j )�”}”(hŒ**Parameters**”h]”j7)�”}”(hjŽEh]”hŒ Parameters”…”�”}”(hj�Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjŒEubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MŠhjˆEubjM)�”}”(hhh]”(jR)�”}”(hŒK``struct stratix10_svc_chan *chan`` service channel assigned to the client ”h]”(jX)�”}”(hŒ#``struct stratix10_svc_chan *chan``”h]”j^)�”}”(hj­Eh]”hŒstruct stratix10_svc_chan *chan”…”�”}”(hj¯Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hj«Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M‡hj§Eubjt)�”}”(hhh]”j )�”}”(hŒ&service channel assigned to the client”h]”hŒ&service channel assigned to the client”…”�”}”(hjÆEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÂEh´M‡hjÃEubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj§Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jÂEh´M‡hj¤EubjR)�”}”(hŒC``size_t size`` memory size requested by a specific service client ”h]”(jX)�”}”(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&]”uh1jWh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MˆhjàEubjt)�”}”(hhh]”j )�”}”(hŒ2memory size requested by a specific service client”h]”hŒ2memory size requested by a specific service client”…”�”}”(hjÿEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jûEh´MˆhjüEubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjàEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jQh³jûEh´Mˆhj¤Eubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjˆEubj )�”}”(hŒ**Description**”h]”j7)�”}”(hj!Fh]”hŒ Description”…”�”}”(hj#Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MŠhjˆEubj )�”}”(hŒŽService layer allocates the requested number of bytes buffer from the memory pool, service client uses this function to get allocated buffers.”h]”hŒŽService layer allocates the requested number of bytes buffer from the memory pool, service client uses this function to get allocated buffers.”…”�”}”(hj7Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M‰hjˆEubj )�”}”(hŒ **Return**”h]”j7)�”}”(hjHFh]”hŒReturn”…”�”}”(hjJFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j6hjFFubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MŒhjˆEubj )�”}”(hŒ>address of allocated memory on success, or ERR_PTR() on error.”h]”hŒ>address of allocated memory on success, or ERR_PTR() on error.”…”�”}”(hj^Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´M�hjˆEubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j,hjÁ"h²hh³Nh´NubhÝ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(héŒ&stratix10_svc_free_memory (C function)”Œc.stratix10_svc_free_memory”hNt”auh1hÜhjÁ"h²hh³Nh´Nubhî)�”}”(hhh]”(hó)�”}”(hŒMvoid stratix10_svc_free_memory (struct stratix10_svc_chan *chan, void *kaddr)”h]”hù)�”}”(hŒLvoid stratix10_svc_free_memory(struct stratix10_svc_chan *chan, void *kaddr)”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj�Fh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hþhj‰Fh²hh³Œu/var/lib/git/docbuild/linux/Documentation/driver-api/firmware/other_interfaces:50: ./drivers/firmware/stratix10-svc.c”h´MÂubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœFh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‰Fh²hh³j›Fh´MÂubj")�”}”(hŒstratix10_svc_free_memory”h]”j()�”}”(hŒstratix10_svc_free_memory”h]”hŒstratix10_svc_free_memory”…”�”}”(hj®Fh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjªFubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”j@jAuh1j!hj‰Fh²hh³j›Fh´MÂubjC)�”}”(hŒ.(struct stratix10_svc_chan *chan, void *kaddr)”h]”(jI)�”}”(hŒstruct stratix10_svc_chan *chan”h]”(jO)�”}”(hjoh]”hŒstruct”…”�”}”(hjÊFh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjÆFubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×Fh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÆFubh)�”}”(hhh]”j()�”}”(hŒstratix10_svc_chan”h]”hŒstratix10_svc_chan”…”�”}”(hjèFh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjåFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¡Œreftype”j£Œ reftarget”jêFŒmodname”NŒ classname”Nj§jª)�”}”j­]”j°)�”}”j£j°FsbŒc.stratix10_svc_free_memory”†”asbuh1hhjÆFubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÆFubjÄ)�”}”(hjÇh]”hŒ*”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jÐah"]”h$]”h&]”uh1jÃhjÆFubj()�”}”(hŒchan”h]”hŒchan”…”�”}”(hj#Gh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j'hjÆFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj@jAuh1jHhjÂFubjI)�”}”(hŒ void *kaddr”h]”(hÿ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj