€•Œ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”Œ)/translations/zh_CN/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/zh_TW/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/it_IT/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ja_JP/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ko_KR/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/pt_BR/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/sp_SP/devicetree/kernel-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒC/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api.rst”h´KubhŒtarget”“”)�”}”(hŒ.. _devicetree:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ devicetree”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒDeviceTree Kernel API”h]”hŒDeviceTree Kernel API”…”�”}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´Kubh×)�”}”(hhh]”(hÜ)�”}”(hŒCore functions”h]”hŒCore functions”…”�”}”(hhîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhëh²hh³hÇh´K ubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œof_find_all_nodes (C function)”Œc.of_find_all_nodes”hNt”auh1hühhëh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒAstruct device_node * of_find_all_nodes (struct device_node *prev)”h]”hŒdesc_signature_line”“”)�”}”(hŒ?struct device_node *of_find_all_nodes(struct device_node *prev)”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jhjh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j0hjh²hh³j/h´Mubh)�”}”(hhh]”hŒ desc_sig_name”“”)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jDhjAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”jHŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jcŒ ASTIdentifier”“”)�”}”j^Œof_find_all_nodes”sbŒc.of_find_all_nodes”†”asbuh1hhjh²hh³j/h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh²hh³j/h´MubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jhjh²hh³j/h´MubhŒ desc_name”“”)�”}”(hŒof_find_all_nodes”h]”jE)�”}”(hjnh]”hŒof_find_all_nodes”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj’ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j�hjh²hh³j/h´MubhŒdesc_parameterlist”“”)�”}”(hŒ(struct device_node *prev)”h]”hŒdesc_parameter”“”)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj³ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj³ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j׌modname”NŒ classname”Njbje)�”}”jh]”jlŒc.of_find_all_nodes”†”asbuh1hhj³ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj³ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj³ubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj­ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjh²hh³j/h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jŒsphinx_line_type”Œ declarator”hjh²hh³j/h´Mubah}”(h]”j ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jh³j/h´Mhjh²hubhŒ desc_content”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒGet next node in global list”h]”hŒGet next node in global list”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjh²hh³j/h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”Œdomain”j\Œobjtype”j\Œdesctype”j\Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j h²hhhëh³Nh´NubhŒ container”“”)�”}”(hŒÖ**Parameters** ``struct device_node *prev`` Previous node or NULL to start iteration of_node_put() will be called on it **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hjnh]”hŒ Parameters”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjhubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒi``struct device_node *prev`` Previous node or NULL to start iteration of_node_put() will be called on it ”h]”(hŒterm”“”)�”}”(hŒ``struct device_node *prev``”h]”hŒliteral”“”)�”}”(hj•h]”hŒstruct device_node *prev”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj�ubhŒ definition”“”)�”}”(hhh]”jC)�”}”(hŒKPrevious node or NULL to start iteration of_node_put() will be called on it”h]”hŒKPrevious node or NULL to start iteration of_node_put() will be called on it”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¬h´Mhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjhubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÕh]”hŒReturn”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjhubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhjhubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(of_machine_compatible_match (C function)”Œc.of_machine_compatible_match”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ=bool of_machine_compatible_match (const char *const *compats)”h]”j)�”}”(hŒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj:ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjh²hh³j+h´M±ubj¬)�”}”(hŒ(const char *const *compats)”h]”j²)�”}”(hŒconst char *const *compats”h]”(j)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjVubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjVubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjVubj)�”}”(hj\h]”hŒconst”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjVubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjVubjE)�”}”(hŒcompats”h]”hŒcompats”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjRubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjh²hh³j+h´M±ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjh²hh³j+h´M±ubah}”(h]”j ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j+h´M±hjh²hubj>)�”}”(hhh]”jC)�”}”(hŒ3Test root of device tree against a compatible array”h]”hŒ3Test root of device tree against a compatible array”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M±hjîh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjh²hh³j+h´M±ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj jbj jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÿ**Parameters** ``const char *const *compats`` NULL terminated array of compatible strings to look for in root node's compatible property. **Description** Returns true if the root node has any of the given compatible values in its compatible property.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mµhj ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ{``const char *const *compats`` NULL terminated array of compatible strings to look for in root node's compatible property. ”h]”(j’)�”}”(hŒ``const char *const *compats``”h]”j˜)�”}”(hj2h]”hŒconst char *const *compats”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M²hj,ubj®)�”}”(hhh]”jC)�”}”(hŒ[NULL terminated array of compatible strings to look for in root node's compatible property.”h]”hŒ]NULL terminated array of compatible strings to look for in root node’s compatible property.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jGh´M²hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jGh´M²hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjmh]”hŒ Description”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjkubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M´hj ubjC)�”}”(hŒ`Returns true if the root node has any of the given compatible values in its compatible property.”h]”hŒ`Returns true if the root node has any of the given compatible values in its compatible property.”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M³hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_machine_read_compatible (C function)”Œc.of_machine_read_compatible”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒLint of_machine_read_compatible (const char **compatible, unsigned int index)”h]”j)�”}”(hŒKint of_machine_read_compatible(const char **compatible, unsigned int index)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj®h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÇubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj®h²hh³jÀh´MÇubj‘)�”}”(hŒof_machine_read_compatible”h]”jE)�”}”(hŒof_machine_read_compatible”h]”hŒof_machine_read_compatible”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÏubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj®h²hh³jÀh´MÇubj¬)�”}”(hŒ-(const char **compatible, unsigned int index)”h]”(j²)�”}”(hŒconst char **compatible”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjëubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjëubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjëubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjëubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjëubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjëubjE)�”}”(hŒ compatible”h]”hŒ compatible”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjçubj²)�”}”(hŒunsigned int index”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjUubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjUubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjçubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj®h²hh³jÀh´MÇubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjªh²hh³jÀh´MÇubah}”(h]”j¥ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÀh´MÇhj§h²hubj>)�”}”(hhh]”jC)�”}”(hŒ)Get the compatible string of this machine”h]”hŒ)Get the compatible string of this machine”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÇhj¸h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj§h²hh³jÀh´MÇubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÓjbjÓjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒõ**Parameters** ``const char **compatible`` address at which the address of the compatible string will be stored ``unsigned int index`` index of the compatible entry in the list **Return** 0 on success, negative error number on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÝh]”hŒ Parameters”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MËhj×ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒa``const char **compatible`` address at which the address of the compatible string will be stored ”h]”(j’)�”}”(hŒ``const char **compatible``”h]”j˜)�”}”(hjüh]”hŒconst char **compatible”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjúubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÉhjöubj®)�”}”(hhh]”jC)�”}”(hŒDaddress at which the address of the compatible string will be stored”h]”hŒDaddress at which the address of the compatible string will be stored”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÈhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjöubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh´MÉhjóubjŒ)�”}”(hŒA``unsigned int index`` index of the compatible entry in the list ”h]”(j’)�”}”(hŒ``unsigned int index``”h]”j˜)�”}”(hj6h]”hŒunsigned int index”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÊhj0ubj®)�”}”(hhh]”jC)�”}”(hŒ)index of the compatible entry in the list”h]”hŒ)index of the compatible entry in the list”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jKh´MÊhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jKh´MÊhjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj×ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjqh]”hŒReturn”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÌhj×ubjC)�”}”(hŒ/0 on success, negative error number on failure.”h]”hŒ/0 on success, negative error number on failure.”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÌhj×ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_machine_read_model (C function)”Œc.of_machine_read_model”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ.int of_machine_read_model (const char **model)”h]”j)�”}”(hŒ-int of_machine_read_model(const char **model)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj²h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÖubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj²h²hh³jÄh´MÖubj‘)�”}”(hŒof_machine_read_model”h]”jE)�”}”(hŒof_machine_read_model”h]”hŒof_machine_read_model”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÓubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj²h²hh³jÄh´MÖubj¬)�”}”(hŒ(const char **model)”h]”j²)�”}”(hŒconst char **model”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjïubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjïubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjïubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjïubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjïubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjïubjE)�”}”(hŒmodel”h]”hŒmodel”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjëubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj²h²hh³jÄh´MÖubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj®h²hh³jÄh´MÖubah}”(h]”j©ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÄh´MÖhj«h²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Get the model string of this machine”h]”hŒ$Get the model string of this machine”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÖhjkh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj«h²hh³jÄh´MÖubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj†jbj†jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ¥**Parameters** ``const char **model`` address at which the address of the model string will be stored **Return** 0 on success, negative error number on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj�h]”hŒ Parameters”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÚhjŠubj‡)�”}”(hhh]”jŒ)�”}”(hŒW``const char **model`` address at which the address of the model string will be stored ”h]”(j’)�”}”(hŒ``const char **model``”h]”j˜)�”}”(hj¯h]”hŒconst char **model”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M×hj©ubj®)�”}”(hhh]”jC)�”}”(hŒ?address at which the address of the model string will be stored”h]”hŒ?address at which the address of the model string will be stored”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÄh´M×hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÄh´M×hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjŠubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjêh]”hŒReturn”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÙhjŠubjC)�”}”(hŒ/0 on success, negative error number on failure.”h]”hŒ/0 on success, negative error number on failure.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÙhjŠubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_machine_get_match (C function)”Œc.of_machine_get_match”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒUconst struct of_device_id * of_machine_get_match (const struct of_device_id *matches)”h]”j)�”}”(hŒSconst struct of_device_id *of_machine_get_match(const struct of_device_id *matches)”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj+h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+h²hh³j<h´Mãubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj+h²hh³j<h´Mãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+h²hh³j<h´Mãubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjfubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jkŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_machine_get_match”sbŒc.of_machine_get_match”†”asbuh1hhj+h²hh³j<h´Mãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+h²hh³j<h´Mãubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj+h²hh³j<h´Mãubj‘)�”}”(hŒof_machine_get_match”h]”jE)�”}”(hj‡h]”hŒof_machine_get_match”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¥ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj+h²hh³j<h´Mãubj¬)�”}”(hŒ$(const struct of_device_id *matches)”h]”j²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÀubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÀubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÀubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÀubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjúubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÿŒmodname”NŒ classname”Njbje)�”}”jh]”j…Œc.of_machine_get_match”†”asbuh1hhjÀubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÀubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÀubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¼ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj+h²hh³j<h´Mãubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj'h²hh³j<h´Mãubah}”(h]”j"ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j<h´Mãhj$h²hubj>)�”}”(hhh]”jC)�”}”(hŒ6Test root of device tree against an of_device_id array”h]”hŒ6Test root of device tree against an of_device_id array”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mãhj] h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj$h²hh³j<h´Mãubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajx jbjx jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ¬**Parameters** ``const struct of_device_id *matches`` NULL terminated array of of_device_id match structures to search in **Description** Returns matched entry or NULL”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj‚ h]”hŒ Parameters”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj€ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mçhj| ubj‡)�”}”(hhh]”jŒ)�”}”(hŒk``const struct of_device_id *matches`` NULL terminated array of of_device_id match structures to search in ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hj¡ h]”hŒ"const struct of_device_id *matches”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mähj› ubj®)�”}”(hhh]”jC)�”}”(hŒCNULL terminated array of of_device_id match structures to search in”h]”hŒCNULL terminated array of of_device_id match structures to search in”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¶ h´Mähj· ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj› ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¶ h´Mähj˜ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj| ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÜ h]”hŒ Description”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mæhj| ubjC)�”}”(hŒReturns matched entry or NULL”h]”hŒReturns matched entry or NULL”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Måhj| ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ&of_machine_get_match_data (C function)”Œc.of_machine_get_match_data”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒKconst void * of_machine_get_match_data (const struct of_device_id *matches)”h]”j)�”}”(hŒIconst void *of_machine_get_match_data(const struct of_device_id *matches)”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Møubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj h²hh³j. h´Møubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj= h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj h²hh³j. h´Møubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj h²hh³j. h´Møubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjY h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj h²hh³j. h´Møubj‘)�”}”(hŒof_machine_get_match_data”h]”jE)�”}”(hŒof_machine_get_match_data”h]”hŒof_machine_get_match_data”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjf ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj h²hh³j. h´Møubj¬)�”}”(hŒ$(const struct of_device_id *matches)”h]”j²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‚ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚ ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj¡ h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‚ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚ ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¼ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÁ Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jl sbŒc.of_machine_get_match_data”†”asbuh1hhj‚ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚ ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‚ ubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‚ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj~ ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj h²hh³j. h´Møubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj h²hh³j. h´Møubah}”(h]”j ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j. h´Møhj h²hubj>)�”}”(hhh]”jC)�”}”(hŒ=Tell if root of device tree has a matching of_match structure”h]”hŒ=Tell if root of device tree has a matching of_match structure”…”�”}”(hj$ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Møhj! h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj h²hh³j. h´Møubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj< jbj< jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÁ**Parameters** ``const struct of_device_id *matches`` NULL terminated array of of_device_id match structures to search in **Description** Returns data associated with matched entry or NULL”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjF h]”hŒ Parameters”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjD ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mühj@ ubj‡)�”}”(hhh]”jŒ)�”}”(hŒk``const struct of_device_id *matches`` NULL terminated array of of_device_id match structures to search in ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hje h]”hŒ"const struct of_device_id *matches”…”�”}”(hjg h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjc ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mùhj_ ubj®)�”}”(hhh]”jC)�”}”(hŒCNULL terminated array of of_device_id match structures to search in”h]”hŒCNULL terminated array of of_device_id match structures to search in”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jz h´Mùhj{ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj_ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jz h´Mùhj\ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj@ ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj  h]”hŒ Description”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjž ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mûhj@ ubjC)�”}”(hŒ2Returns data associated with matched entry or NULL”h]”hŒ2Returns data associated with matched entry or NULL”…”�”}”(hj¶ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Múhj@ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ#of_device_is_available (C function)”Œc.of_device_is_available”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ>bool of_device_is_available (const struct device_node *device)”h]”j)�”}”(hŒ=bool of_device_is_available(const struct device_node *device)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjá h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MJubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjó h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjá h²hh³jò h´MJubj‘)�”}”(hŒof_device_is_available”h]”jE)�”}”(hŒof_device_is_available”h]”hŒof_device_is_available”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjá h²hh³jò h´MJubj¬)�”}”(hŒ"(const struct device_node *device)”h]”j²)�”}”(hŒ const struct device_node *device”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjW ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j\ Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j sbŒc.of_device_is_available”†”asbuh1hhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj ubjE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj• h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjá h²hh³jò h´MJubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÝ h²hh³jò h´MJubah}”(h]”jØ ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jò h´MJhjÚ h²hubj>)�”}”(hhh]”jC)�”}”(hŒ&check if a device is available for use”h]”hŒ&check if a device is available for use”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MJhj¼ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÚ h²hh³jò h´MJubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj× jbj× jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ²**Parameters** ``const struct device_node *device`` Node to check for availability **Return** True if the status property is absent or set to "okay" or "ok", false otherwise”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjá h]”hŒ Parameters”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjß ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MNhjÛ ubj‡)�”}”(hhh]”jŒ)�”}”(hŒD``const struct device_node *device`` Node to check for availability ”h]”(j’)�”}”(hŒ$``const struct device_node *device``”h]”j˜)�”}”(hj h]”hŒ const struct device_node *device”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjþ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MLhjú ubj®)�”}”(hhh]”jC)�”}”(hŒNode to check for availability”h]”hŒNode to check for availability”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j h´MLhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjú ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j h´MLhj÷ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÛ ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj; h]”hŒReturn”…”�”}”(hj= h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj9 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MNhjÛ ubjC)�”}”(hŒOTrue if the status property is absent or set to "okay" or "ok", false otherwise”h]”hŒWTrue if the status property is absent or set to “okayâ€� or “okâ€�, false otherwise”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MNhjÛ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_device_is_big_endian (C function)”Œc.of_device_is_big_endian”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ?bool of_device_is_big_endian (const struct device_node *device)”h]”j)�”}”(hŒ>bool of_device_is_big_endian(const struct device_node *device)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj| h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mnubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj| h²hh³j� h´Mnubj‘)�”}”(hŒof_device_is_big_endian”h]”jE)�”}”(hŒof_device_is_big_endian”h]”hŒof_device_is_big_endian”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjœ ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj| h²hh³j� h´Mnubj¬)�”}”(hŒ"(const struct device_node *device)”h]”j²)�”}”(hŒ const struct device_node *device”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¸ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¸ ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj× h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¸ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¸ ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjõ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjò ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j÷ Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j¢ sbŒc.of_device_is_big_endian”†”asbuh1hhj¸ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¸ ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¸ ubjE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¸ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj´ ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj| h²hh³j� h´Mnubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjx h²hh³j� h´Mnubah}”(h]”js ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j� h´Mnhju h²hubj>)�”}”(hhh]”jC)�”}”(hŒ"check if a device has BE registers”h]”hŒ"check if a device has BE registers”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MnhjWh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hju h²hh³j� h´Mnubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajrjbjrjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX‡**Parameters** ``const struct device_node *device`` Node to check for endianness **Return** True if the device has a "big-endian" property, or if the kernel was compiled for BE *and* the device has a "native-endian" property. Returns false otherwise. **Description** Callers would nominally use ioread32be/iowrite32be if of_device_is_big_endian() == true, or readl/writel otherwise.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj|h]”hŒ Parameters”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mrhjvubj‡)�”}”(hhh]”jŒ)�”}”(hŒB``const struct device_node *device`` Node to check for endianness ”h]”(j’)�”}”(hŒ$``const struct device_node *device``”h]”j˜)�”}”(hj›h]”hŒ const struct device_node *device”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mphj•ubj®)�”}”(hhh]”jC)�”}”(hŒNode to check for endianness”h]”hŒNode to check for endianness”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j°h´Mphj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j°h´Mphj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjvubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÖh]”hŒReturn”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MrhjvubjC)�”}”(hŒžTrue if the device has a "big-endian" property, or if the kernel was compiled for BE *and* the device has a "native-endian" property. Returns false otherwise.”h]”(hŒYTrue if the device has a “big-endianâ€� property, or if the kernel was compiled for BE ”…”�”}”(hjìh²hh³Nh´NubhŒemphasis”“”)�”}”(hŒ*and*”h]”hŒand”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jôhjìubhŒH the device has a “native-endianâ€� property. Returns false otherwise.”…”�”}”(hjìh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MrhjvubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MvhjvubhŒ block_quote”“”)�”}”(hŒsCallers would nominally use ioread32be/iowrite32be if of_device_is_big_endian() == true, or readl/writel otherwise.”h]”jC)�”}”(hŒsCallers would nominally use ioread32be/iowrite32be if of_device_is_big_endian() == true, or readl/writel otherwise.”h]”hŒsCallers would nominally use ioread32be/iowrite32be if of_device_is_big_endian() == true, or readl/writel otherwise.”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Muhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'h³j;h´Muhjvubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_get_parent (C function)”Œc.of_get_parent”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒCstruct device_node * of_get_parent (const struct device_node *node)”h]”j)�”}”(hŒAstruct device_node *of_get_parent(const struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj^h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj^h²hh³joh´M…ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jƒŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œ of_get_parent”sbŒc.of_get_parent”†”asbuh1hhj^h²hh³joh´M…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj^h²hh³joh´M…ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj^h²hh³joh´M…ubj‘)�”}”(hŒ of_get_parent”h]”jE)�”}”(hjŸh]”hŒ of_get_parent”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj½ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj^h²hh³joh´M…ubj¬)�”}”(hŒ (const struct device_node *node)”h]”j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjØubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjØubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŒmodname”NŒ classname”Njbje)�”}”jh]”j�Œc.of_get_parent”†”asbuh1hhjØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjØubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjØubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÔubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj^h²hh³joh´M…ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjZh²hh³joh´M…ubah}”(h]”jUah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³joh´M…hjWh²hubj>)�”}”(hhh]”jC)�”}”(hŒGet a node's parent if any”h]”hŒGet a node’s parent if any”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M…hjuh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjWh²hh³joh´M…ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj�jbj�jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ¡**Parameters** ``const struct device_node *node`` Node to get parent **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjšh]”hŒ Parameters”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M‰hj”ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ6``const struct device_node *node`` Node to get parent ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj¹h]”hŒconst struct device_node *node”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M†hj³ubj®)�”}”(hhh]”jC)�”}”(hŒNode to get parent”h]”hŒNode to get parent”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÎh´M†hjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÎh´M†hj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj”ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjôh]”hŒReturn”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mˆhj”ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mˆhj”ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_get_next_parent (C function)”Œc.of_get_next_parent”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒBstruct device_node * of_get_next_parent (struct device_node *node)”h]”j)�”}”(hŒ@struct device_node *of_get_next_parent(struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj5h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M›ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj5h²hh³jFh´M›ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjUubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jZŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_next_parent”sbŒc.of_get_next_parent”†”asbuh1hhj5h²hh³jFh´M›ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj5h²hh³jFh´M›ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj5h²hh³jFh´M›ubj‘)�”}”(hŒof_get_next_parent”h]”jE)�”}”(hjvh]”hŒof_get_next_parent”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj5h²hh³jFh´M›ubj¬)�”}”(hŒ(struct device_node *node)”h]”j²)�”}”(hŒstruct device_node *node”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¯ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¯ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÓŒmodname”NŒ classname”Njbje)�”}”jh]”jtŒc.of_get_next_parent”†”asbuh1hhj¯ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¯ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¯ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj«ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj5h²hh³jFh´M›ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj1h²hh³jFh´M›ubah}”(h]”j,ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jFh´M›hj.h²hubj>)�”}”(hhh]”jC)�”}”(hŒIterate to a node's parent”h]”hŒIterate to a node’s parent”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M›hj1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj.h²hh³jFh´M›ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajLjbjLjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX>**Parameters** ``struct device_node *node`` Node to get parent of **Description** This is like of_get_parent() except that it drops the refcount on the passed node, making it suitable for iterating through a node's parents. **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjVh]”hŒ Parameters”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MŸhjPubj‡)�”}”(hhh]”jŒ)�”}”(hŒ3``struct device_node *node`` Node to get parent of ”h]”(j’)�”}”(hŒ``struct device_node *node``”h]”j˜)�”}”(hjuh]”hŒstruct device_node *node”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mœhjoubj®)�”}”(hhh]”jC)�”}”(hŒNode to get parent of”h]”hŒNode to get parent of”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jŠh´Mœhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jŠh´Mœhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjPubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj°h]”hŒ Description”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MžhjPubjC)�”}”(hŒ�This is like of_get_parent() except that it drops the refcount on the passed node, making it suitable for iterating through a node's parents.”h]”hŒ�This is like of_get_parent() except that it drops the refcount on the passed node, making it suitable for iterating through a node’s parents.”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M�hjPubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj×h]”hŒReturn”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¡hjPubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¢hjPubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_get_next_child (C function)”Œc.of_get_next_child”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒastruct device_node * of_get_next_child (const struct device_node *node, struct device_node *prev)”h]”j)�”}”(hŒ_struct device_node *of_get_next_child(const struct device_node *node, struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÇubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh²hh³j)h´MÇubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j=Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_next_child”sbŒc.of_get_next_child”†”asbuh1hhjh²hh³j)h´MÇubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh²hh³j)h´MÇubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjh²hh³j)h´MÇubj‘)�”}”(hŒof_get_next_child”h]”jE)�”}”(hjYh]”hŒof_get_next_child”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjwubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjh²hh³j)h´MÇubj¬)�”}”(hŒ:(const struct device_node *node, struct device_node *prev)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj’ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj’ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj’ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj’ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÌubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÑŒmodname”NŒ classname”Njbje)�”}”jh]”jWŒc.of_get_next_child”†”asbuh1hhj’ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj’ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj’ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjŽubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jAŒmodname”NŒ classname”Njbje)�”}”jh]”jWŒc.of_get_next_child”†”asbuh1hhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjŽubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjh²hh³j)h´MÇubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjh²hh³j)h´MÇubah}”(h]”jah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j)h´MÇhjh²hubj>)�”}”(hhh]”jC)�”}”(hŒIterate a node childs”h]”hŒIterate a node childs”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÇhjŸh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjh²hh³j)h´MÇubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajºjbjºjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX=**Parameters** ``const struct device_node *node`` parent node ``struct device_node *prev`` previous child of the parent node, or NULL to get first **Return** A node pointer with refcount incremented, use of_node_put() on it when done. Returns NULL when prev is the last child. Decrements the refcount of prev.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÄh]”hŒ Parameters”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MËhj¾ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``const struct device_node *node`` parent node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjãh]”hŒconst struct device_node *node”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjáubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÈhjÝubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jøh´MÈhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jøh´MÈhjÚubjŒ)�”}”(hŒU``struct device_node *prev`` previous child of the parent node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjh]”hŒstruct device_node *prev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÉhjubj®)�”}”(hhh]”jC)�”}”(hŒ7previous child of the parent node, or NULL to get first”h]”hŒ7previous child of the parent node, or NULL to get first”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j1h´MÉhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j1h´MÉhjÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¾ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjWh]”hŒReturn”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MËhj¾ubjC)�”}”(hŒ—A node pointer with refcount incremented, use of_node_put() on it when done. Returns NULL when prev is the last child. Decrements the refcount of prev.”h]”hŒ—A node pointer with refcount incremented, use of_node_put() on it when done. Returns NULL when prev is the last child. Decrements the refcount of prev.”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MËhj¾ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ*of_get_next_child_with_prefix (C function)”Œc.of_get_next_child_with_prefix”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ�struct device_node * of_get_next_child_with_prefix (const struct device_node *node, struct device_node *prev, const char *prefix)”h]”j)�”}”(hŒstruct device_node *of_get_next_child_with_prefix(const struct device_node *node, struct device_node *prev, const char *prefix)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj˜h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÝubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj˜h²hh³j©h´MÝubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¸ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j½Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_next_child_with_prefix”sbŒc.of_get_next_child_with_prefix”†”asbuh1hhj˜h²hh³j©h´MÝubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj˜h²hh³j©h´MÝubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj˜h²hh³j©h´MÝubj‘)�”}”(hŒof_get_next_child_with_prefix”h]”jE)�”}”(hjÙh]”hŒof_get_next_child_with_prefix”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj÷ubah}”(h]”h ]”(j¦j§eh"]”h$]”•+h&]”hÅhÆuh1j�hj˜h²hh³j©h´MÝubj¬)�”}”(hŒN(const struct device_node *node, struct device_node *prev, const char *prefix)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjLubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jQŒmodname”NŒ classname”Njbje)�”}”jh]”j׌c.of_get_next_child_with_prefix”†”asbuh1hhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¼ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÁŒmodname”NŒ classname”Njbje)�”}”jh]”j׌c.of_get_next_child_with_prefix”†”asbuh1hhj�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj�ubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjubj²)�”}”(hŒconst char *prefix”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj ubjE)�”}”(hŒprefix”h]”hŒprefix”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj˜h²hh³j©h´MÝubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj”h²hh³j©h´MÝubah}”(h]”j�ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j©h´MÝhj‘h²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Find the next child node with prefix”h]”hŒ$Find the next child node with prefix”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÝhj|h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj‘h²hh³j©h´MÝubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj—jbj—jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÆ**Parameters** ``const struct device_node *node`` parent node ``struct device_node *prev`` previous child of the parent node, or NULL to get first ``const char *prefix`` prefix that the node name should have **Description** This function is like of_get_next_child(), except that it automatically skips any nodes whose name doesn't have the given prefix. **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¡h]”hŒ Parameters”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Máhj›ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``const struct device_node *node`` parent node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjÀh]”hŒconst struct device_node *node”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÞhjºubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÕh´MÞhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÕh´MÞhj·ubjŒ)�”}”(hŒU``struct device_node *prev`` previous child of the parent node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjùh]”hŒstruct device_node *prev”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mßhjóubj®)�”}”(hhh]”jC)�”}”(hŒ7previous child of the parent node, or NULL to get first”h]”hŒ7previous child of the parent node, or NULL to get first”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jh´Mßhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh´Mßhj·ubjŒ)�”}”(hŒ=``const char *prefix`` prefix that the node name should have ”h]”(j’)�”}”(hŒ``const char *prefix``”h]”j˜)�”}”(hj2h]”hŒconst char *prefix”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Màhj,ubj®)�”}”(hhh]”jC)�”}”(hŒ%prefix that the node name should have”h]”hŒ%prefix that the node name should have”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jGh´MàhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jGh´Màhj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj›ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjmh]”hŒ Description”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjkubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mâhj›ubjC)�”}”(hŒ�This function is like of_get_next_child(), except that it automatically skips any nodes whose name doesn't have the given prefix.”h]”hŒƒThis function is like of_get_next_child(), except that it automatically skips any nodes whose name doesn’t have the given prefix.”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Máhj›ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj”h]”hŒReturn”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mähj›ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Måhj›ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(of_get_next_available_child (C function)”Œc.of_get_next_available_child”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒkstruct device_node * of_get_next_available_child (const struct device_node *node, struct device_node *prev)”h]”j)�”}”(hŒistruct device_node *of_get_next_available_child(const struct device_node *node, struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÕh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÕh²hh³jæh´Mubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”júŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_next_available_child”sbŒc.of_get_next_available_child”†”asbuh1hhjÕh²hh³jæh´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÕh²hh³jæh´Mubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÕh²hh³jæh´Mubj‘)�”}”(hŒof_get_next_available_child”h]”jE)�”}”(hjh]”hŒof_get_next_available_child”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj4ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÕh²hh³jæh´Mubj¬)�”}”(hŒ:(const struct device_node *node, struct device_node *prev)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‰ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŽŒmodname”NŒ classname”Njbje)�”}”jh]”jŒc.of_get_next_available_child”†”asbuh1hhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjOubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjKubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÚubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÚubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jþŒmodname”NŒ classname”Njbje)�”}”jh]”jŒc.of_get_next_available_child”†”asbuh1hhjÚubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÚubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÚubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjKubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÕh²hh³jæh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÑh²hh³jæh´Mubah}”(h]”jÌah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jæh´MhjÎh²hubj>)�”}”(hhh]”jC)�”}”(hŒ"Find the next available child node”h]”hŒ"Find the next available child node”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÎh²hh³jæh´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajwjbjwjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX'**Parameters** ``const struct device_node *node`` parent node ``struct device_node *prev`` previous child of the parent node, or NULL to get first **Description** This function is like of_get_next_child(), except that it automatically skips any disabled nodes (i.e. status = "disabled").”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj�h]”hŒ Parameters”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj{ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``const struct device_node *node`` parent node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj h]”hŒconst struct device_node *node”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjžubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhjšubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jµh´Mhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjšubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jµh´Mhj—ubjŒ)�”}”(hŒU``struct device_node *prev`` previous child of the parent node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjÙh]”hŒstruct device_node *prev”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjÓubj®)�”}”(hhh]”jC)�”}”(hŒ7previous child of the parent node, or NULL to get first”h]”hŒ7previous child of the parent node, or NULL to get first”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jîh´Mhjïubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jîh´Mhj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj{ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj{ubjC)�”}”(hŒ|This function is like of_get_next_child(), except that it automatically skips any disabled nodes (i.e. status = "disabled").”h]”hŒ€This function is like of_get_next_child(), except that it automatically skips any disabled nodes (i.e. status = “disabledâ€�).”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj{ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_get_next_reserved_child (C function)”Œc.of_get_next_reserved_child”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒjstruct device_node * of_get_next_reserved_child (const struct device_node *node, struct device_node *prev)”h]”j)�”}”(hŒhstruct device_node *of_get_next_reserved_child(const struct device_node *node, struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjUh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUh²hh³jfh´M'ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jzŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_next_reserved_child”sbŒc.of_get_next_reserved_child”†”asbuh1hhjUh²hh³jfh´M'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUh²hh³jfh´M'ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjUh²hh³jfh´M'ubj‘)�”}”(hŒof_get_next_reserved_child”h]”jE)�”}”(hj–h]”hŒof_get_next_reserved_child”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj´ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjUh²hh³jfh´M'ubj¬)�”}”(hŒ:(const struct device_node *node, struct device_node *prev)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÏubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÏubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÏubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÏubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŒmodname”NŒ classname”Njbje)�”}”jh]”j”Œc.of_get_next_reserved_child”†”asbuh1hhjÏubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÏubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÏubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÏubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjËubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjyubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j~Œmodname”NŒ classname”Njbje)�”}”jh]”j”Œc.of_get_next_reserved_child”†”asbuh1hhjZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjZubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjZubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjËubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjUh²hh³jfh´M'ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjQh²hh³jfh´M'ubah}”(h]”jLah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jfh´M'hjNh²hubj>)�”}”(hhh]”jC)�”}”(hŒ!Find the next reserved child node”h]”hŒ!Find the next reserved child node”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M'hjÜh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjNh²hh³jfh´M'ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj÷jbj÷jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX'**Parameters** ``const struct device_node *node`` parent node ``struct device_node *prev`` previous child of the parent node, or NULL to get first **Description** This function is like of_get_next_child(), except that it automatically skips any disabled nodes (i.e. status = "disabled").”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+hjûubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``const struct device_node *node`` parent node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj h]”hŒconst struct device_node *node”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M(hjubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j5h´M(hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j5h´M(hjubjŒ)�”}”(hŒU``struct device_node *prev`` previous child of the parent node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjYh]”hŒstruct device_node *prev”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjWubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M)hjSubj®)�”}”(hhh]”jC)�”}”(hŒ7previous child of the parent node, or NULL to get first”h]”hŒ7previous child of the parent node, or NULL to get first”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jnh´M)hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjSubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jnh´M)hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjûubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj”h]”hŒ Description”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+hjûubjC)�”}”(hŒ|This function is like of_get_next_child(), except that it automatically skips any disabled nodes (i.e. status = "disabled").”h]”hŒ€This function is like of_get_next_child(), except that it automatically skips any disabled nodes (i.e. status = “disabledâ€�).”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M*hjûubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_get_next_cpu_node (C function)”Œc.of_get_next_cpu_node”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒDstruct device_node * of_get_next_cpu_node (struct device_node *prev)”h]”j)�”}”(hŒBstruct device_node *of_get_next_cpu_node(struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÕh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M6ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÕh²hh³jæh´M6ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”júŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_next_cpu_node”sbŒc.of_get_next_cpu_node”†”asbuh1hhjÕh²hh³jæh´M6ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÕh²hh³jæh´M6ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÕh²hh³jæh´M6ubj‘)�”}”(hŒof_get_next_cpu_node”h]”jE)�”}”(hjh]”hŒof_get_next_cpu_node”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj4ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÕh²hh³jæh´M6ubj¬)�”}”(hŒ(struct device_node *prev)”h]”j²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jsŒmodname”NŒ classname”Njbje)�”}”jh]”jŒc.of_get_next_cpu_node”†”asbuh1hhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjOubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjKubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÕh²hh³jæh´M6ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÑh²hh³jæh´M6ubah}”(h]”jÌah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jæh´M6hjÎh²hubj>)�”}”(hhh]”jC)�”}”(hŒIterate on cpu nodes”h]”hŒIterate on cpu nodes”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M6hjÑh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÎh²hh³jæh´M6ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajìjbjìjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX|**Parameters** ``struct device_node *prev`` previous child of the /cpus node, or NULL to get first **Description** Unusable CPUs (those with the status property set to "fail" or "fail-...") will be skipped. **Return** A cpu node pointer with refcount incremented, use of_node_put() on it when done. Returns NULL when prev is the last child. Decrements the refcount of prev.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjöh]”hŒ Parameters”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M:hjðubj‡)�”}”(hhh]”jŒ)�”}”(hŒT``struct device_node *prev`` previous child of the /cpus node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjh]”hŒstruct device_node *prev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M7hjubj®)�”}”(hhh]”jC)�”}”(hŒ6previous child of the /cpus node, or NULL to get first”h]”hŒ6previous child of the /cpus node, or NULL to get first”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j*h´M7hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j*h´M7hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjðubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjPh]”hŒ Description”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M9hjðubjC)�”}”(hŒ[Unusable CPUs (those with the status property set to "fail" or "fail-...") will be skipped.”h]”hŒcUnusable CPUs (those with the status property set to “failâ€� or “fail-...â€�) will be skipped.”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M8hjðubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjwh]”hŒReturn”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M;hjðubjC)�”}”(hŒ›A cpu node pointer with refcount incremented, use of_node_put() on it when done. Returns NULL when prev is the last child. Decrements the refcount of prev.”h]”hŒ›A cpu node pointer with refcount incremented, use of_node_put() on it when done. Returns NULL when prev is the last child. Decrements the refcount of prev.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M<hjðubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_get_compatible_child (C function)”Œc.of_get_compatible_child”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒgstruct device_node * of_get_compatible_child (const struct device_node *parent, const char *compatible)”h]”j)�”}”(hŒestruct device_node *of_get_compatible_child(const struct device_node *parent, const char *compatible)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¸h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¸h²hh³jÉh´M`ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjØubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÝŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_compatible_child”sbŒc.of_get_compatible_child”†”asbuh1hhj¸h²hh³jÉh´M`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¸h²hh³jÉh´M`ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¸h²hh³jÉh´M`ubj‘)�”}”(hŒof_get_compatible_child”h]”jE)�”}”(hjùh]”hŒof_get_compatible_child”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¸h²hh³jÉh´M`ubj¬)�”}”(hŒ:(const struct device_node *parent, const char *compatible)”h]”(j²)�”}”(hŒ const struct device_node *parent”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj2 ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj2 ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj2 ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj2 ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjl ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jq Œmodname”NŒ classname”Njbje)�”}”jh]”j÷Œc.of_get_compatible_child”†”asbuh1hhj2 ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj2 ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj2 ubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj2 ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj. ubj²)�”}”(hŒconst char *compatible”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj½ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj½ ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj½ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj½ ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj½ ubjE)�”}”(hŒ compatible”h]”hŒ compatible”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj½ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj. ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¸h²hh³jÉh´M`ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj´h²hh³jÉh´M`ubah}”(h]”j¯ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÉh´M`hj±h²hubj>)�”}”(hhh]”jC)�”}”(hŒFind compatible child node”h]”hŒFind compatible child node”…”�”}”(hj/!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M`hj,!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj±h²hh³jÉh´M`ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajG!jbjG!jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXF**Parameters** ``const struct device_node *parent`` parent node ``const char *compatible`` compatible string **Description** Lookup child node whose compatible property contains the given compatible string. **Return** a node pointer with refcount incremented, use of_node_put() on it when done; or NULL if not found.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjQ!h]”hŒ Parameters”…”�”}”(hjS!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjO!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MdhjK!ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ1``const struct device_node *parent`` parent node ”h]”(j’)�”}”(hŒ$``const struct device_node *parent``”h]”j˜)�”}”(hjp!h]”hŒ const struct device_node *parent”…”�”}”(hjr!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjn!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mahjj!ubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hj‰!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j…!h´Mahj†!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j…!h´Mahjg!ubjŒ)�”}”(hŒ-``const char *compatible`` compatible string ”h]”(j’)�”}”(hŒ``const char *compatible``”h]”j˜)�”}”(hj©!h]”hŒconst char *compatible”…”�”}”(hj«!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj§!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mbhj£!ubj®)�”}”(hhh]”jC)�”}”(hŒcompatible string”h]”hŒcompatible string”…”�”}”(hjÂ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¾!h´Mbhj¿!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj£!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¾!h´Mbhjg!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjK!ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjä!h]”hŒ Description”…”�”}”(hjæ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjâ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MdhjK!ubjC)�”}”(hŒQLookup child node whose compatible property contains the given compatible string.”h]”hŒQLookup child node whose compatible property contains the given compatible string.”…”�”}”(hjú!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MchjK!ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj "h]”hŒReturn”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj "ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MfhjK!ubjC)�”}”(hŒba node pointer with refcount incremented, use of_node_put() on it when done; or NULL if not found.”h]”hŒba node pointer with refcount incremented, use of_node_put() on it when done; or NULL if not found.”…”�”}”(hj!"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MghjK!ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_get_child_by_name (C function)”Œc.of_get_child_by_name”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ\struct device_node * of_get_child_by_name (const struct device_node *node, const char *name)”h]”j)�”}”(hŒZstruct device_node *of_get_child_by_name(const struct device_node *node, const char *name)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjP"h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjL"h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Myubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjL"h²hh³j]"h´Myubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjo"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjl"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jq"Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_child_by_name”sbŒc.of_get_child_by_name”†”asbuh1hhjL"h²hh³j]"h´Myubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjL"h²hh³j]"h´Myubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjž"h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjL"h²hh³j]"h´Myubj‘)�”}”(hŒof_get_child_by_name”h]”jE)�”}”(hj�"h]”hŒof_get_child_by_name”…”�”}”(hj¯"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj«"ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjL"h²hh³j]"h´Myubj¬)�”}”(hŒ2(const struct device_node *node, const char *name)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÊ"h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÆ"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÆ"ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjå"h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÆ"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÆ"ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j#Œmodname”NŒ classname”Njbje)�”}”jh]”j‹"Œc.of_get_child_by_name”†”asbuh1hhjÆ"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!#h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÆ"ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj/#h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÆ"ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj<#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÆ"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÂ"ubj²)�”}”(hŒconst char *name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjU#h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjQ#ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb#h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQ#ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjp#h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjQ#ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~#h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQ#ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjŒ#h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjQ#ubjE)�”}”(hŒname”h]”hŒname”…”�”}”(hj™#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjQ#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÂ"ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjL"h²hh³j]"h´Myubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjH"h²hh³j]"h´Myubah}”(h]”jC"ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j]"h´MyhjE"h²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Find the child node by name for a given parent”h]”hŒ.Find the child node by name for a given parent”…”�”}”(hjÃ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MyhjÀ#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjE"h²hh³j]"h´Myubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÛ#jbjÛ#jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXD**Parameters** ``const struct device_node *node`` parent node ``const char *name`` child name to look for. **Description** This function looks for child node for given matching name **Return** A node pointer if found, with refcount incremented, use of_node_put() on it when done. Returns NULL if node is not found.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjå#h]”hŒ Parameters”…”�”}”(hjç#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjã#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M}hjß#ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``const struct device_node *node`` parent node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj$h]”hŒconst struct device_node *node”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mzhjþ#ubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j$h´Mzhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjþ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j$h´Mzhjû#ubjŒ)�”}”(hŒ-``const char *name`` child name to look for. ”h]”(j’)�”}”(hŒ``const char *name``”h]”j˜)�”}”(hj=$h]”hŒconst char *name”…”�”}”(hj?$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj;$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M{hj7$ubj®)�”}”(hhh]”jC)�”}”(hŒchild name to look for.”h]”hŒchild name to look for.”…”�”}”(hjV$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jR$h´M{hjS$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj7$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jR$h´M{hjû#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjß#ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjx$h]”hŒ Description”…”�”}”(hjz$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjv$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M}hjß#ubjC)�”}”(hŒ:This function looks for child node for given matching name”h]”hŒ:This function looks for child node for given matching name”…”�”}”(hjŽ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M|hjß#ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjŸ$h]”hŒReturn”…”�”}”(hj¡$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj�$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M~hjß#ubjC)�”}”(hŒyA node pointer if found, with refcount incremented, use of_node_put() on it when done. Returns NULL if node is not found.”h]”hŒyA node pointer if found, with refcount incremented, use of_node_put() on it when done. Returns NULL if node is not found.”…”�”}”(hjµ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhjß#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ+of_get_available_child_by_name (C function)”Œ c.of_get_available_child_by_name”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒfstruct device_node * of_get_available_child_by_name (const struct device_node *node, const char *name)”h]”j)�”}”(hŒdstruct device_node *of_get_available_child_by_name(const struct device_node *node, const char *name)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjä$h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjà$h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò$h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjà$h²hh³jñ$h´M�ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j%Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_get_available_child_by_name”sbŒ c.of_get_available_child_by_name”†”asbuh1hhjà$h²hh³jñ$h´M�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjà$h²hh³jñ$h´M�ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj2%h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjà$h²hh³jñ$h´M�ubj‘)�”}”(hŒof_get_available_child_by_name”h]”jE)�”}”(hj!%h]”hŒof_get_available_child_by_name”…”�”}”(hjC%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj?%ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjà$h²hh³jñ$h´M�ubj¬)�”}”(hŒ2(const struct device_node *node, const char *name)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj^%h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZ%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZ%ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjy%h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZ%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZ%ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj—%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j™%Œmodname”NŒ classname”Njbje)�”}”jh]”j%Œ c.of_get_available_child_by_name”†”asbuh1hhjZ%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZ%ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÃ%h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjZ%ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjÐ%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjZ%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjV%ubj²)�”}”(hŒconst char *name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjé%h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjå%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjå%ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjå%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjå%ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj &h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjå%ubjE)�”}”(hŒname”h]”hŒname”…”�”}”(hj-&h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjå%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjV%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjà$h²hh³jñ$h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÜ$h²hh³jñ$h´M�ubah}”(h]”j×$ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jñ$h´M�hjÙ$h²hubj>)�”}”(hhh]”jC)�”}”(hŒ8Find the available child node by name for a given parent”h]”hŒ8Find the available child node by name for a given parent”…”�”}”(hjW&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M�hjT&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÙ$h²hh³jñ$h´M�ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajo&jbjo&jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXr**Parameters** ``const struct device_node *node`` parent node ``const char *name`` child name to look for. **Description** This function looks for child node for given matching name and checks the device's availability for use. **Return** A node pointer if found, with refcount incremented, use of_node_put() on it when done. Returns NULL if node is not found.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjy&h]”hŒ Parameters”…”�”}”(hj{&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjw&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M”hjs&ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``const struct device_node *node`` parent node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj˜&h]”hŒconst struct device_node *node”…”�”}”(hjš&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj–&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M‘hj’&ubj®)�”}”(hhh]”jC)�”}”(hŒ parent node”h]”hŒ parent node”…”�”}”(hj±&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j­&h´M‘hj®&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj’&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j­&h´M‘hj�&ubjŒ)�”}”(hŒ-``const char *name`` child name to look for. ”h]”(j’)�”}”(hŒ``const char *name``”h]”j˜)�”}”(hjÑ&h]”hŒconst char *name”…”�”}”(hjÓ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÏ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M’hjË&ubj®)�”}”(hhh]”jC)�”}”(hŒchild name to look for.”h]”hŒchild name to look for.”…”�”}”(hjê&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jæ&h´M’hjç&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjË&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jæ&h´M’hj�&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjs&ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj 'h]”hŒ Description”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj 'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M”hjs&ubjC)�”}”(hŒhThis function looks for child node for given matching name and checks the device's availability for use.”h]”hŒjThis function looks for child node for given matching name and checks the device’s availability for use.”…”�”}”(hj"'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M“hjs&ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj3'h]”hŒReturn”…”�”}”(hj5'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj1'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M–hjs&ubjC)�”}”(hŒyA node pointer if found, with refcount incremented, use of_node_put() on it when done. Returns NULL if node is not found.”h]”hŒyA node pointer if found, with refcount incremented, use of_node_put() on it when done. Returns NULL if node is not found.”…”�”}”(hjI'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M—hjs&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ&of_find_node_opts_by_path (C function)”Œc.of_find_node_opts_by_path”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒTstruct device_node * of_find_node_opts_by_path (const char *path, const char **opts)”h]”j)�”}”(hŒRstruct device_node *of_find_node_opts_by_path(const char *path, const char **opts)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjx'h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjt'h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÏubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjt'h²hh³j…'h´MÏubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj—'h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j™'Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_node_opts_by_path”sbŒc.of_find_node_opts_by_path”†”asbuh1hhjt'h²hh³j…'h´MÏubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjt'h²hh³j…'h´MÏubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÆ'h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjt'h²hh³j…'h´MÏubj‘)�”}”(hŒof_find_node_opts_by_path”h]”jE)�”}”(hjµ'h]”hŒof_find_node_opts_by_path”…”�”}”(hj×'h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÓ'ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjt'h²hh³j…'h´MÏubj¬)�”}”(hŒ%(const char *path, const char **opts)”h]”(j²)�”}”(hŒconst char *path”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjò'h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjî'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjî'ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjî'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjî'ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj)(h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjî'ubjE)�”}”(hŒpath”h]”hŒpath”…”�”}”(hj6(h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjî'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjê'ubj²)�”}”(hŒconst char **opts”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjO(h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjK(ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\(h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjK(ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjj(h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjK(ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx(h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjK(ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj†(h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjK(ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj“(h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjK(ubjE)�”}”(hŒopts”h]”hŒopts”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjK(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjê'ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjt'h²hh³j…'h´MÏubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjp'h²hh³j…'h´MÏubah}”(h]”jk'ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j…'h´MÏhjm'h²hubj>)�”}”(hhh]”jC)�”}”(hŒ#Find a node matching a full OF path”h]”hŒ#Find a node matching a full OF path”…”�”}”(hjÊ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÏhjÇ(h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjm'h²hh³j…'h´MÏubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajâ(jbjâ(jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXg**Parameters** ``const char *path`` Either the full path to match, or if the path does not start with '/', the name of a property of the /aliases node (an alias). In the case of an alias, the node matching the alias' value will be returned. ``const char **opts`` Address of a pointer into which to store the start of an options string appended to the end of the path with a ':' separator. **Description** Valid paths: * /foo/bar Full path * foo Valid alias * foo/bar Valid alias + relative path **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjì(h]”hŒ Parameters”…”�”}”(hjî(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjê(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÓhjæ(ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒã``const char *path`` Either the full path to match, or if the path does not start with '/', the name of a property of the /aliases node (an alias). In the case of an alias, the node matching the alias' value will be returned. ”h]”(j’)�”}”(hŒ``const char *path``”h]”j˜)�”}”(hj )h]”hŒconst char *path”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj )ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÓhj)ubj®)�”}”(hhh]”jC)�”}”(hŒÍEither the full path to match, or if the path does not start with '/', the name of a property of the /aliases node (an alias). In the case of an alias, the node matching the alias' value will be returned.”h]”hŒÓEither the full path to match, or if the path does not start with ‘/’, the name of a property of the /aliases node (an alias). In the case of an alias, the node matching the alias’ value will be returned.”…”�”}”(hj$)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÐhj!)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j )h´MÓhj)ubjŒ)�”}”(hŒ”``const char **opts`` Address of a pointer into which to store the start of an options string appended to the end of the path with a ':' separator. ”h]”(j’)�”}”(hŒ``const char **opts``”h]”j˜)�”}”(hjE)h]”hŒconst char **opts”…”�”}”(hjG)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjC)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÖhj?)ubj®)�”}”(hhh]”jC)�”}”(hŒ}Address of a pointer into which to store the start of an options string appended to the end of the path with a ':' separator.”h]”hŒ�Address of a pointer into which to store the start of an options string appended to the end of the path with a ‘:’ separator.”…”�”}”(hj^)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÔhj[)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj?)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jZ)h´MÖhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjæ(ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj�)h]”hŒ Description”…”�”}”(hjƒ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MØhjæ(ubj‡)�”}”(hhh]”jŒ)�”}”(hŒcValid paths: * /foo/bar Full path * foo Valid alias * foo/bar Valid alias + relative path ”h]”(j’)�”}”(hŒ Valid paths:”h]”hŒ Valid paths:”…”�”}”(hjž)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÚhjš)ubj®)�”}”(hhh]”hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ/foo/bar Full path”h]”jC)�”}”(hj¹)h]”hŒ/foo/bar Full path”…”�”}”(hj»)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MØhj·)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hj²)ubj¶))�”}”(hŒfoo Valid alias”h]”jC)�”}”(hjÑ)h]”hŒfoo Valid alias”…”�”}”(hjÓ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÙhjÏ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hj²)ubj¶))�”}”(hŒ&foo/bar Valid alias + relative path ”h]”jC)�”}”(hŒ%foo/bar Valid alias + relative path”h]”hŒ%foo/bar Valid alias + relative path”…”�”}”(hjë)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¬)h´MÚhjç)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hj²)ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”jƒuh1j°)h³jÈ)h´MØhj­)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjš)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¬)h´MÚhj—)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjæ(ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj*h]”hŒReturn”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÜhjæ(ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hj0*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÝhjæ(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_find_node_by_name (C function)”Œc.of_find_node_by_name”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒVstruct device_node * of_find_node_by_name (struct device_node *from, const char *name)”h]”j)�”}”(hŒTstruct device_node *of_find_node_by_name(struct device_node *from, const char *name)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj_*h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj[*h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm*h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj[*h²hh³jl*h´Mubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj~*h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj{*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j€*Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_node_by_name”sbŒc.of_find_node_by_name”†”asbuh1hhj[*h²hh³jl*h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ*h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj[*h²hh³jl*h´Mubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj­*h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj[*h²hh³jl*h´Mubj‘)�”}”(hŒof_find_node_by_name”h]”jE)�”}”(hjœ*h]”hŒof_find_node_by_name”…”�”}”(hj¾*h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjº*ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj[*h²hh³jl*h´Mubj¬)�”}”(hŒ,(struct device_node *from, const char *name)”h]”(j²)�”}”(hŒstruct device_node *from”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÙ*h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÕ*ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæ*h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÕ*ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj÷*h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjô*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jù*Œmodname”NŒ classname”Njbje)�”}”jh]”jš*Œc.of_find_node_by_name”†”asbuh1hhjÕ*ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÕ*ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj#+h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÕ*ubjE)�”}”(hŒfrom”h]”hŒfrom”…”�”}”(hj0+h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÕ*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÑ*ubj²)�”}”(hŒconst char *name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjI+h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjE+ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV+h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjE+ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjd+h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjE+ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr+h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjE+ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj€+h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjE+ubjE)�”}”(hŒname”h]”hŒname”…”�”}”(hj�+h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjE+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÑ*ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj[*h²hh³jl*h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjW*h²hh³jl*h´Mubah}”(h]”jR*ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jl*h´MhjT*h²hubj>)�”}”(hhh]”jC)�”}”(hŒ"Find a node by its "name" property”h]”hŒ&Find a node by its “nameâ€� property”…”�”}”(hj·+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj´+h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjT*h²hh³jl*h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÏ+jbjÏ+jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX�**Parameters** ``struct device_node *from`` The node to start searching from or NULL; the node you pass will not be searched, only the next one will. Typically, you pass what the previous call returned. of_node_put() will be called on **from**. ``const char *name`` The name string to match against **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”•Qh]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÙ+h]”hŒ Parameters”…”�”}”(hjÛ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj×+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjÓ+ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒæ``struct device_node *from`` The node to start searching from or NULL; the node you pass will not be searched, only the next one will. Typically, you pass what the previous call returned. of_node_put() will be called on **from**. ”h]”(j’)�”}”(hŒ``struct device_node *from``”h]”j˜)�”}”(hjø+h]”hŒstruct device_node *from”…”�”}”(hjú+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjö+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhjò+ubj®)�”}”(hhh]”jC)�”}”(hŒÈThe node to start searching from or NULL; the node you pass will not be searched, only the next one will. Typically, you pass what the previous call returned. of_node_put() will be called on **from**.”h]”(hŒ¿The node to start searching from or NULL; the node you pass will not be searched, only the next one will. Typically, you pass what the previous call returned. of_node_put() will be called on ”…”�”}”(hj,h²hh³Nh´Nubjq)�”}”(hŒ**from**”h]”hŒfrom”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj,ubhŒ.”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjò+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j ,h´Mhjï+ubjŒ)�”}”(hŒ6``const char *name`` The name string to match against ”h]”(j’)�”}”(hŒ``const char *name``”h]”j˜)�”}”(hjD,h]”hŒconst char *name”…”�”}”(hjF,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjB,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj>,ubj®)�”}”(hhh]”jC)�”}”(hŒ The name string to match against”h]”hŒ The name string to match against”…”�”}”(hj],h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jY,h´MhjZ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj>,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jY,h´Mhjï+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÓ+ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj,h]”hŒReturn”…”�”}”(hj�,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj},ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjÓ+ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hj•,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjÓ+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_find_node_by_type (C function)”Œc.of_find_node_by_type”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒVstruct device_node * of_find_node_by_type (struct device_node *from, const char *type)”h]”j)�”}”(hŒTstruct device_node *of_find_node_by_type(struct device_node *from, const char *type)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÄ,h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÀ,h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ,h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÀ,h²hh³jÑ,h´M+ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjã,h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjà,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jå,Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_node_by_type”sbŒc.of_find_node_by_type”†”asbuh1hhjÀ,h²hh³jÑ,h´M+ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÀ,h²hh³jÑ,h´M+ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÀ,h²hh³jÑ,h´M+ubj‘)�”}”(hŒof_find_node_by_type”h]”jE)�”}”(hj-h]”hŒof_find_node_by_type”…”�”}”(hj#-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj-ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÀ,h²hh³jÑ,h´M+ubj¬)�”}”(hŒ,(struct device_node *from, const char *type)”h]”(j²)�”}”(hŒstruct device_node *from”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj>-h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj:-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj:-ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj\-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjY-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j^-Œmodname”NŒ classname”Njbje)�”}”jh]”jÿ,Œc.of_find_node_by_type”†”asbuh1hhj:-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj:-ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjˆ-h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj:-ubjE)�”}”(hŒfrom”h]”hŒfrom”…”�”}”(hj•-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj:-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj6-ubj²)�”}”(hŒconst char *type”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj®-h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjª-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjª-ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÉ-h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjª-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjª-ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjå-h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjª-ubjE)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjò-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjª-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj6-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÀ,h²hh³jÑ,h´M+ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¼,h²hh³jÑ,h´M+ubah}”(h]”j·,ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÑ,h´M+hj¹,h²hubj>)�”}”(hhh]”jC)�”}”(hŒ)Find a node by its "device_type" property”h]”hŒ-Find a node by its “device_typeâ€� property”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+hj.h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¹,h²hh³jÑ,h´M+ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj4.jbj4.jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÁ**Parameters** ``struct device_node *from`` The node to start searching from, or NULL to start searching the entire device tree. The node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on from for you. ``const char *type`` The type string to match against **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj>.h]”hŒ Parameters”…”�”}”(hj@.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj<.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M/hj8.ubj‡)�”}”(hhh]”(jŒ)�”}”(hX``struct device_node *from`` The node to start searching from, or NULL to start searching the entire device tree. The node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on from for you. ”h]”(j’)�”}”(hŒ``struct device_node *from``”h]”j˜)�”}”(hj].h]”hŒstruct device_node *from”…”�”}”(hj_.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj[.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M0hjW.ubj®)�”}”(hhh]”jC)�”}”(hŒ÷The node to start searching from, or NULL to start searching the entire device tree. The node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on from for you.”h]”hŒ÷The node to start searching from, or NULL to start searching the entire device tree. The node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on from for you.”…”�”}”(hjv.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M,hjs.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjW.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jr.h´M0hjT.ubjŒ)�”}”(hŒ6``const char *type`` The type string to match against ”h]”(j’)�”}”(hŒ``const char *type``”h]”j˜)�”}”(hj—.h]”hŒconst char *type”…”�”}”(hj™.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj•.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M1hj‘.ubj®)�”}”(hhh]”jC)�”}”(hŒ The type string to match against”h]”hŒ The type string to match against”…”�”}”(hj°.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¬.h´M1hj­.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‘.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¬.h´M1hjT.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj8.ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÒ.h]”hŒReturn”…”�”}”(hjÔ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÐ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M3hj8.ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hjè.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M3hj8.ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_find_compatible_node (C function)”Œc.of_find_compatible_node”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒqstruct device_node * of_find_compatible_node (struct device_node *from, const char *type, const char *compatible)”h]”j)�”}”(hŒostruct device_node *of_find_compatible_node(struct device_node *from, const char *type, const char *compatible)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj/h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MGubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj/h²hh³j$/h´MGubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj6/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj3/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j8/Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_compatible_node”sbŒc.of_find_compatible_node”†”asbuh1hhj/h²hh³j$/h´MGubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj/h²hh³j$/h´MGubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hje/h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj/h²hh³j$/h´MGubj‘)�”}”(hŒof_find_compatible_node”h]”jE)�”}”(hjT/h]”hŒof_find_compatible_node”…”�”}”(hjv/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjr/ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj/h²hh³j$/h´MGubj¬)�”}”(hŒD(struct device_node *from, const char *type, const char *compatible)”h]”(j²)�”}”(hŒstruct device_node *from”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj‘/h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj�/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�/ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¯/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¬/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j±/Œmodname”NŒ classname”Njbje)�”}”jh]”jR/Œc.of_find_compatible_node”†”asbuh1hhj�/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�/ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÛ/h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj�/ubjE)�”}”(hŒfrom”h]”hŒfrom”…”�”}”(hjè/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‰/ubj²)�”}”(hŒconst char *type”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjý/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjý/ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjý/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjý/ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj80h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjý/ubjE)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjE0h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjý/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‰/ubj²)�”}”(hŒconst char *compatible”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj^0h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZ0ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZ0ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjy0h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjZ0ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZ0ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj•0h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjZ0ubjE)�”}”(hŒ compatible”h]”hŒ compatible”…”�”}”(hj¢0h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjZ0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‰/ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj/h²hh³j$/h´MGubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj/h²hh³j$/h´MGubah}”(h]”j /ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j$/h´MGhj /h²hubj>)�”}”(hhh]”jC)�”}”(hŒLFind a node based on type and one of the tokens in its "compatible" property”h]”hŒPFind a node based on type and one of the tokens in its “compatibleâ€� property”…”�”}”(hjÌ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MGhjÉ0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj /h²hh³j$/h´MGubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajä0jbjä0jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX **Parameters** ``struct device_node *from`` The node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it ``const char *type`` The type string to match "device_type" or NULL to ignore ``const char *compatible`` The string to match to one of the tokens in the device "compatible" list. **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjî0h]”hŒ Parameters”…”�”}”(hjð0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjì0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MKhjè0ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒß``struct device_node *from`` The node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it ”h]”(j’)�”}”(hŒ``struct device_node *from``”h]”j˜)�”}”(hj 1h]”hŒstruct device_node *from”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj 1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MLhj1ubj®)�”}”(hhh]”jC)�”}”(hŒÁThe node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it”h]”hŒÁThe node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it”…”�”}”(hj&1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MIhj#1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j"1h´MLhj1ubjŒ)�”}”(hŒN``const char *type`` The type string to match "device_type" or NULL to ignore ”h]”(j’)�”}”(hŒ``const char *type``”h]”j˜)�”}”(hjG1h]”hŒconst char *type”…”�”}”(hjI1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjE1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MMhjA1ubj®)�”}”(hhh]”jC)�”}”(hŒ8The type string to match "device_type" or NULL to ignore”h]”hŒ2h]”hŒof_find_node_with_property”…”�”}”(hj`2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj\2ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjý1h²hh³j2h´Mfubj¬)�”}”(hŒ1(struct device_node *from, const char *prop_name)”h]”(j²)�”}”(hŒstruct device_node *from”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj{2h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjw2ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjw2ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj™2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj–2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j›2Œmodname”NŒ classname”Njbje)�”}”jh]”j<2Œc.of_find_node_with_property”†”asbuh1hhjw2ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjw2ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÅ2h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjw2ubjE)�”}”(hŒfrom”h]”hŒfrom”…”�”}”(hjÒ2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjw2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjs2ubj²)�”}”(hŒconst char *prop_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjë2h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjç2ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjç2ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjç2ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjç2ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj"3h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjç2ubjE)�”}”(hŒ prop_name”h]”hŒ prop_name”…”�”}”(hj/3h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjç2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjs2ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjý1h²hh³j2h´Mfubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjù1h²hh³j2h´Mfubah}”(h]”jô1ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j2h´Mfhjö1h²hubj>)�”}”(hhh]”jC)�”}”(hŒ5Find a node which has a property with the given name.”h]”hŒ5Find a node which has a property with the given name.”…”�”}”(hjY3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MfhjV3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjö1h²hh³j2h´Mfubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajq3jbjq3jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX“**Parameters** ``struct device_node *from`` The node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it ``const char *prop_name`` The name of the property to look for. **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj{3h]”hŒ Parameters”…”�”}”(hj}3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjy3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mjhju3ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒß``struct device_node *from`` The node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it ”h]”(j’)�”}”(hŒ``struct device_node *from``”h]”j˜)�”}”(hjš3h]”hŒstruct device_node *from”…”�”}”(hjœ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj˜3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mkhj”3ubj®)�”}”(hhh]”jC)�”}”(hŒÁThe node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it”h]”hŒÁThe node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it”…”�”}”(hj³3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhhj°3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj”3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¯3h´Mkhj‘3ubjŒ)�”}”(hŒ@``const char *prop_name`` The name of the property to look for. ”h]”(j’)�”}”(hŒ``const char *prop_name``”h]”j˜)�”}”(hjÔ3h]”hŒconst char *prop_name”…”�”}”(hjÖ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÒ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MlhjÎ3ubj®)�”}”(hhh]”jC)�”}”(hŒ%The name of the property to look for.”h]”hŒ%The name of the property to look for.”…”�”}”(hjí3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jé3h´Mlhjê3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÎ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jé3h´Mlhj‘3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hju3ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj4h]”hŒReturn”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj 4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mnhju3ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hj%4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mnhju3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_match_node (C function)”Œc.of_match_node”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒnconst struct of_device_id * of_match_node (const struct of_device_id *matches, const struct device_node *node)”h]”j)�”}”(hŒlconst struct of_device_id *of_match_node(const struct of_device_id *matches, const struct device_node *node)”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjT4h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjP4h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M›ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb4h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjP4h²hh³ja4h´M›ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjp4h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjP4h²hh³ja4h´M›ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}4h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjP4h²hh³ja4h´M›ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hjŽ4h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‹4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j�4Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œ of_match_node”sbŒc.of_match_node”†”asbuh1hhjP4h²hh³ja4h´M›ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯4h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjP4h²hh³ja4h´M›ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj½4h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjP4h²hh³ja4h´M›ubj‘)�”}”(hŒ of_match_node”h]”jE)�”}”(hj¬4h]”hŒ of_match_node”…”�”}”(hjÎ4h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÊ4ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjP4h²hh³ja4h´M›ubj¬)�”}”(hŒD(const struct of_device_id *matches, const struct device_node *node)”h]”(j²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjé4h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjå4ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö4h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjå4ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjå4ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjå4ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj"5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j$5Œmodname”NŒ classname”Njbje)�”}”jh]”jª4Œc.of_match_node”†”asbuh1hhjå4ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjå4ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjN5h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjå4ubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hj[5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjå4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjá4ubj²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjt5h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjp5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjp5ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj�5h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjp5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjp5ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj­5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjª5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¯5Œmodname”NŒ classname”Njbje)�”}”jh]”jª4Œc.of_match_node”†”asbuh1hhjp5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjp5ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÙ5h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjp5ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjæ5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjp5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjá4ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjP4h²hh³ja4h´M›ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjL4h²hh³ja4h´M›ubah}”(h]”jG4ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³ja4h´M›hjI4h²hubj>)�”}”(hhh]”jC)�”}”(hŒ7Tell if a device_node has a matching of_match structure”h]”hŒ7Tell if a device_node has a matching of_match structure”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M›hj 6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjI4h²hh³ja4h´M›ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj(6jbj(6jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒþ**Parameters** ``const struct of_device_id *matches`` array of of device match structures to search in ``const struct device_node *node`` the of device structure to match against **Description** Low level utility function used by device matching.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj26h]”hŒ Parameters”…”�”}”(hj46h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj06ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MŸhj,6ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒX``const struct of_device_id *matches`` array of of device match structures to search in ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hjQ6h]”hŒ"const struct of_device_id *matches”…”�”}”(hjS6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjO6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MœhjK6ubj®)�”}”(hhh]”jC)�”}”(hŒ0array of of device match structures to search in”h]”hŒ0array of of device match structures to search in”…”�”}”(hjj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jf6h´Mœhjg6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjK6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jf6h´MœhjH6ubjŒ)�”}”(hŒL``const struct device_node *node`` the of device structure to match against ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjŠ6h]”hŒconst struct device_node *node”…”�”}”(hjŒ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjˆ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M�hj„6ubj®)�”}”(hhh]”jC)�”}”(hŒ(the of device structure to match against”h]”hŒ(the of device structure to match against”…”�”}”(hj£6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jŸ6h´M�hj 6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj„6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jŸ6h´M�hjH6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj,6ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÅ6h]”hŒ Description”…”�”}”(hjÇ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÃ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MŸhj,6ubjC)�”}”(hŒ3Low level utility function used by device matching.”h]”hŒ3Low level utility function used by device matching.”…”�”}”(hjÛ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mžhj,6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ,of_find_matching_node_and_match (C function)”Œ!c.of_find_matching_node_and_match”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ–struct device_node * of_find_matching_node_and_match (struct device_node *from, const struct of_device_id *matches, const struct of_device_id **match)”h]”j)�”}”(hŒ”struct device_node *of_find_matching_node_and_match(struct device_node *from, const struct of_device_id *matches, const struct of_device_id **match)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj 7h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj7h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¯ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj7h²hh³j7h´M¯ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj)7h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj&7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j+7Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_matching_node_and_match”sbŒ!c.of_find_matching_node_and_match”†”asbuh1hhj7h²hh³j7h´M¯ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ7h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj7h²hh³j7h´M¯ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjX7h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj7h²hh³j7h´M¯ubj‘)�”}”(hŒof_find_matching_node_and_match”h]”jE)�”}”(hjG7h]”hŒof_find_matching_node_and_match”…”�”}”(hji7h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhje7ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj7h²hh³j7h´M¯ubj¬)�”}”(hŒa(struct device_node *from, const struct of_device_id *matches, const struct of_device_id **match)”h]”(j²)�”}”(hŒstruct device_node *from”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj„7h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj€7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘7h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€7ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¢7h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŸ7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¤7Œmodname”NŒ classname”Njbje)�”}”jh]”jE7Œ!c.of_find_matching_node_and_match”†”asbuh1hhj€7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ7h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€7ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÎ7h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj€7ubjE)�”}”(hŒfrom”h]”hŒfrom”…”�”}”(hjÛ7h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj€7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj|7ubj²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjô7h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjð7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjð7ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjð7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjð7ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj-8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj*8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j/8Œmodname”NŒ classname”Njbje)�”}”jh]”jE7Œ!c.of_find_matching_node_and_match”†”asbuh1hhjð7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjð7ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjY8h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjð7ubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hjf8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjð7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj|7ubj²)�”}”(hŒ!const struct of_device_id **match”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj{8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj{8ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjš8h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj{8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj{8ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj¸8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjµ8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jº8Œmodname”NŒ classname”Njbje)�”}”jh]”jE7Œ!c.of_find_matching_node_and_match”†”asbuh1hhj{8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj{8ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjä8h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj{8ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjñ8h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj{8ubjE)�”}”(hŒmatch”h]”hŒmatch”…”�”}”(hjþ8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj{8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj|7ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj7h²hh³j7h´M¯ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj7h²hh³j7h´M¯ubah}”(h]”jý6ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j7h´M¯hjÿ6h²hubj>)�”}”(hhh]”jC)�”}”(hŒ1Find a node based on an of_device_id match table.”h]”hŒ1Find a node based on an of_device_id match table.”…”�”}”(hj(9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¯hj%9h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÿ6h²hh³j7h´M¯ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj@9jbj@9jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``struct device_node *from`` The node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it ``const struct of_device_id *matches`` array of of device match structures to search in ``const struct of_device_id **match`` Updated to point at the matches entry which matched **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjJ9h]”hŒ Parameters”…”�”}”(hjL9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjH9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M³hjD9ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒß``struct device_node *from`` The node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it ”h]”(j’)�”}”(hŒ``struct device_node *from``”h]”j˜)�”}”(hji9h]”hŒstruct device_node *from”…”�”}”(hjk9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjg9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M´hjc9ubj®)�”}”(hhh]”jC)�”}”(hŒÁThe node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it”h]”hŒÁThe node to start searching from or NULL, the node you pass will not be searched, only the next one will; typically, you pass what the previous call returned. of_node_put() will be called on it”…”�”}”(hj‚9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M±hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjc9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j~9h´M´hj`9ubjŒ)�”}”(hŒX``const struct of_device_id *matches`` array of of device match structures to search in ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hj£9h]”hŒ"const struct of_device_id *matches”…”�”}”(hj¥9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¡9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mµhj�9ubj®)�”}”(hhh]”jC)�”}”(hŒ0array of of device match structures to search in”h]”hŒ0array of of device match structures to search in”…”�”}”(hj¼9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¸9h´Mµhj¹9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj�9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¸9h´Mµhj`9ubjŒ)�”}”(hŒZ``const struct of_device_id **match`` Updated to point at the matches entry which matched ”h]”(j’)�”}”(hŒ%``const struct of_device_id **match``”h]”j˜)�”}”(hjÜ9h]”hŒ!const struct of_device_id **match”…”�”}”(hjÞ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÚ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¶hjÖ9ubj®)�”}”(hhh]”jC)�”}”(hŒ3Updated to point at the matches entry which matched”h]”hŒ3Updated to point at the matches entry which matched”…”�”}”(hjõ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jñ9h´M¶hjò9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÖ9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jñ9h´M¶hj`9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjD9ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj:h]”hŒReturn”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¸hjD9ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hj-:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M¸hjD9ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_alias_from_compatible (C function)”Œc.of_alias_from_compatible”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒSint of_alias_from_compatible (const struct device_node *node, char *alias, int len)”h]”j)�”}”(hŒRint of_alias_from_compatible(const struct device_node *node, char *alias, int len)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj\:h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjX:h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÖubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk:h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjX:h²hh³jj:h´MÖubj‘)�”}”(hŒof_alias_from_compatible”h]”jE)�”}”(hŒof_alias_from_compatible”h]”hŒof_alias_from_compatible”…”�”}”(hj}:h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjy:ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjX:h²hh³jj:h´MÖubj¬)�”}”(hŒ6(const struct device_node *node, char *alias, int len)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj™:h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj•:ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦:h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj•:ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj´:h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj•:ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ:h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj•:ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÒ:h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÏ:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÔ:Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j:sbŒc.of_alias_from_compatible”†”asbuh1hhj•:ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò:h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj•:ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj•:ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj ;h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj•:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘:ubj²)�”}”(hŒ char *alias”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj&;h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj";ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4;h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj";ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjB;h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj";ubjE)�”}”(hŒalias”h]”hŒalias”…”�”}”(hjO;h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj";ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘:ubj²)�”}”(hŒint len”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh;h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjd;ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv;h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjd;ubjE)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj„;h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjd;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘:ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjX:h²hh³jj:h´MÖubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjT:h²hh³jj:h´MÖubah}”(h]”jO:ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jj:h´MÖhjQ:h²hubj>)�”}”(hhh]”jC)�”}”(hŒBLookup appropriate alias for a device node depending on compatible”h]”hŒBLookup appropriate alias for a device node depending on compatible”…”�”}”(hj®;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÖhj«;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjQ:h²hh³jj:h´MÖubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÆ;jbjÆ;jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX¥**Parameters** ``const struct device_node *node`` pointer to a device tree node ``char *alias`` Pointer to buffer that alias value will be copied into ``int len`` Length of alias value **Description** Based on the value of the compatible property, this routine will attempt to choose an appropriate alias value for a particular device tree node. It does this by stripping the manufacturer prefix (as delimited by a ',') from the first entry in the compatible list property. **Note** The matching on just the "product" side of the compatible is a relic from I2C and SPI. Please do not add any new user. **Return** This routine returns 0 on success, <0 on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÐ;h]”hŒ Parameters”…”�”}”(hjÒ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÎ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÚhjÊ;ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒA``const struct device_node *node`` pointer to a device tree node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjï;h]”hŒconst struct device_node *node”…”�”}”(hjñ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjí;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MØhjé;ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to a device tree node”h]”hŒpointer to a device tree node”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j<h´MØhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjé;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j<h´MØhjæ;ubjŒ)�”}”(hŒG``char *alias`` Pointer to buffer that alias value will be copied into ”h]”(j’)�”}”(hŒ``char *alias``”h]”j˜)�”}”(hj(<h]”hŒ char *alias”…”�”}”(hj*<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj&<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÙhj"<ubj®)�”}”(hhh]”jC)�”}”(hŒ6Pointer to buffer that alias value will be copied into”h]”hŒ6Pointer to buffer that alias value will be copied into”…”�”}”(hjA<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j=<h´MÙhj><ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj"<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j=<h´MÙhjæ;ubjŒ)�”}”(hŒ"``int len`` Length of alias value ”h]”(j’)�”}”(hŒ ``int len``”h]”j˜)�”}”(hja<h]”hŒint len”…”�”}”(hjc<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj_<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÚhj[<ubj®)�”}”(hhh]”jC)�”}”(hŒLength of alias value”h]”hŒLength of alias value”…”�”}”(hjz<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jv<h´MÚhjw<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj[<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jv<h´MÚhjæ;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÊ;ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjœ<h]”hŒ Description”…”�”}”(hjž<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjš<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÜhjÊ;ubjC)�”}”(hXBased on the value of the compatible property, this routine will attempt to choose an appropriate alias value for a particular device tree node. It does this by stripping the manufacturer prefix (as delimited by a ',') from the first entry in the compatible list property.”h]”hXBased on the value of the compatible property, this routine will attempt to choose an appropriate alias value for a particular device tree node. It does this by stripping the manufacturer prefix (as delimited by a ‘,’) from the first entry in the compatible list property.”…”�”}”(hj²<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÛhjÊ;ubjC)�”}”(hŒ**Note**”h]”jq)�”}”(hjÃ<h]”hŒNote”…”�”}”(hjÅ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÁ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MàhjÊ;ubjC)�”}”(hŒvThe matching on just the "product" side of the compatible is a relic from I2C and SPI. Please do not add any new user.”h]”hŒzThe matching on just the “productâ€� side of the compatible is a relic from I2C and SPI. Please do not add any new user.”…”�”}”(hjÙ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MáhjÊ;ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjê<h]”hŒReturn”…”�”}”(hjì<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjè<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MähjÊ;ubjC)�”}”(hŒ1This routine returns 0 on success, <0 on failure.”h]”hŒ1This routine returns 0 on success, <0 on failure.”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MähjÊ;ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_find_node_by_phandle (C function)”Œc.of_find_node_by_phandle”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ=struct device_node * of_find_node_by_phandle (phandle handle)”h]”j)�”}”(hŒ;struct device_node *of_find_node_by_phandle(phandle handle)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj/=h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj+=h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Möubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj==h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+=h²hh³j<=h´Möubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjN=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjK=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jP=Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_node_by_phandle”sbŒc.of_find_node_by_phandle”†”asbuh1hhj+=h²hh³j<=h´Möubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+=h²hh³j<=h´Möubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj}=h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj+=h²hh³j<=h´Möubj‘)�”}”(hŒof_find_node_by_phandle”h]”jE)�”}”(hjl=h]”hŒof_find_node_by_phandle”…”�”}”(hjŽ=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠ=ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj+=h²hh³j<=h´Möubj¬)�”}”(hŒ(phandle handle)”h]”j²)�”}”(hŒphandle handle”h]”(h)�”}”(hhh]”jE)�”}”(hŒphandle”h]”hŒphandle”…”�”}”(hj¬=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j®=Œmodname”NŒ classname”Njbje)�”}”jh]”jj=Œc.of_find_node_by_phandle”†”asbuh1hhj¥=ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊ=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¥=ubjE)�”}”(hŒhandle”h]”hŒhandle”…”�”}”(hjØ=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¥=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¡=ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj+=h²hh³j<=h´Möubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj'=h²hh³j<=h´Möubah}”(h]”j"=ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j<=h´Möhj$=h²hubj>)�”}”(hhh]”jC)�”}”(hŒFind a node given a phandle”h]”hŒFind a node given a phandle”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Möhjÿ=h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj$=h²hh³j<=h´Möubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj>jbj>jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒš**Parameters** ``phandle handle`` phandle of the node to find **Return** A node pointer with refcount incremented, use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj$>h]”hŒ Parameters”…”�”}”(hj&>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj">ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Múhj>ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``phandle handle`` phandle of the node to find ”h]”(j’)�”}”(hŒ``phandle handle``”h]”j˜)�”}”(hjC>h]”hŒphandle handle”…”�”}”(hjE>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjA>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M÷hj=>ubj®)�”}”(hhh]”jC)�”}”(hŒphandle of the node to find”h]”hŒphandle of the node to find”…”�”}”(hj\>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jX>h´M÷hjY>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj=>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jX>h´M÷hj:>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj>ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj~>h]”hŒReturn”…”�”}”(hj€>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj|>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mùhj>ubjC)�”}”(hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”h]”hŒLA node pointer with refcount incremented, use of_node_put() on it when done.”…”�”}”(hj”>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mùhj>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ+of_parse_phandle_with_args_map (C function)”Œ c.of_parse_phandle_with_args_map”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ�int of_parse_phandle_with_args_map (const struct device_node *np, const char *list_name, const char *stem_name, int index, struct of_phandle_args *_out_args)”h]”j)�”}”(hŒœint of_parse_phandle_with_args_map(const struct device_node *np, const char *list_name, const char *stem_name, int index, struct of_phandle_args *_out_args)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÃ>h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¿>h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mèubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ>h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¿>h²hh³jÑ>h´Mèubj‘)�”}”(hŒof_parse_phandle_with_args_map”h]”jE)�”}”(hŒof_parse_phandle_with_args_map”h]”hŒof_parse_phandle_with_args_map”…”�”}”(hjä>h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjà>ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¿>h²hh³jÑ>h´Mèubj¬)�”}”(hŒz(const struct device_node *np, const char *list_name, const char *stem_name, int index, struct of_phandle_args *_out_args)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjü>ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjü>ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjü>ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjü>ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj9?h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj6?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j;?Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jæ>sbŒ c.of_parse_phandle_with_args_map”†”asbuh1hhjü>ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjü>ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjg?h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjü>ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjt?h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjü>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjø>ubj²)�”}”(hŒconst char *list_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj�?h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‰?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‰?ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¨?h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj‰?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‰?ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÄ?h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‰?ubjE)�”}”(hŒ list_name”h]”hŒ list_name”…”�”}”(hjÑ?h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‰?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjø>ubj²)�”}”(hŒconst char *stem_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjê?h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjæ?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjæ?ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjæ?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjæ?ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj!@h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjæ?ubjE)�”}”(hŒ stem_name”h]”hŒ stem_name”…”�”}”(hj.@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjæ?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjø>ubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjG@h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjC@ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjC@ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjc@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjC@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjø>ubj²)�”}”(hŒ!struct of_phandle_args *_out_args”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj|@h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjx@ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjx@ubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hjš@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj—@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jœ@Œmodname”NŒ classname”Njbje)�”}”jh]”jU?Œ c.of_parse_phandle_with_args_map”†”asbuh1hhjx@ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjx@ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÆ@h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjx@ubjE)�”}”(hŒ _out_args”h]”hŒ _out_args”…”�”}”(hjÓ@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjx@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjø>ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¿>h²hh³jÑ>h´Mèubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj»>h²hh³jÑ>h´Mèubah}”(h]”j¶>ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÑ>h´Mèhj¸>h²hubj>)�”}”(hhh]”jC)�”}”(hŒ5Find a node pointed by phandle in a list and remap it”h]”hŒ5Find a node pointed by phandle in a list and remap it”…”�”}”(hjý@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mèhjú@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¸>h²hh³jÑ>h´Mèubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajAjbjAjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX'**Parameters** ``const struct device_node *np`` pointer to a device tree node containing a list ``const char *list_name`` property name that contains a list ``const char *stem_name`` stem of property names that specify phandles' arguments count ``int index`` index of a phandle to parse out ``struct of_phandle_args *_out_args`` optional pointer to output arguments structure (will be filled) **Description** This function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills **_out_args**, on error returns appropriate errno value. The difference between this function and of_parse_phandle_with_args() is that this API remaps a phandle if the node the phandle points to has a <**stem_name**>-map property. Caller is responsible to call of_node_put() on the returned **_out_args->np** pointer. Example:: phandle1: node1 { #list-cells = <2>; }; phandle2: node2 { #list-cells = <1>; }; phandle3: node3 { #list-cells = <1>; list-map = <0 &phandle2 3>, <1 &phandle2 2>, <2 &phandle1 5 1>; list-map-mask = <0x3>; }; node4 { list = <&phandle1 1 2 &phandle3 0>; }; To get a device_node of the ``node2`` node you may call this: of_parse_phandle_with_args(node4, "list", "list", 1, :c:type:`args`);”•h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjAh]”hŒ Parameters”…”�”}”(hj!Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MìhjAubj‡)�”}”(hhh]”(jŒ)�”}”(hŒQ``const struct device_node *np`` pointer to a device tree node containing a list ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj>Ah]”hŒconst struct device_node *np”…”�”}”(hj@Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj-map property.”h]”(hŒgThis function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills ”…”�”}”(hjsBh²hh³Nh´Nubjq)�”}”(hŒ **_out_args**”h]”hŒ _out_args”…”�”}”(hj{Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjsBubhŒ½, on error returns appropriate errno value. The difference between this function and of_parse_phandle_with_args() is that this API remaps a phandle if the node the phandle points to has a <”…”�”}”(hjsBh²hh³Nh´Nubjq)�”}”(hŒ **stem_name**”h]”hŒ stem_name”…”�”}”(hj�Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjsBubhŒ>-map property.”…”�”}”(hjsBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MîhjAubjC)�”}”(hŒVCaller is responsible to call of_node_put() on the returned **_out_args->np** pointer.”h]”(hŒnp**”h]”hŒ _out_args->np”…”�”}”(hj®Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¦BubhŒ pointer.”…”�”}”(hj¦Bh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MôhjAubjC)�”}”(hŒ Example::”h]”hŒExample:”…”�”}”(hjÇBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M÷hjAubhŒ literal_block”“”)�”}”(hX6phandle1: node1 { #list-cells = <2>; }; phandle2: node2 { #list-cells = <1>; }; phandle3: node3 { #list-cells = <1>; list-map = <0 &phandle2 3>, <1 &phandle2 2>, <2 &phandle1 5 1>; list-map-mask = <0x3>; }; node4 { list = <&phandle1 1 2 &phandle3 0>; };”h]”hX6phandle1: node1 { #list-cells = <2>; }; phandle2: node2 { #list-cells = <1>; }; phandle3: node3 { #list-cells = <1>; list-map = <0 &phandle2 3>, <1 &phandle2 2>, <2 &phandle1 5 1>; list-map-mask = <0x3>; }; node4 { list = <&phandle1 1 2 &phandle3 0>; };”…”�”}”hjØBsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MùhjAubjC)�”}”(hŒƒTo get a device_node of the ``node2`` node you may call this: of_parse_phandle_with_args(node4, "list", "list", 1, :c:type:`args`);”h]”(hŒTo get a device_node of the ”…”�”}”(hjçBh²hh³Nh´Nubj˜)�”}”(hŒ ``node2``”h]”hŒnode2”…”�”}”(hjïBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjçBubhŒV node you may call this: of_parse_phandle_with_args(node4, “listâ€�, “listâ€�, 1, ”…”�”}”(hjçBh²hh³Nh´Nubh)�”}”(hŒ:c:type:`args`”h]”j˜)�”}”(hjCh]”hŒargs”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”(Œxref”j\Œc-type”eh"]”h$]”h&]”uh1j—hjCubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdevicetree/kernel-api”Œ refdomain”j\Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jbje)�”}”jh]”sbŒ reftarget”Œargs”uh1hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M hjçBubhŒ);”…”�”}”(hjçBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j&Ch´M hjAubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_count_phandle_with_args (C function)”Œc.of_count_phandle_with_args”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒlint of_count_phandle_with_args (const struct device_node *np, const char *list_name, const char *cells_name)”h]”j)�”}”(hŒkint of_count_phandle_with_args(const struct device_node *np, const char *list_name, const char *cells_name)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjQCh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjMCh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M—ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Ch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjMCh²hh³j_Ch´M—ubj‘)�”}”(hŒof_count_phandle_with_args”h]”jE)�”}”(hŒof_count_phandle_with_args”h]”hŒof_count_phandle_with_args”…”�”}”(hjrCh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjnCubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjMCh²hh³j_Ch´M—ubj¬)�”}”(hŒM(const struct device_node *np, const char *list_name, const char *cells_name)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjŽCh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŠCubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›Ch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠCubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj©Ch²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŠCubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶Ch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠCubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÇCh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÄCubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÉCŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jtCsbŒc.of_count_phandle_with_args”†”asbuh1hhjŠCubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçCh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠCubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjõCh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŠCubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠCubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj†Cubj²)�”}”(hŒconst char *list_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjDubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(Dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj6Dh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjDubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDDh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjRDh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjDubjE)�”}”(hŒ list_name”h]”hŒ list_name”…”�”}”(hj_Dh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj†Cubj²)�”}”(hŒconst char *cells_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjxDh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjtDubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjtDubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj“Dh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjtDubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡Dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjtDubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¯Dh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjtDubjE)�”}”(hŒ cells_name”h]”hŒ cells_name”…”�”}”(hj¼Dh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjtDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj†Cubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjMCh²hh³j_Ch´M—ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjICh²hh³j_Ch´M—ubah}”(h]”jDCah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j_Ch´M—hjFCh²hubj>)�”}”(hhh]”jC)�”}”(hŒ4Find the number of phandles references in a property”h]”hŒ4Find the number of phandles references in a property”…”�”}”(hjæDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M—hjãDh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjFCh²hh³j_Ch´M—ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajþDjbjþDjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÏ**Parameters** ``const struct device_node *np`` pointer to a device tree node containing a list ``const char *list_name`` property name that contains a list ``const char *cells_name`` property name that specifies phandles' arguments count **Return** The number of phandle + argument tuples within a property. It is a typical pattern to encode a list of phandle and variable arguments into a single property. The number of arguments is encoded by a property in the phandle-target node. For example, a gpios property would contain a list of GPIO specifies consisting of a phandle and 1 or more arguments. The number of arguments are determined by the #gpio-cells property in the node pointed to by the phandle.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjEh]”hŒ Parameters”…”�”}”(hj Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M›hjEubj‡)�”}”(hhh]”(jŒ)�”}”(hŒQ``const struct device_node *np`` pointer to a device tree node containing a list ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj'Eh]”hŒconst struct device_node *np”…”�”}”(hj)Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj%Eubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M˜hj!Eubj®)�”}”(hhh]”jC)�”}”(hŒ/pointer to a device tree node containing a list”h]”hŒ/pointer to a device tree node containing a list”…”�”}”(hj@Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j)�”}”(hhh]”jC)�”}”(hŒAdd a property to a node”h]”hŒAdd a property to a node”…”�”}”(hjIGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MýhjFGh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjFh²hh³j'Fh´Mýubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajaGjbjaGjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒn**Parameters** ``struct device_node *np`` Caller's Device Node ``struct property *prop`` Property to add”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjkGh]”hŒ Parameters”…”�”}”(hjmGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjiGubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjeGubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ0``struct device_node *np`` Caller's Device Node ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjŠGh]”hŒstruct device_node *np”…”�”}”(hjŒGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjˆGubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mþhj„Gubj®)�”}”(hhh]”jC)�”}”(hŒCaller's Device Node”h]”hŒCaller’s Device Node”…”�”}”(hj£Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jŸGh´Mþhj Gubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj„Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jŸGh´Mþhj�GubjŒ)�”}”(hŒ)``struct property *prop`` Property to add”h]”(j’)�”}”(hŒ``struct property *prop``”h]”j˜)�”}”(hjÃGh]”hŒstruct property *prop”…”�”}”(hjÅGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÁGubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj½Gubj®)�”}”(hhh]”jC)�”}”(hŒProperty to add”h]”hŒProperty to add”…”�”}”(hjÜGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÿhjÙGubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj½Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jØGh´Mhj�Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjeGubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_remove_property (C function)”Œc.of_remove_property”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒFint of_remove_property (struct device_node *np, struct property *prop)”h]”j)�”}”(hŒEint of_remove_property(struct device_node *np, struct property *prop)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjHh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjHh²hh³j+Hh´M'ubj‘)�”}”(hŒof_remove_property”h]”jE)�”}”(hŒof_remove_property”h]”hŒof_remove_property”…”�”}”(hj>Hh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj:Hubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjHh²hh³j+Hh´M'ubj¬)�”}”(hŒ/(struct device_node *np, struct property *prop)”h]”(j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjZHh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjVHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgHh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVHubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjxHh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jzHŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j@HsbŒc.of_remove_property”†”asbuh1hhjVHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVHubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¦Hh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjVHubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj³Hh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjVHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjRHubj²)�”}”(hŒstruct property *prop”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÌHh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÈHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙHh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÈHubh)�”}”(hhh]”jE)�”}”(hŒproperty”h]”hŒproperty”…”�”}”(hjêHh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjçHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jìHŒmodname”NŒ classname”Njbje)�”}”jh]”j”HŒc.of_remove_property”†”asbuh1hhjÈHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÈHubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÈHubjE)�”}”(hŒprop”h]”hŒprop”…”�”}”(hj#Ih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÈHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjRHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjHh²hh³j+Hh´M'ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjHh²hh³j+Hh´M'ubah}”(h]”jHah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j+Hh´M'hjHh²hubj>)�”}”(hhh]”jC)�”}”(hŒRemove a property from a node.”h]”hŒRemove a property from a node.”…”�”}”(hjMIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M'hjJIh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjHh²hh³j+Hh´M'ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajeIjbjeIjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX^**Parameters** ``struct device_node *np`` Caller's Device Node ``struct property *prop`` Property to remove **Description** Note that we don't actually remove it, since we have given out who-knows-how-many pointers to the data using get-property. Instead we just move the property to the "dead properties" list, so it won't be found any more.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjoIh]”hŒ Parameters”…”�”}”(hjqIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjmIubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+hjiIubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ0``struct device_node *np`` Caller's Device Node ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjŽIh]”hŒstruct device_node *np”…”�”}”(hj�Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŒIubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M(hjˆIubj®)�”}”(hhh]”jC)�”}”(hŒCaller's Device Node”h]”hŒCaller’s Device Node”…”�”}”(hj§Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j£Ih´M(hj¤Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjˆIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j£Ih´M(hj…IubjŒ)�”}”(hŒ-``struct property *prop`` Property to remove ”h]”(j’)�”}”(hŒ``struct property *prop``”h]”j˜)�”}”(hjÇIh]”hŒstruct property *prop”…”�”}”(hjÉIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÅIubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M)hjÁIubj®)�”}”(hhh]”jC)�”}”(hŒProperty to remove”h]”hŒProperty to remove”…”�”}”(hjàIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÜIh´M)hjÝIubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÁIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÜIh´M)hj…Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjiIubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjJh]”hŒ Description”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+hjiIubjC)�”}”(hŒÚNote that we don't actually remove it, since we have given out who-knows-how-many pointers to the data using get-property. Instead we just move the property to the "dead properties" list, so it won't be found any more.”h]”hŒâNote that we don’t actually remove it, since we have given out who-knows-how-many pointers to the data using get-property. Instead we just move the property to the “dead propertiesâ€� list, so it won’t be found any more.”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M*hjiIubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_alias_get_id (C function)”Œc.of_alias_get_id”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒDint of_alias_get_id (const struct device_node *np, const char *stem)”h]”j)�”}”(hŒCint of_alias_get_id(const struct device_node *np, const char *stem)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjGJh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjCJh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÕubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVJh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjCJh²hh³jUJh´MÕubj‘)�”}”(hŒof_alias_get_id”h]”jE)�”}”(hŒof_alias_get_id”h]”hŒof_alias_get_id”…”�”}”(hjhJh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjdJubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjCJh²hh³jUJh´MÕubj¬)�”}”(hŒ0(const struct device_node *np, const char *stem)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj„Jh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj€Jubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Jh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€Jubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjŸJh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj€Jubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Jh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€Jubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj½Jh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjºJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¿JŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jjJsbŒc.of_alias_get_id”†”asbuh1hhj€Jubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝJh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€Jubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjëJh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj€JubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjøJh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj€Jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj|Jubj²)�”}”(hŒconst char *stem”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj Kubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj,Kh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Kh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj Kubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjHKh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj KubjE)�”}”(hŒstem”h]”hŒstem”…”�”}”(hjUKh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj|Jubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjCJh²hh³jUJh´MÕubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj?Jh²hh³jUJh´MÕubah}”(h]”j:Jah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jUJh´MÕhj)�”}”(hhh]”jC)�”}”(hŒ&Get alias id for the given device_node”h]”hŒ&Get alias id for the given device_node”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MÕhj|Kh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj)�”}”(hhh]”jC)�”}”(hŒ'Get highest alias id for the given stem”h]”hŒ'Get highest alias id for the given stem”…”�”}”(hjKMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MôhjHMh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj•Lh²hh³j®Lh´Môubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajcMjbjcMjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÑ**Parameters** ``const char *stem`` Alias stem to be examined **Description** The function travels the lookup table to get the highest alias id for the given alias stem. It returns the alias id if found.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjmMh]”hŒ Parameters”…”�”}”(hjoMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjkMubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MøhjgMubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``const char *stem`` Alias stem to be examined ”h]”(j’)�”}”(hŒ``const char *stem``”h]”j˜)�”}”(hjŒMh]”hŒconst char *stem”…”�”}”(hjŽMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŠMubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mõhj†Mubj®)�”}”(hhh]”jC)�”}”(hŒAlias stem to be examined”h]”hŒAlias stem to be examined”…”�”}”(hj¥Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¡Mh´Mõhj¢Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj†Mubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¡Mh´MõhjƒMubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjgMubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÇMh]”hŒ Description”…”�”}”(hjÉMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÅMubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M÷hjgMubjC)�”}”(hŒ~The function travels the lookup table to get the highest alias id for the given alias stem. It returns the alias id if found.”h]”hŒ~The function travels the lookup table to get the highest alias id for the given alias stem. It returns the alias id if found.”…”�”}”(hjÝMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MöhjgMubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_console_check (C function)”Œc.of_console_check”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒKbool of_console_check (const struct device_node *dn, char *name, int index)”h]”j)�”}”(hŒJbool of_console_check(const struct device_node *dn, char *name, int index)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hj Nh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjNh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjNh²hh³jNh´Mubj‘)�”}”(hŒof_console_check”h]”jE)�”}”(hŒof_console_check”h]”hŒof_console_check”…”�”}”(hj,Nh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj(Nubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjNh²hh³jNh´Mubj¬)�”}”(hŒ5(const struct device_node *dn, char *name, int index)”h]”(j²)�”}”(hŒconst struct device_node *dn”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjHNh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjDNubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUNh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDNubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjcNh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjDNubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjpNh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDNubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj�Nh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj~Nubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jƒNŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j.NsbŒc.of_console_check”†”asbuh1hhjDNubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡Nh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDNubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¯Nh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjDNubjE)�”}”(hŒdn”h]”hŒdn”…”�”}”(hj¼Nh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjDNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj@Nubj²)�”}”(hŒ char *name”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÕNh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÑNubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãNh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÑNubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjñNh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÑNubjE)�”}”(hŒname”h]”hŒname”…”�”}”(hjþNh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÑNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj@Nubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Oh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj3Oh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj@Nubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjNh²hh³jNh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjNh²hh³jNh´Mubah}”(h]”jÿMah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jNh´MhjNh²hubj>)�”}”(hhh]”jC)�”}”(hŒ#Test and setup console for DT setup”h]”hŒ#Test and setup console for DT setup”…”�”}”(hj]Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjZOh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjNh²hh³jNh´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajuOjbjuOjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX²**Parameters** ``const struct device_node *dn`` Pointer to device node ``char *name`` Name to use for preferred console without index. ex. "ttyS" ``int index`` Index to use for preferred console. **Description** Check if the given device node matches the stdout-path property in the /chosen node. If it does then register it as the preferred console. **Return** TRUE if console successfully setup. Otherwise return FALSE.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjOh]”hŒ Parameters”…”�”}”(hj�Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj}Oubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjyOubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ8``const struct device_node *dn`` Pointer to device node ”h]”(j’)�”}”(hŒ ``const struct device_node *dn``”h]”j˜)�”}”(hjžOh]”hŒconst struct device_node *dn”…”�”}”(hj Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjœOubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj˜Oubj®)�”}”(hhh]”jC)�”}”(hŒPointer to device node”h]”hŒPointer to device node”…”�”}”(hj·Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j³Oh´Mhj´Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj˜Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j³Oh´Mhj•OubjŒ)�”}”(hŒK``char *name`` Name to use for preferred console without index. ex. "ttyS" ”h]”(j’)�”}”(hŒ``char *name``”h]”j˜)�”}”(hj×Oh]”hŒ char *name”…”�”}”(hjÙOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÕOubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjÑOubj®)�”}”(hhh]”jC)�”}”(hŒ;Name to use for preferred console without index. ex. "ttyS"”h]”hŒ?Name to use for preferred console without index. ex. “ttySâ€�”…”�”}”(hjðOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jìOh´MhjíOubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÑOubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jìOh´Mhj•OubjŒ)�”}”(hŒ2``int index`` Index to use for preferred console. ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjPh]”hŒ int index”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mhj Pubj®)�”}”(hhh]”jC)�”}”(hŒ#Index to use for preferred console.”h]”hŒ#Index to use for preferred console.”…”�”}”(hj)Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j%Ph´Mhj&Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j%Ph´Mhj•Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjyOubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjKPh]”hŒ Description”…”�”}”(hjMPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjIPubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjyOubjC)�”}”(hŒŠCheck if the given device node matches the stdout-path property in the /chosen node. If it does then register it as the preferred console.”h]”hŒŠCheck if the given device node matches the stdout-path property in the /chosen node. If it does then register it as the preferred console.”…”�”}”(hjaPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjyOubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjrPh]”hŒReturn”…”�”}”(hjtPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjpPubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjyOubjC)�”}”(hŒ;TRUE if console successfully setup. Otherwise return FALSE.”h]”hŒ;TRUE if console successfully setup. Otherwise return FALSE.”…”�”}”(hjˆPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MhjyOubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_map_id (C function)”Œ c.of_map_id”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒÁint of_map_id (const struct device_node *np, u32 id, const char *map_name, const char *cells_name, const char *map_mask_name, struct device_node * const *filter_np, struct of_phandle_args *arg)”h]”j)�”}”(hŒ¿int of_map_id(const struct device_node *np, u32 id, const char *map_name, const char *cells_name, const char *map_mask_name, struct device_node *const *filter_np, struct of_phandle_args *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj·Ph²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj³Ph²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´Mxubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆPh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj³Ph²hh³jÅPh´Mxubj‘)�”}”(hŒ of_map_id”h]”jE)�”}”(hŒ of_map_id”h]”hŒ of_map_id”…”�”}”(hjØPh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÔPubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj³Ph²hh³jÅPh´Mxubj¬)�”}”(hŒ²(const struct device_node *np, u32 id, const char *map_name, const char *cells_name, const char *map_mask_name, struct device_node *const *filter_np, struct of_phandle_args *arg)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjôPh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjðPubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjðPubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjðPubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjðPubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj-Qh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj*Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j/QŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÚPsbŒ c.of_map_id”†”asbuh1hhjðPubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjðPubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj[Qh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjðPubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjhQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjðPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubj²)�”}”(hŒu32 id”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj„Qh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�Qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j†QŒmodname”NŒ classname”Njbje)�”}”jh]”jIQŒ c.of_map_id”†”asbuh1hhj}Qubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢Qh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj}QubjE)�”}”(hŒid”h]”hŒid”…”�”}”(hj°Qh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj}Qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubj²)�”}”(hŒconst char *map_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÉQh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÅQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÅQubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjäQh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÅQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÅQubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÅQubjE)�”}”(hŒmap_name”h]”hŒmap_name”…”�”}”(hj Rh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÅQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubj²)�”}”(hŒconst char *cells_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj&Rh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj"Rubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3Rh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj"Rubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjARh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj"Rubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjORh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj"Rubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj]Rh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj"RubjE)�”}”(hŒ cells_name”h]”hŒ cells_name”…”�”}”(hjjRh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj"Rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubj²)�”}”(hŒconst char *map_mask_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjƒRh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjRubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Rh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjRubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjžRh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjRubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Rh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjRubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjºRh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjRubjE)�”}”(hŒ map_mask_name”h]”hŒ map_mask_name”…”�”}”(hjÇRh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubj²)�”}”(hŒ$struct device_node *const *filter_np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjàRh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÜRubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíRh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÜRubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjþRh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjûRubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jSŒmodname”NŒ classname”Njbje)�”}”jh]”jIQŒ c.of_map_id”†”asbuh1hhjÜRubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÜRubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj*Sh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÜRubj)�”}”(hj\h]”hŒconst”…”�”}”(hj7Sh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÜRubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDSh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÜRubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjRSh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÜRubjE)�”}”(hŒ filter_np”h]”hŒ filter_np”…”�”}”(hj_Sh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÜRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubj²)�”}”(hŒstruct of_phandle_args *arg”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjxSh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjtSubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Sh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjtSubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hj–Sh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj“Subah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j˜SŒmodname”NŒ classname”Njbje)�”}”jh]”jIQŒ c.of_map_id”†”asbuh1hhjtSubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´Sh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjtSubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÂSh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjtSubjE)�”}”(hŒarg”h]”hŒarg”…”�”}”(hjÏSh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjtSubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjìPubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj³Ph²hh³jÅPh´Mxubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¯Ph²hh³jÅPh´Mxubah}”(h]”jªPah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÅPh´Mxhj¬Ph²hubj>)�”}”(hhh]”jC)�”}”(hŒ-Translate an ID through a downstream mapping.”h]”hŒ-Translate an ID through a downstream mapping.”…”�”}”(hjùSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MxhjöSh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¬Ph²hh³jÅPh´Mxubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajTjbjTjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX-**Parameters** ``const struct device_node *np`` root complex device node. ``u32 id`` device ID to map. ``const char *map_name`` property name of the map to use. ``const char *cells_name`` property name of target specifier cells. ``const char *map_mask_name`` optional property name of the mask to use. ``struct device_node * const *filter_np`` pointer to an optional filter node, or NULL to allow bypass. If non-NULL, the map property must exist (-ENODEV if absent). If ``*filter_np`` is also non-NULL, only entries targeting that node match. ``struct of_phandle_args *arg`` pointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells as defined by **cells_name** in the target node, and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** will be set to the target node with a reference held that the caller must release with of_node_put(). **Description** Given a device ID, look up the appropriate implementation-defined platform ID and/or the target device which receives transactions on that ID, as per the "iommu-map" and "msi-map" bindings. **Return** 0 on success or a standard error code on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjTh]”hŒ Parameters”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M|hjTubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ;``const struct device_node *np`` root complex device node. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj:Th]”hŒconst struct device_node *np”…”�”}”(hj` for the result. On success, **arg->args_count** will be set to the number of output specifier cells as defined by **cells_name** in the target node, and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** will be set to the target node with a reference held that the caller must release with of_node_put(). ”h]”(j’)�”}”(hŒ``struct of_phandle_args *arg``”h]”j˜)�”}”(hj£Uh]”hŒstruct of_phandle_args *arg”…”�”}”(hj¥Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¡Uubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M‡hj�Uubj®)�”}”(hhh]”jC)�”}”(hXºpointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells as defined by **cells_name** in the target node, and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** will be set to the target node with a reference held that the caller must release with of_node_put().”h]”(hŒ pointer to a ”…”�”}”(hj¼Uh²hh³Nh´Nubh)�”}”(hŒ2:c:type:`struct of_phandle_args `”h]”j˜)�”}”(hjÆUh]”hŒstruct of_phandle_args”…”�”}”(hjÈUh²hh³Nh´Nubah}”(h]”h ]”(jCj\Œc-type”eh"]”h$]”h&]”uh1j—hjÄUubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jCŒ refdomain”j\Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jbj!Cj$CŒof_phandle_args”uh1hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M�hj¼UubhŒ for the result. On success, ”…”�”}”(hj¼Uh²hh³Nh´Nubjq)�”}”(hŒ**arg->args_count**”h]”hŒarg->args_count”…”�”}”(hjèUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¼UubhŒC will be set to the number of output specifier cells as defined by ”…”�”}”(hj¼Uh²hh³Nh´Nubjq)�”}”(hŒ**cells_name**”h]”hŒ cells_name”…”�”}”(hjúUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¼UubhŒ in the target node, and ”…”�”}”(hj¼Uh²hh³Nh´Nubjq)�”}”(hŒ{**arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np**”h]”hŒwarg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¼UubhŒf will be set to the target node with a reference held that the caller must release with of_node_put().”…”�”}”(hj¼Uh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jãUh´M�hj¹Uubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj�Uubeh}”(h]”h ]”h"]”h$• ]”h&]”uh1j‹h³j¸Uh´M‡hj1Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjTubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj8Vh]”hŒ Description”…”�”}”(hj:Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj6Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M‰hjTubjC)�”}”(hŒ½Given a device ID, look up the appropriate implementation-defined platform ID and/or the target device which receives transactions on that ID, as per the "iommu-map" and "msi-map" bindings.”h]”hŒÅGiven a device ID, look up the appropriate implementation-defined platform ID and/or the target device which receives transactions on that ID, as per the “iommu-mapâ€� and “msi-mapâ€� bindings.”…”�”}”(hjNVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MˆhjTubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj_Vh]”hŒReturn”…”�”}”(hjaVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj]Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MŒhjTubjC)�”}”(hŒ10 on success or a standard error code on failure.”h]”hŒ10 on success or a standard error code on failure.”…”�”}”(hjuVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M�hjTubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_map_iommu_id (C function)”Œc.of_map_iommu_id”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒWint of_map_iommu_id (const struct device_node *np, u32 id, struct of_phandle_args *arg)”h]”j)�”}”(hŒVint of_map_iommu_id(const struct device_node *np, u32 id, struct of_phandle_args *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¤Vh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj Vh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³Vh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj Vh²hh³j²Vh´M ubj‘)�”}”(hŒof_map_iommu_id”h]”jE)�”}”(hŒof_map_iommu_id”h]”hŒof_map_iommu_id”…”�”}”(hjÅVh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÁVubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj Vh²hh³j²Vh´M ubj¬)�”}”(hŒC(const struct device_node *np, u32 id, struct of_phandle_args *arg)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjáVh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÝVubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîVh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÝVubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjüVh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÝVubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Wh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÝVubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jWŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÇVsbŒc.of_map_iommu_id”†”asbuh1hhjÝVubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Wh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÝVubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjHWh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÝVubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjUWh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÝVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÙVubj²)�”}”(hŒu32 id”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjqWh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjnWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jsWŒmodname”NŒ classname”Njbje)�”}”jh]”j6WŒc.of_map_iommu_id”†”asbuh1hhjjWubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Wh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjjWubjE)�”}”(hŒid”h]”hŒid”…”�”}”(hj�Wh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjjWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÙVubj²)�”}”(hŒstruct of_phandle_args *arg”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¶Wh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj²Wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃWh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj²Wubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hjÔWh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÑWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÖWŒmodname”NŒ classname”Njbje)�”}”jh]”j6WŒc.of_map_iommu_id”†”asbuh1hhj²Wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòWh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj²Wubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj²WubjE)�”}”(hŒarg”h]”hŒarg”…”�”}”(hj Xh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj²Wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÙVubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj Vh²hh³j²Vh´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjœVh²hh³j²Vh´M ubah}”(h]”j—Vah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j²Vh´M hj™Vh²hubj>)�”}”(hhh]”jC)�”}”(hŒ+Translate an ID using "iommu-map" bindings.”h]”hŒ/Translate an ID using “iommu-mapâ€� bindings.”…”�”}”(hj7Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M hj4Xh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj™Vh²hh³j²Vh´M ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajOXjbjOXjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX0**Parameters** ``const struct device_node *np`` root complex device node. ``u32 id`` Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the iommu-map table. ``struct of_phandle_args *arg`` pointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** holds a reference to the target node that the caller must release with of_node_put(). **Description** Convenience wrapper around of_map_id() using "iommu-map", "#iommu-cells", and "iommu-map-mask". **Return** 0 on success or a standard error code on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjYXh]”hŒ Parameters”…”�”}”(hj[Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjWXubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M$ hjSXubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ;``const struct device_node *np`` root complex device node. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjxXh]”hŒconst struct device_node *np”…”�”}”(hjzXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjvXubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M! hjrXubj®)�”}”(hhh]”jC)�”}”(hŒroot complex device node.”h]”hŒroot complex device node.”…”�”}”(hj‘Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�Xh´M! hjŽXubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjrXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�Xh´M! hjoXubjŒ)�”}”(hŒ‡``u32 id`` Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the iommu-map table. ”h]”(j’)�”}”(hŒ ``u32 id``”h]”j˜)�”}”(hj±Xh]”hŒu32 id”…”�”}”(hj³Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¯Xubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M# hj«Xubj®)�”}”(hhh]”jC)�”}”(hŒ{Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the iommu-map table.”h]”hŒ{Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the iommu-map table.”…”�”}”(hjÊXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M" hjÇXubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj«Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÆXh´M# hjoXubjŒ)�”}”(hXš``struct of_phandle_args *arg`` pointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** holds a reference to the target node that the caller must release with of_node_put(). ”h]”(j’)�”}”(hŒ``struct of_phandle_args *arg``”h]”j˜)�”}”(hjëXh]”hŒstruct of_phandle_args *arg”…”�”}”(hjíXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjéXubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M) hjåXubj®)�”}”(hhh]”jC)�”}”(hXypointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** holds a reference to the target node that the caller must release with of_node_put().”h]”(hŒ pointer to a ”…”�”}”(hjYh²hh³Nh´Nubh)�”}”(hŒ2:c:type:`struct of_phandle_args `”h]”j˜)�”}”(hjYh]”hŒstruct of_phandle_args”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”(jCj\Œc-type”eh"]”h$]”h&]”uh1j—hj Yubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jCŒ refdomain”j\Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jbj!Cj$CŒof_phandle_args”uh1hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M$ hjYubhŒ for the result. On success, ”…”�”}”(hjYh²hh³Nh´Nubjq)�”}”(hŒ**arg->args_count**”h]”hŒarg->args_count”…”�”}”(hj0Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjYubhŒ9 will be set to the number of output specifier cells and ”…”�”}”(hjYh²hh³Nh´Nubjq)�”}”(hŒ{**arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np**”h]”hŒwarg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np”…”�”}”(hjBYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjYubhŒV holds a reference to the target node that the caller must release with of_node_put().”…”�”}”(hjYh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j+Yh´M$ hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjåXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jYh´M) hjoXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjSXubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjnYh]”hŒ Description”…”�”}”(hjpYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjlYubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M+ hjSXubjC)�”}”(hŒ_Convenience wrapper around of_map_id() using "iommu-map", "#iommu-cells", and "iommu-map-mask".”h]”hŒkConvenience wrapper around of_map_id() using “iommu-mapâ€�, “#iommu-cellsâ€�, and “iommu-map-maskâ€�.”…”�”}”(hj„Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M* hjSXubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj•Yh]”hŒReturn”…”�”}”(hj—Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj“Yubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M- hjSXubjC)�”}”(hŒ10 on success or a standard error code on failure.”h]”hŒ10 on success or a standard error code on failure.”…”�”}”(hj«Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M. hjSXubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_map_msi_id (C function)”Œc.of_map_msi_id”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ|int of_map_msi_id (const struct device_node *np, u32 id, struct device_node * const *filter_np, struct of_phandle_args *arg)”h]”j)�”}”(hŒzint of_map_msi_id(const struct device_node *np, u32 id, struct device_node *const *filter_np, struct of_phandle_args *arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÚYh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÖYh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M8 ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéYh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÖYh²hh³jèYh´M8 ubj‘)�”}”(hŒ of_map_msi_id”h]”jE)�”}”(hŒ of_map_msi_id”h]”hŒ of_map_msi_id”…”�”}”(hjûYh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj÷Yubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÖYh²hh³jèYh´M8 ubj¬)�”}”(hŒi(const struct device_node *np, u32 id, struct device_node *const *filter_np, struct of_phandle_args *arg)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Zh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj2Zh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?Zh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjPZh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjMZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jRZŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jýYsbŒc.of_map_msi_id”†”asbuh1hhjZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjpZh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj~Zh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjZubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj‹Zh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjZubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZubj²)�”}”(hŒu32 id”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj§Zh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¤Zubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j©ZŒmodname”NŒ classname”Njbje)�”}”jh]”jlZŒc.of_map_msi_id”†”asbuh1hhj Zubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅZh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ZubjE)�”}”(hŒid”h]”hŒid”…”�”}”(hjÓZh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj Zubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZubj²)�”}”(hŒ$struct device_node *const *filter_np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjìZh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjèZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùZh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèZubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj [h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j [Œmodname”NŒ classname”Njbje)�”}”jh]”jlZŒc.of_map_msi_id”†”asbuh1hhjèZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj([h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèZubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj6[h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjèZubj)�”}”(hj\h]”hŒconst”…”�”}”(hjC[h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjèZubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP[h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèZubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj^[h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjèZubjE)�”}”(hŒ filter_np”h]”hŒ filter_np”…”�”}”(hjk[h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjèZubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZubj²)�”}”(hŒstruct of_phandle_args *arg”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj„[h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj€[ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘[h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€[ubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hj¢[h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŸ[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¤[Œmodname”NŒ classname”Njbje)�”}”jh]”jlZŒc.of_map_msi_id”†”asbuh1hhj€[ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ[h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€[ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÎ[h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj€[ubjE)�”}”(hŒarg”h]”hŒarg”…”�”}”(hjÛ[h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj€[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÖYh²hh³jèYh´M8 ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÒYh²hh³jèYh´M8 ubah}”(h]”jÍYah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jèYh´M8 hjÏYh²hubj>)�”}”(hhh]”jC)�”}”(hŒ)Translate an ID using "msi-map" bindings.”h]”hŒ-Translate an ID using “msi-mapâ€� bindings.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M8 hj\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÏYh²hh³jèYh´M8 ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj\jbj\jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX **Parameters** ``const struct device_node *np`` root complex device node. ``u32 id`` Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the msi-map table. ``struct device_node * const *filter_np`` pointer to an optional filter node, or NULL to allow bypass. If non-NULL, the map property must exist (-ENODEV if absent). If ``*filter_np`` is also non-NULL, only entries targeting that node match. ``struct of_phandle_args *arg`` pointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** holds a reference to the target node that the caller must release with of_node_put(). **Description** Convenience wrapper around of_map_id() using "msi-map", "#msi-cells", and "msi-map-mask". **Return** 0 on success or a standard error code on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj'\h]”hŒ Parameters”…”�”}”(hj)\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj%\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M< hj!\ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ;``const struct device_node *np`` root complex device node. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjF\h]”hŒconst struct device_node *np”…”�”}”(hjH\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjD\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M9 hj@\ubj®)�”}”(hhh]”jC)�”}”(hŒroot complex device node.”h]”hŒroot complex device node.”…”�”}”(hj_\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j[\h´M9 hj\\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj@\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j[\h´M9 hj=\ubjŒ)�”}”(hŒ…``u32 id`` Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the msi-map table. ”h]”(j’)�”}”(hŒ ``u32 id``”h]”j˜)�”}”(hj\h]”hŒu32 id”…”�”}”(hj�\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj}\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M; hjy\ubj®)�”}”(hhh]”jC)�”}”(hŒyRequester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the msi-map table.”h]”hŒyRequester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the msi-map table.”…”�”}”(hj˜\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M: hj•\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjy\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j”\h´M; hj=\ubjŒ)�”}”(hŒñ``struct device_node * const *filter_np`` pointer to an optional filter node, or NULL to allow bypass. If non-NULL, the map property must exist (-ENODEV if absent). If ``*filter_np`` is also non-NULL, only entries targeting that node match. ”h]”(j’)�”}”(hŒ)``struct device_node * const *filter_np``”h]”j˜)�”}”(hj¹\h]”hŒ%struct device_node * const *filter_np”…”�”}”(hj»\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj·\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M> hj³\ubj®)�”}”(hhh]”jC)�”}”(hŒÆpointer to an optional filter node, or NULL to allow bypass. If non-NULL, the map property must exist (-ENODEV if absent). If ``*filter_np`` is also non-NULL, only entries targeting that node match.”h]”(hŒ~pointer to an optional filter node, or NULL to allow bypass. If non-NULL, the map property must exist (-ENODEV if absent). If ”…”�”}”(hjÒ\h²hh³Nh´Nubj˜)�”}”(hŒ``*filter_np``”h]”hŒ *filter_np”…”�”}”(hjÚ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÒ\ubhŒ: is also non-NULL, only entries targeting that node match.”…”�”}”(hjÒ\h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M< hjÏ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj³\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÎ\h´M> hj=\ubjŒ)�”}”(hXš``struct of_phandle_args *arg`` pointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** holds a reference to the target node that the caller must release with of_node_put(). ”h]”(j’)�”}”(hŒ``struct of_phandle_args *arg``”h]”j˜)�”}”(hj]h]”hŒstruct of_phandle_args *arg”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MD hjÿ\ubj®)�”}”(hhh]”jC)�”}”(hXypointer to a :c:type:`struct of_phandle_args ` for the result. On success, **arg->args_count** will be set to the number of output specifier cells and **arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np** holds a reference to the target node that the caller must release with of_node_put().”h]”(hŒ pointer to a ”…”�”}”(hj]h²hh³Nh´Nubh)�”}”(hŒ2:c:type:`struct of_phandle_args `”h]”j˜)�”}”(hj(]h]”hŒstruct of_phandle_args”…”�”}”(hj*]h²hh³Nh´Nubah}”(h]”h ]”(jCj\Œc-type”eh"]”h$]”h&]”uh1j—hj&]ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jCŒ refdomain”j\Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jbj!Cj$CŒof_phandle_args”uh1hh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´M? hj]ubhŒ for the result. On success, ”…”�”}”(hj]h²hh³Nh´Nubjq)�”}”(hŒ**arg->args_count**”h]”hŒarg->args_count”…”�”}”(hjJ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj]ubhŒ9 will be set to the number of output specifier cells and ”…”�”}”(hj]h²hh³Nh´Nubjq)�”}”(hŒ{**arg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np**”h]”hŒwarg->args**[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, **arg->np”…”�”}”(hj\]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj]ubhŒV holds a reference to the target node that the caller must release with of_node_put().”…”�”}”(hj]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jE]h´M? hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÿ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j]h´MD hj=\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj!\ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjˆ]h]”hŒ Description”…”�”}”(hjŠ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj†]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MF hj!\ubjC)�”}”(hŒYConvenience wrapper around of_map_id() using "msi-map", "#msi-cells", and "msi-map-mask".”h]”hŒeConvenience wrapper around of_map_id() using “msi-mapâ€�, “#msi-cellsâ€�, and “msi-map-maskâ€�.”…”�”}”(hjž]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´ME hj!\ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj¯]h]”hŒReturn”…”�”}”(hj±]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj­]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MH hj!\ubjC)�”}”(hŒ10 on success or a standard error code on failure.”h]”hŒ10 on success or a standard error code on failure.”…”�”}”(hjÅ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒW/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:11: ./drivers/of/base.c”h´MI hj!\ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_node_init (C function)”Œc.of_node_init”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ,void of_node_init (struct device_node *node)”h]”j)�”}”(hŒ+void of_node_init(struct device_node *node)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjô]h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjð]h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Khubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjð]h²hh³j^h´Khubj‘)�”}”(hŒ of_node_init”h]”jE)�”}”(hŒ of_node_init”h]”hŒ of_node_init”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj^ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjð]h²hh³j^h´Khubj¬)�”}”(hŒ(struct device_node *node)”h]”j²)�”}”(hŒstruct device_node *node”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj1^h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj-^ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>^h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj-^ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjO^h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjL^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jQ^Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j^sbŒc.of_node_init”†”asbuh1hhj-^ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo^h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj-^ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj}^h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj-^ubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjŠ^h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj-^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj)^ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjð]h²hh³j^h´Khubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjì]h²hh³j^h´Khubah}”(h]”jç]ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j^h´Khhjé]h²hubj>)�”}”(hhh]”jC)�”}”(hŒinitialize a devicetree node”h]”hŒinitialize a devicetree node”…”�”}”(hj´^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Khhj±^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjé]h²hh³j^h´Khubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÌ^jbjÌ^jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX£**Parameters** ``struct device_node *node`` Pointer to device node that has been created by kzalloc() **Description** On return the device_node refcount is set to one. Use of_node_put() on **node** when done to free the memory allocated for it. If the node is NOT a dynamic node the memory will not be freed. The decision of whether to free the memory will be done by node->release(), which is of_node_release().”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÖ^h]”hŒ Parameters”…”�”}”(hjØ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÔ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´KlhjÐ^ubj‡)�”}”(hhh]”jŒ)�”}”(hŒW``struct device_node *node`` Pointer to device node that has been created by kzalloc() ”h]”(j’)�”}”(hŒ``struct device_node *node``”h]”j˜)�”}”(hjõ^h]”hŒstruct device_node *node”…”�”}”(hj÷^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjó^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Kihjï^ubj®)�”}”(hhh]”jC)�”}”(hŒ9Pointer to device node that has been created by kzalloc()”h]”hŒ9Pointer to device node that has been created by kzalloc()”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j _h´Kihj _ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjï^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j _h´Kihjì^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÐ^ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj0_h]”hŒ Description”…”�”}”(hj2_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj._ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´KkhjÐ^ubjC)�”}”(hX(On return the device_node refcount is set to one. Use of_node_put() on **node** when done to free the memory allocated for it. If the node is NOT a dynamic node the memory will not be freed. The decision of whether to free the memory will be done by node->release(), which is of_node_release().”h]”(hŒHOn return the device_node refcount is set to one. Use of_node_put() on ”…”�”}”(hjF_h²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hjN_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjF_ubhŒØ when done to free the memory allocated for it. If the node is NOT a dynamic node the memory will not be freed. The decision of whether to free the memory will be done by node->release(), which is of_node_release().”…”�”}”(hjF_h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´KjhjÐ^ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_machine_is_compatible (C function)”Œc.of_machine_is_compatible”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ2bool of_machine_is_compatible (const char *compat)”h]”j)�”}”(hŒ1bool of_machine_is_compatible(const char *compat)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hj‡_h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjƒ_h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•_h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒ_h²hh³j”_h´M¡ubj‘)�”}”(hŒof_machine_is_compatible”h]”jE)�”}”(hŒof_machine_is_compatible”h]”hŒof_machine_is_compatible”…”�”}”(hj§_h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£_ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjƒ_h²hh³j”_h´M¡ubj¬)�”}”(hŒ(const char *compat)”h]”j²)�”}”(hŒconst char *compat”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÃ_h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¿_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ_h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¿_ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÞ_h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¿_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì_h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¿_ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjú_h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¿_ubjE)�”}”(hŒcompat”h]”hŒcompat”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¿_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj»_ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjƒ_h²hh³j”_h´M¡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj_h²hh³j”_h´M¡ubah}”(h]”jz_ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j”_h´M¡hj|_h²hubj>)�”}”(hhh]”jC)�”}”(hŒ5Test root of device tree for a given compatible value”h]”hŒ5Test root of device tree for a given compatible value”…”�”}”(hj1`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¡hj.`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj|_h²hh³j”_h´M¡ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajI`jbjI`jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ½**Parameters** ``const char *compat`` compatible string to look for in root node's compatible property. **Return** true if the root node has the given value in its compatible property.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjS`h]”hŒ Parameters”…”�”}”(hjU`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjQ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¥hjM`ubj‡)�”}”(hhh]”jŒ)�”}”(hŒY``const char *compat`` compatible string to look for in root node's compatible property. ”h]”(j’)�”}”(hŒ``const char *compat``”h]”j˜)�”}”(hjr`h]”hŒconst char *compat”…”�”}”(hjt`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjp`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¢hjl`ubj®)�”}”(hhh]”jC)�”}”(hŒAcompatible string to look for in root node's compatible property.”h]”hŒCcompatible string to look for in root node’s compatible property.”…”�”}”(hj‹`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‡`h´M¢hjˆ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjl`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‡`h´M¢hji`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjM`ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj­`h]”hŒReturn”…”�”}”(hj¯`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj«`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¤hjM`ubjC)�”}”(hŒEtrue if the root node has the given value in its compatible property.”h]”hŒEtrue if the root node has the given value in its compatible property.”…”�”}”(hjÃ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¤hjM`ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_parse_phandle (C function)”Œc.of_parse_phandle”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒistruct device_node * of_parse_phandle (const struct device_node *np, const char *phandle_name, int index)”h]”j)�”}”(hŒgstruct device_node *of_parse_phandle(const struct device_node *np, const char *phandle_name, int index)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjò`h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjî`h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjî`h²hh³jÿ`h´Mubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjaubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jaŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_parse_phandle”sbŒc.of_parse_phandle”†”asbuh1hhjî`h²hh³jÿ`h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2ah²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjî`h²hh³jÿ`h´Mubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj@ah²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjî`h²hh³jÿ`h´Mubj‘)�”}”(hŒof_parse_phandle”h]”jE)�”}”(hj/ah]”hŒof_parse_phandle”…”�”}”(hjQah²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjMaubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjî`h²hh³jÿ`h´Mubj¬)�”}”(hŒC(const struct device_node *np, const char *phandle_name, int index)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjlah²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjhaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyah²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjhaubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj‡ah²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjhaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”ah²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjhaubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¥ah²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¢aubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j§aŒmodname”NŒ classname”Njbje)�”}”jh]”j-aŒc.of_parse_phandle”†”asbuh1hhjhaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃah²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjhaubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÑah²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjhaubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÞah²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjhaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdaubj²)�”}”(hŒconst char *phandle_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj÷ah²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjóaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjóaubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjóaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj bh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjóaubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj.bh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjóaubjE)�”}”(hŒ phandle_name”h]”hŒ phandle_name”…”�”}”(hj;bh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjóaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdaubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjTbh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjPbubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbbh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjPbubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjpbh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjPbubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdaubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjî`h²hh³jÿ`h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjê`h²hh³jÿ`h´Mubah}”(h]”jå`ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÿ`h´Mhjç`h²hubj>)�”}”(hhh]”jC)�”}”(hŒ3Resolve a phandle property to a device_node pointer”h]”hŒ3Resolve a phandle property to a device_node pointer”…”�”}”(hjšbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhj—bh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjç`h²hh³jÿ`h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj²bjbj²bjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXo**Parameters** ``const struct device_node *np`` Pointer to device node holding phandle property ``const char *phandle_name`` Name of property holding a phandle value ``int index`` For properties holding a table of phandles, this is the index into the table **Return** The device_node pointer with refcount incremented. Use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¼bh]”hŒ Parameters”…”�”}”(hj¾bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjºbubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhj¶bubj‡)�”}”(hhh]”(jŒ)�”}”(hŒQ``const struct device_node *np`` Pointer to device node holding phandle property ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjÛbh]”hŒconst struct device_node *np”…”�”}”(hjÝbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÙbubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjÕbubj®)�”}”(hhh]”jC)�”}”(hŒ/Pointer to device node holding phandle property”h]”hŒ/Pointer to device node holding phandle property”…”�”}”(hjôbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jðbh´Mhjñbubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÕbubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jðbh´MhjÒbubjŒ)�”}”(hŒF``const char *phandle_name`` Name of property holding a phandle value ”h]”(j’)�”}”(hŒ``const char *phandle_name``”h]”j˜)�”}”(hjch]”hŒconst char *phandle_name”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjcubj®)�”}”(hhh]”jC)�”}”(hŒ(Name of property holding a phandle value”h]”hŒ(Name of property holding a phandle value”…”�”}”(hj-ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j)ch´Mhj*cubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j)ch´MhjÒbubjŒ)�”}”(hŒ[``int index`` For properties holding a table of phandles, this is the index into the table ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjMch]”hŒ int index”…”�”}”(hjOch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjKcubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjGcubj®)�”}”(hhh]”jC)�”}”(hŒLFor properties holding a table of phandles, this is the index into the table”h]”hŒLFor properties holding a table of phandles, this is the index into the table”…”�”}”(hjfch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjccubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjGcubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jbch´MhjÒbubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¶bubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj‰ch]”hŒReturn”…”�”}”(hj‹ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‡cubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhj¶bubjC)�”}”(hŒVThe device_node pointer with refcount incremented. Use of_node_put() on it when done.”h]”hŒVThe device_node pointer with refcount incremented. Use of_node_put() on it when done.”…”�”}”(hjŸch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhj¶bubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_parse_phandle_with_args (C function)”Œc.of_parse_phandle_with_args”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ™int of_parse_phandle_with_args (const struct device_node *np, const char *list_name, const char *cells_name, int index, struct of_phandle_args *out_args)”h]”j)�”}”(hŒ˜int of_parse_phandle_with_args(const struct device_node *np, const char *list_name, const char *cells_name, int index, struct of_phandle_args *out_args)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÎch²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÊch²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M)ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÊch²hh³jÜch´M)ubj‘)�”}”(hŒof_parse_phandle_with_args”h]”jE)�”}”(hŒof_parse_phandle_with_args”h]”hŒof_parse_phandle_with_args”…”�”}”(hjïch²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjëcubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÊch²hh³jÜch´M)ubj¬)�”}”(hŒz(const struct device_node *np, const char *list_name, const char *cells_name, int index, struct of_phandle_args *out_args)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj dh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj&dh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjDdh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjAdubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jFdŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jñcsbŒc.of_parse_phandle_with_args”†”asbuh1hhjdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjddh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjrdh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjdubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdubj²)�”}”(hŒconst char *list_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj˜dh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj”dubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj”dubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj³dh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj”dubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁdh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj”dubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÏdh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj”dubjE)�”}”(hŒ list_name”h]”hŒ list_name”…”�”}”(hjÜdh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdubj²)�”}”(hŒconst char *cells_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjõdh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjñdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjñdubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjñdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjñdubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj,eh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjñdubjE)�”}”(hŒ cells_name”h]”hŒ cells_name”…”�”}”(hj9eh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjñdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjReh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjNeubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`eh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjNeubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjneh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjNeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdubj²)�”}”(hŒ struct of_phandle_args *out_args”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj‡eh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjƒeubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”eh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒeubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hj¥eh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¢eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j§eŒmodname”NŒ classname”Njbje)�”}”jh]”j`dŒc.of_parse_phandle_with_args”†”asbuh1hhjƒeubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃeh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒeubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÑeh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjƒeubjE)�”}”(hŒout_args”h]”hŒout_args”…”�”}”(hjÞeh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjƒeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjdubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÊch²hh³jÜch´M)ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÆch²hh³jÜch´M)ubah}”(h]”jÁcah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÜch´M)hjÃch²hubj>)�”}”(hhh]”jC)�”}”(hŒ(Find a node pointed by phandle in a list”h]”hŒ(Find a node pointed by phandle in a list”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M)hjfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÃch²hh³jÜch´M)ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj fjbj fjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX¾**Parameters** ``const struct device_node *np`` pointer to a device tree node containing a list ``const char *list_name`` property name that contains a list ``const char *cells_name`` property name that specifies phandles' arguments count ``int index`` index of a phandle to parse out ``struct of_phandle_args *out_args`` optional pointer to output arguments structure (will be filled) **Description** This function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills out_args, on error returns appropriate errno value. Caller is responsible to call of_node_put() on the returned out_args->np pointer. Example:: phandle1: node1 { #list-cells = <2>; }; phandle2: node2 { #list-cells = <1>; }; node3 { list = <&phandle1 1 2 &phandle2 3>; }; To get a device_node of the ``node2`` node you may call this: of_parse_phandle_with_args(node3, "list", "#list-cells", 1, :c:type:`args`);”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj*fh]”hŒ Parameters”…”�”}”(hj,fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj(fubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M-hj$fubj‡)�”}”(hhh]”(jŒ)�”}”(hŒQ``const struct device_node *np`` pointer to a device tree node containing a list ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjIfh]”hŒconst struct device_node *np”…”�”}”(hjKfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjGfubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M*hjCfubj®)�”}”(hhh]”jC)�”}”(hŒ/pointer to a device tree node containing a list”h]”hŒ/pointer to a device tree node containing a list”…”�”}”(hjbfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j^fh´M*hj_fubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjCfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j^fh´M*hj@fubjŒ)�”}”(hŒ=``const char *list_name`` property name that contains a list ”h]”(j’)�”}”(hŒ``const char *list_name``”h]”j˜)�”}”(hj‚fh]”hŒconst char *list_name”…”�”}”(hj„fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj€fubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M+hj|fubj®)�”}”(hhh]”jC)�”}”(hŒ"property name that contains a list”h]”hŒ"property name that contains a list”…”�”}”(hj›fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j—fh´M+hj˜fubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj|fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j—fh´M+hj@fubjŒ)�”}”(hŒR``const char *cells_name`` property name that specifies phandles' arguments count ”h]”(j’)�”}”(hŒ``const char *cells_name``”h]”j˜)�”}”(hj»fh]”hŒconst char *cells_name”…”�”}”(hj½fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¹fubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M,hjµfubj®)�”}”(hhh]”jC)�”}”(hŒ6property name that specifies phandles' arguments count”h]”hŒ8property name that specifies phandles’ arguments count”…”�”}”(hjÔfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÐfh´M,hjÑfubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjµfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÐfh´M,hj@fubjŒ)�”}”(hŒ.``int index`` index of a phandle to parse out ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjôfh]”hŒ int index”…”�”}”(hjöfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjòfubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M-hjîfubj®)�”}”(hhh]”jC)�”}”(hŒindex of a phandle to parse out”h]”hŒindex of a phandle to parse out”…”�”}”(hj gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j gh´M-hj gubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjîfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j gh´M-hj@fubjŒ)�”}”(hŒe``struct of_phandle_args *out_args`` optional pointer to output arguments structure (will be filled) ”h]”(j’)�”}”(hŒ$``struct of_phandle_args *out_args``”h]”j˜)�”}”(hj-gh]”hŒ struct of_phandle_args *out_args”…”�”}”(hj/gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj+gubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M.hj'gubj®)�”}”(hhh]”jC)�”}”(hŒ?optional pointer to output arguments structure (will be filled)”h]”hŒ?optional pointer to output arguments structure (will be filled)”…”�”}”(hjFgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jBgh´M.hjCgubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj'gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jBgh´M.hj@fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj$fubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjhgh]”hŒ Description”…”�”}”(hjjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjfgubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M0hj$fubjC)�”}”(hŒšThis function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills out_args, on error returns appropriate errno value.”h]”hŒšThis function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills out_args, on error returns appropriate errno value.”…”�”}”(hj~gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M/hj$fubjC)�”}”(hŒQCaller is responsible to call of_node_put() on the returned out_args->np pointer.”h]”hŒQCaller is responsible to call of_node_put() on the returned out_args->np pointer.”…”�”}”(hj�gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M3hj$fubjC)�”}”(hŒ Example::”h]”hŒExample:”…”�”}”(hjœgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M6hj$fubj×B)�”}”(hŒŒphandle1: node1 { #list-cells = <2>; }; phandle2: node2 { #list-cells = <1>; }; node3 { list = <&phandle1 1 2 &phandle2 3>; };”h]”hŒŒphandle1: node1 { #list-cells = <2>; }; phandle2: node2 { #list-cells = <1>; }; node3 { list = <&phandle1 1 2 &phandle2 3>; };”…”�”}”hj«gsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M8hj$fubjC)�”}”(hŒŠTo get a device_node of the ``node2`` node you may call this: of_parse_phandle_with_args(node3, "list", "#list-cells", 1, :c:type:`args`);”h]”(hŒTo get a device_node of the ”…”�”}”(hjºgh²hh³Nh´Nubj˜)�”}”(hŒ ``node2``”h]”hŒnode2”…”�”}”(hjÂgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjºgubhŒ] node you may call this: of_parse_phandle_with_args(node3, “listâ€�, “#list-cellsâ€�, 1, ”…”�”}”(hjºgh²hh³Nh´Nubh)�”}”(hŒ:c:type:`args`”h]”j˜)�”}”(hjÖgh]”hŒargs”…”�”}”(hjØgh²hh³Nh´Nubah}”(h]”h ]”(jCj\Œc-type”eh"]”h$]”h&]”uh1j—hjÔgubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jCŒ refdomain”j\Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jbj!Cj$CŒargs”uh1hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MDhjºgubhŒ);”…”�”}”(hjºgh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jógh´MDhj$fubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ-of_parse_phandle_with_fixed_args (C function)”Œ"c.of_parse_phandle_with_fixed_args”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ—int of_parse_phandle_with_fixed_args (const struct device_node *np, const char *list_name, int cell_count, int index, struct of_phandle_args *out_args)”h]”j)�”}”(hŒ–int of_parse_phandle_with_fixed_args(const struct device_node *np, const char *list_name, int cell_count, int index, struct of_phandle_args *out_args)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjhh²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MYubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjhh²hh³j,hh´MYubj‘)�”}”(hŒ of_parse_phandle_with_fixed_args”h]”jE)�”}”(hŒ of_parse_phandle_with_fixed_args”h]”hŒ of_parse_phandle_with_fixed_args”…”�”}”(hj?hh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj;hubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjhh²hh³j,hh´MYubj¬)�”}”(hŒr(const struct device_node *np, const char *list_name, int cell_count, int index, struct of_phandle_args *out_args)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj[hh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjWhubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhhh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjWhubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjvhh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjWhubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒhh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjWhubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj”hh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‘hubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j–hŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jAhsbŒ"c.of_parse_phandle_with_fixed_args”†”asbuh1hhjWhubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjWhubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÂhh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjWhubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÏhh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjWhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjShubj²)�”}”(hŒconst char *list_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjèhh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjähubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõhh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjähubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjähubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjähubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjähubjE)�”}”(hŒ list_name”h]”hŒ list_name”…”�”}”(hj,ih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjähubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjShubj²)�”}”(hŒint cell_count”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjEih²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjAiubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjAiubjE)�”}”(hŒ cell_count”h]”hŒ cell_count”…”�”}”(hjaih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjAiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjShubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjzih²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjviubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjviubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj–ih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjviubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjShubj²)�”}”(hŒ struct of_phandle_args *out_args”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¯ih²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj«iubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼ih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj«iubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hjÍih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÊiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÏiŒmodname”NŒ classname”Njbje)�”}”jh]”j°hŒ"c.of_parse_phandle_with_fixed_args”†”asbuh1hhj«iubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj«iubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjùih²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj«iubjE)�”}”(hŒout_args”h]”hŒout_args”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj«iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjShubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjhh²hh³j,hh´MYubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjhh²hh³j,hh´MYubah}”(h]”jhah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j,hh´MYhjhh²hubj>)�”}”(hhh]”jC)�”}”(hŒ(Find a node pointed by phandle in a list”h]”hŒ(Find a node pointed by phandle in a list”…”�”}”(hj0jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MYhj-jh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjhh²hh³j,hh´MYubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajHjjbjHjjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXz**Parameters** ``const struct device_node *np`` pointer to a device tree node containing a list ``const char *list_name`` property name that contains a list ``int cell_count`` number of argument cells following the phandle ``int index`` index of a phandle to parse out ``struct of_phandle_args *out_args`` optional pointer to output arguments structure (will be filled) **Description** This function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills out_args, on error returns appropriate errno value. Caller is responsible to call of_node_put() on the returned out_args->np pointer. Example:: phandle1: node1 { }; phandle2: node2 { }; node3 { list = <&phandle1 0 2 &phandle2 2 3>; }; To get a device_node of the ``node2`` node you may call this: of_parse_phandle_with_fixed_args(node3, "list", 2, 1, :c:type:`args`);”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjRjh]”hŒ Parameters”…”�”}”(hjTjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjPjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M]hjLjubj‡)�”}”(hhh]”(jŒ)�”}”(hŒQ``const struct device_node *np`` pointer to a device tree node containing a list ”•h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjqjh]”hŒconst struct device_node *np”…”�”}”(hjsjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjojubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MZhjkjubj®)�”}”(hhh]”jC)�”}”(hŒ/pointer to a device tree node containing a list”h]”hŒ/pointer to a device tree node containing a list”…”�”}”(hjŠjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j†jh´MZhj‡jubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjkjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j†jh´MZhjhjubjŒ)�”}”(hŒ=``const char *list_name`` property name that contains a list ”h]”(j’)�”}”(hŒ``const char *list_name``”h]”j˜)�”}”(hjªjh]”hŒconst char *list_name”…”�”}”(hj¬jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¨jubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M[hj¤jubj®)�”}”(hhh]”jC)�”}”(hŒ"property name that contains a list”h]”hŒ"property name that contains a list”…”�”}”(hjÃjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¿jh´M[hjÀjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¤jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¿jh´M[hjhjubjŒ)�”}”(hŒB``int cell_count`` number of argument cells following the phandle ”h]”(j’)�”}”(hŒ``int cell_count``”h]”j˜)�”}”(hjãjh]”hŒint cell_count”…”�”}”(hjåjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjájubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M\hjÝjubj®)�”}”(hhh]”jC)�”}”(hŒ.number of argument cells following the phandle”h]”hŒ.number of argument cells following the phandle”…”�”}”(hjüjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jøjh´M\hjùjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÝjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jøjh´M\hjhjubjŒ)�”}”(hŒ.``int index`` index of a phandle to parse out ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjkh]”hŒ int index”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjkubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M]hjkubj®)�”}”(hhh]”jC)�”}”(hŒindex of a phandle to parse out”h]”hŒindex of a phandle to parse out”…”�”}”(hj5kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j1kh´M]hj2kubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j1kh´M]hjhjubjŒ)�”}”(hŒe``struct of_phandle_args *out_args`` optional pointer to output arguments structure (will be filled) ”h]”(j’)�”}”(hŒ$``struct of_phandle_args *out_args``”h]”j˜)�”}”(hjUkh]”hŒ struct of_phandle_args *out_args”…”�”}”(hjWkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjSkubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M^hjOkubj®)�”}”(hhh]”jC)�”}”(hŒ?optional pointer to output arguments structure (will be filled)”h]”hŒ?optional pointer to output arguments structure (will be filled)”…”�”}”(hjnkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jjkh´M^hjkkubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjOkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jjkh´M^hjhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjLjubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj�kh]”hŒ Description”…”�”}”(hj’kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŽkubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M`hjLjubjC)�”}”(hŒšThis function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills out_args, on error returns appropriate errno value.”h]”hŒšThis function is useful to parse lists of phandles and their arguments. Returns 0 on success and fills out_args, on error returns appropriate errno value.”…”�”}”(hj¦kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M_hjLjubjC)�”}”(hŒQCaller is responsible to call of_node_put() on the returned out_args->np pointer.”h]”hŒQCaller is responsible to call of_node_put() on the returned out_args->np pointer.”…”�”}”(hjµkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MchjLjubjC)�”}”(hŒ Example::”h]”hŒExample:”…”�”}”(hjÄkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MfhjLjubj×B)�”}”(hŒ`phandle1: node1 { }; phandle2: node2 { }; node3 { list = <&phandle1 0 2 &phandle2 2 3>; };”h]”hŒ`phandle1: node1 { }; phandle2: node2 { }; node3 { list = <&phandle1 0 2 &phandle2 2 3>; };”…”�”}”hjÓksbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhhjLjubjC)�”}”(hŒ„To get a device_node of the ``node2`` node you may call this: of_parse_phandle_with_fixed_args(node3, "list", 2, 1, :c:type:`args`);”h]”(hŒTo get a device_node of the ”…”�”}”(hjâkh²hh³Nh´Nubj˜)�”}”(hŒ ``node2``”h]”hŒnode2”…”�”}”(hjêkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjâkubhŒS node you may call this: of_parse_phandle_with_fixed_args(node3, “listâ€�, 2, 1, ”…”�”}”(hjâkh²hh³Nh´Nubh)�”}”(hŒ:c:type:`args`”h]”j˜)�”}”(hjþkh]”hŒargs”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”(jCj\Œc-type”eh"]”h$]”h&]”uh1j—hjükubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jCŒ refdomain”j\Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jbj!Cj$CŒargs”uh1hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MrhjâkubhŒ);”…”�”}”(hjâkh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jlh´MrhjLjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ0of_parse_phandle_with_optional_args (C function)”Œ%c.of_parse_phandle_with_optional_args”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ¢int of_parse_phandle_with_optional_args (const struct device_node *np, const char *list_name, const char *cells_name, int index, struct of_phandle_args *out_args)”h]”j)�”}”(hŒ¡int of_parse_phandle_with_optional_args(const struct device_node *np, const char *list_name, const char *cells_name, int index, struct of_phandle_args *out_args)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjFlh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjBlh²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUlh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjBlh²hh³jTlh´M�ubj‘)�”}”(hŒ#of_parse_phandle_with_optional_args”h]”jE)�”}”(hŒ#of_parse_phandle_with_optional_args”h]”hŒ#of_parse_phandle_with_optional_args”…”�”}”(hjglh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjclubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjBlh²hh³jTlh´M�ubj¬)�”}”(hŒz(const struct device_node *np, const char *list_name, const char *cells_name, int index, struct of_phandle_args *out_args)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjƒlh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjlubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�lh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjžlh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjlubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«lh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¼lh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¹lubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¾lŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jilsbŒ%c.of_parse_phandle_with_optional_args”†”asbuh1hhjlubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜlh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjêlh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjlubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj÷lh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjlubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj{lubj²)�”}”(hŒconst char *list_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj mubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj+mh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9mh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj mubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjGmh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj mubjE)�”}”(hŒ list_name”h]”hŒ list_name”…”�”}”(hjTmh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj{lubj²)�”}”(hŒconst char *cells_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjmmh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjimubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzmh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjimubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjˆmh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjimubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–mh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjimubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¤mh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjimubjE)�”}”(hŒ cells_name”h]”hŒ cells_name”…”�”}”(hj±mh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjimubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj{lubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÊmh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÆmubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØmh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÆmubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjæmh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÆmubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj{lubj²)�”}”(hŒ struct of_phandle_args *out_args”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÿmh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjûmubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj nh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjûmubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jnŒmodname”NŒ classname”Njbje)�”}”jh]”jØlŒ%c.of_parse_phandle_with_optional_args”†”asbuh1hhjûmubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;nh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjûmubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjInh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjûmubjE)�”}”(hŒout_args”h]”hŒout_args”…”�”}”(hjVnh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjûmubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj{lubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjBlh²hh³jTlh´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj>lh²hh³jTlh´M�ubah}”(h]”j9lah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jTlh´M�hj;lh²hubj>)�”}”(hhh]”jC)�”}”(hŒ(Find a node pointed by phandle in a list”h]”hŒ(Find a node pointed by phandle in a list”…”�”}”(hj€nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M�hj}nh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj;lh²hh³jTlh´M�ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj˜njbj˜njc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXç**Parameters** ``const struct device_node *np`` pointer to a device tree node containing a list ``const char *list_name`` property name that contains a list ``const char *cells_name`` property name that specifies phandles' arguments count ``int index`` index of a phandle to parse out ``struct of_phandle_args *out_args`` optional pointer to output arguments structure (will be filled) **Description** Same as of_parse_phandle_with_args() except that if the cells_name property is not found, cell_count of 0 is assumed. This is used to useful, if you have a phandle which didn't have arguments before and thus doesn't have a '#*-cells' property but is now migrated to having arguments while retaining backwards compatibility.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¢nh]”hŒ Parameters”…”�”}”(hj¤nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M…hjœnubj‡)�”}”(hhh]”(jŒ)�”}”(hŒQ``const struct device_node *np`` pointer to a device tree node containing a list ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjÁnh]”hŒconst struct device_node *np”…”�”}”(hjÃnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¿nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M‚hj»nubj®)�”}”(hhh]”jC)�”}”(hŒ/pointer to a device tree node containing a list”h]”hŒ/pointer to a device tree node containing a list”…”�”}”(hjÚnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÖnh´M‚hj×nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj»nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÖnh´M‚hj¸nubjŒ)�”}”(hŒ=``const char *list_name`` property name that contains a list ”h]”(j’)�”}”(hŒ``const char *list_name``”h]”j˜)�”}”(hjúnh]”hŒconst char *list_name”…”�”}”(hjünh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjønubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mƒhjônubj®)�”}”(hhh]”jC)�”}”(hŒ"property name that contains a list”h]”hŒ"property name that contains a list”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³joh´Mƒhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjônubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³joh´Mƒhj¸nubjŒ)�”}”(hŒR``const char *cells_name`` property name that specifies phandles' arguments count ”h]”(j’)�”}”(hŒ``const char *cells_name``”h]”j˜)�”}”(hj3oh]”hŒconst char *cells_name”…”�”}”(hj5oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj1oubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M„hj-oubj®)�”}”(hhh]”jC)�”}”(hŒ6property name that specifies phandles' arguments count”h]”hŒ8property name that specifies phandles’ arguments count”…”�”}”(hjLoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jHoh´M„hjIoubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj-oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jHoh´M„hj¸nubjŒ)�”}”(hŒ.``int index`` index of a phandle to parse out ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjloh]”hŒ int index”…”�”}”(hjnoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M…hjfoubj®)�”}”(hhh]”jC)�”}”(hŒindex of a phandle to parse out”h]”hŒindex of a phandle to parse out”…”�”}”(hj…oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�oh´M…hj‚oubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjfoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�oh´M…hj¸nubjŒ)�”}”(hŒe``struct of_phandle_args *out_args`` optional pointer to output arguments structure (will be filled) ”h]”(j’)�”}”(hŒ$``struct of_phandle_args *out_args``”h]”j˜)�”}”(hj¥oh]”hŒ struct of_phandle_args *out_args”…”�”}”(hj§oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj£oubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M†hjŸoubj®)�”}”(hhh]”jC)�”}”(hŒ?optional pointer to output arguments structure (will be filled)”h]”hŒ?optional pointer to output arguments structure (will be filled)”…”�”}”(hj¾oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jºoh´M†hj»oubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŸoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jºoh´M†hj¸nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjœnubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjàoh]”hŒ Description”…”�”}”(hjâoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÞoubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MˆhjœnubjC)�”}”(hŒuSame as of_parse_phandle_with_args() except that if the cells_name property is not found, cell_count of 0 is assumed.”h]”hŒuSame as of_parse_phandle_with_args() except that if the cells_name property is not found, cell_count of 0 is assumed.”…”�”}”(hjöoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M‡hjœnubjC)�”}”(hŒÍThis is used to useful, if you have a phandle which didn't have arguments before and thus doesn't have a '#*-cells' property but is now migrated to having arguments while retaining backwards compatibility.”h]”hŒÕThis is used to useful, if you have a phandle which didn’t have arguments before and thus doesn’t have a ‘#*-cells’ property but is now migrated to having arguments while retaining backwards compatibility.”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MŠhjœnubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_phandle_args_equal (C function)”Œc.of_phandle_args_equal”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ_bool of_phandle_args_equal (const struct of_phandle_args *a1, const struct of_phandle_args *a2)”h]”j)�”}”(hŒ^bool of_phandle_args_equal(const struct of_phandle_args *a1, const struct of_phandle_args *a2)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hj4ph²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj0ph²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mšubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj0ph²hh³jAph´Mšubj‘)�”}”(hŒof_phandle_args_equal”h]”jE)�”}”(hŒof_phandle_args_equal”h]”hŒof_phandle_args_equal”…”�”}”(hjTph²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjPpubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj0ph²hh³jAph´Mšubj¬)�”}”(hŒD(const struct of_phandle_args *a1, const struct of_phandle_args *a2)”h]”(j²)�”}”(hŒ const struct of_phandle_args *a1”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjpph²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjlpubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}ph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlpubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj‹ph²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjlpubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜ph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlpubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hj©ph²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¦pubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j«pŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jVpsbŒc.of_phandle_args_equal”†”asbuh1hhjlpubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlpubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj×ph²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjlpubjE)�”}”(hŒa1”h]”hŒa1”…”�”}”(hjäph²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjlpubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjhpubj²)�”}”(hŒ const struct of_phandle_args *a2”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjýph²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjùpubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj qh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùpubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjùpubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%qh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùpubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hj6qh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj3qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j8qŒmodname”NŒ classname”Njbje)�”}”jh]”jÅpŒc.of_phandle_args_equal”†”asbuh1hhjùpubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTqh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùpubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjbqh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjùpubjE)�”}”(hŒa2”h]”hŒa2”…”�”}”(hjoqh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùpubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjhpubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj0ph²hh³jAph´Mšubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj,ph²hh³jAph´Mšubah}”(h]”j'pah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jAph´Mšhj)ph²hubj>)�”}”(hhh]”jC)�”}”(hŒCompare two of_phandle_args”h]”hŒCompare two of_phandle_args”…”�”}”(hj™qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mšhj–qh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj)ph²hh³jAph´Mšubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj±qjbj±qjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct of_phandle_args *a1`` First of_phandle_args to compare ``const struct of_phandle_args *a2`` Second of_phandle_args to compare **Return** True if a1 and a2 are the same (same node pointer, same phandle args), false otherwise.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj»qh]”hŒ Parameters”…”�”}”(hj½qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¹qubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mžhjµqubj‡)�”}”(hhh]”(jŒ)�”}”(hŒF``const struct of_phandle_args *a1`` First of_phandle_args to compare ”h]”(j’)�”}”(hŒ$``const struct of_phandle_args *a1``”h]”j˜)�”}”(hjÚqh]”hŒ const struct of_phandle_args *a1”…”�”}”(hjÜqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjØqubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M›hjÔqubj®)�”}”(hhh]”jC)�”}”(hŒ First of_phandle_args to compare”h]”hŒ First of_phandle_args to compare”…”�”}”(hjóqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jïqh´M›hjðqubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÔqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jïqh´M›hjÑqubjŒ)�”}”(hŒG``const struct of_phandle_args *a2`` Second of_phandle_args to compare ”h]”(j’)�”}”(hŒ$``const struct of_phandle_args *a2``”h]”j˜)�”}”(hjrh]”hŒ const struct of_phandle_args *a2”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mœhj rubj®)�”}”(hhh]”jC)�”}”(hŒ!Second of_phandle_args to compare”h]”hŒ!Second of_phandle_args to compare”…”�”}”(hj,rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j(rh´Mœhj)rubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j(rh´MœhjÑqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjµqubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjNrh]”hŒReturn”…”�”}”(hjPrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjLrubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MžhjµqubjC)�”}”(hŒWTrue if a1 and a2 are the same (same node pointer, same phandle args), false otherwise.”h]”hŒWTrue if a1 and a2 are the same (same node pointer, same phandle args), false otherwise.”…”�”}”(hjdrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mžhjµqubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_property_count_u8_elems (C function)”Œc.of_property_count_u8_elems”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒSint of_property_count_u8_elems (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒRint of_property_count_u8_elems(const struct device_node *np, const char *propname)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj“rh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj�rh²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢rh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�rh²hh³j¡rh´Mªubj‘)�”}”(hŒof_property_count_u8_elems”h]”jE)�”}”(hŒof_property_count_u8_elems”h]”hŒof_property_count_u8_elems”…”�”}”(hj´rh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj°rubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj�rh²hh³j¡rh´Mªubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÐrh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÌrubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝrh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÌrubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjërh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÌrubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjørh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÌrubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj sh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjsubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j sŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j¶rsbŒc.of_property_count_u8_elems”†”asbuh1hhjÌrubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)sh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÌrubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj7sh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÌrubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjDsh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÌrubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÈrubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj]sh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjYsubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjsh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjYsubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjxsh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjYsubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†sh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjYsubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj”sh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjYsubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj¡sh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjYsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÈrubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj�rh²hh³j¡rh´Mªubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj‹rh²hh³j¡rh´Mªubah}”(h]”j†rah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¡rh´Mªhjˆrh²hubj>)�”}”(hhh]”jC)�”}”(hŒ-Count the number of u8 elements in a property”h]”hŒ-Count the number of u8 elements in a property”…”�”}”(hjËsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MªhjÈsh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjˆrh²hh³j¡rh´Mªubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajãsjbjãsjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÉ**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. **Description** Search for a property in a device node and count the number of u8 elements in it. **Return** The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u8 and -ENODATA if the property does not have a value.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjísh]”hŒ Parameters”…”�”}”(hjïsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjësubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M®hjçsubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj th]”hŒconst struct device_node *np”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj tubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¬hjtubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj%th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j!th´M¬hj"tubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j!th´M¬hjtubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjEth]”hŒconst char *propname”…”�”}”(hjGth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjCtubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M­hj?tubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj^th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jZth´M­hj[tubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj?tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jZth´M­hjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjçsubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj€th]”hŒ Description”…”�”}”(hj‚th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj~tubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¯hjçsubjC)�”}”(hŒQSearch for a property in a device node and count the number of u8 elements in it.”h]”hŒQSearch for a property in a device node and count the number of u8 elements in it.”…”�”}”(hj–th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M®hjçsubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj§th]”hŒReturn”…”�”}”(hj©th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¥tubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M±hjçsubjC)�”}”(hŒ«The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u8 and -ENODATA if the property does not have a value.”h]”hŒ«The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u8 and -ENODATA if the property does not have a value.”…”�”}”(hj½th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M²hjçsubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(of_property_count_u16_elems (C function)”Œc.of_property_count_u16_elems”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒTint of_property_count_u16_elems (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒSint of_property_count_u16_elems(const struct device_node *np, const char *propname)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjìth²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjèth²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûth²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèth²hh³júth´M½ubj‘)�”}”(hŒof_property_count_u16_elems”h]”jE)�”}”(hŒof_property_count_u16_elems”h]”hŒof_property_count_u16_elems”…”�”}”(hj uh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj uubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjèth²hh³júth´M½ubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj)uh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj%uubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6uh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj%uubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjDuh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj%uubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQuh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj%uubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjbuh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj_uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jduŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jusbŒc.of_property_count_u16_elems”†”asbuh1hhj%uubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚uh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj%uubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj�uh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj%uubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj�uh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj%uubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj!uubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj¶uh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj²uubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃuh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj²uubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÑuh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj²uubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßuh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj²uubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjíuh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj²uubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjúuh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj²uubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj!uubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjèth²hh³júth´M½ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjäth²hh³júth´M½ubah}”(h]”jßtah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³júth´M½hjáth²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Count the number of u16 elements in a property”h]”hŒ.Count the number of u16 elements in a property”…”�”}”(hj$vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M½hj!vh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjáth²hh³júth´M½ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjžvh]”hŒconst char *propname”…”�”}”(hj vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjœvubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÀhj˜vubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj·vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j³vh´MÀhj´vubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj˜vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j³vh´MÀhj\vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj@vubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÙvh]”hŒ Description”…”�”}”(hjÛvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj×vubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÂhj@vubjC)�”}”(hŒRSearch for a property in a device node and count the number of u16 elements in it.”h]”hŒRSearch for a property in a device node and count the number of u16 elements in it.”…”�”}”(hjïvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÁhj@vubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjwh]”hŒReturn”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjþvubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÄhj@vubjC)�”}”(hŒ¬The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u16 and -ENODATA if the property does not have a value.”h]”hŒ¬The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u16 and -ENODATA if the property does not have a value.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÅhj@vubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(of_property_count_u32_elems (C function)”Œc.of_property_count_u32_elems”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒTint of_property_count_u32_elems (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒSint of_property_count_u32_elems(const struct device_node *np, const char *propname)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjEwh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjAwh²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÐubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTwh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjAwh²hh³jSwh´MÐubj‘)�”}”(hŒof_property_count_u32_elems”h]”jE)�”}”(hŒof_property_count_u32_elems”h]”hŒof_property_count_u32_elems”…”�”}”(hjfwh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjbwubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjAwh²hh³jSwh´MÐubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj‚wh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj~wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�wh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj~wubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj�wh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj~wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªwh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj~wubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj»wh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¸wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j½wŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jhwsbŒc.of_property_count_u32_elems”†”asbuh1hhj~wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛwh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj~wubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjéwh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj~wubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjöwh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj~wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjzwubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj xubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj xubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj*xh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj xubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8xh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj xubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjFxh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj xubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjSxh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjzwubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjAwh²hh³jSwh´MÐubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj=wh²hh³jSwh´MÐubah}”(h]”j8wah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jSwh´MÐhj:wh²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Count the number of u32 elements in a property”h]”hŒ.Count the number of u32 elements in a property”…”�”}”(hj}xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÐhjzxh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj:wh²hh³jSwh´MÐubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj•xjbj•xjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXË**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. **Description** Search for a property in a device node and count the number of u32 elements in it. **Return** The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u32 and -ENODATA if the property does not have a value.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjŸxh]”hŒ Parameters”…”�”}”(hj¡xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj�xubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÔhj™xubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj¾xh]”hŒconst struct device_node *np”…”�”}”(hjÀxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¼xubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÒhj¸xubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj×xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÓxh´MÒhjÔxubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¸xubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÓxh´MÒhjµxubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj÷xh]”hŒconst char *propname”…”�”}”(hjùxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjõxubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÓhjñxubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j yh´MÓhj yubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjñxubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j yh´MÓhjµxubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj™xubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj2yh]”hŒ Description”…”�”}”(hj4yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj0yubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÕhj™xubjC)�”}”(hŒRSearch for a property in a device node and count the number of u32 elements in it.”h]”hŒRSearch for a property in a device node and count the number of u32 elements in it.”…”�”}”(hjHyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÔhj™xubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjYyh]”hŒReturn”…”�”}”(hj[yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjWyubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M×hj™xubjC)�”}”(hŒ¬The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u32 and -ENODATA if the property does not have a value.”h]”hŒ¬The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u32 and -ENODATA if the property does not have a value.”…”�”}”(hjoyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MØhj™xubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(of_property_count_u64_elems (C function)”Œc.of_property_count_u64_elems”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒTint of_property_count_u64_elems (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒSint of_property_count_u64_elems(const struct device_node *np, const char *propname)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjžyh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjšyh²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­yh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjšyh²hh³j¬yh´Mãubj‘)�”}”(hŒof_property_count_u64_elems”h]”jE)�”}”(hŒof_property_count_u64_elems”h]”hŒof_property_count_u64_elems”…”�”}”(hj¿yh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj»yubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjšyh²hh³j¬yh´Mãubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÛyh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj×yubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèyh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj×yubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjöyh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj×yubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj×yubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jzŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÁysbŒc.of_property_count_u64_elems”†”asbuh1hhj×yubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4zh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj×yubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjBzh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj×yubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjOzh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj×yubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÓyubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjhzh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjdzubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuzh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdzubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjƒzh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjdzubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘zh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdzubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjŸzh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjdzubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj¬zh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjdzubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÓyubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjšyh²hh³j¬yh´Mãubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj–yh²hh³j¬yh´Mãubah}”(h]”j‘yah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¬yh´Mãhj“yh²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Count the number of u64 elements in a property”h]”hŒ.Count the number of u64 elements in a property”…”�”}”(hjÖzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MãhjÓzh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj“yh²hh³j¬yh´Mãubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajîzjbjîzjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXË**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. **Description** Search for a property in a device node and count the number of u64 elements in it. **Return** The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u64 and -ENODATA if the property does not have a value.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjøzh]”hŒ Parameters”…”�”}”(hjúzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjözubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mçhjòzubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj{h]”hŒconst struct device_node *np”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Måhj{ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj0{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j,{h´Måhj-{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j,{h´Måhj{ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjP{h]”hŒconst char *propname”…”�”}”(hjR{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjN{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MæhjJ{ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hji{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³je{h´Mæhjf{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjJ{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³je{h´Mæhj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjòzubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj‹{h]”hŒ Description”…”�”}”(hj�{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‰{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MèhjòzubjC)�”}”(hŒRSearch for a property in a device node and count the number of u64 elements in it.”h]”hŒRSearch for a property in a device node and count the number of u64 elements in it.”…”�”}”(hj¡{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MçhjòzubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj²{h]”hŒReturn”…”�”}”(hj´{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj°{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MêhjòzubjC)�”}”(hŒ¬The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u64 and -ENODATA if the property does not have a value.”h]”hŒ¬The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of u64 and -ENODATA if the property does not have a value.”…”�”}”(hjÈ{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mëhjòzubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ*of_property_read_string_array (C function)”Œc.of_property_read_string_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒxint of_property_read_string_array (const struct device_node *np, const char *propname, const char **out_strs, size_t sz)”h]”j)�”}”(hŒwint of_property_read_string_array(const struct device_node *np, const char *propname, const char **out_strs, size_t sz)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj÷{h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjó{h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Möubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjó{h²hh³j|h´Möubj‘)�”}”(hŒof_property_read_string_array”h]”jE)�”}”(hŒof_property_read_string_array”h]”hŒof_property_read_string_array”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj|ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjó{h²hh³j|h´Möubj¬)�”}”(hŒV(const struct device_node *np, const char *propname, const char **out_strs, size_t sz)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj4|h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj0|ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj0|ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjO|h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj0|ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj0|ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjm|h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjj|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jo|Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j|sbŒc.of_property_read_string_array”†”asbuh1hhj0|ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj0|ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj›|h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj0|ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj¨|h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj0|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj,|ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÁ|h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj½|ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj½|ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÜ|h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj½|ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj½|ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjø|h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj½|ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj½|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj,|ubj²)�”}”(hŒconst char **out_strs”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj}ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+}h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj}ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj9}h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj}ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG}h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj}ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjU}h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj}ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjb}h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj}ubjE)�”}”(hŒout_strs”h]”hŒout_strs”…”�”}”(hjo}h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj,|ubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj‹}h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjˆ}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j�}Œmodname”NŒ classname”Njbje)�”}”jh]”j‰|Œc.of_property_read_string_array”†”asbuh1hhj„}ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©}h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„}ubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hj·}h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj„}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj,|ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjó{h²hh³j|h´Möubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjï{h²hh³j|h´Möubah}”(h]”jê{ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j|h´Möhjì{h²hubj>)�”}”(hhh]”jC)�”}”(hŒ:Read an array of strings from a multiple strings property.”h]”hŒ:Read an array of strings from a multiple strings property.”…”�”}”(hjá}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MöhjÞ}h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjì{h²hh³j|h´Möubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajù}jbjù}jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``const char **out_strs`` output array of string pointers. ``size_t sz`` number of array elements to read. **Description** Search for a property in a device tree node and retrieve a list of terminated string values (pointer to data, not a copy) in that property. **Return** If **out_strs** is NULL, the number of strings in the property is returned.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj~h]”hŒ Parameters”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Múhjý}ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj"~h]”hŒconst struct device_node *np”…”�”}”(hj$~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj ~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Møhj~ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj;~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j7~h´Møhj8~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j7~h´Møhj~ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj[~h]”hŒconst char *propname”…”�”}”(hj]~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjY~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MùhjU~ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjt~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jp~h´Mùhjq~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjU~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jp~h´Mùhj~ubjŒ)�”}”(hŒ;``const char **out_strs`` output array of string pointers. ”h]”(j’)�”}”(hŒ``const char **out_strs``”h]”j˜)�”}”(hj”~h]”hŒconst char **out_strs”…”�”}”(hj–~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj’~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MúhjŽ~ubj®)�”}”(hhh]”jC)�”}”(hŒ output array of string pointers.”h]”hŒ output array of string pointers.”…”�”}”(hj­~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j©~h´Múhjª~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŽ~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j©~h´Múhj~ubjŒ)�”}”(hŒ0``size_t sz`` number of array elements to read. ”h]”(j’)�”}”(hŒ ``size_t sz``”h]”j˜)�”}”(hjÍ~h]”hŒ size_t sz”…”�”}”(hjÏ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjË~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MûhjÇ~ubj®)�”}”(hhh]”jC)�”}”(hŒ!number of array elements to read.”h]”hŒ!number of array elements to read.”…”�”}”(hjæ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jâ~h´Mûhjã~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÇ~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jâ~h´Mûhj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjý}ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjh]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mýhjý}ubjC)�”}”(hŒ‹Search for a property in a device tree node and retrieve a list of terminated string values (pointer to data, not a copy) in that property.”h]”hŒ‹Search for a property in a device tree node and retrieve a list of terminated string values (pointer to data, not a copy) in that property.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mühjý}ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj/h]”hŒReturn”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mÿhjý}ubjC)�”}”(hŒKIf **out_strs** is NULL, the number of strings in the property is returned.”h]”(hŒIf ”…”�”}”(hjEh²hh³Nh´Nubjq)�”}”(hŒ **out_strs**”h]”hŒout_strs”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjEubhŒ< is NULL, the number of strings in the property is returned.”…”�”}”(hjEh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjý}ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”•]”(j Œ&of_property_count_strings (C function)”Œc.of_property_count_strings”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒRint of_property_count_strings (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒQint of_property_count_strings(const struct device_node *np, const char *propname)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj‚h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚h²hh³j”h´M ubj‘)�”}”(hŒof_property_count_strings”h]”jE)�”}”(hŒof_property_count_strings”h]”hŒof_property_count_strings”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj‚h²hh³j”h´M ubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¿ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¿ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¿ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¿ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jþŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j©sbŒc.of_property_count_strings”†”asbuh1hhj¿ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¿ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj*€h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¿ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj7€h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj»ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjP€h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjL€ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]€h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjL€ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjk€h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjL€ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy€h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjL€ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‡€h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjL€ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj”€h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjL€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj»ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj‚h²hh³j”h´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj~h²hh³j”h´M ubah}”(h]”jyah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j”h´M hj{h²hubj>)�”}”(hhh]”jC)�”}”(hŒGFind and return the number of strings from a multiple strings property.”h]”hŒGFind and return the number of strings from a multiple strings property.”…”�”}”(hj¾€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M hj»€h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj{h²hh³j”h´M ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÖ€jbjÖ€jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. **Description** Search for a property in a device tree node and retrieve the number of null terminated string contain in it. **Return** The number of strings on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjà€h]”hŒ Parameters”…”�”}”(hjâ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÞ€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjÚ€ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjÿ€h]”hŒconst struct device_node *np”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjý€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M hjù€ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�h´M hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjù€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�h´M hjö€ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj8�h]”hŒconst char *propname”…”�”}”(hj:�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj6�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M hj2�ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjQ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jM�h´M hjN�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj2�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jM�h´M hjö€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÚ€ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjs�h]”hŒ Description”…”�”}”(hju�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjq�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjÚ€ubjC)�”}”(hŒlSearch for a property in a device tree node and retrieve the number of null terminated string contain in it.”h]”hŒlSearch for a property in a device tree node and retrieve the number of null terminated string contain in it.”…”�”}”(hj‰�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjÚ€ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjš�h]”hŒReturn”…”�”}”(hjœ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj˜�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjÚ€ubjC)�”}”(hŒÎThe number of strings on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”hŒÎThe number of strings on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”…”�”}”(hj°�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MhjÚ€ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ*of_property_read_string_index (C function)”Œc.of_property_read_string_index”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒvint of_property_read_string_index (const struct device_node *np, const char *propname, int index, const char **output)”h]”j)�”}”(hŒuint of_property_read_string_index(const struct device_node *np, const char *propname, int index, const char **output)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjß�h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÛ�h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÛ�h²hh³jí�h´Mubj‘)�”}”(hŒof_property_read_string_index”h]”jE)�”}”(hŒof_property_read_string_index”h]”hŒof_property_read_string_index”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjü�ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÛ�h²hh³jí�h´Mubj¬)�”}”(hŒT(const struct device_node *np, const char *propname, int index, const char **output)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‚ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)‚h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj7‚h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‚ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD‚h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjU‚h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjR‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jW‚Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j‚sbŒc.of_property_read_string_index”†”asbuh1hhj‚ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hju‚h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‚ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjƒ‚h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‚ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj�‚h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‚ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj©‚h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¥‚ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶‚h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¥‚ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÄ‚h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¥‚ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ‚h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¥‚ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjà‚h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¥‚ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjí‚h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¥‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‚ubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjƒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj"ƒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‚ubj²)�”}”(hŒconst char **output”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj;ƒh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj7ƒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHƒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj7ƒubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjVƒh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj7ƒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdƒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj7ƒubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjrƒh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj7ƒubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj7ƒubjE)�”}”(hŒoutput”h]”hŒoutput”…”�”}”(hjŒƒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj7ƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‚ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÛ�h²hh³jí�h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj×�h²hh³jí�h´Mubah}”(h]”jÒ�ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jí�h´MhjÔ�h²hubj>)�”}”(hhh]”jC)�”}”(hŒ8Find and read a string from a multiple strings property.”h]”hŒ8Find and read a string from a multiple strings property.”…”�”}”(hj¶ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhj³ƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÔ�h²hh³jí�h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj΃jbj΃jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX"**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``int index`` index of the string in the list of strings ``const char **output`` pointer to null terminated return string, modified only if return value is 0. **Description** Search for a property in a device tree node and retrieve a null terminated string value (pointer to data, not a copy) in the list of strings contained in that property. The out_string pointer is modified only if a valid string can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj؃h]”hŒ Parameters”…”�”}”(hjÚƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÖƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M!hjÒƒubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj÷ƒh]”hŒconst struct device_node *np”…”�”}”(hjùƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjõƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjñƒubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j „h´Mhj „ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjñƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j „h´MhjîƒubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj0„h]”hŒconst char *propname”…”�”}”(hj2„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj.„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M hj*„ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjI„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jE„h´M hjF„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj*„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jE„h´M hjîƒubjŒ)�”}”(hŒ9``int index`` index of the string in the list of strings ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hji„h]”hŒ int index”…”�”}”(hjk„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjg„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M!hjc„ubj®)�”}”(hhh]”jC)�”}”(hŒ*index of the string in the list of strings”h]”hŒ*index of the string in the list of strings”…”�”}”(hj‚„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j~„h´M!hj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjc„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j~„h´M!hjîƒubjŒ)�”}”(hŒf``const char **output`` pointer to null terminated return string, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``const char **output``”h]”j˜)�”}”(hj¢„h]”hŒconst char **output”…”�”}”(hj¤„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj „ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M#hjœ„ubj®)�”}”(hhh]”jC)�”}”(hŒMpointer to null terminated return string, modified only if return value is 0.”h]”hŒMpointer to null terminated return string, modified only if return value is 0.”…”�”}”(hj»„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M"hj¸„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjœ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j·„h´M#hjîƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÒƒubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÞ„h]”hŒ Description”…”�”}”(hjà„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÜ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M%hjÒƒubjC)�”}”(hŒ¨Search for a property in a device tree node and retrieve a null terminated string value (pointer to data, not a copy) in the list of strings contained in that property.”h]”hŒ¨Search for a property in a device tree node and retrieve a null terminated string value (pointer to data, not a copy) in the list of strings contained in that property.”…”�”}”(hjô„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M$hjÒƒubjC)�”}”(hŒIThe out_string pointer is modified only if a valid string can be decoded.”h]”hŒIThe out_string pointer is modified only if a valid string can be decoded.”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M)hjÒƒubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj…h]”hŒReturn”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M+hjÒƒubjC)�”}”(hŒº0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”hŒº0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”…”�”}”(hj*…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M)hjÒƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ of_property_present (C function)”Œc.of_property_present”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒMbool of_property_present (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒLbool of_property_present(const struct device_node *np, const char *propname)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hjY…h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjU…h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg…h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjU…h²hh³jf…h´M8ubj‘)�”}”(hŒof_property_present”h]”jE)�”}”(hŒof_property_present”h]”hŒof_property_present”…”�”}”(hjy…h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhju…ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjU…h²hh³jf…h´M8ubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj•…h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‘…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢…h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‘…ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj°…h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‘…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½…h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‘…ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÎ…h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjË…ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÐ…Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j{…sbŒc.of_property_present”†”asbuh1hhj‘…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî…h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‘…ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjü…h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‘…ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj †h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‘…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj�…ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj"†h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj†ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/†h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj†ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj=†h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj†ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK†h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj†ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjY†h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj†ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjf†h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj�…ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjU…h²hh³jf…h´M8ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjQ…h²hh³jf…h´M8ubah}”(h]”jL…ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jf…h´M8hjN…h²hubj>)�”}”(hhh]”jC)�”}”(hŒ'Test if a property is present in a node”h]”hŒ'Test if a property is present in a node”…”�”}”(hj�†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M8hj�†h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjN…h²hh³jf…h´M8ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj¨†jbj¨†jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct device_node *np`` device node to search for the property. ``const char *propname`` name of the property to be searched. **Description** Test for a property present in a device node. **Return** true if the property exists false otherwise.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj²†h]”hŒ Parameters”…”�”}”(hj´†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj°†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M<hj¬†ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒI``const struct device_node *np`` device node to search for the property. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjцh]”hŒconst struct device_node *np”…”�”}”(hjÓ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjφubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M9hjˆubj®)�”}”(hhh]”jC)�”}”(hŒ'device node to search for the property.”h]”hŒ'device node to search for the property.”…”�”}”(hjê†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jæ†h´M9hjç†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jæ†h´M9hjȆubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj ‡h]”hŒconst char *propname”…”�”}”(hj ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M:hj‡ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj#‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‡h´M:hj ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‡h´M:hjȆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¬†ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjE‡h]”hŒ Description”…”�”}”(hjG‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjC‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M<hj¬†ubjC)�”}”(hŒ-Test for a property present in a device node.”h]”hŒ-Test for a property present in a device node.”…”�”}”(hj[‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M;hj¬†ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjl‡h]”hŒReturn”…”�”}”(hjn‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M=hj¬†ubjC)�”}”(hŒ,true if the property exists false otherwise.”h]”hŒ,true if the property exists false otherwise.”…”�”}”(hj‚‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M>hj¬†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ&of_property_read_u8_array (C function)”Œc.of_property_read_u8_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒmint of_property_read_u8_array (const struct device_node *np, const char *propname, u8 *out_values, size_t sz)”h]”j)�”}”(hŒlint of_property_read_u8_array(const struct device_node *np, const char *propname, u8 *out_values, size_t sz)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj±‡h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj­‡h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ‡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj­‡h²hh³j¿‡h´MHubj‘)�”}”(hŒof_property_read_u8_array”h]”jE)�”}”(hŒof_property_read_u8_array”h]”hŒof_property_read_u8_array”…”�”}”(hjÒ‡h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj·ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj­‡h²hh³j¿‡h´MHubj¬)�”}”(hŒO(const struct device_node *np, const char *propname, u8 *out_values, size_t sz)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjî‡h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjê‡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû‡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjê‡ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj ˆh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjê‡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjê‡ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj'ˆh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj$ˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j)ˆŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÔ‡sbŒc.of_property_read_u8_array”†”asbuh1hhjê‡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGˆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjê‡ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjUˆh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjê‡ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjbˆh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjê‡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjæ‡ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj{ˆh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjwˆubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆˆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjwˆubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj–ˆh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjwˆubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤ˆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjwˆubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj²ˆh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjwˆubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj¿ˆh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjwˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjæ‡ubj²)�”}”(hŒu8 *out_values”h]”(h)�”}”(hhh]”jE)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjÛˆh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj؈ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j݈Œmodname”NŒ classname”Njbje)�”}”jh]”jCˆŒc.of_property_read_u8_array”†”asbuh1hhjÔˆubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùˆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÔˆubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÔˆubjE)�”}”(hŒ out_values”h]”hŒ out_values”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÔˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjæ‡ubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj0‰h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj-‰ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j2‰Œmodname”NŒ classname”Njbje)�”}”jh]”jCˆŒc.of_property_read_u8_array”†”asbuh1hhj)‰ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN‰h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj)‰ubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hj\‰h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj)‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjæ‡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj­‡h²hh³j¿‡h´MHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj©‡h²hh³j¿‡h´MHubah}”(h]”j¤‡ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¿‡h´MHhj¦‡h²hubj>)�”}”(hhh]”jC)�”}”(hŒ-Find and read an array of u8 from a property.”h]”hŒ-Find and read an array of u8 from a property.”…”�”}”(hj†‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MHhjƒ‰h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¦‡h²hh³j¿‡h´MHubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajž‰jbjž‰jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÇ**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u8 *out_values`` pointer to return value, modified only if return value is 0. ``size_t sz`` number of array elements to read **Description** Search for a property in a device node and read 8-bit value(s) from it. dts entry of array should be like: ``property = /bits/ 8 <0x50 0x60 0x70>;`` The out_values is modified only if a valid u8 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¨‰h]”hŒ Parameters”…”�”}”(hjª‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¦‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MLhj¢‰ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjljh]”hŒconst struct device_node *np”…”�”}”(hjɉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjʼnubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MJhjÁ‰ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjà‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j܉h´MJhj݉ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÁ‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j܉h´MJhj¾‰ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjŠh]”hŒconst char *propname”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjþ‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MKhjú‰ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jŠh´MKhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjú‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jŠh´MKhj¾‰ubjŒ)�”}”(hŒP``u8 *out_values`` pointer to return value, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``u8 *out_values``”h]”j˜)�”}”(hj9Šh]”hŒu8 *out_values”…”�”}”(hj;Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj7Šubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MLhj3Šubj®)�”}”(hhh]”jC)�”}”(hŒ;`` ”h]”(j’)�”}”(hŒ"dts entry of array should be like:”h]”hŒ"dts entry of array should be like:”…”�”}”(hjÙŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MShjÕŠubj®)�”}”(hhh]”jC)�”}”(hŒ)``property = /bits/ 8 <0x50 0x60 0x70>;``”h]”j˜)�”}”(hjíŠh]”hŒ%property = /bits/ 8 <0x50 0x60 0x70>;”…”�”}”(hjïŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjëŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MRhjèŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÕŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jçŠh´MShjÒŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¢‰ubjC)�”}”(hŒCThe out_values is modified only if a valid u8 value can be decoded.”h]”hŒCThe out_values is modified only if a valid u8 value can be decoded.”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MUhj¢‰ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj&‹h]”hŒReturn”…”�”}”(hj(‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj$‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MWhj¢‰ubjC)�”}”(hŒ™0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”hŒ›0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn’t large enough.”…”�”}”(hj<‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MUhj¢‰ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_property_read_u16_array (C function)”Œc.of_property_read_u16_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒoint of_property_read_u16_array (const struct device_node *np, const char *propname, u16 *out_values, size_t sz)”h]”j)�”}”(hŒnint of_property_read_u16_array(const struct device_node *np, const char *propname, u16 *out_values, size_t sz)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjk‹h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjg‹h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz‹h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjg‹h²hh³jy‹h´Mhubj‘)�”}”(hŒof_property_read_u16_array”h]”jE)�”}”(hŒof_property_read_u16_array”h]”hŒof_property_read_u16_array”…”�”}”(hjŒ‹h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjˆ‹ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjg‹h²hh³jy‹h´Mhubj¬)�”}”(hŒP(const struct device_node *np, const char *propname, u16 *out_values, size_t sz)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj¨‹h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¤‹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ‹h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¤‹ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¤‹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjЋh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¤‹ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjá‹h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÞ‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j㋌modname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jŽ‹sbŒc.of_property_read_u16_array”†”asbuh1hhj¤‹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¤‹ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¤‹ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¤‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ‹ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj5Œh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj1Œubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBŒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj1Œubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjPŒh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj1Œubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^Œh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj1Œubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjlŒh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj1ŒubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjyŒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj1Œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ‹ubj²)�”}”(hŒu16 *out_values”h]”(h)�”}”(hhh]”jE)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj•Œh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj’Œubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j—ŒŒmodname”NŒ classname”Njbje)�”}”jh]”jý‹Œc.of_property_read_u16_array”†”asbuh1hhjŽŒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³Œh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŽŒubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÁŒh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŽŒubjE)�”}”(hŒ out_values”h]”hŒ out_values”…”�”}”(hjÎŒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŽŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ‹ubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjêŒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjçŒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j쌌modname”NŒ classname”Njbje)�”}”jh]”jý‹Œc.of_property_read_u16_array”†”asbuh1hhjãŒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjãŒubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjãŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ‹ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjg‹h²hh³jy‹h´Mhubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjc‹h²hh³jy‹h´Mhubah}”(h]”j^‹ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jy‹h´Mhhj`‹h²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Find and read an array of u16 from a property.”h]”hŒ.Find and read an array of u16 from a property.”…”�”}”(hj@�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhhj=�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj`‹h²hh³jy‹h´Mhubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajX�jbjX�jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÑ**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u16 *out_values`` pointer to return value, modified only if return value is 0. ``size_t sz`` number of array elements to read **Description** Search for a property in a device node and read 16-bit value(s) from it. dts entry of array should be like: ``property = /bits/ 16 <0x5000 0x6000 0x7000>;`` The out_values is modified only if a valid u16 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjb�h]”hŒ Parameters”…”�”}”(hjd�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj`�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mlhj\�ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj��h]”hŒconst struct device_node *np”…”�”}”(hjƒ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mjhj{�ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjš�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j–�h´Mjhj—�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj{�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j–�h´Mjhjx�ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjº�h]”hŒconst char *propname”…”�”}”(hj¼�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¸�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mkhj´�ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjÓ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÏ�h´MkhjÐ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj´�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÏ�h´Mkhjx�ubjŒ)�”}”(hŒQ``u16 *out_values`` pointer to return value, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``u16 *out_values``”h]”j˜)�”}”(hjó�h]”hŒu16 *out_values”…”�”}”(hjõ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjñ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mlhjí�ubj®)�”}”(hhh]”jC)�”}”(hŒ;`` ”h]”(j’)�”}”(hŒ"dts entry of array should be like:”h]”hŒ"dts entry of array should be like:”…”�”}”(hj“Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mshj�Žubj®)�”}”(hhh]”jC)�”}”(hŒ0``property = /bits/ 16 <0x5000 0x6000 0x7000>;``”h]”j˜)�”}”(hj§Žh]”hŒ,property = /bits/ 16 <0x5000 0x6000 0x7000>;”…”�”}”(hj©Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¥Žubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mrhj¢Žubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj�Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¡Žh´MshjŒŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj\�ubjC)�”}”(hŒDThe out_values is modified only if a valid u16 value can be decoded.”h]”hŒDThe out_values is modified only if a valid u16 value can be decoded.”…”�”}”(hjÏŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Muhj\�ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjàŽh]”hŒReturn”…”�”}”(hjâŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÞŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mwhj\�ubjC)�”}”(hŒ™0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”hŒ›0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn’t large enough.”…”�”}”(hjöŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Muhj\�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_property_read_u32_array (C function)”Œc.of_property_read_u32_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒoint of_property_read_u32_array (const struct device_node *np, const char *propname, u32 *out_values, size_t sz)”h]”j)�”}”(hŒnint of_property_read_u32_array(const struct device_node *np, const char *propname, u32 *out_values, size_t sz)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj%�h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj!�h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mˆubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj!�h²hh³j3�h´Mˆubj‘)�”}”(hŒof_property_read_u32_array”h]”jE)�”}”(hŒof_property_read_u32_array”h]”hŒof_property_read_u32_array”…”�”}”(hjF�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjB�ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj!�h²hh³j3�h´Mˆubj¬)�”}”(hŒP(const struct device_node *np, const char *propname, u32 *out_values, size_t sz)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjb�h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj^�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj^�ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj}�h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj^�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠ�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj^�ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj›�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj˜�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j��Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jH�sbŒc.of_property_read_u32_array”†”asbuh1hhj^�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj^�ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÉ�h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj^�ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÖ�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj^�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZ�ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjï�h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjë�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjë�ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjë�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjë�ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj&�h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjë�ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj3�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjë�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZ�ubj²)�”}”(hŒu32 *out_values”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjO�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjL�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jQ�Œmodname”NŒ classname”Njbje)�”}”jh]”j·�Œc.of_property_read_u32_array”†”asbuh1hhjH�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjH�ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj{�h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjH�ubjE)�”}”(hŒ out_values”h]”hŒ out_values”…”�”}”(hjˆ�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjH�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZ�ubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj¤�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¡�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¦�Œmodname”NŒ classname”Njbje)�”}”jh]”j·�Œc.of_property_read_u32_array”†”asbuh1hhj��ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂ�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj��ubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hjÐ�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj��ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjZ�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj!�h²hh³j3�h´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj�h²hh³j3�h´Mˆubah}”(h]”j�ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j3�h´Mˆhj�h²hubj>)�”}”(hhh]”jC)�”}”(hŒ:Find and read an array of 32 bit integers from a property.”h]”hŒ:Find and read an array of 32 bit integers from a property.”…”�”}”(hjú�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mˆhj÷�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj�h²hh³j3�h´Mˆubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj‘jbj‘jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX{**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u32 *out_values`` pointer to return value, modified only if return value is 0. ``size_t sz`` number of array elements to read **Description** Search for a property in a device node and read 32-bit value(s) from it. The out_values is modified only if a valid u32 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj‘h]”hŒ Parameters”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MŒhj‘ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj;‘h]”hŒconst struct device_node *np”…”�”}”(hj=‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj9‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M‹hj5‘ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjT‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jP‘h´M‹hjQ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj5‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jP‘h´M‹hj2‘ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjt‘h]”hŒconst char *propname”…”�”}”(hjv‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjr‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MŒhjn‘ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj�‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‰‘h´MŒhjŠ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjn‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‰‘h´MŒhj2‘ubjŒ)�”}”(hŒQ``u32 *out_values`` pointer to return value, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``u32 *out_values``”h]”j˜)�”}”(hj­‘h]”hŒu32 *out_values”…”�”}”(hj¯‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj«‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M�hj§‘ubj®)�”}”(hhh]”jC)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒ:Find and read an array of 64 bit integers from a property.”h]”hŒ:Find and read an array of 64 bit integers from a property.”…”�”}”(hjq”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M¦hjn”h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj‘’h²hh³jª’h´M¦ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj‰”jbj‰”jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX{**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u64 *out_values`` pointer to return value, modified only if return value is 0. ``size_t sz`` number of array elements to read **Description** Search for a property in a device node and read 64-bit value(s) from it. The out_values is modified only if a valid u64 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj“”h]”hŒ Parameters”…”�”}”(hj•”h²hh³•Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‘”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mªhj�”ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj²”h]”hŒconst struct device_node *np”…”�”}”(hj´”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj°”ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M©hj¬”ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjË”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÇ”h´M©hjÈ”ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¬”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÇ”h´M©hj©”ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjë”h]”hŒconst char *propname”…”�”}”(hjí”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjé”ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mªhjå”ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j•h´Mªhj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjå”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j•h´Mªhj©”ubjŒ)�”}”(hŒQ``u64 *out_values`` pointer to return value, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``u64 *out_values``”h]”j˜)�”}”(hj$•h]”hŒu64 *out_values”…”�”}”(hj&•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj"•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M«hj•ubj®)�”}”(hhh]”jC)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒHolds a changeset entry”h]”hŒHolds a changeset entry”…”�”}”(hjU–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MihjR–h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj–h²hh³j –h´M¸ubeh}”(h]”h ]”(j\Œstruct”eh"]”h$]”h&]”j`j\jajm–jbjm–jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX®**Definition**:: struct of_changeset_entry { struct list_head node; unsigned long action; struct device_node *np; struct property *prop; struct property *old_prop; }; **Members** ``node`` list_head for the log list ``action`` notifier action ``np`` pointer to the device node affected ``prop`` pointer to the property affected ``old_prop`` hold a pointer to the original property”h]”(jC)�”}”(hŒ**Definition**::”h]”(jq)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjy–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphju–ubhŒ:”…”�”}”(hju–h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mmhjq–ubj×B)�”}”(hŒ©struct of_changeset_entry { struct list_head node; unsigned long action; struct device_node *np; struct property *prop; struct property *old_prop; };”h]”hŒ©struct of_changeset_entry { struct list_head node; unsigned long action; struct device_node *np; struct property *prop; struct property *old_prop; };”…”�”}”hj’–sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mohjq–ubjC)�”}”(hŒ **Members**”h]”jq)�”}”(hj£–h]”hŒMembers”…”�”}”(hj¥–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¡–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mwhjq–ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ$``node`` list_head for the log list ”h]”(j’)�”}”(hŒ``node``”h]”j˜)�”}”(hj–h]”hŒnode”…”�”}”(hjÄ–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÀ–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mlhj¼–ubj®)�”}”(hhh]”jC)�”}”(hŒlist_head for the log list”h]”hŒlist_head for the log list”…”�”}”(hjÛ–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j×–h´MlhjØ–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¼–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j×–h´Mlhj¹–ubjŒ)�”}”(hŒ``action`` notifier action ”h]”(j’)�”}”(hŒ ``action``”h]”j˜)�”}”(hjû–h]”hŒaction”…”�”}”(hjý–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjù–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mmhjõ–ubj®)�”}”(hhh]”jC)�”}”(hŒnotifier action”h]”hŒnotifier action”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j—h´Mmhj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjõ–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j—h´Mmhj¹–ubjŒ)�”}”(hŒ+``np`` pointer to the device node affected ”h]”(j’)�”}”(hŒ``np``”h]”j˜)�”}”(hj4—h]”hŒnp”…”�”}”(hj6—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj2—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mnhj.—ubj®)�”}”(hhh]”jC)�”}”(hŒ#pointer to the device node affected”h]”hŒ#pointer to the device node affected”…”�”}”(hjM—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jI—h´MnhjJ—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj.—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jI—h´Mnhj¹–ubjŒ)�”}”(hŒ*``prop`` pointer to the property affected ”h]”(j’)�”}”(hŒ``prop``”h]”j˜)�”}”(hjm—h]”hŒprop”…”�”}”(hjo—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjk—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mohjg—ubj®)�”}”(hhh]”jC)�”}”(hŒ pointer to the property affected”h]”hŒ pointer to the property affected”…”�”}”(hj†—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‚—h´Mohjƒ—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjg—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‚—h´Mohj¹–ubjŒ)�”}”(hŒ4``old_prop`` hold a pointer to the original property”h]”(j’)�”}”(hŒ ``old_prop``”h]”j˜)�”}”(hj¦—h]”hŒold_prop”…”�”}”(hj¨—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¤—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mohj —ubj®)�”}”(hhh]”jC)�”}”(hŒ'hold a pointer to the original property”h]”hŒ'hold a pointer to the original property”…”�”}”(hj¿—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mphj¼—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj —ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j»—h´Mohj¹–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjq–ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´NubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjé—h]”hŒ Description”…”�”}”(hjë—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjç—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mshhëh²hubjC)�”}”(hŒ¿Every modification of the device tree during a changeset is held in a list of of_changeset_entry structures. That way we can recover from a partial application, or we can revert the changeset”h]”hŒ¿Every modification of the device tree during a changeset is held in a list of of_changeset_entry structures. That way we can recover from a partial application, or we can revert the changeset”…”�”}”(hjÿ—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mphhëh²hubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_changeset (C struct)”Œc.of_changeset”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ of_changeset”h]”j)�”}”(hŒstruct of_changeset”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj'˜h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj#˜h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mxubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5˜h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj#˜h²hh³j4˜h´Mxubj‘)�”}”(hŒ of_changeset”h]”jE)�”}”(hj!˜h]”hŒ of_changeset”…”�”}”(hjG˜h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjC˜ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj#˜h²hh³j4˜h´Mxubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj˜h²hh³j4˜h´Mxubah}”(h]”j˜ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j4˜h´Mxhj˜h²hubj>)�”}”(hhh]”jC)�”}”(hŒchangeset tracker structure”h]”hŒchangeset tracker structure”…”�”}”(hji˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjf˜h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj˜h²hh³j4˜h´Mxubeh}”(h]”h ]”(j\Œstruct”eh"]”h$]”h&]”j`j\jaj�˜jbj�˜jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒŽ**Definition**:: struct of_changeset { struct list_head entries; }; **Members** ``entries`` list_head for the changeset entries”h]”(jC)�”}”(hŒ**Definition**::”h]”(jq)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj�˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‰˜ubhŒ:”…”�”}”(hj‰˜h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mƒhj…˜ubj×B)�”}”(hŒ6struct of_changeset { struct list_head entries; };”h]”hŒ6struct of_changeset { struct list_head entries; };”…”�”}”hj¦˜sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M…hj…˜ubjC)�”}”(hŒ **Members**”h]”jq)�”}”(hj·˜h]”hŒMembers”…”�”}”(hj¹˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjµ˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M‰hj…˜ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``entries`` list_head for the changeset entries”h]”(j’)�”}”(hŒ ``entries``”h]”j˜)�”}”(hjÖ˜h]”hŒentries”…”�”}”(hjؘh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÔ˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M�hjИubj®)�”}”(hhh]”jC)�”}”(hŒ#list_head for the changeset entries”h]”hŒ#list_head for the changeset entries”…”�”}”(hjï˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M‚hjì˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjИubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jë˜h´M�hj͘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj…˜ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´NubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj™h]”hŒ Description”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M…hhëh²hubjC)�”}”(hŒìchangesets are a convenient way to apply bulk changes to the live tree. In case of an error, changes are rolled-back. changesets live on after initial application, and if not destroyed after use, they can be reverted in one single call.”h]”hŒìchangesets are a convenient way to apply bulk changes to the live tree. In case of an error, changes are rolled-back. changesets live on after initial application, and if not destroyed after use, they can be reverted in one single call.”…”�”}”(hj/™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M‚hhëh²hubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ1of_device_is_system_power_controller (C function)”Œ&c.of_device_is_system_power_controller”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒHbool of_device_is_system_power_controller (const struct device_node *np)”h]”j)�”}”(hŒGbool of_device_is_system_power_controller(const struct device_node *np)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hjW™h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjS™h²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Môubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hje™h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjS™h²hh³jd™h´Môubj‘)�”}”(hŒ$of_device_is_system_power_controller”h]”jE)�”}”(hŒ$of_device_is_system_power_controller”h]”hŒ$of_device_is_system_power_controller”…”�”}”(hjw™h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjs™ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjS™h²hh³jd™h´Môubj¬)�”}”(hŒ(const struct device_node *np)”h]”j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj“™h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj�™ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ™h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�™ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj®™h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj�™ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»™h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�™ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÌ™h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÉ™ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jΙŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jy™sbŒ&c.of_device_is_system_power_controller”†”asbuh1hhj�™ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì™h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�™ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjú™h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj�™ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�™ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‹™ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjS™h²hh³jd™h´Môubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjO™h²hh³jd™h´Môubah}”(h]”jJ™ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jd™h´MôhjL™h²hubj>)�”}”(hhh]”jC)�”}”(hŒ9Tells if system-power-controller is found for device_node”h]”hŒ9Tells if system-power-controller is found for device_node”…”�”}”(hj1šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Môhj.šh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjL™h²hh³jd™h´Môubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajIšjbjIšjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ€**Parameters** ``const struct device_node *np`` Pointer to the given device_node **Return** true if present false otherwise”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjSšh]”hŒ Parameters”…”�”}”(hjUšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjQšubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MøhjMšubj‡)�”}”(hhh]”jŒ)�”}”(hŒB``const struct device_node *np`` Pointer to the given device_node ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjršh]”hŒconst struct device_node *np”…”�”}”(hjtšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjpšubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mõhjlšubj®)�”}”(hhh]”jC)�”}”(hŒ Pointer to the given device_node”h]”hŒ Pointer to the given device_node”…”�”}”(hj‹šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‡šh´Mõhjˆšubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjlšubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‡šh´Mõhjišubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjMšubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj­šh]”hŒReturn”…”�”}”(hj¯šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj«šubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M÷hjMšubjC)�”}”(hŒtrue if present false otherwise”h]”hŒtrue if present false otherwise”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´M÷hjMšubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_have_populated_dt (C function)”Œc.of_have_populated_dt”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ bool of_have_populated_dt (void)”h]”j)�”}”(hŒbool of_have_populated_dt(void)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hjòšh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjîšh²hh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mÿubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjîšh²hh³jÿšh´Mÿubj‘)�”}”(hŒof_have_populated_dt”h]”jE)�”}”(hŒof_have_populated_dt”h]”hŒof_have_populated_dt”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj›ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjîšh²hh³jÿšh´Mÿubj¬)�”}”(hŒ(void)”h]”j²)�”}”(hŒvoid”h]”j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj.›h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj*›ubah}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj&›ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjîšh²hh³jÿšh´Mÿubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjêšh²hh³jÿšh´Mÿubah}”(h]”jåšah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÿšh´Mÿhjçšh²hubj>)�”}”(hhh]”jC)�”}”(hŒ#Has DT been populated by bootloader”h]”hŒ#Has DT been populated by bootloader”…”�”}”(hjX›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´MÿhjU›h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjçšh²hh³jÿšh´Mÿubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajp›jbjp›jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒœ**Parameters** ``void`` no arguments **Return** True if a DTB has been populated by the bootloader and it isn't the empty builtin one. False otherwise.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjz›h]”hŒ Parameters”…”�”}”(hj|›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjx›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjt›ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ``void`` no arguments ”h]”(j’)�”}”(hŒ``void``”h]”j˜)�”}”(hj™›h]”hŒvoid”…”�”}”(hj››h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj—›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Khj“›ubj®)�”}”(hhh]”jC)�”}”(hŒ no arguments”h]”hŒ no arguments”…”�”}”(hj²›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j®›h´Khj¯›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj“›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j®›h´Khj�›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjt›ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÔ›h]”hŒReturn”…”�”}”(hjÖ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÒ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Khjt›ubjC)�”}”(hŒgTrue if a DTB has been populated by the bootloader and it isn't the empty builtin one. False otherwise.”h]”hŒiTrue if a DTB has been populated by the bootloader and it isn’t the empty builtin one. False otherwise.”…”�”}”(hjê›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒX/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:14: ./include/linux/of.h”h´Mhjt›ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_property_read_bool (C function)”Œc.of_property_read_bool”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒObool of_property_read_bool (const struct device_node *np, const char *propname)”h]”j)�”}”(hŒNbool of_property_read_bool(const struct device_node *np, const char *propname)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjœh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K$ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'œh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjœh²hh³j&œh´K$ubj‘)�”}”(hŒof_property_read_bool”h]”jE)�”}”(hŒof_property_read_bool”h]”hŒof_property_read_bool”…”�”}”(hj9œh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj5œubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjœh²hh³j&œh´K$ubj¬)�”}”(hŒ4(const struct device_node *np, const char *propname)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjUœh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjQœubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbœh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQœubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjpœh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjQœubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}œh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQœubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjŽœh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‹œubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j�œŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j;œsbŒc.of_property_read_bool”†”asbuh1hhjQœubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®œh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQœubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¼œh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjQœubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÉœh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjQœubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjMœubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjâœh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÞœubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïœh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÞœubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjýœh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÞœubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÞœubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÞœubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj&�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÞœubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjMœubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjœh²hh³j&œh´K$ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjœh²hh³j&œh´K$ubah}”(h]”j œah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j&œh´K$hjœh²hubj>)�”}”(hhh]”jC)�”}”(hŒFind a property”h]”hŒFind a property”…”�”}”(hjP�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K$hjM�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjœh²hh³j&œh´K$ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajh�jbjh�jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX[**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. **Description** Search for a boolean property in a device node. Usage on non-boolean property types is deprecated. **Return** true if the property exists false otherwise.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjr�h]”hŒ Parameters”…”�”}”(hjt�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjp�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K(hjl�ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj‘�h]”hŒconst struct device_node *np”…”�”}”(hj“�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj��ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K%hj‹�ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjª�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¦�h´K%hj§�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‹�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¦�h´K%hjˆ�ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjÊ�h]”hŒconst char *propname”…”�”}”(hjÌ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÈ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K&hjÄ�ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjã�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jß�h´K&hjà�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÄ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jß�h´K&hjˆ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjl�ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjžh]”hŒ Description”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K(hjl�ubjC)�”}”(hŒbSearch for a boolean property in a device node. Usage on non-boolean property types is deprecated.”h]”hŒbSearch for a boolean property in a device node. Usage on non-boolean property types is deprecated.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K'hjl�ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj,žh]”hŒReturn”…”�”}”(hj.žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj*žubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K*hjl�ubjC)�”}”(hŒ,true if the property exists false otherwise.”h]”hŒ,true if the property exists false otherwise.”…”�”}”(hjBžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K+hjl�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ of_graph_is_present (C function)”Œc.of_graph_is_present”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ9bool of_graph_is_present (const struct device_node *node)”h]”j)�”}”(hŒ8bool of_graph_is_present(const struct device_node *node)”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hjqžh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjmžh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K>ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjmžh²hh³j~žh´K>ubj‘)�”}”(hŒof_graph_is_present”h]”jE)�”}”(hŒof_graph_is_present”h]”hŒof_graph_is_present”…”�”}”(hj‘žh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�žubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjmžh²hh³j~žh´K>ubj¬)�”}”(hŒ (const struct device_node *node)”h]”j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj­žh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj©žubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºžh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©žubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjÈžh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj©žubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕžh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©žubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjæžh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjãžubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j螌modname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j“žsbŒc.of_graph_is_present”†”asbuh1hhj©žubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©žubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj©žubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj!Ÿh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©žubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥žubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjmžh²hh³j~žh´K>ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjižh²hh³j~žh´K>ubah}”(h]”jdžah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j~žh´K>hjfžh²hubj>)�”}”(hhh]”jC)�”}”(hŒcheck graph's presence”h]”hŒcheck graph’s presence”…”�”}”(hjKŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K>hjHŸh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjfžh²hh³j~žh´K>ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajcŸjbjcŸjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ¼**Parameters** ``const struct device_node *node`` pointer to device_node containing graph port **Return** True if **node** has a port or ports (with a port) sub-node, false otherwise.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjmŸh]”hŒ Parameters”…”�”}”(hjoŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjkŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KBhjgŸubj‡)�”}”(hhh]”jŒ)�”}”(hŒP``const struct device_node *node`` pointer to device_node containing graph port ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjŒŸh]”hŒconst struct device_node *node”…”�”}”(hjŽŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŠŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K?hj†Ÿubj®)�”}”(hhh]”jC)�”}”(hŒ,pointer to device_node containing graph port”h]”hŒ,pointer to device_node containing graph port”…”�”}”(hj¥Ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¡Ÿh´K?hj¢Ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj†Ÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¡Ÿh´K?hjƒŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjgŸubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÇŸh]”hŒReturn”…”�”}”(hjÉŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÅŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KAhjgŸubjC)�”}”(hŒMTrue if **node** has a port or ports (with a port) sub-node, false otherwise.”h]”(hŒTrue if ”…”�”}”(hjÝŸh²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hjåŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÝŸubhŒ= has a port or ports (with a port) sub-node, false otherwise.”…”�”}”(hjÝŸh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KAhjgŸubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ,of_property_count_elems_of_size (C function)”Œ!c.of_property_count_elems_of_size”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒgint of_property_count_elems_of_size (const struct device_node *np, const char *propname, int elem_size)”h]”j)�”}”(hŒfint of_property_count_elems_of_size(const struct device_node *np, const char *propname, int elem_size)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KRubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj- h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj h²hh³j, h´KRubj‘)�”}”(hŒof_property_count_elems_of_size”h]”jE)�”}”(hŒof_property_count_elems_of_size”h]”hŒof_property_count_elems_of_size”…”�”}”(hj? h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj; ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj h²hh³j, h´KRubj¬)�”}”(hŒC(const struct device_node *np, const char *propname, int elem_size)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj[ h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjW ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjW ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjW ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjW ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‘ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j– Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jA sbŒ!c.of_property_count_elems_of_size”†”asbuh1hhjW ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjW ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjW ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjW ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjS ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjä ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjä ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjä ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjä ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjä ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj,¡h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjä ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjS ubj²)�”}”(hŒ int elem_size”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjE¡h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjA¡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS¡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjA¡ubjE)�”}”(hŒ elem_size”h]”hŒ elem_size”…”�”}”(hja¡h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjA¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjS ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj h²hh³j, h´KRubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj h²hh³j, h´KRubah}”(h]”j ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j, h´KRhj h²hubj>)�”}”(hhh]”jC)�”}”(hŒ*Count the number of elements in a property”h]”hŒ*Count the number of elements in a property”…”�”}”(hj‹¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KRhjˆ¡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj h²hh³j, h´KRubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj£¡jbj£¡jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``int elem_size`` size of the individual element **Description** Search for a property in a device node and count the number of elements of size elem_size in it. **Return** The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of elem_size and -ENODATA if the property does not have a value.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj­¡h]”hŒ Parameters”…”�”}”(hj¯¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj«¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KVhj§¡ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjÌ¡h]”hŒconst struct device_node *np”…”�”}”(hjΡh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÊ¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KThjÆ¡ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjå¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³já¡h´KThjâ¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÆ¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³já¡h´KThjáubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj¢h]”hŒconst char *propname”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KUhjÿ¡ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¢h´KUhj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÿ¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¢h´KUhjáubjŒ)�”}”(hŒ1``int elem_size`` size of the individual element ”h]”(j’)�”}”(hŒ``int elem_size``”h]”j˜)�”}”(hj>¢h]”hŒ int elem_size”…”�”}”(hj@¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj<¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KVhj8¢ubj®)�”}”(hhh]”jC)�”}”(hŒsize of the individual element”h]”hŒsize of the individual element”…”�”}”(hjW¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jS¢h´KVhjT¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj8¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jS¢h´KVhjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj§¡ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjy¢h]”hŒ Description”…”�”}”(hj{¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjw¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KXhj§¡ubjC)�”}”(hŒ`Search for a property in a device node and count the number of elements of size elem_size in it.”h]”hŒ`Search for a property in a device node and count the number of elements of size elem_size in it.”…”�”}”(hj�¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KWhj§¡ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj ¢h]”hŒReturn”…”�”}”(hj¢¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjž¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KZhj§¡ubjC)�”}”(hŒ²The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of elem_size and -ENODATA if the property does not have a value.”h]”hŒ²The number of elements on success, -EINVAL if the property does not exist or its length does not match a multiple of elem_size and -ENODATA if the property does not have a value.”…”�”}”(hj¶¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K[hj§¡ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ&of_property_read_u8_index (C function)”Œc.of_property_read_u8_index”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒlint of_property_read_u8_index (const struct device_node *np, const char *propname, u32 index, u8 *out_value)”h]”j)�”}”(hŒkint of_property_read_u8_index(const struct device_node *np, const char *propname, u32 index, u8 *out_value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjå¢h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjá¢h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K˜ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjô¢h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjá¢h²hh³jó¢h´K˜ubj‘)�”}”(hŒof_property_read_u8_index”h]”jE)�”}”(hŒof_property_read_u8_index”h]”hŒof_property_read_u8_index”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjá¢h²hh³jó¢h´K˜ubj¬)�”}”(hŒN(const struct device_node *np, const char *propname, u32 index, u8 *out_value)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj"£h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj£ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/£h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj£ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj=£h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj£ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ£h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj£ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj[£h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjX£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j]£Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j£sbŒc.of_property_read_u8_index”†”asbuh1hhj£ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{£h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj£ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‰£h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj£ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj–£h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj£ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj¯£h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj«£ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼£h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj«£ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÊ£h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj«£ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØ£h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj«£ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjæ£h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj«£ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjó£h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj«£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj£ubj²)�”}”(hŒ u32 index”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ¤ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¤Œmodname”NŒ classname”Njbje)�”}”jh]”jw£Œc.of_property_read_u8_index”†”asbuh1hhj¤ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-¤h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¤ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj;¤h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj£ubj²)�”}”(hŒ u8 *out_value”h]”(h)�”}”(hhh]”jE)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjW¤h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjT¤ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jY¤Œmodname”NŒ classname”Njbje)�”}”jh]”jw£Œc.of_property_read_u8_index”†”asbuh1hhjP¤ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hju¤h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjP¤ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjƒ¤h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjP¤ubjE)�”}”(hŒ out_value”h]”hŒ out_value”…”�”}”(hj�¤h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjP¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj£ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjá¢h²hh³jó¢h´K˜ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÝ¢h²hh³jó¢h´K˜ubah}”(h]”jØ¢ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jó¢h´K˜hjÚ¢h²hubj>)�”}”(hhh]”jC)�”}”(hŒ/Find and read a u8 from a multi-value property.”h]”hŒ/Find and read a u8 from a multi-value property.”…”�”}”(hjº¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K˜hj·¤h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÚ¢h²hh³jó¢h´K˜ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÒ¤jbjÒ¤jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXs**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u32 index`` index of the u8 in the list of values ``u8 *out_value`` pointer to return value, modified only if no error. **Description** Search for a property in a device node and read nth 8-bit value from it. The out_value is modified only if a valid u8 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjܤh]”hŒ Parameters”…”�”}”(hjÞ¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÚ¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KœhjÖ¤ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjû¤h]”hŒconst struct device_node *np”…”�”}”(hjý¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjù¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Kšhjõ¤ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¥h´Kšhj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjõ¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¥h´Kšhjò¤ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj4¥h]”hŒconst char *propname”…”�”}”(hj6¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj2¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K›hj.¥ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjM¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jI¥h´K›hjJ¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj.¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jI¥h´K›hjò¤ubjŒ)�”}”(hŒ4``u32 index`` index of the u8 in the list of values ”h]”(j’)�”}”(hŒ ``u32 index``”h]”j˜)�”}”(hjm¥h]”hŒ u32 index”…”�”}”(hjo¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjk¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Kœhjg¥ubj®)�”}”(hhh]”jC)�”}”(hŒ%index of the u8 in the list of values”h]”hŒ%index of the u8 in the list of values”…”�”}”(hj†¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‚¥h´Kœhjƒ¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjg¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‚¥h´Kœhjò¤ubjŒ)�”}”(hŒF``u8 *out_value`` pointer to return value, modified only if no error. ”h]”(j’)�”}”(hŒ``u8 *out_value``”h]”j˜)�”}”(hj¦¥h]”hŒ u8 *out_value”…”�”}”(hj¨¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¤¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K�hj ¥ubj®)�”}”(hhh]”jC)�”}”(hŒ3pointer to return value, modified only if no error.”h]”hŒ3pointer to return value, modified only if no error.”…”�”}”(hj¿¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j»¥h´K�hj¼¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj ¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j»¥h´K�hjò¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÖ¤ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjá¥h]”hŒ Description”…”�”}”(hjã¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjߥubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KŸhjÖ¤ubjC)�”}”(hŒHSearch for a property in a device node and read nth 8-bit value from it.”h]”hŒHSearch for a property in a device node and read nth 8-bit value from it.”…”�”}”(hj÷¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KžhjÖ¤ubjC)�”}”(hŒBThe out_value is modified only if a valid u8 value can be decoded.”h]”hŒBThe out_value is modified only if a valid u8 value can be decoded.”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¢hjÖ¤ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj¦h]”hŒReturn”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¤hjÖ¤ubjC)�”}”(hŒ™0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”hŒ›0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn’t large enough.”…”�”}”(hj-¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¢hjÖ¤ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_property_read_u16_index (C function)”Œc.of_property_read_u16_index”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒnint of_property_read_u16_index (const struct device_node *np, const char *propname, u32 index, u16 *out_value)”h]”j)�”}”(hŒmint of_property_read_u16_index(const struct device_node *np, const char *propname, u32 index, u16 *out_value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj\¦h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjX¦h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk¦h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjX¦h²hh³jj¦h´K¹ubj‘)�”}”(hŒof_property_read_u16_index”h]”jE)�”}”(hŒof_property_read_u16_index”h]”hŒof_property_read_u16_index”…”�”}”(hj}¦h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjy¦ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjX¦h²hh³jj¦h´K¹ubj¬)�”}”(hŒO(const struct device_node *np, const char *propname, u32 index, u16 *out_value)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj™¦h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj•¦ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦¦h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj•¦ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj´¦h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj•¦ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ¦h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj•¦ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÒ¦h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjϦubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÔ¦Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j¦sbŒc.of_property_read_u16_index”†”asbuh1hhj•¦ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò¦h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj•¦ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj•¦ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj §h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj•¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘¦ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj&§h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj"§ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3§h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj"§ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjA§h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj"§ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO§h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj"§ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj]§h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj"§ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjj§h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj"§ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘¦ubj²)�”}”(hŒ u32 index”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj†§h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjƒ§ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jˆ§Œmodname”NŒ classname”Njbje)�”}”jh]”jc.of_property_read_u16_index”†”asbuh1hhj§ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤§h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj§ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj²§h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj§ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘¦ubj²)�”}”(hŒu16 *out_value”h]”(h)�”}”(hhh]”jE)�”}”(hŒu16”h]”hŒu16”…”�”}”(hjΧh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj˧ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jЧŒmodname”NŒ classname”Njbje)�”}”jh]”jc.of_property_read_u16_index”†”asbuh1hhjǧubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì§h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjǧubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjú§h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjǧubjE)�”}”(hŒ out_value”h]”hŒ out_value”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjǧubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj‘¦ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjX¦h²hh³jj¦h´K¹ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjT¦h²hh³jj¦h´K¹ubah}”(h]”jO¦ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jj¦h´K¹hjQ¦h²hubj>)�”}”(hhh]”jC)�”}”(hŒ0Find and read a u16 from a multi-value property.”h]”hŒ0Find and read a u16 from a multi-value property.”…”�”}”(hj1¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¹hj.¨h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjQ¦h²hh³jj¦h´K¹ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajI¨jbjI¨jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXw**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u32 index`` index of the u16 in the list of values ``u16 *out_value`` pointer to return value, modified only if no error. **Description** Search for a property in a device node and read nth 16-bit value from it. The out_value is modified only if a valid u16 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjS¨h]”hŒ Parameters”…”�”}”(hjU¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjQ¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K½hjM¨ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjr¨h]”hŒconst struct device_node *np”…”�”}”(hjt¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjp¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K»hjl¨ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj‹¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‡¨h´K»hjˆ¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjl¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‡¨h´K»hji¨ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj«¨h]”hŒconst char *propname”…”�”}”(hj­¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj©¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¼hj¥¨ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjĨh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÀ¨h´K¼hjÁ¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¥¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÀ¨h´K¼hji¨ubjŒ)�”}”(hŒ5``u32 index`` index of the u16 in the list of values ”h]”(j’)�”}”(hŒ ``u32 index``”h]”j˜)�”}”(hjä¨h]”hŒ u32 index”…”�”}”(hjæ¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjâ¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K½hjÞ¨ubj®)�”}”(hhh]”jC)�”}”(hŒ&index of the u16 in the list of values”h]”hŒ&index of the u16 in the list of values”…”�”}”(hjý¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jù¨h´K½hjú¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÞ¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jù¨h´K½hji¨ubjŒ)�”}”(hŒG``u16 *out_value`` pointer to return value, modified only if no error. ”h]”(j’)�”}”(hŒ``u16 *out_value``”h]”j˜)�”}”(hj©h]”hŒu16 *out_value”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¾hj©ubj®)�”}”(hhh]”jC)�”}”(hŒ3pointer to return value, modified only if no error.”h]”hŒ3pointer to return value, modified only if no error.”…”�”}”(hj6©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j2©h´K¾hj3©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j2©h´K¾hji¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjM¨ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjX©h]”hŒ Description”…”�”}”(hjZ©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjV©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÀhjM¨ubjC)�”}”(hŒISearch for a property in a device node and read nth 16-bit value from it.”h]”hŒISearch for a property in a device node and read nth 16-bit value from it.”…”�”}”(hjn©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´K¿hjM¨ubjC)�”}”(hŒCThe out_value is modified only if a valid u16 value can be decoded.”h]”hŒCThe out_value is modified only if a valid u16 value can be decoded.”…”�”}”(hj}©h²hh³Nh´Nubah}”(h]”h ]”•h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÃhjM¨ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjŽ©h]”hŒReturn”…”�”}”(hj�©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŒ©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÅhjM¨ubjC)�”}”(hŒ™0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”hŒ›0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn’t large enough.”…”�”}”(hj¤©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÃhjM¨ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_property_read_u32_index (C function)”Œc.of_property_read_u32_index”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒnint of_property_read_u32_index (const struct device_node *np, const char *propname, u32 index, u32 *out_value)”h]”j)�”}”(hŒmint of_property_read_u32_index(const struct device_node *np, const char *propname, u32 index, u32 *out_value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÓ©h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÏ©h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÚubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ©h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÏ©h²hh³já©h´KÚubj‘)�”}”(hŒof_property_read_u32_index”h]”jE)�”}”(hŒof_property_read_u32_index”h]”hŒof_property_read_u32_index”…”�”}”(hjô©h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjð©ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÏ©h²hh³já©h´KÚubj¬)�”}”(hŒO(const struct device_node *np, const char *propname, u32 index, u32 *out_value)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ªubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj+ªh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8ªh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ªubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjIªh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjFªubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jKªŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jö©sbŒc.of_property_read_u32_index”†”asbuh1hhj ªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiªh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ªubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjwªh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj ªubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj„ªh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ªubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjªubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj�ªh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj™ªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªªh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj™ªubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¸ªh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj™ªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƪh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj™ªubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÔªh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj™ªubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjáªh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj™ªubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjªubj²)�”}”(hŒ u32 index”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjýªh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjúªubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÿªŒmodname”NŒ classname”Njbje)�”}”jh]”jeªŒc.of_property_read_u32_index”†”asbuh1hhjöªubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjöªubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj)«h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjöªubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjªubj²)�”}”(hŒu32 *out_value”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjE«h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjB«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jG«Œmodname”NŒ classname”Njbje)�”}”jh]”jeªŒc.of_property_read_u32_index”†”asbuh1hhj>«ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc«h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj>«ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjq«h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj>«ubjE)�”}”(hŒ out_value”h]”hŒ out_value”…”�”}”(hj~«h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj>«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjªubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÏ©h²hh³já©h´KÚubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjË©h²hh³já©h´KÚubah}”(h]”jÆ©ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³já©h´KÚhjÈ©h²hubj>)�”}”(hhh]”jC)�”}”(hŒ0Find and read a u32 from a multi-value property.”h]”hŒ0Find and read a u32 from a multi-value property.”…”�”}”(hj¨«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÚhj¥«h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÈ©h²hh³já©h´KÚubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÀ«jbjÀ«jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXw**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u32 index`` index of the u32 in the list of values ``u32 *out_value`` pointer to return value, modified only if no error. **Description** Search for a property in a device node and read nth 32-bit value from it. The out_value is modified only if a valid u32 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÊ«h]”hŒ Parameters”…”�”}”(hjÌ«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÈ«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÞhjÄ«ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjé«h]”hŒconst struct device_node *np”…”�”}”(hjë«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjç«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÜhjã«ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jþ«h´KÜhjÿ«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjã«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jþ«h´KÜhjà«ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj"¬h]”hŒconst char *propname”…”�”}”(hj$¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj ¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÝhj¬ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj;¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j7¬h´KÝhj8¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j7¬h´KÝhjà«ubjŒ)�”}”(hŒ5``u32 index`` index of the u32 in the list of values ”h]”(j’)�”}”(hŒ ``u32 index``”h]”j˜)�”}”(hj[¬h]”hŒ u32 index”…”�”}”(hj]¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjY¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KÞhjU¬ubj®)�”}”(hhh]”jC)�”}”(hŒ&index of the u32 in the list of values”h]”hŒ&index of the u32 in the list of values”…”�”}”(hjt¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jp¬h´KÞhjq¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjU¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jp¬h´KÞhjà«ubjŒ)�”}”(hŒG``u32 *out_value`` pointer to return value, modified only if no error. ”h]”(j’)�”}”(hŒ``u32 *out_value``”h]”j˜)�”}”(hj”¬h]”hŒu32 *out_value”…”�”}”(hj–¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj’¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Kßhjެubj®)�”}”(hhh]”jC)�”}”(hŒ3pointer to return value, modified only if no error.”h]”hŒ3pointer to return value, modified only if no error.”…”�”}”(hj­¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j©¬h´Kßhjª¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjެubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j©¬h´Kßhjà«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÄ«ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjϬh]”hŒ Description”…”�”}”(hjѬh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjͬubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KáhjÄ«ubjC)�”}”(hŒISearch for a property in a device node and read nth 32-bit value from it.”h]”hŒISearch for a property in a device node and read nth 32-bit value from it.”…”�”}”(hjå¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KàhjÄ«ubjC)�”}”(hŒCThe out_value is modified only if a valid u32 value can be decoded.”h]”hŒCThe out_value is modified only if a valid u32 value can be decoded.”…”�”}”(hjô¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KähjÄ«ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj­h]”hŒReturn”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KæhjÄ«ubjC)�”}”(hŒ™0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”hŒ›0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn’t large enough.”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KähjÄ«ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_property_read_u64_index (C function)”Œc.of_property_read_u64_index”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒnint of_property_read_u64_index (const struct device_node *np, const char *propname, u32 index, u64 *out_value)”h]”j)�”}”(hŒmint of_property_read_u64_index(const struct device_node *np, const char *propname, u32 index, u64 *out_value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjJ­h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjF­h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Küubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY­h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjF­h²hh³jX­h´Küubj‘)�”}”(hŒof_property_read_u64_index”h]”jE)�”}”(hŒof_property_read_u64_index”h]”hŒof_property_read_u64_index”…”�”}”(hjk­h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjg­ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjF­h²hh³jX­h´Küubj¬)�”}”(hŒO(const struct device_node *np, const char *propname, u32 index, u64 *out_value)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj‡­h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjƒ­ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”­h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒ­ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj¢­h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjƒ­ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯­h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒ­ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÀ­h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj½­ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j­Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jm­sbŒc.of_property_read_u64_index”†”asbuh1hhjƒ­ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà­h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjƒ­ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjî­h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjƒ­ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjû­h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjƒ­ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj­ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj®ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!®h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj®ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj/®h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj®ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=®h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj®ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjK®h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj®ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjX®h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj­ubj²)�”}”(hŒ u32 index”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjt®h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjq®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jv®Œmodname”NŒ classname”Njbje)�”}”jh]”jÜ­Œc.of_property_read_u64_index”†”asbuh1hhjm®ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’®h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjm®ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj ®h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjm®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj­ubj²)�”}”(hŒu64 *out_value”h]”(h)�”}”(hhh]”jE)�”}”(hŒu64”h]”hŒu64”…”�”}”(hj¼®h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¹®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¾®Œmodname”NŒ classname”Njbje)�”}”jh]”jÜ­Œc.of_property_read_u64_index”†”asbuh1hhjµ®ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚ®h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjµ®ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjè®h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjµ®ubjE)�”}”(hŒ out_value”h]”hŒ out_value”…”�”}”(hjõ®h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjµ®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj­ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjF­h²hh³jX­h´Küubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjB­h²hh³jX­h´Küubah}”(h]”j=­ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jX­h´Kühj?­h²hubj>)�”}”(hhh]”jC)�”}”(hŒ0Find and read a u64 from a multi-value property.”h]”hŒ0Find and read a u64 from a multi-value property.”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Kühj¯h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj?­h²hh³jX­h´Küubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj7¯jbj7¯jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXw**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u32 index`` index of the u64 in the list of values ``u64 *out_value`` pointer to return value, modified only if no error. **Description** Search for a property in a device node and read nth 64-bit value from it. The out_value is modified only if a valid u64 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjA¯h]”hŒ Parameters”…”�”}”(hjC¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj?¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj;¯ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj`¯h]”hŒconst struct device_node *np”…”�”}”(hjb¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj^¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´KþhjZ¯ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjy¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ju¯h´Kþhjv¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjZ¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³ju¯h´KþhjW¯ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj™¯h]”hŒconst char *propname”…”�”}”(hj›¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj—¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Kÿhj“¯ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj²¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j®¯h´Kÿhj¯¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj“¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j®¯h´KÿhjW¯ubjŒ)�”}”(hŒ5``u32 index`` index of the u64 in the list of values ”h]”(j’)�”}”(hŒ ``u32 index``”h]”j˜)�”}”(hjÒ¯h]”hŒ u32 index”…”�”}”(hjÔ¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjЯubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj̯ubj®)�”}”(hhh]”jC)�”}”(hŒ&index of the u64 in the list of values”h]”hŒ&index of the u64 in the list of values”…”�”}”(hjë¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jç¯h´Mhjè¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj̯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jç¯h´MhjW¯ubjŒ)�”}”(hŒG``u64 *out_value`` pointer to return value, modified only if no error. ”h]”(j’)�”}”(hŒ``u64 *out_value``”h]”j˜)�”}”(hj °h]”hŒu64 *out_value”…”�”}”(hj °h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj °ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj°ubj®)�”}”(hhh]”jC)�”}”(hŒ3pointer to return value, modified only if no error.”h]”hŒ3pointer to return value, modified only if no error.”…”�”}”(hj$°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j °h´Mhj!°ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j °h´MhjW¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj;¯ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjF°h]”hŒ Description”…”�”}”(hjH°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjD°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj;¯ubjC)�”}”(hŒISearch for a property in a device node and read nth 64-bit value from it.”h]”hŒISearch for a property in a device node and read nth 64-bit value from it.”…”�”}”(hj\°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj;¯ubjC)�”}”(hŒCThe out_value is modified only if a valid u64 value can be decoded.”h]”hŒCThe out_value is modified only if a valid u64 value can be decoded.”…”�”}”(hjk°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj;¯ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj|°h]”hŒReturn”…”�”}”(hj~°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjz°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj;¯ubjC)�”}”(hŒ™0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”hŒ›0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn’t large enough.”…”�”}”(hj’°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj;¯ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ/of_property_read_variable_u8_array (C function)”Œ$c.of_property_read_variable_u8_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ‰int of_property_read_variable_u8_array (const struct device_node *np, const char *propname, u8 *out_values, size_t sz_min, size_t sz_max)”h]”j)�”}”(hŒˆint of_property_read_variable_u8_array(const struct device_node *np, const char *propname, u8 *out_values, size_t sz_min, size_t sz_max)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÁ°h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj½°h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjаh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj½°h²hh³jϰh´Mubj‘)�”}”(hŒ"of_property_read_variable_u8_array”h]”jE)�”}”(hŒ"of_property_read_variable_u8_array”h]”hŒ"of_property_read_variable_u8_array”…”�”}”(hjâ°h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÞ°ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj½°h²hh³jϰh´Mubj¬)�”}”(hŒb(const struct device_node *np, const char *propname, u8 *out_values, size_t sz_min, size_t sz_max)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjþ°h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjú°ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ±h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjú°ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjú°ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&±h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjú°ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj7±h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj4±ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j9±Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jä°sbŒ$c.of_property_read_variable_u8_array”†”asbuh1hhjú°ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW±h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjú°ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hje±h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjú°ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjr±h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjú°ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjö°ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj‹±h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‡±ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜±h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‡±ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¦±h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj‡±ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´±h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‡±ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‡±ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjϱh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‡±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjö°ubj²)�”}”(hŒu8 *out_values”h]”(h)�”}”(hhh]”jE)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjë±h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjè±ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jí±Œmodname”NŒ classname”Njbje)�”}”jh]”jS±Œ$c.of_property_read_variable_u8_array”†”asbuh1hhjä±ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ²h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjä±ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjä±ubjE)�”}”(hŒ out_values”h]”hŒ out_values”…”�”}”(hj$²h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjä±ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjö°ubj²)�”}”(hŒ size_t sz_min”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj@²h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj=²ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jB²Œmodname”NŒ classname”Njbje)�”}”jh]”jS±Œ$c.of_property_read_variable_u8_array”†”asbuh1hhj9²ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^²h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj9²ubjE)�”}”(hŒsz_min”h]”hŒsz_min”…”�”}”(hjl²h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj9²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjö°ubj²)�”}”(hŒ size_t sz_max”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjˆ²h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj…²ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jвŒmodname”NŒ classname”Njbje)�”}”jh]”jS±Œ$c.of_property_read_variable_u8_array”†”asbuh1hhj�²ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦²h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�²ubjE)�”}”(hŒsz_max”h]”hŒsz_max”…”�”}”(hj´²h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjö°ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj½°h²hh³jϰh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¹°h²hh³jϰh´Mubah}”(h]”j´°ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jϰh´Mhj¶°h²hubj>)�”}”(hhh]”jC)�”}”(hŒ`Find and read an array of u8 from a property, with bounds on the minimum and maximum array size.”h]”hŒ`Find and read an array of u8 from a property, with bounds on the minimum and maximum array size.”…”�”}”(hjÞ²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjÛ²h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¶°h²hh³jϰh´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajö²jbjö²jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX�**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u8 *out_values`` pointer to found values. ``size_t sz_min`` minimum number of array elements to read ``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. **Description** Search for a property in a device node and read 8-bit value(s) from it. dts entry of array should be like: ``property = /bits/ 8 <0x50 0x60 0x70>;`` The out_values is modified only if a valid u8 value can be decoded. **Return** The number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj³h]”hŒ Parameters”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjþ²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M!hjú²ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj³h]”hŒconst struct device_node *np”…”�”}”(hj!³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M hj³ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj8³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j4³h´M hj5³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j4³h´M hj³ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjX³h]”hŒconst char *propname”…”�”}”(hjZ³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjV³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M!hjR³ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjq³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jm³h´M!hjn³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjR³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jm³h´M!hj³ubjŒ)�”}”(hŒ,``u8 *out_values`` pointer to found values. ”h]”(j’)�”}”(hŒ``u8 *out_values``”h]”j˜)�”}”(hj‘³h]”hŒu8 *out_values”…”�”}”(hj“³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M"hj‹³ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to found values.”h]”hŒpointer to found values.”…”�”}”(hjª³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¦³h´M"hj§³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‹³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¦³h´M"hj³ubjŒ)�”}”(hŒ;``size_t sz_min`` minimum number of array elements to read ”h]”(j’)�”}”(hŒ``size_t sz_min``”h]”j˜)�”}”(hjʳh]”hŒ size_t sz_min”…”�”}”(hj̳h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjȳubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M#hjijubj®)�”}”(hhh]”jC)�”}”(hŒ(minimum number of array elements to read”h]”hŒ(minimum number of array elements to read”…”�”}”(hjã³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jß³h´M#hjà³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjijubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jß³h´M#hj³ubjŒ)�”}”(hŒ¥``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. ”h]”(j’)�”}”(hŒ``size_t sz_max``”h]”j˜)�”}”(hj´h]”hŒ size_t sz_max”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M&hjý³ubj®)�”}”(hhh]”jC)�”}”(hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”h]”hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M$hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjý³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j´h´M&hj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjú²ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj?´h]”hŒ Description”…”�”}”(hjA´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj=´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M(hjú²ubjC)�”}”(hŒGSearch for a property in a device node and read 8-bit value(s) from it.”h]”hŒGSearch for a property in a device node and read 8-bit value(s) from it.”…”�”}”(hjU´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M'hjú²ubj‡)�”}”(hhh]”jŒ)�”}”(hŒNdts entry of array should be like: ``property = /bits/ 8 <0x50 0x60 0x70>;`` ”h]”(j’)�”}”(hŒ"dts entry of array should be like:”h]”hŒ"dts entry of array should be like:”…”�”}”(hjk´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M,hjg´ubj®)�”}”(hhh]”jC)�”}”(hŒ)``property = /bits/ 8 <0x50 0x60 0x70>;``”h]”j˜)�”}”(hj´h]”hŒ%property = /bits/ 8 <0x50 0x60 0x70>;”…”�”}”(hj�´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj}´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M+hjz´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjg´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jy´h´M,hjd´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjú²ubjC)�”}”(hŒCThe out_values is modified only if a valid u8 value can be decoded.”h]”hŒCThe out_values is modified only if a valid u8 value can be decoded.”…”�”}”(hj§´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M.hjú²ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj¸´h]”hŒReturn”…”�”}”(hjº´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¶´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M0hjú²ubjC)�”}”(hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”…”�”}”(hjδh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M.hjú²ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ0of_property_read_variable_u16_array (C function)”Œ%c.of_property_read_variable_u16_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ‹int of_property_read_variable_u16_array (const struct device_node *np, const char *propname, u16 *out_values, size_t sz_min, size_t sz_max)”h]”j)�”}”(hŒŠint of_property_read_variable_u16_array(const struct device_node *np, const char *propname, u16 *out_values, size_t sz_min, size_t sz_max)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjý´h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjù´h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj µh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjù´h²hh³j µh´MOubj‘)�”}”(hŒ#of_property_read_variable_u16_array”h]”jE)�”}”(hŒ#of_property_read_variable_u16_array”h]”hŒ#of_property_read_variable_u16_array”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjµubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjù´h²hh³j µh´MOubj¬)�”}”(hŒc(const struct device_node *np, const char *propname, u16 *out_values, size_t sz_min, size_t sz_max)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj:µh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj6µubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGµh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj6µubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjUµh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj6µubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbµh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj6µubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjsµh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjpµubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”juµŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j µsbŒ%c.of_property_read_variable_u16_array”†”asbuh1hhj6µubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“µh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj6µubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¡µh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj6µubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj®µh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj6µubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj2µubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjǵh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjõubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔµh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjõubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjâµh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjõubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðµh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjõubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjþµh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjõubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj ¶h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj2µubj²)�”}”(hŒu16 *out_values”h]”(h)�”}”(hhh]”jE)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj'¶h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj$¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j)¶Œmodname”NŒ classname”Njbje)�”}”jh]”j�µŒ%c.of_property_read_variable_u16_array”†”asbuh1hhj ¶ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE¶h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ¶ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjS¶h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj ¶ubjE)�”}”(hŒ out_values”h]”hŒ out_values”…”�”}”(hj`¶h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj2µubj²)�”}”(hŒ size_t sz_min”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj|¶h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjy¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j~¶Œmodname”NŒ classname”Njbje)�”}”jh]”j�µŒ%c.of_property_read_variable_u16_array”†”asbuh1hhju¶ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš¶h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hju¶ubjE)�”}”(hŒsz_min”h]”hŒsz_min”…”�”}”(hj¨¶h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhju¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj2µubj²)�”}”(hŒ size_t sz_max”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjĶh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÁ¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jƶŒmodname”NŒ classname”Njbje)�”}”jh]”j�µŒ%c.of_property_read_variable_u16_array”†”asbuh1hhj½¶ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ¶h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj½¶ubjE)�”}”(hŒsz_max”h]”hŒsz_max”…”�”}”(hjð¶h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj½¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj2µubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjù´h²hh³j µh´MOubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjõ´h²hh³j µh´MOubah}”(h]”jð´ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j µh´MOhjò´h²hubj>)�”}”(hhh]”jC)�”}”(hŒaFind and read an array of u16 from a property, with bounds on the minimum and maximum array size.”h]”hŒaFind and read an array of u16 from a property, with bounds on the minimum and maximum array size.”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MOhj·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjò´h²hh³j µh´MOubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj2·jbj2·jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX™**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u16 *out_values`` pointer to found values. ``size_t sz_min`` minimum number of array elements to read ``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. **Description** Search for a property in a device node and read 16-bit value(s) from it. dts entry of array should be like: ``property = /bits/ 16 <0x5000 0x6000 0x7000>;`` The out_values is modified only if a valid u16 value can be decoded. **Return** The number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj<·h]”hŒ Parameters”…”�”}”(hj>·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj:·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MShj6·ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj[·h]”hŒconst struct device_node *np”…”�”}”(hj]·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjY·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MRhjU·ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjt·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jp·h´MRhjq·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjU·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jp·h´MRhjR·ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj”·h]”hŒconst char *propname”…”�”}”(hj–·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj’·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MShjŽ·ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hj­·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j©·h´MShjª·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŽ·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j©·h´MShjR·ubjŒ)�”}”(hŒ-``u16 *out_values`` pointer to found values. ”h]”(j’)�”}”(hŒ``u16 *out_values``”h]”j˜)�”}”(hjÍ·h]”hŒu16 *out_values”…”�”}”(hjÏ·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjË·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MThjÇ·ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to found values.”h]”hŒpointer to found values.”…”�”}”(hjæ·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jâ·h´MThjã·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÇ·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jâ·h´MThjR·ubjŒ)�”}”(hŒ;``size_t sz_min`` minimum number of array elements to read ”h]”(j’)�”}”(hŒ``size_t sz_min``”h]”j˜)�”}”(hj¸h]”hŒ size_t sz_min”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MUhj¸ubj®)�”}”(hhh]”jC)�”}”(hŒ(minimum number of array elements to read”h]”hŒ(minimum number of array elements to read”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¸h´MUhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¸h´MUhjR·ubjŒ)�”}”(hŒ¥``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. ”h]”(j’)�”}”(hŒ``size_t sz_max``”h]”j˜)�”}”(hj?¸h]”hŒ size_t sz_max”…”�”}”(hjA¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj=¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MXhj9¸ubj®)�”}”(hhh]”jC)�”}”(hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”h]”hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”…”�”}”(hjX¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MVhjU¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj9¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jT¸h´MXhjR·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj6·ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj{¸h]”hŒ Description”…”�”}”(hj}¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjy¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MZhj6·ubjC)�”}”(hŒHSearch for a property in a device node and read 16-bit value(s) from it.”h]”hŒHSearch for a property in a device node and read 16-bit value(s) from it.”…”�”}”(hj‘¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MYhj6·ubj‡)�”}”(hhh]”jŒ)�”}”(hŒUdts entry of array should be like: ``property = /bits/ 16 <0x5000 0x6000 0x7000>;`` ”h]”(j’)�”}”(hŒ"dts entry of array should be like:”h]”hŒ"dts entry of array should be like:”…”�”}”(hj§¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M^hj£¸ubj®)�”}”(hhh]”jC)�”}”(hŒ0``property = /bits/ 16 <0x5000 0x6000 0x7000>;``”h]”j˜)�”}”(hj»¸h]”hŒ,property = /bits/ 16 <0x5000 0x6000 0x7000>;”…”�”}”(hj½¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¹¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M]hj¶¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj£¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jµ¸h´M^hj ¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj6·ubjC)�”}”(hŒDThe out_values is modified only if a valid u16 value can be decoded.”h]”hŒDThe out_values is modified only if a valid u16 value can be decoded.”…”�”}”(hjã¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M`hj6·ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjô¸h]”hŒReturn”…”�”}”(hjö¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjò¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mbhj6·ubjC)�”}”(hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”…”�”}”(hj ¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M`hj6·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ0of_property_read_variable_u32_array (C function)”Œ%c.of_property_read_variable_u32_array”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ‹int of_property_read_variable_u32_array (const struct device_node *np, const char *propname, u32 *out_values, size_t sz_min, size_t sz_max)”h]”j)�”}”(hŒŠint of_property_read_variable_u32_array(const struct device_node *np, const char *propname, u32 *out_values, size_t sz_min, size_t sz_max)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj9¹h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj5¹h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjH¹h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj5¹h²hh³jG¹h´M�ubj‘)�”}”(hŒ#of_property_read_variable_u32_array”h]”jE)�”}”(hŒ#of_property_read_variable_u32_array”h]”hŒ#of_property_read_variable_u32_array”…”�”}”(hjZ¹h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjV¹ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj5¹h²hh³jG¹h´M�ubj¬)�”}”(hŒc(const struct device_node *np, const char *propname, u32 *out_values, size_t sz_min, size_t sz_max)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjv¹h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjr¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ¹h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjr¹ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj‘¹h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjr¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž¹h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjr¹ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¯¹h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¬¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j±¹Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j\¹sbŒ%c.of_property_read_variable_u32_array”†”asbuh1hhjr¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjϹh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjr¹ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjݹh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjr¹ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjê¹h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjr¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjn¹ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÿ¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÿ¹ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÿ¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,ºh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÿ¹ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj:ºh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÿ¹ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjGºh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÿ¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjn¹ubj²)�”}”(hŒu32 *out_values”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjcºh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj`ºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jeºŒmodname”NŒ classname”Njbje)�”}”jh]”j˹Œ%c.of_property_read_variable_u32_array”†”asbuh1hhj\ºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ºh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj\ºubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj�ºh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj\ºubjE)�”}”(hŒ out_values”h]”hŒ out_values”…”�”}”(hjœºh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj\ºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjn¹ubj²)�”}”(hŒ size_t sz_min”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj¸ºh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjµºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jººŒmodname”NŒ classname”Njbje)�”}”jh]”j˹Œ%c.of_property_read_variable_u32_array”†”asbuh1hhj±ºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖºh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj±ºubjE)�”}”(hŒsz_min”h]”hŒsz_min”…”�”}”(hjäºh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj±ºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjn¹ubj²)�”}”(hŒ size_t sz_max”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjýºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j»Œmodname”NŒ classname”Njbje)�”}”jh]”j˹Œ%c.of_property_read_variable_u32_array”†”asbuh1hhjùºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùºubjE)�”}”(hŒsz_max”h]”hŒsz_max”…”�”}”(hj,»h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjn¹ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj5¹h²hh³jG¹h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj1¹h²hh³jG¹h´M�ubah}”(h]”j,¹ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jG¹h´M�hj.¹h²hubj>)�”}”(hhh]”jC)�”}”(hŒmFind and read an array of 32 bit integers from a property, with bounds on the minimum and maximum array size.”h]”hŒmFind and read an array of 32 bit integers from a property, with bounds on the minimum and maximum array size.”…”�”}”(hjV»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M�hjS»h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj.¹h²hh³jG¹h´M�ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajn»jbjn»jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXJ**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u32 *out_values`` pointer to return found values. ``size_t sz_min`` minimum number of array elements to read ``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. **Description** Search for a property in a device node and read 32-bit value(s) from it. The out_values is modified only if a valid u32 value can be decoded. **Return** The number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjx»h]”hŒ Parameters”…”�”}”(hjz»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjv»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M…hjr»ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj—»h]”hŒconst struct device_node *np”…”�”}”(hj™»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj•»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M„hj‘»ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj°»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¬»h´M„hj­»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‘»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¬»h´M„hjŽ»ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjлh]”hŒconst char *propname”…”�”}”(hjÒ»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjλubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M…hjÊ»ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjé»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jå»h´M…hjæ»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÊ»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jå»h´M…hjŽ»ubjŒ)�”}”(hŒ4``u32 *out_values`` pointer to return found values. ”h]”(j’)�”}”(hŒ``u32 *out_values``”h]”j˜)�”}”(hj ¼h]”hŒu32 *out_values”…”�”}”(hj ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M†hj¼ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to return found values.”h]”hŒpointer to return found values.”…”�”}”(hj"¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¼h´M†hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¼h´M†hjŽ»ubjŒ)�”}”(hŒ;``size_t sz_min`` minimum number of array elements to read ”h]”(j’)�”}”(hŒ``size_t sz_min``”h]”j˜)�”}”(hjB¼h]”hŒ size_t sz_min”…”�”}”(hjD¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj@¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M‡hj<¼ubj®)�”}”(hhh]”jC)�”}”(hŒ(minimum number of array elements to read”h]”hŒ(minimum number of array elements to read”…”�”}”(hj[¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jW¼h´M‡hjX¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj<¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jW¼h´M‡hjŽ»ubjŒ)�”}”(hŒ¥``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. ”h]”(j’)�”}”(hŒ``size_t sz_max``”h]”j˜)�”}”(hj{¼h]”hŒ size_t sz_max”…”�”}”(hj}¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjy¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MŠhju¼ubj®)�”}”(hhh]”jC)�”}”(hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”h]”hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”…”�”}”(hj”¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mˆhj‘¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hju¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�¼h´MŠhjŽ»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjr»ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj·¼h]”hŒ Description”…”�”}”(hj¹¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjµ¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MŒhjr»ubjC)�”}”(hŒHSearch for a property in a device node and read 32-bit value(s) from it.”h]”hŒHSearch for a property in a device node and read 32-bit value(s) from it.”…”�”}”(hjͼh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M‹hjr»ubjC)�”}”(hŒDThe out_values is modified only if a valid u32 value can be decoded.”h]”hŒDThe out_values is modified only if a valid u32 value can be decoded.”…”�”}”(hjܼh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M�hjr»ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjí¼h]”hŒReturn”…”�”}”(hjï¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjë¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M‘hjr»ubjC)�”}”(hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M�hjr»ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_property_read_u64 (C function)”Œc.of_property_read_u64”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ]int of_property_read_u64 (const struct device_node *np, const char *propname, u64 *out_value)”h]”j)�”}”(hŒ\int of_property_read_u64(const struct device_node *np, const char *propname, u64 *out_value)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj2½h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj.½h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M°ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA½h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj.½h²hh³j@½h´M°ubj‘)�”}”(hŒof_property_read_u64”h]”jE)�”}”(hŒof_property_read_u64”h]”hŒof_property_read_u64”…”�”}”(hjS½h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjO½ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj.½h²hh³j@½h´M°ubj¬)�”}”(hŒD(const struct device_node *np, const char *propname, u64 *out_value)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjo½h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjk½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|½h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjk½ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjнh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjk½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—½h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjk½ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¨½h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¥½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jª½Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jU½sbŒc.of_property_read_u64”†”asbuh1hhjk½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjȽh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjk½ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÖ½h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjk½ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjã½h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjk½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjg½ubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjü½h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjø½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¾h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjø½ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h •]”j'ah"]”h$]”h&]”uh1jhjø½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%¾h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjø½ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj3¾h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjø½ubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj@¾h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjø½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjg½ubj²)�”}”(hŒu64 *out_value”h]”(h)�”}”(hhh]”jE)�”}”(hŒu64”h]”hŒu64”…”�”}”(hj\¾h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjY¾ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j^¾Œmodname”NŒ classname”Njbje)�”}”jh]”jĽŒc.of_property_read_u64”†”asbuh1hhjU¾ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz¾h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjU¾ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjˆ¾h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjU¾ubjE)�”}”(hŒ out_value”h]”hŒ out_value”…”�”}”(hj•¾h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjU¾ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjg½ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj.½h²hh³j@½h´M°ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj*½h²hh³j@½h´M°ubah}”(h]”j%½ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j@½h´M°hj'½h²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Find and read a 64 bit integer from a property”h]”hŒ.Find and read a 64 bit integer from a property”…”�”}”(hj¿¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M°hj¼¾h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj'½h²hh³j@½h´M°ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj×¾jbj×¾jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXF**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u64 *out_value`` pointer to return value, modified only if return value is 0. **Description** Search for a property in a device node and read a 64-bit value from it. The out_value is modified only if a valid u64 value can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data isn't large enough.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjá¾h]”hŒ Parameters”…”�”}”(hjã¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjß¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M´hjÛ¾ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj¿h]”hŒconst struct device_node *np”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjþ¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M±hjú¾ubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¿h´M±hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjú¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¿h´M±hj÷¾ubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj9¿h]”hŒconst char *propname”…”�”}”(hj;¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj7¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M²hj3¿ubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjR¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jN¿h´M²hjO¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj3¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jN¿h´M²hj÷¾ubjŒ)�”}”(hŒP``u64 *out_value`` pointer to return value, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``u64 *out_value``”h]”j˜)�”}”(hjr¿h]”hŒu64 *out_value”…”�”}”(hjt¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjp¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M³hjl¿ubj®)�”}”(hhh]”jC)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒmFind and read an array of 64 bit integers from a property, with bounds on the minimum and maximum array size.”h]”hŒmFind and read an array of 64 bit integers from a property, with bounds on the minimum and maximum array size.”…”�”}”(hjEÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÏhjBÂh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÀh²hh³j6Àh´MÏubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj]Âjbj]Âjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXC**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``u64 *out_values`` pointer to found values. ``size_t sz_min`` minimum number of array elements to read ``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. **Description** Search for a property in a device node and read 64-bit value(s) from it. The out_values is modified only if a valid u64 value can be decoded. **Return** The number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjgÂh]”hŒ Parameters”…”�”}”(hjiÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjeÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÓhjaÂubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj†Âh]”hŒconst struct device_node *np”…”�”}”(hjˆÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj„Âubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÒhj€Âubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjŸÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j›Âh´MÒhjœÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj€Âubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j›Âh´MÒhj}ÂubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj¿Âh]”hŒconst char *propname”…”�”}”(hjÁÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj½Âubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÓhj¹Âubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjØÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÔÂh´MÓhjÕÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¹Âubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÔÂh´MÓhj}ÂubjŒ)�”}”(hŒ-``u64 *out_values`` pointer to found values. ”h]”(j’)�”}”(hŒ``u64 *out_values``”h]”j˜)�”}”(hjøÂh]”hŒu64 *out_values”…”�”}”(hjúÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjöÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÔhjòÂubj®)�”}”(hhh]”jC)�”}”(hŒpointer to found values.”h]”hŒpointer to found values.”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j Ãh´MÔhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjòÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j Ãh´MÔhj}ÂubjŒ)�”}”(hŒ;``size_t sz_min`` minimum number of array elements to read ”h]”(j’)�”}”(hŒ``size_t sz_min``”h]”j˜)�”}”(hj1Ãh]”hŒ size_t sz_min”…”�”}”(hj3Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj/Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÕhj+Ãubj®)�”}”(hhh]”jC)�”}”(hŒ(minimum number of array elements to read”h]”hŒ(minimum number of array elements to read”…”�”}”(hjJÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jFÃh´MÕhjGÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj+Ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jFÃh´MÕhj}ÂubjŒ)�”}”(hŒ¥``size_t sz_max`` maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read. ”h]”(j’)�”}”(hŒ``size_t sz_max``”h]”j˜)�”}”(hjjÃh]”hŒ size_t sz_max”…”�”}”(hjlÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjhÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MØhjdÃubj®)�”}”(hhh]”jC)�”}”(hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”h]”hŒ’maximum number of array elements to read, if zero there is no upper limit on the number of elements in the dts entry but only sz_min will be read.”…”�”}”(hjƒÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÖhj€Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjdÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÃh´MØhj}Âubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjaÂubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj¦Ãh]”hŒ Description”…”�”}”(hj¨Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¤Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÚhjaÂubjC)�”}”(hŒHSearch for a property in a device node and read 64-bit value(s) from it.”h]”hŒHSearch for a property in a device node and read 64-bit value(s) from it.”…”�”}”(hj¼Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÙhjaÂubjC)�”}”(hŒDThe out_values is modified only if a valid u64 value can be decoded.”h]”hŒDThe out_values is modified only if a valid u64 value can be decoded.”…”�”}”(hjËÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÝhjaÂubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÜÃh]”hŒReturn”…”�”}”(hjÞÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÚÃubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MßhjaÂubjC)�”}”(hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”h]”hŒÍThe number of elements read on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EOVERFLOW if the property data is smaller than sz_min or longer than sz_max.”…”�”}”(hjòÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÝhjaÂubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_property_read_string (C function)”Œc.of_property_read_string”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒiint of_property_read_string (const struct device_node *np, const char *propname, const char **out_string)”h]”j)�”}”(hŒhint of_property_read_string(const struct device_node *np, const char *propname, const char **out_string)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj!Äh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÄh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Äh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÄh²hh³j/Äh´Mubj‘)�”}”(hŒof_property_read_string”h]”jE)�”}”(hŒof_property_read_string”h]”hŒof_property_read_string”…”�”}”(hjBÄh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj>Äubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÄh²hh³j/Äh´Mubj¬)�”}”(hŒM(const struct device_node *np, const char *propname, const char **out_string)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj^Äh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZÄubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkÄh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZÄubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjyÄh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjZÄubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†Äh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZÄubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj—Äh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”Äubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j™ÄŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jDÄsbŒc.of_property_read_string”†”asbuh1hhjZÄubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·Äh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjZÄubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÅÄh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjZÄubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÒÄh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjZÄubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjVÄubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjëÄh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjçÄubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøÄh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjçÄubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjçÄubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjçÄubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj"Åh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjçÄubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj/Åh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjçÄubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjVÄubj²)�”}”(hŒconst char **out_string”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjHÅh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjDÅubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUÅh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDÅubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjcÅh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjDÅubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqÅh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDÅubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjDÅubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjŒÅh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjDÅubjE)�”}”(hŒ out_string”h]”hŒ out_string”…”�”}”(hj™Åh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjDÅubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjVÄubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÄh²hh³j/Äh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÄh²hh³j/Äh´Mubah}”(h]”jÄah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j/Äh´MhjÄh²hubj>)�”}”(hhh]”jC)�”}”(hŒ&Find and read a string from a property”h]”hŒ&Find and read a string from a property”…”�”}”(hjÃÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjÀÅh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÄh²hh³j/Äh´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÛÅjbjÛÅjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX **Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``const char **out_string`` pointer to null terminated return string, modified only if return value is 0. **Description** Search for a property in a device tree node and retrieve a null terminated string value (pointer to data, not a copy). Note that the empty string "" has length of 1, thus -ENODATA cannot be interpreted as an empty string. The out_string pointer is modified only if a valid string can be decoded. **Return** 0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjåÅh]”hŒ Parameters”…”�”}”(hjçÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjãÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjßÅubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjÆh]”hŒconst struct device_node *np”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjþÅubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÆh´MhjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjþÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÆh´MhjûÅubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hj=Æh]”hŒconst char *propname”…”�”}”(hj?Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj;Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mhj7Æubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjVÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jRÆh´MhjSÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj7Æubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jRÆh´MhjûÅubjŒ)�”}”(hŒj``const char **out_string`` pointer to null terminated return string, modified only if return value is 0. ”h]”(j’)�”}”(hŒ``const char **out_string``”h]”j˜)�”}”(hjvÆh]”hŒconst char **out_string”…”�”}”(hjxÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjtÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjpÆubj®)�”}”(hhh]”jC)�”}”(hŒMpointer to null terminated return string, modified only if return value is 0.”h]”hŒMpointer to null terminated return string, modified only if return value is 0.”…”�”}”(hj�Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjŒÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjpÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‹Æh´MhjûÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjßÅubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj²Æh]”hŒ Description”…”�”}”(hj´Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj°Æubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjßÅubjC)�”}”(hŒvSearch for a property in a device tree node and retrieve a null terminated string value (pointer to data, not a copy).”h]”hŒvSearch for a property in a device tree node and retrieve a null terminated string value (pointer to data, not a copy).”…”�”}”(hjÈÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjßÅubjC)�”}”(hŒfNote that the empty string "" has length of 1, thus -ENODATA cannot be interpreted as an empty string.”h]”hŒjNote that the empty string “â€� has length of 1, thus -ENODATA cannot be interpreted as an empty string.”…”�”}”(hjׯh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M hjßÅubjC)�”}”(hŒIThe out_string pointer is modified only if a valid string can be decoded.”h]”hŒIThe out_string pointer is modified only if a valid string can be decoded.”…”�”}”(hjæÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M hjßÅubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj÷Æh]”hŒReturn”…”�”}”(hjùÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjõÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjßÅubjC)�”}”(hŒº0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”hŒº0 on success, -EINVAL if the property does not exist, -ENODATA if property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”…”�”}”(hj Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M hjßÅubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_property_match_string (C function)”Œc.of_property_match_string”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒeint of_property_match_string (const struct device_node *np, const char *propname, const char *string)”h]”j)�”}”(hŒdint of_property_match_string(const struct device_node *np, const char *propname, const char *string)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj<Çh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj8Çh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M#ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKÇh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj8Çh²hh³jJÇh´M#ubj‘)�”}”(hŒof_property_match_string”h]”jE)�”}”(hŒof_property_match_string”h]”hŒof_property_match_string”…”�”}”(hj]Çh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjYÇubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj8Çh²hh³jJÇh´M#ubj¬)�”}”(hŒH(const struct device_node *np, const char *propname, const char *string)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjyÇh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjuÇubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†Çh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjuÇubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj”Çh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjuÇubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡Çh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjuÇubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj²Çh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¯Çubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j´ÇŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j_ÇsbŒc.of_property_match_string”†”asbuh1hhjuÇubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒÇh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjuÇubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjàÇh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjuÇubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjíÇh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuÇubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjqÇubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÈubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÈubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj!Èh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÈubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/Èh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÈubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj=Èh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÈubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hjJÈh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjqÇubj²)�”}”(hŒconst char *string”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjcÈh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj_Èubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjpÈh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj_Èubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj~Èh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj_Èubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒÈh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj_Èubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjšÈh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj_ÈubjE)�”}”(hŒstring”h]”hŒstring”…”�”}”(hj§Èh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj_Èubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjqÇubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj8Çh²hh³jJÇh´M#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj4Çh²hh³jJÇh´M#ubah}”(h]”j/Çah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jJÇh´M#hj1Çh²hubj>)�”}”(hhh]”jC)�”}”(hŒ&Find string in a list and return index”h]”hŒ&Find string in a list and return index”…”�”}”(hjÑÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M#hjÎÈh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj1Çh²hh³jJÇh´M#ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajéÈjbjéÈjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXW**Parameters** ``const struct device_node *np`` pointer to the node containing the string list property ``const char *propname`` string list property name ``const char *string`` pointer to the string to search for in the string list **Description** Search for an exact match of string in a device node property which is a string of lists. **Return** the index of the first occurrence of the string on success, -EINVAL if the property does not exist, -ENODATA if the property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjóÈh]”hŒ Parameters”…”�”}”(hjõÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjñÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M'hjíÈubj‡)�”}”(hhh]”(jŒ)�”}”(hŒY``const struct device_node *np`` pointer to the node containing the string list property ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjÉh]”hŒconst struct device_node *np”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M$hj Éubj®)�”}”(hhh]”jC)�”}”(hŒ7pointer to the node containing the string list property”h]”hŒ7pointer to the node containing the string list property”…”�”}”(hj+Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j'Éh´M$hj(Éubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj Éubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j'Éh´M$hj ÉubjŒ)�”}”(hŒ3``const char *propname`` string list property name ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjKÉh]”hŒconst char *propname”…”�”}”(hjMÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjIÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M%hjEÉubj®)�”}”(hhh]”jC)�”}”(hŒstring list property name”h]”hŒstring list property name”…”�”}”(hjdÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j`Éh´M%hjaÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjEÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j`Éh´M%hj ÉubjŒ)�”}”(hŒN``const char *string`` pointer to the string to search for in the string list ”h]”(j’)�”}”(hŒ``const char *string``”h]”j˜)�”}”(hj„Éh]”hŒconst char *string”…”�”}”(hj†Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj‚Éubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M&hj~Éubj®)�”}”(hhh]”jC)�”}”(hŒ6pointer to the string to search for in the string list”h]”hŒ6pointer to the string to search for in the string list”…”�”}”(hj�Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j™Éh´M&hjšÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj~Éubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j™Éh´M&hj Éubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjíÈubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj¿Éh]”hŒ Description”…”�”}”(hjÁÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj½Éubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M(hjíÈubjC)�”}”(hŒYSearch for an exact match of string in a device node property which is a string of lists.”h]”hŒYSearch for an exact match of string in a device node property which is a string of lists.”…”�”}”(hjÕÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M'hjíÈubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjæÉh]”hŒReturn”…”�”}”(hjèÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjäÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M*hjíÈubjC)�”}”(hŒìthe index of the first occurrence of the string on success, -EINVAL if the property does not exist, -ENODATA if the property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”h]”hŒìthe index of the first occurrence of the string on success, -EINVAL if the property does not exist, -ENODATA if the property does not have a value, and -EILSEQ if the string is not null-terminated within the length of the property data.”…”�”}”(hjüÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M+hjíÈubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ+of_property_read_string_helper (C function)”Œ c.of_property_read_string_helper”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒƒint of_property_read_string_helper (const struct device_node *np, const char *propname, const char **out_strs, size_t sz, int skip)”h]”j)�”}”(hŒ‚int of_property_read_string_helper(const struct device_node *np, const char *propname, const char **out_strs, size_t sz, int skip)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj+Êh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj'Êh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MMubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Êh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj'Êh²hh³j9Êh´MMubj‘)�”}”(hŒof_property_read_string_helper”h]”jE)�”}”(hŒof_property_read_string_helper”h]”hŒof_property_read_string_helper”…”�”}”(hjLÊh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjHÊubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj'Êh²hh³j9Êh´MMubj¬)�”}”(hŒ`(const struct device_node *np, const char *propname, const char **out_strs, size_t sz, int skip)”h]”(j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjhÊh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjdÊubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuÊh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdÊubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjƒÊh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjdÊubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Êh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdÊubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¡Êh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjžÊubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j£ÊŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jNÊsbŒ c.of_property_read_string_helper”†”asbuh1hhjdÊubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁÊh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdÊubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÏÊh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjdÊubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÜÊh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjdÊubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj`Êubj²)�”}”(hŒconst char *propname”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjõÊh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjñÊubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjñÊubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjñÊubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjñÊubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj,Ëh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjñÊubjE)�”}”(hŒpropname”h]”hŒpropname”…”�”}”(hj9Ëh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjñÊubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj`Êubj²)�”}”(hŒconst char **out_strs”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjRËh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjNËubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_Ëh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjNËubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjmËh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjNËubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{Ëh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjNËubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‰Ëh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjNËubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj–Ëh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjNËubjE)�”}”(hŒout_strs”h]”hŒout_strs”…”�”}”(hj£Ëh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjNËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj`Êubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj¿Ëh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¼Ëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÁËŒmodname”NŒ classname”Njbje)�”}”jh]”j½ÊŒ c.of_property_read_string_helper”†”asbuh1hhj¸Ëubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝËh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¸ËubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hjëËh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¸Ëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj`Êubj²)�”}”(hŒint skip”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÌubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÌubjE)�”}”(hŒskip”h]”hŒskip”…”�”}”(hj Ìh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÌubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj`Êubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj'Êh²hh³j9Êh´MMubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj#Êh²hh³j9Êh´MMubah}”(h]”jÊah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j9Êh´MMhj Êh²hubj>)�”}”(hhh]”jC)�”}”(hŒ,Utility helper for parsing string properties”h]”hŒ,Utility helper for parsing string properties”…”�”}”(hjJÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MMhjGÌh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj Êh²hh³j9Êh´MMubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajbÌjbjbÌjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXæ**Parameters** ``const struct device_node *np`` device node from which the property value is to be read. ``const char *propname`` name of the property to be searched. ``const char **out_strs`` output array of string pointers. ``size_t sz`` number of array elements to read. ``int skip`` Number of strings to skip over at beginning of list. **Description** Don't call this function directly. It is a utility helper for the of_property_read_string*() family of functions.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjlÌh]”hŒ Parameters”…”�”}”(hjnÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MQhjfÌubj‡)�”}”(hhh]”(jŒ)�”}”(hŒZ``const struct device_node *np`` device node from which the property value is to be read. ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj‹Ìh]”hŒconst struct device_node *np”…”�”}”(hj�Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj‰Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MNhj…Ìubj®)�”}”(hhh]”jC)�”}”(hŒ8device node from which the property value is to be read.”h]”hŒ8device node from which the property value is to be read.”…”�”}”(hj¤Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j Ìh´MNhj¡Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj…Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j Ìh´MNhj‚ÌubjŒ)�”}”(hŒ>``const char *propname`` name of the property to be searched. ”h]”(j’)�”}”(hŒ``const char *propname``”h]”j˜)�”}”(hjÄÌh]”hŒconst char *propname”…”�”}”(hjÆÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÂÌubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MOhj¾Ìubj®)�”}”(hhh]”jC)�”}”(hŒ$name of the property to be searched.”h]”hŒ$name of the property to be searched.”…”�”}”(hjÝÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÙÌh´MOhjÚÌubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¾Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÙÌh´MOhj‚ÌubjŒ)�”}”(hŒ;``const char **out_strs`` output array of string pointers. ”h]”(j’)�”}”(hŒ``const char **out_strs``”h]”j˜)�”}”(hjýÌh]”hŒconst char **out_strs”…”�”}”(hjÿÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjûÌubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MPhj÷Ìubj®)�”}”(hhh]”jC)�”}”(hŒ output array of string pointers.”h]”hŒ output array of string pointers.”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÍh´MPhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj÷Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÍh´MPhj‚ÌubjŒ)�”}”(hŒ0``size_t sz`` number of array elements to read. ”h]”(j’)�”}”(hŒ ``size_t sz``”h]”j˜)�”}”(hj6Íh]”hŒ size_t sz”…”�”}”(hj8Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj4Íubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MQhj0Íubj®)�”}”(hhh]”jC)�”}”(hŒ!number of array elements to read.”h]”hŒ!number of array elements to read.”…”�”}”(hjOÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jKÍh´MQhjLÍubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj0Íubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jKÍh´MQhj‚ÌubjŒ)�”}”(hŒB``int skip`` Number of strings to skip over at beginning of list. ”h]”(j’)�”}”(hŒ ``int skip``”h]”j˜)�”}”(hjoÍh]”hŒint skip”…”�”}”(hjqÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjmÍubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MRhjiÍubj®)�”}”(hhh]”jC)�”}”(hŒ4Number of strings to skip over at beginning of list.”h]”hŒ4Number of strings to skip over at beginning of list.”…”�”}”(hjˆÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j„Íh´MRhj…Íubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjiÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j„Íh´MRhj‚Ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjfÌubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjªÍh]”hŒ Description”…”�”}”(hj¬Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¨Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MThjfÌubjC)�”}”(hŒqDon't call this function directly. It is a utility helper for the of_property_read_string*() family of functions.”h]”hŒsDon’t call this function directly. It is a utility helper for the of_property_read_string*() family of functions.”…”�”}”(hjÀÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MShjfÌubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_graph_parse_endpoint (C function)”Œc.of_graph_parse_endpoint”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒZint of_graph_parse_endpoint (const struct device_node *node, struct of_endpoint *endpoint)”h]”j)�”}”(hŒYint of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjïÍh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjëÍh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M«ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþÍh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjëÍh²hh³jýÍh´M«ubj‘)�”}”(hŒof_graph_parse_endpoint”h]”jE)�”}”(hŒof_graph_parse_endpoint”h]”hŒof_graph_parse_endpoint”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj Îubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjëÍh²hh³jýÍh´M«ubj¬)�”}”(hŒ>(const struct device_node *node, struct of_endpoint *endpoint)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj,Îh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj(Îubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9Îh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj(Îubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjGÎh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj(Îubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTÎh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj(Îubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjeÎh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjbÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jgÎŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÎsbŒc.of_graph_parse_endpoint”†”asbuh1hhj(Îubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Îh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj(Îubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj“Îh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj(ÎubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj(Îubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj$Îubj²)�”}”(hŒstruct of_endpoint *endpoint”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¹Îh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjµÎubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆÎh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjµÎubh)�”}”(hhh]”jE)�”}”(hŒ of_endpoint”h]”hŒ of_endpoint”…”�”}”(hj×Îh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÔÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÙÎŒmodname”NŒ classname”Njbje)�”}”jh]”j�ÎŒc.of_graph_parse_endpoint”†”asbuh1hhjµÎubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõÎh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjµÎubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjµÎubjE)�”}”(hŒendpoint”h]”hŒendpoint”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjµÎubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj$Îubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjëÍh²hh³jýÍh´M«ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjçÍh²hh³jýÍh´M«ubah}”(h]”jâÍah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jýÍh´M«hjäÍh²hubj>)�”}”(hhh]”jC)�”}”(hŒ%parse common endpoint node properties”h]”hŒ%parse common endpoint node properties”…”�”}”(hj:Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M«hj7Ïh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjäÍh²hh³jýÍh´M«ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajRÏjbjRÏjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒä**Parameters** ``const struct device_node *node`` pointer to endpoint device_node ``struct of_endpoint *endpoint`` pointer to the OF endpoint data structure **Description** The caller should hold a reference to **node**.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj\Ïh]”hŒ Parameters”…”�”}”(hj^Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjZÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¯hjVÏubj‡)�”}”(hhh]”(jŒ)�”}”(hŒC``const struct device_node *node`` pointer to endpoint device_node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj{Ïh]”hŒconst struct device_node *node”…”�”}”(hj}Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjyÏubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¬hjuÏubj®)�”}”(hhh]”jC)�”}”(hŒpointer to endpoint device_node”h]”hŒpointer to endpoint device_node”…”�”}”(hj”Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�Ïh´M¬hj‘Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjuÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�Ïh´M¬hjrÏubjŒ)�”}”(hŒK``struct of_endpoint *endpoint`` pointer to the OF endpoint data structure ”h]”(j’)�”}”(hŒ ``struct of_endpoint *endpoint``”h]”j˜)�”}”(hj´Ïh]”hŒstruct of_endpoint *endpoint”…”�”}”(hj¶Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj²Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M­hj®Ïubj®)�”}”(hhh]”jC)�”}”(hŒ)pointer to the OF endpoint data structure”h]”hŒ)pointer to the OF endpoint data structure”…”�”}”(hjÍÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÉÏh´M­hjÊÏubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj®Ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÉÏh´M­hjrÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjVÏubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjïÏh]”hŒ Description”…”�”}”(hjñÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjíÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¯hjVÏubjC)�”}”(hŒ/The caller should hold a reference to **node**.”h]”(hŒ&The caller should hold a reference to ”…”�”}”(hjÐh²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hj Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÐubhŒ.”…”�”}”(hjÐh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M®hjVÏubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_graph_get_port_by_id (C function)”Œc.of_graph_get_port_by_id”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒQstruct device_node * of_graph_get_port_by_id (struct device_node *parent, u32 id)”h]”j)�”}”(hŒOstruct device_node *of_graph_get_port_by_id(struct device_node *parent, u32 id)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjFÐh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjBÐh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÉubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTÐh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjBÐh²hh³jSÐh´MÉubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjeÐh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjbÐubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jgÐŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_port_by_id”sbŒc.of_graph_get_port_by_id”†”asbuh1hhjBÐh²hh³jSÐh´MÉubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†Ðh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjBÐh²hh³jSÐh´MÉubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj”Ðh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjBÐh²hh³jSÐh´MÉubj‘)�”}”(hŒof_graph_get_port_by_id”h]”jE)�”}”(hjƒÐh]”hŒof_graph_get_port_by_id”…”�”}”(hj¥Ðh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¡Ðubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjBÐh²hh³jSÐh´MÉubj¬)�”}”(hŒ$(struct device_node *parent, u32 id)”h]”(j²)�”}”(hŒstruct device_node *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÀÐh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¼Ðubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍÐh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¼Ðubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÞÐh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÛÐubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jàÐŒmodname”NŒ classname”Njbje)�”}”jh]”j�ÐŒc.of_graph_get_port_by_id”†”asbuh1hhj¼Ðubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüÐh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¼Ðubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj Ñh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¼ÐubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¼Ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¸Ðubj²)�”}”(hŒu32 id”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj3Ñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj0Ñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j5ÑŒmodname”NŒ classname”Njbje)�”}”jh]”j�ÐŒc.of_graph_get_port_by_id”†”asbuh1hhj,Ñubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQÑh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj,ÑubjE)�”}”(hŒid”h]”hŒid”…”�”}”(hj_Ñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj,Ñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¸Ðubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjBÐh²hh³jSÐh´MÉubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj>Ðh²hh³jSÐh´MÉubah}”(h]”j9Ðah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jSÐh´MÉhj;Ðh²hubj>)�”}”(hhh]”jC)�”}”(hŒ get the port matching a given id”h]”hŒ get the port matching a given id”…”�”}”(hj‰Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÉhj†Ñh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj;Ðh²hh³jSÐh´MÉubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj¡Ñjbj¡Ñjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒâ**Parameters** ``struct device_node *parent`` pointer to the parent device node ``u32 id`` id of the port **Return** A 'port' node pointer with refcount incremented. The caller has to use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj«Ñh]”hŒ Parameters”…”�”}”(hj­Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj©Ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÍhj¥Ñubj‡)�”}”(hhh]”(jŒ)�”}”(hŒA``struct device_node *parent`` pointer to the parent device node ”h]”(j’)�”}”(hŒ``struct device_node *parent``”h]”j˜)�”}”(hjÊÑh]”hŒstruct device_node *parent”…”�”}”(hjÌÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÈÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÊhjÄÑubj®)�”}”(hhh]”jC)�”}”(hŒ!pointer to the parent device node”h]”hŒ!pointer to the parent device node”…”�”}”(hjãÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jßÑh´MÊhjàÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÄÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jßÑh´MÊhjÁÑubjŒ)�”}”(hŒ``u32 id`` id of the port ”h]”(j’)�”}”(hŒ ``u32 id``”h]”j˜)�”}”(hjÒh]”hŒu32 id”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MËhjýÑubj®)�”}”(hhh]”jC)�”}”(hŒid of the port”h]”hŒid of the port”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÒh´MËhjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjýÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÒh´MËhjÁÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¥ÑubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj>Òh]”hŒReturn”…”�”}”(hj@Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj<Òubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÍhj¥ÑubjC)�”}”(hŒeA 'port' node pointer with refcount incremented. The caller has to use of_node_put() on it when done.”h]”hŒiA ‘port’ node pointer with refcount incremented. The caller has to use of_node_put() on it when done.”…”�”}”(hjTÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÍhj¥Ñubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ#of_graph_get_next_port (C function)”Œc.of_graph_get_next_port”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒhstruct device_node * of_graph_get_next_port (const struct device_node *parent, struct device_node *prev)”h]”j)�”}”(hŒfstruct device_node *of_graph_get_next_port(const struct device_node *parent, struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjƒÒh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÒh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mæubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Òh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÒh²hh³j�Òh´Mæubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¢Òh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŸÒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¤ÒŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_next_port”sbŒc.of_graph_get_next_port”†”asbuh1hhjÒh²hh³j�Òh´Mæubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃÒh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÒh²hh³j�Òh´Mæubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÑÒh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÒh²hh³j�Òh´Mæubj‘)�”}”(hŒof_graph_get_next_port”h]”jE)�”}”(hjÀÒh]”hŒof_graph_get_next_port”…”�”}”(hjâÒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÞÒubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÒh²hh³j�Òh´Mæubj¬)�”}”(hŒ<(const struct device_node *parent, struct device_node *prev)”h]”(j²)�”}”(hŒ const struct device_node *parent”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjýÒh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjùÒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Óh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùÒubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjùÒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Óh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùÒubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj6Óh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDh•j3Óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j8ÓŒmodname”NŒ classname”Njbje)�”}”jh]”j¾ÒŒc.of_graph_get_next_port”†”asbuh1hhjùÒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTÓh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjùÒubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjbÓh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjùÒubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjoÓh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùÒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjõÒubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjˆÓh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj„Óubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•Óh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„Óubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¦Óh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£Óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¨ÓŒmodname”NŒ classname”Njbje)�”}”jh]”j¾ÒŒc.of_graph_get_next_port”†”asbuh1hhj„Óubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄÓh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„Óubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÒÓh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj„ÓubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjßÓh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj„Óubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjõÒubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÒh²hh³j�Òh´Mæubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj{Òh²hh³j�Òh´Mæubah}”(h]”jvÒah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j�Òh´MæhjxÒh²hubj>)�”}”(hhh]”jC)�”}”(hŒget next port node.”h]”hŒget next port node.”…”�”}”(hj Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MæhjÔh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjxÒh²hh³j�Òh´Mæubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj!Ôjbj!Ôjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXº**Parameters** ``const struct device_node *parent`` pointer to the parent device node, or parent ports node ``struct device_node *prev`` previous port node, or NULL to get first **Description** Parent device node can be used as **parent** whether device node has ports node or not. It will work same as ports**0** node. **Return** A 'port' node pointer with refcount incremented. Refcount of the passed **prev** node is decremented.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj+Ôh]”hŒ Parameters”…”�”}”(hj-Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj)Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mêhj%Ôubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ]``const struct device_node *parent`` pointer to the parent device node, or parent ports node ”h]”(j’)�”}”(hŒ$``const struct device_node *parent``”h]”j˜)�”}”(hjJÔh]”hŒ const struct device_node *parent”…”�”}”(hjLÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjHÔubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MçhjDÔubj®)�”}”(hhh]”jC)�”}”(hŒ7pointer to the parent device node, or parent ports node”h]”hŒ7pointer to the parent device node, or parent ports node”…”�”}”(hjcÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j_Ôh´Mçhj`Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjDÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j_Ôh´MçhjAÔubjŒ)�”}”(hŒF``struct device_node *prev`` previous port node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjƒÔh]”hŒstruct device_node *prev”…”�”}”(hj…Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mèhj}Ôubj®)�”}”(hhh]”jC)�”}”(hŒ(previous port node, or NULL to get first”h]”hŒ(previous port node, or NULL to get first”…”�”}”(hjœÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j˜Ôh´Mèhj™Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj}Ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j˜Ôh´MèhjAÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj%ÔubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj¾Ôh]”hŒ Description”…”�”}”(hjÀÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¼Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mêhj%ÔubjC)�”}”(hŒ}Parent device node can be used as **parent** whether device node has ports node or not. It will work same as ports**0** node.”h]”(hŒ"Parent device node can be used as ”…”�”}”(hjÔÔh²hh³Nh´Nubjq)�”}”(hŒ **parent**”h]”hŒparent”…”�”}”(hjÜÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÔÔubhŒQ whether device node has ports node or not. It will work same as ports**0** node.”…”�”}”(hjÔÔh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Méhj%ÔubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj÷Ôh]”hŒReturn”…”�”}”(hjùÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjõÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mìhj%ÔubjC)�”}”(hŒeA 'port' node pointer with refcount incremented. Refcount of the passed **prev** node is decremented.”h]”(hŒLA ‘port’ node pointer with refcount incremented. Refcount of the passed ”…”�”}”(hj Õh²hh³Nh´Nubjq)�”}”(hŒ**prev**”h]”hŒprev”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj ÕubhŒ node is decremented.”…”�”}”(hj Õh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Míhj%Ôubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ,of_graph_get_next_port_endpoint (C function)”Œ!c.of_graph_get_next_port_endpoint”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒostruct device_node * of_graph_get_next_port_endpoint (const struct device_node *port, struct device_node *prev)”h]”j)�”}”(hŒmstruct device_node *of_graph_get_next_port_endpoint(const struct device_node *port, struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjNÕh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjJÕh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\Õh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjJÕh²hh³j[Õh´M ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjmÕh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjjÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”joÕŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_next_port_endpoint”sbŒ!c.of_graph_get_next_port_endpoint”†”asbuh1hhjJÕh²hh³j[Õh´M ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽÕh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjJÕh²hh³j[Õh´M ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjœÕh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjJÕh²hh³j[Õh´M ubj‘)�”}”(hŒof_graph_get_next_port_endpoint”h]”jE)�”}”(hj‹Õh]”hŒof_graph_get_next_port_endpoint”…”�”}”(hj­Õh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©Õubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjJÕh²hh³j[Õh´M ubj¬)�”}”(hŒ:(const struct device_node *port, struct device_node *prev)”h]”(j²)�”}”(hŒconst struct device_node *port”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÈÕh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÄÕubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕÕh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÄÕubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjãÕh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÄÕubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðÕh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÄÕubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjþÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÖŒmodname”NŒ classname”Njbje)�”}”jh]”j‰ÕŒ!c.of_graph_get_next_port_endpoint”†”asbuh1hhjÄÕubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÄÕubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj-Öh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÄÕubjE)�”}”(hŒport”h]”hŒport”…”�”}”(hj:Öh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÄÕubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÀÕubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjSÖh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjOÖubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Öh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOÖubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjqÖh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjnÖubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jsÖŒmodname”NŒ classname”Njbje)�”}”jh]”j‰ÕŒ!c.of_graph_get_next_port_endpoint”†”asbuh1hhjOÖubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Öh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOÖubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj�Öh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjOÖubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hjªÖh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjOÖubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÀÕubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjJÕh²hh³j[Õh´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjFÕh²hh³j[Õh´M ubah}”(h]”jAÕah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j[Õh´M hjCÕh²hubj>)�”}”(hhh]”jC)�”}”(hŒVget next endpoint node in port. If it reached to end of the port, it will return NULL.”h]”hŒVget next endpoint node in port. If it reached to end of the port, it will return NULL.”…”�”}”(hjÔÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M hjÑÖh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjCÕh²hh³j[Õh´M ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajìÖjbjìÖjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct device_node *port`` pointer to the target port node ``struct device_node *prev`` previous endpoint node, or NULL to get first **Return** An 'endpoint' node pointer with refcount incremented. Refcount of the passed **prev** node is decremented.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjöÖh]”hŒ Parameters”…”�”}”(hjøÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjôÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjðÖubj‡)�”}”(hhh]”(jŒ)�”}”(hŒC``const struct device_node *port`` pointer to the target port node ”h]”(j’)�”}”(hŒ"``const struct device_node *port``”h]”j˜)�”}”(hj×h]”hŒconst struct device_node *port”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M hj×ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to the target port node”h]”hŒpointer to the target port node”…”�”}”(hj.×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j*×h´M hj+×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j*×h´M hj ×ubjŒ)�”}”(hŒJ``struct device_node *prev`` previous endpoint node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjN×h]”hŒstruct device_node *prev”…”�”}”(hjP×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjL×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjH×ubj®)�”}”(hhh]”jC)�”}”(hŒ,previous endpoint node, or NULL to get first”h]”hŒ,previous endpoint node, or NULL to get first”…”�”}”(hjg×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jc×h´Mhjd×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjH×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jc×h´Mhj ×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjðÖubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj‰×h]”hŒReturn”…”�”}”(hj‹×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‡×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjðÖubjC)�”}”(hŒjAn 'endpoint' node pointer with refcount incremented. Refcount of the passed **prev** node is decremented.”h]”(hŒQAn ‘endpoint’ node pointer with refcount incremented. Refcount of the passed ”…”�”}”(hjŸ×h²hh³Nh´Nubjq)�”}”(hŒ**prev**”h]”hŒprev”…”�”}”(hj§×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŸ×ubhŒ node is decremented.”…”�”}”(hjŸ×h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MhjðÖubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_graph_get_next_endpoint (C function)”Œc.of_graph_get_next_endpoint”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒlstruct device_node * of_graph_get_next_endpoint (const struct device_node *parent, struct device_node *prev)”h]”j)�”}”(hŒjstruct device_node *of_graph_get_next_endpoint(const struct device_node *parent, struct device_node *prev)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjà×h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÜ×h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M&ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî×h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÜ×h²hh³jí×h´M&ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÿ×h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjü×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jØŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_next_endpoint”sbŒc.of_graph_get_next_endpoint”†”asbuh1hhjÜ×h²hh³jí×h´M&ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Øh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÜ×h²hh³jí×h´M&ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj.Øh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÜ×h²hh³jí×h´M&ubj‘)�”}”(hŒof_graph_get_next_endpoint”h]”jE)�”}”(hjØh]”hŒof_graph_get_next_endpoint”…”�”}”(hj?Øh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj;Øubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÜ×h²hh³jí×h´M&ubj¬)�”}”(hŒ<(const struct device_node *parent, struct device_node *prev)”h]”(j²)�”}”(hŒ const struct device_node *parent”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjZØh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjVØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgØh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVØubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjuØh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjVØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚Øh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVØubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj“Øh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�Øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j•ØŒmodname”NŒ classname”Njbje)�”}”jh]”jØŒc.of_graph_get_next_endpoint”†”asbuh1hhjVØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±Øh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVØubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¿Øh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjVØubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjÌØh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjVØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjRØubj²)�”}”(hŒstruct device_node *prev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjåØh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjáØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòØh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjáØubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÙubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÙŒmodname”NŒ classname”Njbje)�”}”jh]”jØŒc.of_graph_get_next_endpoint”†”asbuh1hhjáØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!Ùh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjáØubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj/Ùh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjáØubjE)�”}”(hŒprev”h]”hŒprev”…”�”}”(hj<Ùh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjáØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjRØubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÜ×h²hh³jí×h´M&ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjØ×h²hh³jí×h´M&ubah}”(h]”jÓ×ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jí×h´M&hjÕ×h²hubj>)�”}”(hhh]”jC)�”}”(hŒget next endpoint node”h]”hŒget next endpoint node”…”�”}”(hjfÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M&hjcÙh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÕ×h²hh³jí×h´M&ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj~Ùjbj~Ùjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const struct device_node *parent`` pointer to the parent device node ``struct device_node *prev`` previous endpoint node, or NULL to get first **Return** An 'endpoint' node pointer with refcount incremented. Refcount of the passed **prev** node is decremented.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjˆÙh]”hŒ Parameters”…”�”}”(hjŠÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj†Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M*hj‚Ùubj‡)�”}”(hhh]”(jŒ)�”}”(hŒG``const struct device_node *parent`` pointer to the parent device node ”h]”(j’)�”}”(hŒ$``const struct device_node *parent``”h]”j˜)�”}”(hj§Ùh]”hŒ const struct device_node *parent”…”�”}”(hj©Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¥Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M'hj¡Ùubj®)�”}”(hhh]”jC)�”}”(hŒ!pointer to the parent device node”h]”hŒ!pointer to the parent device node”…”�”}”(hjÀÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¼Ùh´M'hj½Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¡Ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¼Ùh´M'hjžÙubjŒ)�”}”(hŒJ``struct device_node *prev`` previous endpoint node, or NULL to get first ”h]”(j’)�”}”(hŒ``struct device_node *prev``”h]”j˜)�”}”(hjàÙh]”hŒstruct device_node *prev”…”�”}”(hjâÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÞÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M(hjÚÙubj®)�”}”(hhh]”jC)�”}”(hŒ,previous endpoint node, or NULL to get first”h]”hŒ,previous endpoint node, or NULL to get first”…”�”}”(hjùÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jõÙh´M(hjöÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÚÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jõÙh´M(hjžÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj‚ÙubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÚh]”hŒReturn”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M*hj‚ÙubjC)�”}”(hŒjAn 'endpoint' node pointer with refcount incremented. Refcount of the passed **prev** node is decremented.”h]”(hŒQAn ‘endpoint’ node pointer with refcount incremented. Refcount of the passed ”…”�”}”(hj1Úh²hh³Nh´Nubjq)�”}”(hŒ**prev**”h]”hŒprev”…”�”}”(hj9Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj1ÚubhŒ node is decremented.”…”�”}”(hj1Úh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M*hj‚Ùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ*of_graph_get_endpoint_by_regs (C function)”Œc.of_graph_get_endpoint_by_regs”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒlstruct device_node * of_graph_get_endpoint_by_regs (const struct device_node *parent, int port_reg, int reg)”h]”j)�”}”(hŒjstruct device_node *of_graph_get_endpoint_by_regs(const struct device_node *parent, int port_reg, int reg)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjrÚh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjnÚh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€Úh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjnÚh²hh³jÚh´M_ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj‘Úh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŽÚubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j“ÚŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_endpoint_by_regs”sbŒc.of_graph_get_endpoint_by_regs”†”asbuh1hhjnÚh²hh³jÚh´M_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²Úh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjnÚh²hh³jÚh´M_ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÀÚh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjnÚh²hh³jÚh´M_ubj‘)�”}”(hŒof_graph_get_endpoint_by_regs”h]”jE)�”}”(hj¯Úh]”hŒof_graph_get_endpoint_by_regs”…”�”}”(hjÑÚh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÍÚubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjnÚh²hh³jÚh´M_ubj¬)�”}”(hŒ9(const struct device_node *parent, int port_reg, int reg)”h]”(j²)�”}”(hŒ const struct device_node *parent”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjìÚh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjèÚubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùÚh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèÚubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjèÚubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèÚubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj%Ûh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj"Ûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j'ÛŒmodname”NŒ classname”Njbje)�”}”jh]”j­ÚŒc.of_graph_get_endpoint_by_regs”†”asbuh1hhjèÚubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCÛh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèÚubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjQÛh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjèÚubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj^Ûh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjèÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjäÚubj²)�”}”(hŒ int port_reg”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjwÛh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjsÛubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Ûh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjsÛubjE)�”}”(hŒport_reg”h]”hŒport_reg”…”�”}”(hj“Ûh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjsÛubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjäÚubj²)�”}”(hŒint reg”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¬Ûh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¨Ûubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºÛh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¨ÛubjE)�”}”(hŒreg”h]”hŒreg”…”�”}”(hjÈÛh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¨Ûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjäÚubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjnÚh²hh³jÚh´M_ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjjÚh²hh³jÚh´M_ubah}”(h]”jeÚah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÚh´M_hjgÚh²hubj>)�”}”(hhh]”jC)�”}”(hŒ)get endpoint node of specific identifiers”h]”hŒ)get endpoint node of specific identifiers”…”�”}”(hjòÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M_hjïÛh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjgÚh²hh³jÚh´M_ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj Üjbj Üjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÐ**Parameters** ``const struct device_node *parent`` pointer to the parent device node ``int port_reg`` identifier (value of reg property) of the parent port node ``int reg`` identifier (value of reg property) of the endpoint node **Return** An 'endpoint' node pointer which is identified by reg and at the same is the child of a port node identified by port_reg. reg and port_reg are ignored when they are -1. Use of_node_put() on the pointer when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÜh]”hŒ Parameters”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MchjÜubj‡)�”}”(hhh]”(jŒ)�”}”(hŒG``const struct device_node *parent`` pointer to the parent device node ”h]”(j’)�”}”(hŒ$``const struct device_node *parent``”h]”j˜)�”}”(hj3Üh]”hŒ const struct device_node *parent”…”�”}”(hj5Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj1Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M`hj-Üubj®)�”}”(hhh]”jC)�”}”(hŒ!pointer to the parent device node”h]”hŒ!pointer to the parent device node”…”�”}”(hjLÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jHÜh´M`hjIÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj-Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jHÜh´M`hj*ÜubjŒ)�”}”(hŒL``int port_reg`` identifier (value of reg property) of the parent port node ”h]”(j’)�”}”(hŒ``int port_reg``”h]”j˜)�”}”(hjlÜh]”hŒ int port_reg”…”�”}”(hjnÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MahjfÜubj®)�”}”(hhh]”jC)�”}”(hŒ:identifier (value of reg property) of the parent port node”h]”hŒ:identifier (value of reg property) of the parent port node”…”�”}”(hj…Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�Üh´Mahj‚Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjfÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�Üh´Mahj*ÜubjŒ)�”}”(hŒD``int reg`` identifier (value of reg property) of the endpoint node ”h]”(j’)�”}”(hŒ ``int reg``”h]”j˜)�”}”(hj¥Üh]”hŒint reg”…”�”}”(hj§Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj£Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MbhjŸÜubj®)�”}”(hhh]”jC)�”}”(hŒ7identifier (value of reg property) of the endpoint node”h]”hŒ7identifier (value of reg property) of the endpoint node”…”�”}”(hj¾Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jºÜh´Mbhj»Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŸÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jºÜh´Mbhj*Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÜubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjàÜh]”hŒReturn”…”�”}”(hjâÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÞÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MdhjÜubjC)�”}”(hŒÔAn 'endpoint' node pointer which is identified by reg and at the same is the child of a port node identified by port_reg. reg and port_reg are ignored when they are -1. Use of_node_put() on the pointer when done.”h]”hŒØAn ‘endpoint’ node pointer which is identified by reg and at the same is the child of a port node identified by port_reg. reg and port_reg are ignored when they are -1. Use of_node_put() on the pointer when done.”…”�”}”(hjöÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MdhjÜubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ)of_graph_get_remote_endpoint (C function)”Œc.of_graph_get_remote_endpoint”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒRstruct device_node * of_graph_get_remote_endpoint (const struct device_node *node)”h]”j)�”}”(hŒPstruct device_node *of_graph_get_remote_endpoint(const struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj%Ýh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj!Ýh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mzubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3Ýh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj!Ýh²hh³j2Ýh´Mzubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjDÝh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjAÝubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jFÝŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_remote_endpoint”sbŒc.of_graph_get_remote_endpoint”†”asbuh1hhj!Ýh²hh³j2Ýh´Mzubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeÝh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj!Ýh²hh³j2Ýh´Mzubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjsÝh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj!Ýh²hh³j2Ýh´Mzubj‘)�”}”(hŒof_graph_get_remote_endpoint”h]”jE)�”}”(hjbÝh]”hŒof_graph_get_remote_endpoint”…”�”}”(hj„Ýh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj€Ýubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj!Ýh²hh³j2Ýh´Mzubj¬)�”}”(hŒ (const struct device_node *node)”h]”j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjŸÝh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj›Ýubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Ýh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj›Ýubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjºÝh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj›Ýubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇÝh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj›Ýubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjØÝh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÕÝubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÚÝŒmodname”NŒ classname”Njbje)�”}”jh]”j`ÝŒc.of_graph_get_remote_endpoint”†”asbuh1hhj›Ýubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöÝh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj›Ýubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj›ÝubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj›Ýubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj—Ýubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj!Ýh²hh³j2Ýh´Mzubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÝh²hh³j2Ýh´Mzubah}”(h]”jÝah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j2Ýh´MzhjÝh²hubj>)�”}”(hhh]”jC)�”}”(hŒget remote endpoint node”h]”hŒget remote endpoint node”…”�”}”(hj;Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mzhj8Þh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÝh²hh³j2Ýh´Mzubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajSÞjbjSÞjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÚ**Parameters** ``const struct device_node *node`` pointer to a local endpoint device_node **Return** Remote endpoint node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj]Þh]”hŒ Parameters”…”�”}”(hj_Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj[Þubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M~hjWÞubj‡)�”}”(hhh]”jŒ)�”}”(hŒK``const struct device_node *node`` pointer to a local endpoint device_node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj|Þh]”hŒconst struct device_node *node”…”�”}”(hj~Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjzÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M{hjvÞubj®)�”}”(hhh]”jC)�”}”(hŒ'pointer to a local endpoint device_node”h]”hŒ'pointer to a local endpoint device_node”…”�”}”(hj•Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j‘Þh´M{hj’Þubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjvÞubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j‘Þh´M{hjsÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjWÞubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj·Þh]”hŒReturn”…”�”}”(hj¹Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjµÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M}hjWÞubjC)�”}”(hŒpRemote endpoint node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(hŒDRemote endpoint node associated with remote endpoint node linked to ”…”�”}”(hjÍÞh²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hjÕÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÍÞubhŒ$. Use of_node_put() on it when done.”…”�”}”(hjÍÞh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M}hjWÞubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_graph_get_port_parent (C function)”Œc.of_graph_get_port_parent”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒHstruct device_node * of_graph_get_port_parent (struct device_node *node)”h]”j)�”}”(hŒFstruct device_node *of_graph_get_port_parent(struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ßh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mˆubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ßh²hh³jßh´Mˆubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj-ßh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj*ßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j/ߌmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_port_parent”sbŒc.of_graph_get_port_parent”†”asbuh1hhj ßh²hh³jßh´Mˆubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNßh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ßh²hh³jßh´Mˆubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj\ßh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj ßh²hh³jßh´Mˆubj‘)�”}”(hŒof_graph_get_port_parent”h]”jE)�”}”(hjKßh]”hŒof_graph_get_port_parent”…”�”}”(hjmßh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjißubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj ßh²hh³jßh´Mˆubj¬)�”}”(hŒ(struct device_node *node)”h]”j²)�”}”(hŒstruct device_node *node”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjˆßh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj„ßubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•ßh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„ßubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¦ßh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£ßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¨ßŒmodname”NŒ classname”Njbje)�”}”jh]”jIߌc.of_graph_get_port_parent”†”asbuh1hhj„ßubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄßh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„ßubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÒßh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj„ßubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjßßh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj„ßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj€ßubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj ßh²hh³jßh´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjßh²hh³jßh´Mˆubah}”(h]”jßah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jßh´Mˆhjßh²hubj>)�”}”(hhh]”jC)�”}”(hŒget port's parent node”h]”hŒget port’s parent node”…”�”}”(hj àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mˆhjàh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjßh²hh³jßh´Mˆubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj!àjbj!àjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÄ**Parameters** ``struct device_node *node`` pointer to a local endpoint device_node **Return** device node associated with endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj+àh]”hŒ Parameters”…”�”}”(hj-àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj)àubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MŒhj%àubj‡)�”}”(hhh]”jŒ)�”}”(hŒE``struct device_node *node`` pointer to a local endpoint device_node ”h]”(j’)�”}”(hŒ``struct device_node *node``”h]”j˜)�”}”(hjJàh]”hŒstruct device_node *node”…”�”}”(hjLàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjHàubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M‰hjDàubj®)�”}”(hhh]”jC)�”}”(hŒ'pointer to a local endpoint device_node”h]”hŒ'pointer to a local endpoint device_node”…”�”}”(hjcàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j_àh´M‰hj`àubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjDàubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j_àh´M‰hjAàubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj%àubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj…àh]”hŒReturn”…”�”}”(hj‡àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjƒàubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M‹hj%àubjC)�”}”(hŒ`device node associated with endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(hŒ4device node associated with endpoint node linked to ”…”�”}”(hj›àh²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hj£àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj›àubhŒ$. Use of_node_put() on it when done.”…”�”}”(hj›àh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M‹hj%àubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ,of_graph_get_remote_port_parent (C function)”Œ!c.of_graph_get_remote_port_parent”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒUstruct device_node * of_graph_get_remote_port_parent (const struct device_node *node)”h]”j)�”}”(hŒSstruct device_node *of_graph_get_remote_port_parent(const struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÜàh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjØàh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¨ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjêàh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjØàh²hh³jéàh´M¨ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjûàh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjøàubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jýàŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_remote_port_parent”sbŒ!c.of_graph_get_remote_port_parent”†”asbuh1hhjØàh²hh³jéàh´M¨ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjØàh²hh³jéàh´M¨ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj*áh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjØàh²hh³jéàh´M¨ubj‘)�”}”(hŒof_graph_get_remote_port_parent”h]”jE)�”}”(hjáh]”hŒof_graph_get_remote_port_parent”…”�”}”(hj;áh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj7áubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjØàh²hh³jéàh´M¨ubj¬)�”}”(hŒ (const struct device_node *node)”h]”j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjVáh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjRáubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcáh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjRáubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjqáh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjRáubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~áh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjRáubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj�áh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŒáubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j‘áŒmodname”NŒ classname”Njbje)�”}”jh]”jáŒ!c.of_graph_get_remote_port_parent”†”asbuh1hhjRáubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­áh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjRáubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj»áh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjRáubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjÈáh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjRáubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjNáubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjØàh²hh³jéàh´M¨ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÔàh²hh³jéàh´M¨ubah}”(h]”jÏàah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jéàh´M¨hjÑàh²hubj>)�”}”(hhh]”jC)�”}”(hŒget remote port's parent node”h]”hŒget remote port’s parent node”…”�”}”(hjòáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¨hjïáh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÑàh²hh³jéàh´M¨ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj âjbj âjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒØ**Parameters** ``const struct device_node *node`` pointer to a local endpoint device_node **Return** Remote device node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjâh]”hŒ Parameters”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¬hjâubj‡)�”}”(hhh]”jŒ)�”}”(hŒK``const struct device_node *node`` pointer to a local endpoint device_node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hj3âh]”hŒconst struct device_node *node”…”�”}”(hj5âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj1âubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M©hj-âubj®)�”}”(hhh]”jC)�”}”(hŒ'pointer to a local endpoint device_node”h]”hŒ'pointer to a local endpoint device_node”…”�”}”(hjLâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jHâh´M©hjIâubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj-âubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jHâh´M©hj*âubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjâubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjnâh]”hŒReturn”…”�”}”(hjpâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjlâubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M«hjâubjC)�”}”(hŒnRemote device node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(hŒBRemote device node associated with remote endpoint node linked to ”…”�”}”(hj„âh²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hjŒâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj„âubhŒ$. Use of_node_put() on it when done.”…”�”}”(hj„âh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M«hjâubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_graph_get_remote_port (C function)”Œc.of_graph_get_remote_port”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒNstruct device_node * of_graph_get_remote_port (const struct device_node *node)”h]”j)�”}”(hŒLstruct device_node *of_graph_get_remote_port(const struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÅâh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÁâh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓâh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÁâh²hh³jÒâh´Mºubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjäâh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjáâubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jæâŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_remote_port”sbŒc.of_graph_get_remote_port”†”asbuh1hhjÁâh²hh³jÒâh´Mºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÁâh²hh³jÒâh´Mºubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÁâh²hh³jÒâh´Mºubj‘)�”}”(hŒof_graph_get_remote_port”h]”jE)�”}”(hjãh]”hŒof_graph_get_remote_port”…”�”}”(hj$ãh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ãubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÁâh²hh³jÒâh´Mºubj¬)�”}”(hŒ (const struct device_node *node)”h]”j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj?ãh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj;ãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLãh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj;ãubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjZãh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj;ãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgãh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj;ãubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjxãh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jzãŒmodname”NŒ classname”Njbje)�”}”jh]”jãŒc.of_graph_get_remote_port”†”asbuh1hhj;ãubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–ãh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj;ãubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¤ãh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj;ãubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj±ãh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj;ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj7ãubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÁâh²hh³jÒâh´Mºubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj½âh²hh³jÒâh´Mºubah}”(h]”j¸âah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÒâh´Mºhjºâh²hubj>)�”}”(hhh]”jC)�”}”(hŒget remote port node”h]”hŒget remote port node”…”�”}”(hjÛãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MºhjØãh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjºâh²hh³jÒâh´Mºubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajóãjbjóãjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÖ**Parameters** ``const struct device_node *node`` pointer to a local endpoint device_node **Return** Remote port node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjýãh]”hŒ Parameters”…”�”}”(hjÿãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjûãubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M¾hj÷ãubj‡)�”}”(hhh]”jŒ)�”}”(hŒK``const struct device_node *node`` pointer to a local endpoint device_node ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjäh]”hŒconst struct device_node *node”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M»hjäubj®)�”}”(hhh]”jC)�”}”(hŒ'pointer to a local endpoint device_node”h]”hŒ'pointer to a local endpoint device_node”…”�”}”(hj5äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j1äh´M»hj2äubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjäubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j1äh´M»hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj÷ãubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjWäh]”hŒReturn”…”�”}”(hjYäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjUäubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M½hj÷ãubjC)�”}”(hŒlRemote port node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(hŒ@Remote port node associated with remote endpoint node linked to ”…”�”}”(hjmäh²hh³Nh´Nubjq)�”}”(hŒ**node**”h]”hŒnode”…”�”}”(hjuäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjmäubhŒ$. Use of_node_put() on it when done.”…”�”}”(hjmäh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´M½hj÷ãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(of_graph_get_endpoint_count (C function)”Œc.of_graph_get_endpoint_count”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒGunsigned int of_graph_get_endpoint_count (const struct device_node *np)”h]”j)�”}”(hŒFunsigned int of_graph_get_endpoint_count(const struct device_node *np)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj®äh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjªäh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÍubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½äh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjªäh²hh³j¼äh´MÍubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjËäh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjªäh²hh³j¼äh´MÍubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙäh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjªäh²hh³j¼äh´MÍubj‘)�”}”(hŒof_graph_get_endpoint_count”h]”jE)�”}”(hŒof_graph_get_endpoint_count”h]”hŒof_graph_get_endpoint_count”…”�”}”(hjëäh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjçäubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjªäh²hh³j¼äh´MÍubj¬)�”}”(hŒ(const struct device_node *np)”h]”j²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjåubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjåubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj"åh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjåubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/åh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjåubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj@åh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj=åubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jBåŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jíäsbŒc.of_graph_get_endpoint_count”†”asbuh1hhjåubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`åh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjåubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjnåh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjåubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj{åh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÿäubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjªäh²hh³j¼äh´MÍubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¦äh²hh³j¼äh´MÍubah}”(h]”j¡äah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¼äh´MÍhj£äh²hubj>)�”}”(hhh]”jC)�”}”(hŒ,get the number of endpoints in a device node”h]”hŒ,get the number of endpoints in a device node”…”�”}”(hj¥åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÍhj¢åh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj£äh²hh³j¼äh´MÍubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj½åjbj½åjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ—**Parameters** ``const struct device_node *np`` parent device node containing ports and endpoints **Return** count of endpoint of this device node”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÇåh]”hŒ Parameters”…”�”}”(hjÉåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÅåubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÑhjÁåubj‡)�”}”(hhh]”jŒ)�”}”(hŒS``const struct device_node *np`` parent device node containing ports and endpoints ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjæåh]”hŒconst struct device_node *np”…”�”}”(hjèåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjäåubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÎhjàåubj®)�”}”(hhh]”jC)�”}”(hŒ1parent device node containing ports and endpoints”h]”hŒ1parent device node containing ports and endpoints”…”�”}”(hjÿåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jûåh´MÎhjüåubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjàåubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jûåh´MÎhjÝåubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÁåubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj!æh]”hŒReturn”…”�”}”(hj#æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÐhjÁåubjC)�”}”(hŒ%count of endpoint of this device node”h]”hŒ%count of endpoint of this device node”…”�”}”(hj7æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MÐhjÁåubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_graph_get_port_count (C function)”Œc.of_graph_get_port_count”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ=unsigned int of_graph_get_port_count (struct device_node *np)”h]”j)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒ0get the number of port in a device or ports node”h]”hŒ0get the number of port in a device or ports node”…”�”}”(hjBçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mßhj?çh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj[æh²hh³jtæh´Mßubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajZçjbjZçjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒˆ**Parameters** ``struct device_node *np`` pointer to the device or ports node **Return** count of port of this device or ports node”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjdçh]”hŒ Parameters”…”�”}”(hjfçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjbçubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mãhj^çubj‡)�”}”(hhh]”jŒ)�”}”(hŒ?``struct device_node *np`` pointer to the device or ports node ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjƒçh]”hŒstruct device_node *np”…”�”}”(hj…çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�çubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Màhj}çubj®)�”}”(hhh]”jC)�”}”(hŒ#pointer to the device or ports node”h]”hŒ#pointer to the device or ports node”…”�”}”(hjœçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j˜çh´Màhj™çubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj}çubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j˜çh´Màhjzçubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj^çubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj¾çh]”hŒReturn”…”�”}”(hjÀçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¼çubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mâhj^çubjC)�”}”(hŒ*count of port of this device or ports node”h]”hŒ*count of port of this device or ports node”…”�”}”(hjÔçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mâhj^çubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_graph_get_remote_node (C function)”Œc.of_graph_get_remote_node”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒfstruct device_node * of_graph_get_remote_node (const struct device_node *node, u32 port, u32 endpoint)”h]”j)�”}”(hŒdstruct device_node *of_graph_get_remote_node(const struct device_node *node, u32 port, u32 endpoint)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÿçh²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mðubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÿçh²hh³jèh´Mðubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj"èh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjèubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j$èŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_graph_get_remote_node”sbŒc.of_graph_get_remote_node”†”asbuh1hhjÿçh²hh³jèh´Mðubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCèh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÿçh²hh³jèh´Mðubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjQèh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÿçh²hh³jèh´Mðubj‘)�”}”(hŒof_graph_get_remote_node”h]”jE)�”}”(hj@èh]”hŒof_graph_get_remote_node”…”�”}”(hjbèh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj^èubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÿçh²hh³jèh´Mðubj¬)�”}”(hŒ8(const struct device_node *node, u32 port, u32 endpoint)”h]”(j²)�”}”(hŒconst struct device_node *node”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj}èh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjyèubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠèh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjyèubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj˜èh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjyèubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥èh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjyèubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¶èh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj³èubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¸èŒmodname”NŒ classname”Njbje)�”}”jh]”j>èŒc.of_graph_get_remote_node”†”asbuh1hhjyèubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔèh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjyèubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjâèh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjyèubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjïèh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjyèubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjuèubj²)�”}”(hŒu32 port”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj éh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjéubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j éŒmodname”NŒ classname”Njbje)�”}”jh]”j>èŒc.of_graph_get_remote_node”†”asbuh1hhjéubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)éh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjéubjE)�”}”(hŒport”h]”hŒport”…”�”}”(hj7éh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjuèubj²)�”}”(hŒ u32 endpoint”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjSéh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjPéubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jUéŒmodname”NŒ classname”Njbje)�”}”jh]”j>èŒc.of_graph_get_remote_node”†”asbuh1hhjLéubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqéh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjLéubjE)�”}”(hŒendpoint”h]”hŒendpoint”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$•4]”h&]”uh1jDhjLéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjuèubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÿçh²hh³jèh´Mðubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjûçh²hh³jèh´Mðubah}”(h]”jöçah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jèh´Mðhjøçh²hubj>)�”}”(hhh]”jC)�”}”(hŒ5get remote parent device_node for given port/endpoint”h]”hŒ5get remote parent device_node for given port/endpoint”…”�”}”(hj©éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mðhj¦éh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjøçh²hh³jèh´Mðubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÁéjbjÁéjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX„**Parameters** ``const struct device_node *node`` pointer to parent device_node containing graph port/endpoint ``u32 port`` identifier (value of reg property) of the parent port node ``u32 endpoint`` identifier (value of reg property) of the endpoint node **Return** Remote device node associated with remote endpoint node linked to **node**. Use of_node_put() on it when done.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjËéh]”hŒ Parameters”…”�”}”(hjÍéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÉéubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´MôhjÅéubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ```const struct device_node *node`` pointer to parent device_node containing graph port/endpoint ”h]”(j’)�”}”(hŒ"``const struct device_node *node``”h]”j˜)�”}”(hjêéh]”hŒconst struct device_node *node”…”�”}”(hjìéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjèéubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:17: ./drivers/of/property.c”h´Mñhjäéubj®)�”}”(hhh]”jC)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒ$the OF graph endpoint data structure”h]”hŒ$the OF graph endpoint data structure”…”�”}”(hj0ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´Khj-ëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjãêh²hh³jûêh´Kubeh}”(h]”h ]”(j\Œstruct”eh"]”h$]”h&]”j`j\jajHëjbjHëjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX`**Definition**:: struct of_endpoint { unsigned int port; unsigned int id; const struct device_node *local_node; }; **Members** ``port`` identifier (value of reg property) of a port this endpoint belongs to ``id`` identifier (value of reg property) of this endpoint ``local_node`` pointer to device_node of this endpoint”h]”(jC)�”}”(hŒ**Definition**::”h]”(jq)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjTëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjPëubhŒ:”…”�”}”(hjPëh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´KhjLëubj×B)�”}”(hŒmstruct of_endpoint { unsigned int port; unsigned int id; const struct device_node *local_node; };”h]”hŒmstruct of_endpoint { unsigned int port; unsigned int id; const struct device_node *local_node; };”…”�”}”hjmësbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´KhjLëubjC)�”}”(hŒ **Members**”h]”jq)�”}”(hj~ëh]”hŒMembers”…”�”}”(hj€ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj|ëubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´KhjLëubj‡)�”}”(hhh]”(jŒ)�”}”(hŒO``port`` identifier (value of reg property) of a port this endpoint belongs to ”h]”(j’)�”}”(hŒ``port``”h]”j˜)�”}”(hj�ëh]”hŒport”…”�”}”(hjŸëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj›ëubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´Khj—ëubj®)�”}”(hhh]”jC)�”}”(hŒEidentifier (value of reg property) of a port this endpoint belongs to”h]”hŒEidentifier (value of reg property) of a port this endpoint belongs to”…”�”}”(hj¶ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j²ëh´Khj³ëubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj—ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j²ëh´Khj”ëubjŒ)�”}”(hŒ;``id`` identifier (value of reg property) of this endpoint ”h]”(j’)�”}”(hŒ``id``”h]”j˜)�”}”(hjÖëh]”hŒid”…”�”}”(hjØëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÔëubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´KhjÐëubj®)�”}”(hhh]”jC)�”}”(hŒ3identifier (value of reg property) of this endpoint”h]”hŒ3identifier (value of reg property) of this endpoint”…”�”}”(hjïëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jëëh´Khjìëubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÐëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jëëh´Khj”ëubjŒ)�”}”(hŒ6``local_node`` pointer to device_node of this endpoint”h]”(j’)�”}”(hŒ``local_node``”h]”j˜)�”}”(hjìh]”hŒ local_node”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj ìubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´Khj ìubj®)�”}”(hhh]”jC)�”}”(hŒ'pointer to device_node of this endpoint”h]”hŒ'pointer to device_node of this endpoint”…”�”}”(hj(ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´Khj%ìubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj ìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j$ìh´Khj”ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjLëubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ#for_each_endpoint_of_node (C macro)”Œc.for_each_endpoint_of_node”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒfor_each_endpoint_of_node”h]”j)�”}”(hŒfor_each_endpoint_of_node”h]”j‘)�”}”(hŒfor_each_endpoint_of_node”h]”jE)�”}”(hjcìh]”hŒfor_each_endpoint_of_node”…”�”}”(hjmìh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjiìubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjeìh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´Kubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjaìh²hh³j€ìh´Kubah}”(h]”j\ìah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j€ìh´Khj^ìh²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j=hj^ìh²hh³j€ìh´Kubeh}”(h]”h ]”(j\Œmacro”eh"]”h$]”h&]”j`j\jaj™ìjbj™ìjc‰jd‰je‰uh1j h²hhhëh³Nh´NubjC)�”}”(hŒ-``for_each_endpoint_of_node (parent, child)``”h]”j˜)�”}”(hjŸìh]”hŒ)for_each_endpoint_of_node (parent, child)”…”�”}”(hj¡ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�ìubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K!hhëh²hubj()�”}”(hŒ-iterate over every endpoint in a device node ”h]”jC)�”}”(hŒ,iterate over every endpoint in a device node”h]”hŒ,iterate over every endpoint in a device node”…”�”}”(hj¹ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´Khjµìubah}”(h]”h ]”h"]”h$]”h&]”uh1j'h³jÇìh´Khhëh²hubjg)�”}”(hŒî**Parameters** ``parent`` parent device node containing ports and endpoints ``child`` loop variable pointing to the current endpoint node **Description** When breaking out of the loop, of_node_put(child) has to be called manually.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÔìh]”hŒ Parameters”…”�”}”(hjÖìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÒìubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K#hjÎìubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ=``parent`` parent device node containing ports and endpoints ”h]”(j’)�”}”(hŒ ``parent``”h]”j˜)�”}”(hjóìh]”hŒparent”…”�”}”(hjõìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjñìubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K hjíìubj®)�”}”(hhh]”jC)�”}”(hŒ1parent device node containing ports and endpoints”h]”hŒ1parent device node containing ports and endpoints”…”�”}”(hj íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jíh´K hj íubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjíìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jíh´K hjêìubjŒ)�”}”(hŒ>``child`` loop variable pointing to the current endpoint node ”h]”(j’)�”}”(hŒ ``child``”h]”j˜)�”}”(hj,íh]”hŒchild”…”�”}”(hj.íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj*íubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K!hj&íubj®)�”}”(hhh]”jC)�”}”(hŒ3loop variable pointing to the current endpoint node”h]”hŒ3loop variable pointing to the current endpoint node”…”�”}”(hjEíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jAíh´K!hjBíubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj&íubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jAíh´K!hjêìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÎìubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjgíh]”hŒ Description”…”�”}”(hjiíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjeíubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K#hjÎìubjC)�”}”(hŒLWhen breaking out of the loop, of_node_put(child) has to be called manually.”h]”hŒLWhen breaking out of the loop, of_node_put(child) has to be called manually.”…”�”}”(hj}íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K"hjÎìubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ for_each_of_graph_port (C macro)”Œc.for_each_of_graph_port”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒfor_each_of_graph_port”h]”j)�”}”(hŒfor_each_of_graph_port”h]”j‘)�”}”(hŒfor_each_of_graph_port”h]”jE)�”}”(hj¦íh]”hŒfor_each_of_graph_port”…”�”}”(hj°íh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¬íubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¨íh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K*ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¤íh²hh³jÃíh´K*ubah}”(h]”jŸíah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÃíh´K*hj¡íh²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¡íh²hh³jÃíh´K*ubeh}”(h]”h ]”(j\Œmacro”eh"]”h$]”h&]”j`j\jajÜíjbjÜíjc‰jd‰je‰uh1j h²hhhëh³Nh´NubjC)�”}”(hŒ*``for_each_of_graph_port (parent, child)``”h]”j˜)�”}”(hjâíh]”hŒ&for_each_of_graph_port (parent, child)”…”�”}”(hjäíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjàíubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K,hhëh²hubj()�”}”(hŒ2iterate over every port in a device or ports node ”h]”jC)�”}”(hŒ1iterate over every port in a device or ports node”h]”hŒ1iterate over every port in a device or ports node”…”�”}”(hjüíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K*hjøíubah}”(h]”h ]”h"]”h$]”h&]”uh1j'h³j îh´K*hhëh²hubjg)�”}”(hX6**Parameters** ``parent`` parent device or ports node containing port ``child`` loop variable pointing to the current port node **Description** When breaking out of the loop, and continue to use the **child**, you need to use return_ptr(**child**) or no_free_ptr(**child**) not to call __free() for it.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjîh]”hŒ Parameters”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjîubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K.hjîubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ7``parent`` parent device or ports node containing port ”h]”(j’)�”}”(hŒ ``parent``”h]”j˜)�”}”(hj6îh]”hŒparent”…”�”}”(hj8îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj4îubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K+hj0îubj®)�”}”(hhh]”jC)�”}”(hŒ+parent device or ports node containing port”h]”hŒ+parent device or ports node containing port”…”�”}”(hjOîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jKîh´K+hjLîubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj0îubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jKîh´K+hj-îubjŒ)�”}”(hŒ:``child`` loop variable pointing to the current port node ”h]”(j’)�”}”(hŒ ``child``”h]”j˜)�”}”(hjoîh]”hŒchild”…”�”}”(hjqîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjmîubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K,hjiîubj®)�”}”(hhh]”jC)�”}”(hŒ/loop variable pointing to the current port node”h]”hŒ/loop variable pointing to the current port node”…”�”}”(hjˆîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j„îh´K,hj…îubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjiîubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j„îh´K,hj-îubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjîubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjªîh]”hŒ Description”…”�”}”(hj¬îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¨îubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K.hjîubjC)�”}”(hŒžWhen breaking out of the loop, and continue to use the **child**, you need to use return_ptr(**child**) or no_free_ptr(**child**) not to call __free() for it.”h]”(hŒ7When breaking out of the loop, and continue to use the ”…”�”}”(hjÀîh²hh³Nh´Nubjq)�”}”(hŒ **child**”h]”hŒchild”…”�”}”(hjÈîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÀîubhŒ, you need to use return_ptr(”…”�”}”(hjÀîh²hh³Nh´Nubjq)�”}”(hŒ **child**”h]”hŒchild”…”�”}”(hjÚîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÀîubhŒ) or no_free_ptr(”…”�”}”(hjÀîh²hh³Nh´Nubjq)�”}”(hŒ **child**”h]”hŒchild”…”�”}”(hjìîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÀîubhŒ) not to call __free() for it.”…”�”}”(hjÀîh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K-hjîubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ)for_each_of_graph_port_endpoint (C macro)”Œ!c.for_each_of_graph_port_endpoint”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒfor_each_of_graph_port_endpoint”h]”j)�”}”(hŒfor_each_of_graph_port_endpoint”h]”j‘)�”}”(hŒfor_each_of_graph_port_endpoint”h]”jE)�”}”(hjïh]”hŒfor_each_of_graph_port_endpoint”…”�”}”(hj)ïh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj%ïubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj!ïh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K6ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjïh²hh³j<ïh´K6ubah}”(h]”jïah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j<ïh´K6hjïh²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j=hjïh²hh³j<ïh´K6ubeh}”(h]”h ]”(j\Œmacro”eh"]”h$]”h&]”j`j\jajUïjbjUïjc‰jd‰je‰uh1j h²hhhëh³Nh´NubjC)�”}”(hŒ3``for_each_of_graph_port_endpoint (parent, child)``”h]”j˜)�”}”(hj[ïh]”hŒ/for_each_of_graph_port_endpoint (parent, child)”…”�”}”(hj]ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjYïubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K8hhëh²hubj()�”}”(hŒ+iterate over every endpoint in a port node ”h]”jC)�”}”(hŒ*iterate over every endpoint in a port node”h]”hŒ*iterate over every endpoint in a port node”…”�”}”(hjuïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K6hjqïubah}”(h]”h ]”h"]”h$]”h&]”uh1j'h³jƒïh´K6hhëh²hubjg)�”}”(hX**Parameters** ``parent`` parent port node ``child`` loop variable pointing to the current endpoint node **Description** When breaking out of the loop, and continue to use the **child**, you need to use return_ptr(**child**) or no_free_ptr(**child**) not to call __free() for it.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj�ïh]”hŒ Parameters”…”�”}”(hj’ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŽïubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K:hjŠïubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ``parent`` parent port node ”h]”(j’)�”}”(hŒ ``parent``”h]”j˜)�”}”(hj¯ïh]”hŒparent”…”�”}”(hj±ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj­ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K7hj©ïubj®)�”}”(hhh]”jC)�”}”(hŒparent port node”h]”hŒparent port node”…”�”}”(hjÈïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÄïh´K7hjÅïubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj©ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÄïh´K7hj¦ïubjŒ)�”}”(hŒ>``child`` loop variable pointing to the current endpoint node ”h]”(j’)�”}”(hŒ ``child``”h]”j˜)�”}”(hjèïh]”hŒchild”…”�”}”(hjêïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjæïubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K8hjâïubj®)�”}”(hhh]”jC)�”}”(hŒ3loop variable pointing to the current endpoint node”h]”hŒ3loop variable pointing to the current endpoint node”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jýïh´K8hjþïubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjâïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jýïh´K8hj¦ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjŠïubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj#ðh]”hŒ Description”…”�”}”(hj%ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj!ðubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K:hjŠïubjC)�”}”(hŒžWhen breaking out of the loop, and continue to use the **child**, you need to use return_ptr(**child**) or no_free_ptr(**child**) not to call __free() for it.”h]”(hŒ7When breaking out of the loop, and continue to use the ”…”�”}”(hj9ðh²hh³Nh´Nubjq)�”}”(hŒ **child**”h]”hŒchild”…”�”}”(hjAðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj9ðubhŒ, you need to use return_ptr(”…”�”}”(hj9ðh²hh³Nh´Nubjq)�”}”(hŒ **child**”h]”hŒchild”…”�”}”(hjSðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj9ðubhŒ) or no_free_ptr(”…”�”}”(hj9ðh²hh³Nh´Nubjq)�”}”(hŒ **child**”h]”hŒchild”…”�”}”(hjeðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj9ðubhŒ) not to call __free() for it.”…”�”}”(hj9ðh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ^/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:20: ./include/linux/of_graph.h”h´K9hjŠïubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$of_translate_dma_region (C function)”Œc.of_translate_dma_region”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒxconst __be32 * of_translate_dma_region (struct device_node *dev, const __be32 *prop, phys_addr_t *start, size_t *length)”h]”j)�”}”(hŒvconst __be32 *of_translate_dma_region(struct device_node *dev, const __be32 *prop, phys_addr_t *start, size_t *length)”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjžðh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjšðh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M‰ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬ðh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjšðh²hh³j«ðh´M‰ubh)�”}”(hhh]”jE)�”}”(hŒ__be32”h]”hŒ__be32”…”�”}”(hj½ðh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjºðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¿ðŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_translate_dma_region”sbŒc.of_translate_dma_region”†”asbuh1hhjšðh²hh³j«ðh´M‰ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞðh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjšðh²hh³j«ðh´M‰ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjìðh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjšðh²hh³j«ðh´M‰ubj‘)�”}”(hŒof_translate_dma_region”h]”jE)�”}”(hjÛðh]”hŒof_translate_dma_region”…”�”}”(hjýðh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùðubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjšðh²hh³j«ðh´M‰ubj¬)�”}”(hŒQ(struct device_node *dev, const __be32 *prop, phys_addr_t *start, size_t *length)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjñubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%ñh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjñubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj6ñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj3ñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j8ñŒmodname”NŒ classname”Njbje)�”}”jh]”jÙðŒc.of_translate_dma_region”†”asbuh1hhjñubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTñh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjñubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjbñh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjñubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjoñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjñubj²)�”}”(hŒconst __be32 *prop”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjˆñh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj„ñubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•ñh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„ñubh)�”}”(hhh]”jE)�”}”(hŒ__be32”h]”hŒ__be32”…”�”}”(hj¦ñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj£ñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¨ñŒmodname”NŒ classname”Njbje)�”}”jh]”jÙðŒc.of_translate_dma_region”†”asbuh1hhj„ñubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄñh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj„ñubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÒñh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj„ñubjE)�”}”(hŒprop”h]”hŒprop”…”�”}”(hjßñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj„ñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjñubj²)�”}”(hŒphys_addr_t *start”h]”(h)�”}”(hhh]”jE)�”}”(hŒ phys_addr_t”h]”hŒ phys_addr_t”…”�”}”(hjûñh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjøñubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jýñŒmodname”NŒ classname”Njbje)�”}”jh]”jÙðŒc.of_translate_dma_region”†”asbuh1hhjôñubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjôñubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj'òh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjôñubjE)�”}”(hŒstart”h]”hŒstart”…”�”}”(hj4òh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjôñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjñubj²)�”}”(hŒsize_t *length”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjPòh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjMòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jRòŒmodname”NŒ classname”Njbje)�”}”jh]”jÙðŒc.of_translate_dma_region”†”asbuh1hhjIòubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnòh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjIòubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj|òh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjIòubjE)�”}”(hŒlength”h]”hŒlength”…”�”}”(hj‰òh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjIòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjñubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjšðh²hh³j«ðh´M‰ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj–ðh²hh³j«ðh´M‰ubah}”(h]”j‘ðah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j«ðh´M‰hj“ðh²hubj>)�”}”(hhh]”jC)�”}”(hŒ,Translate device tree address and size tuple”h]”hŒ,Translate device tree address and size tuple”…”�”}”(hj³òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M‰hj°òh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj“ðh²hh³j«ðh´M‰ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajËòjbjËòjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXu**Parameters** ``struct device_node *dev`` device tree node for which to translate ``const __be32 *prop`` pointer into array of cells ``phys_addr_t *start`` return value for the start of the DMA range ``size_t *length`` return value for the length of the DMA range **Description** Returns a pointer to the cell immediately following the translated DMA region.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÕòh]”hŒ Parameters”…”�”}”(hj×òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÓòubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M�hjÏòubj‡)�”}”(hhh]”(jŒ)�”}”(hŒD``struct device_node *dev`` device tree node for which to translate ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hjôòh]”hŒstruct device_node *dev”…”�”}”(hjöòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjòòubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MŠhjîòubj®)�”}”(hhh]”jC)�”}”(hŒ'device tree node for which to translate”h]”hŒ'device tree node for which to translate”…”�”}”(hj óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j óh´MŠhj óubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjîòubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j óh´MŠhjëòubjŒ)�”}”(hŒ3``const __be32 *prop`` pointer into array of cells ”h]”(j’)�”}”(hŒ``const __be32 *prop``”h]”j˜)�”}”(hj-óh]”hŒconst __be32 *prop”…”�”}”(hj/óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj+óubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M‹hj'óubj®)�”}”(hhh]”jC)�”}”(hŒpointer into array of cells”h]”hŒpointer into array of cells”…”�”}”(hjFóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jBóh´M‹hjCóubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj'óubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jBóh´M‹hjëòubjŒ)�”}”(hŒC``phys_addr_t *start`` return value for the start of the DMA range ”h]”(j’)�”}”(hŒ``phys_addr_t *start``”h]”j˜)�”}”(hjfóh]”hŒphys_addr_t *start”…”�”}”(hjhóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjdóubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MŒhj`óubj®)�”}”(hhh]”jC)�”}”(hŒ+return value for the start of the DMA range”h]”hŒ+return value for the start of the DMA range”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j{óh´MŒhj|óubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj`óubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j{óh´MŒhjëòubjŒ)�”}”(hŒ@``size_t *length`` return value for the length of the DMA range ”h]”(j’)�”}”(hŒ``size_t *length``”h]”j˜)�”}”(hjŸóh]”hŒsize_t *length”…”�”}”(hj¡óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�óubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M�hj™óubj®)�”}”(hhh]”jC)�”}”(hŒ,return value for the length of the DMA range”h]”hŒ,return value for the length of the DMA range”…”�”}”(hj¸óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j´óh´M�hjµóubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj™óubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j´óh´M�hjëòubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÏòubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÚóh]”hŒ Description”…”�”}”(hjÜóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjØóubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M�hjÏòubjC)�”}”(hŒNReturns a pointer to the cell immediately following the translated DMA region.”h]”hŒNReturns a pointer to the cell immediately following the translated DMA region.”…”�”}”(hjðóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MŽhjÏòubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_property_read_reg (C function)”Œc.of_property_read_reg”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒPint of_property_read_reg (struct device_node *np, int idx, u64 *addr, u64 *size)”h]”j)�”}”(hŒOint of_property_read_reg(struct device_node *np, int idx, u64 *addr, u64 *size)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjôh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MÛubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.ôh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjôh²hh³j-ôh´MÛubj‘)�”}”(hŒof_property_read_reg”h]”jE)�”}”(hŒof_property_read_reg”h]”hŒof_property_read_reg”…”�”}”(hj@ôh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj<ôubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjôh²hh³j-ôh´MÛubj¬)�”}”(hŒ7(struct device_node *np, int idx, u64 *addr, u64 *size)”h]”(j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj\ôh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjXôubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiôh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjXôubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjzôh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjwôubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j|ôŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jBôsbŒc.of_property_read_reg”†”asbuh1hhjXôubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšôh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjXôubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¨ôh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjXôubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjµôh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjXôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjTôubj²)�”}”(hŒint idx”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÎôh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÊôubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜôh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÊôubjE)�”}”(hŒidx”h]”hŒidx”…”�”}”(hjêôh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÊôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjTôubj²)�”}”(hŒ u64 *addr”h]”(h)�”}”(hhh]”jE)�”}”(hŒu64”h]”hŒu64”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jõŒmodname”NŒ classname”Njbje)�”}”jh]”j–ôŒc.of_property_read_reg”†”asbuh1hhjÿôubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$õh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÿôubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj2õh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÿôubjE)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj?õh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÿôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjTôubj²)�”}”(hŒ u64 *size”h]”(h)�”}”(hhh]”jE)�”}”(hŒu64”h]”hŒu64”…”�”}”(hj[õh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjXõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j]õŒmodname”NŒ classname”Njbje)�”}”jh]”j–ôŒc.of_property_read_reg”†”asbuh1hhjTõubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyõh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjTõubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‡õh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjTõubjE)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj”õh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjTõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjTôubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjôh²hh³j-ôh´MÛubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjôh²hh³j-ôh´MÛubah}”(h]”jôah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j-ôh´MÛhjôh²hubj>)�”}”(hhh]”jC)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒCheck if device is coherent”h]”hŒCheck if device is coherent”…”�”}”(hjé÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mñhjæ÷h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj÷h²hh³j7÷h´Mñubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajøjbjøjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``struct device_node *np`` device node **Description** It returns true if "dma-coherent" property was found for this device in the DT, or if DMA is coherent by default for OF devices on the current platform and no "dma-noncoherent" property was found for this device.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj øh]”hŒ Parameters”…”�”}”(hj øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj øubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mõhjøubj‡)�”}”(hhh]”jŒ)�”}”(hŒ'``struct device_node *np`` device node ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hj*øh]”hŒstruct device_node *np”…”�”}”(hj,øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj(øubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mòhj$øubj®)�”}”(hhh]”jC)�”}”(hŒ device node”h]”hŒ device node”…”�”}”(hjCøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j?øh´Mòhj@øubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj$øubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j?øh´Mòhj!øubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjøubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjeøh]”hŒ Description”…”�”}”(hjgøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjcøubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MôhjøubjC)�”}”(hŒÔIt returns true if "dma-coherent" property was found for this device in the DT, or if DMA is coherent by default for OF devices on the current platform and no "dma-noncoherent" property was found for this device.”h]”hŒÜIt returns true if “dma-coherentâ€� property was found for this device in the DT, or if DMA is coherent by default for OF devices on the current platform and no “dma-noncoherentâ€� property was found for this device.”…”�”}”(hj{øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Móhjøubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ#of_address_to_resource (C function)”Œc.of_address_to_resource”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒSint of_address_to_resource (struct device_node *dev, int index, struct resource *r)”h]”j)�”}”(hŒRint of_address_to_resource(struct device_node *dev, int index, struct resource *r)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjªøh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¦øh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MAubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹øh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¦øh²hh³j¸øh´MAubj‘)�”}”(hŒof_address_to_resource”h]”jE)�”}”(hŒof_address_to_resource”h]”hŒof_address_to_resource”…”�”}”(hjËøh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÇøubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¦øh²hh³j¸øh´MAubj¬)�”}”(hŒ8(struct device_node *dev, int index, struct resource *r)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjçøh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjãøubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôøh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjãøubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jùŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÍøsbŒc.of_address_to_resource”†”asbuh1hhjãøubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%ùh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjãøubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj3ùh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjãøubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj@ùh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjãøubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjßøubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjYùh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjUùubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgùh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUùubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjuùh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjUùubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjßøubj²)�”}”(hŒstruct resource *r”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjŽùh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŠùubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›ùh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠùubh)�”}”(hhh]”jE)�”}”(hŒresource”h]”hŒresource”…”�”}”(hj¬ùh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©ùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j®ùŒmodname”NŒ classname”Njbje)�”}”jh]”j!ùŒc.of_address_to_resource”†”asbuh1hhjŠùubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊùh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠùubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjØùh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŠùubjE)�”}”(hŒr”h]”hŒr”…”�”}”(hjåùh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠùubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjßøubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¦øh²hh³j¸øh´MAubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¢øh²hh³j¸øh´MAubah}”(h]”j�øah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¸øh´MAhjŸøh²hubj>)�”}”(hhh]”jC)�”}”(hŒ4Translate device tree address and return as resource”h]”hŒ4Translate device tree address and return as resource”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MAhj úh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjŸøh²hh³j¸øh´MAubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj'újbj'újc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXò**Parameters** ``struct device_node *dev`` Caller's Device Node ``int index`` Index into the array ``struct resource *r`` Pointer to resource array **Description** Returns -EINVAL if the range cannot be converted to resource. Note that if your address is a PIO address, the conversion will fail if the physical address can't be internally converted to an IO token with pci_address_to_pio(), that is because it's either called too early or it can't be matched to any host bridge IO space”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj1úh]”hŒ Parameters”…”�”}”(hj3úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj/úubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MEhj+úubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ1``struct device_node *dev`` Caller's Device Node ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hjPúh]”hŒstruct device_node *dev”…”�”}”(hjRúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjNúubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MBhjJúubj®)�”}”(hhh]”jC)�”}”(hŒCaller's Device Node”h]”hŒCaller’s Device Node”…”�”}”(hjiúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jeúh´MBhjfúubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjJúubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jeúh´MBhjGúubjŒ)�”}”(hŒ#``int index`` Index into the array ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hj‰úh]”hŒ int index”…”�”}”(hj‹úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj‡úubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MChjƒúubj®)�”}”(hhh]”jC)�”}”(hŒIndex into the array”h]”hŒIndex into the array”…”�”}”(hj¢úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jžúh´MChjŸúubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjƒúubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jžúh´MChjGúubjŒ)�”}”(hŒ1``struct resource *r`` Pointer to resource array ”h]”(j’)�”}”(hŒ``struct resource *r``”h]”j˜)�”}”(hjÂúh]”hŒstruct resource *r”…”�”}”(hjÄúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÀúubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MDhj¼úubj®)�”}”(hhh]”jC)�”}”(hŒPointer to resource array”h]”hŒPointer to resource array”…”�”}”(hjÛúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j×úh´MDhjØúubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¼úubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j×úh´MDhjGúubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj+úubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjýúh]”hŒ Description”…”�”}”(hjÿúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjûúubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MFhj+úubjC)�”}”(hŒ=Returns -EINVAL if the range cannot be converted to resource.”h]”hŒ=Returns -EINVAL if the range cannot be converted to resource.”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MEhj+úubjC)�”}”(hXNote that if your address is a PIO address, the conversion will fail if the physical address can't be internally converted to an IO token with pci_address_to_pio(), that is because it's either called too early or it can't be matched to any host bridge IO space”h]”hX Note that if your address is a PIO address, the conversion will fail if the physical address can’t be internally converted to an IO token with pci_address_to_pio(), that is because it’s either called too early or it can’t be matched to any host bridge IO space”…”�”}”(hj"ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MGhj+úubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_iomap (C function)”Œ c.of_iomap”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ;void __iomem * of_iomap (struct device_node *np, int index)”h]”j)�”}”(hŒ9void __iomem *of_iomap(struct device_node *np, int index)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjQûh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjMûh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`ûh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjMûh²hh³j_ûh´M`ubhŒ__iomem”…”�”}”(hjMûh²hh³Nh´Nubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrûh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjMûh²hh³j_ûh´M`ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj€ûh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjMûh²hh³j_ûh´M`ubj‘)�”}”(hŒof_iomap”h]”jE)�”}”(hŒof_iomap”h]”hŒof_iomap”…”�”}”(hj‘ûh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�ûubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjMûh²hh³j_ûh´M`ubj¬)�”}”(hŒ#(struct device_node *np, int index)”h]”(j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj­ûh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj©ûubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºûh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©ûubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjËûh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÈûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÍûŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j“ûsbŒ c.of_iomap”†”asbuh1hhj©ûubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëûh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©ûubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjùûh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj©ûubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©ûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥ûubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjüubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-üh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjüubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj;üh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjüubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥ûubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjMûh²hh³j_ûh´M`ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjIûh²hh³j_ûh´M`ubah}”(h]”jDûah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j_ûh´M`hjFûh²hubj>)�”}”(hhh]”jC)�”}”(hŒ1Maps the memory mapped IO for a given device_node”h]”hŒ1Maps the memory mapped IO for a given device_node”…”�”}”(hjeüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´M`hjbüh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjFûh²hh³j_ûh´M`ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj}üjbj}üjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒµ**Parameters** ``struct device_node *np`` the device whose io range will be mapped ``int index`` index of the io range **Description** Returns a pointer to the mapped memory”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj‡üh]”hŒ Parameters”…”�”}”(hj‰üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj…üubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mdhj�üubj‡)�”}”(hhh]”(jŒ)�”}”(hŒD``struct device_node *np`` the device whose io range will be mapped ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hj¦üh]”hŒstruct device_node *np”…”�”}”(hj¨üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¤üubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mahj üubj®)�”}”(hhh]”jC)�”}”(hŒ(the device whose io range will be mapped”h]”hŒ(the device whose io range will be mapped”…”�”}”(hj¿üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j»üh´Mahj¼üubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj üubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j»üh´Mahj�üubjŒ)�”}”(hŒ$``int index`` index of the io range ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjßüh]”hŒ int index”…”�”}”(hjáüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÝüubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´MbhjÙüubj®)�”}”(hhh]”jC)�”}”(hŒindex of the io range”h]”hŒindex of the io range”…”�”}”(hjøüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jôüh´Mbhjõüubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÙüubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jôüh´Mbhj�üubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj�üubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjýh]”hŒ Description”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mdhj�üubjC)�”}”(hŒ&Returns a pointer to the mapped memory”h]”hŒ&Returns a pointer to the mapped memory”…”�”}”(hj0ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:23: ./drivers/of/address.c”h´Mchj�üubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!irq_of_parse_and_map (C function)”Œc.irq_of_parse_and_map”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒFunsigned int irq_of_parse_and_map (struct device_node *dev, int index)”h]”j)�”}”(hŒEunsigned int irq_of_parse_and_map(struct device_node *dev, int index)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj_ýh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj[ýh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnýh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj[ýh²hh³jmýh´K ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj|ýh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj[ýh²hh³jmýh´K ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠýh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj[ýh²hh³jmýh´K ubj‘)�”}”(hŒirq_of_parse_and_map”h]”jE)�”}”(hŒirq_of_parse_and_map”h]”hŒirq_of_parse_and_map”…”�”}”(hjœýh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj˜ýubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj[ýh²hh³jmýh´K ubj¬)�”}”(hŒ$(struct device_node *dev, int index)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¸ýh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj´ýubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅýh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj´ýubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÖýh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÓýubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jØýŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jžýsbŒc.irq_of_parse_and_map”†”asbuh1hhj´ýubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöýh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj´ýubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj´ýubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj´ýubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj°ýubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj*þh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj&þubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8þh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj&þubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjFþh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj&þubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj°ýubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj[ýh²hh³jmýh´K ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjWýh²hh³jmýh´K ubah}”(h]”jRýah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jmýh´K hjTýh²hubj>)�”}”(hhh]”jC)�”}”(hŒ0Parse and map an interrupt into linux virq space”h]”hŒ0Parse and map an interrupt into linux virq space”…”�”}”(hjpþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K hjmþh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjTýh²hh³jmýh´K ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajˆþjbjˆþjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``struct device_node *dev`` Device node of the device whose interrupt is to be mapped ``int index`` Index of the interrupt to map **Description** This function is a wrapper that chains of_irq_parse_one() and irq_create_of_mapping() to make things easier to callers”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj’þh]”hŒ Parameters”…”�”}”(hj”þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj�þubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K$hjŒþubj‡)�”}”(hhh]”(jŒ)�”}”(hŒV``struct device_node *dev`` Device node of the device whose interrupt is to be mapped ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hj±þh]”hŒstruct device_node *dev”…”�”}”(hj³þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¯þubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”•h´K!hj«þubj®)�”}”(hhh]”jC)�”}”(hŒ9Device node of the device whose interrupt is to be mapped”h]”hŒ9Device node of the device whose interrupt is to be mapped”…”�”}”(hjÊþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÆþh´K!hjÇþubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj«þubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÆþh´K!hj¨þubjŒ)�”}”(hŒ,``int index`` Index of the interrupt to map ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hjêþh]”hŒ int index”…”�”}”(hjìþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjèþubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K"hjäþubj®)�”}”(hhh]”jC)�”}”(hŒIndex of the interrupt to map”h]”hŒIndex of the interrupt to map”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÿþh´K"hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjäþubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÿþh´K"hj¨þubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjŒþubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj%ÿh]”hŒ Description”…”�”}”(hj'ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj#ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K$hjŒþubjC)�”}”(hŒvThis function is a wrapper that chains of_irq_parse_one() and irq_create_of_mapping() to make things easier to callers”h]”hŒvThis function is a wrapper that chains of_irq_parse_one() and irq_create_of_mapping() to make things easier to callers”…”�”}”(hj;ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K#hjŒþubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_find_parent (C function)”Œc.of_irq_find_parent”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒCstruct device_node * of_irq_find_parent (struct device_node *child)”h]”j)�”}”(hŒAstruct device_node *of_irq_find_parent(struct device_node *child)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjjÿh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjfÿh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxÿh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjfÿh²hh³jwÿh´K7ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj‰ÿh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj†ÿubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j‹ÿŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_irq_find_parent”sbŒc.of_irq_find_parent”†”asbuh1hhjfÿh²hh³jwÿh´K7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªÿh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjfÿh²hh³jwÿh´K7ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¸ÿh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjfÿh²hh³jwÿh´K7ubj‘)�”}”(hŒof_irq_find_parent”h]”jE)�”}”(hj§ÿh]”hŒof_irq_find_parent”…”�”}”(hjÉÿh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÅÿubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjfÿh²hh³jwÿh´K7ubj¬)�”}”(hŒ(struct device_node *child)”h]”j²)�”}”(hŒstruct device_node *child”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjäÿh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjàÿubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñÿh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjàÿubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÿÿubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŒmodname”NŒ classname”Njbje)�”}”jh]”j¥ÿŒc.of_irq_find_parent”†”asbuh1hhjàÿubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjàÿubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjàÿubjE)�”}”(hŒchild”h]”hŒchild”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjàÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÜÿubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjfÿh²hh³jwÿh´K7ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjbÿh²hh³jwÿh´K7ubah}”(h]”j]ÿah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jwÿh´K7hj_ÿh²hubj>)�”}”(hhh]”jC)�”}”(hŒ3Given a device node, find its interrupt parent node”h]”hŒ3Given a device node, find its interrupt parent node”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K7hjbh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj_ÿh²hh³jwÿh´K7ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj}jbj}jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒË**Parameters** ``struct device_node *child`` pointer to device node **Return** A pointer to the interrupt parent node with refcount increased or NULL if the interrupt parent could not be determined.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj‡h]”hŒ Parameters”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K;hj�ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ5``struct device_node *child`` pointer to device node ”h]”(j’)�”}”(hŒ``struct device_node *child``”h]”j˜)�”}”(hj¦h]”hŒstruct device_node *child”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K8hj ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to device node”h]”hŒpointer to device node”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j»h´K8hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j»h´K8hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj�ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjáh]”hŒReturn”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K:hj�ubjC)�”}”(hŒwA pointer to the interrupt parent node with refcount increased or NULL if the interrupt parent could not be determined.”h]”hŒwA pointer to the interrupt parent node with refcount increased or NULL if the interrupt parent could not be determined.”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´K:hj�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_parse_raw (C function)”Œc.of_irq_parse_raw”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒJint of_irq_parse_raw (const __be32 *addr, struct of_phandle_args *out_irq)”h]”j)�”}”(hŒIint of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj"h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Kçubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj"h²hh³j4h´Kçubj‘)�”}”(hŒof_irq_parse_raw”h]”jE)�”}”(hŒof_irq_parse_raw”h]”hŒof_irq_parse_raw”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjCubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj"h²hh³j4h´Kçubj¬)�”}”(hŒ5(const __be32 *addr, struct of_phandle_args *out_irq)”h]”(j²)�”}”(hŒconst __be32 *addr”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj_ubh)�”}”(hhh]”jE)�”}”(hŒ__be32”h]”hŒ__be32”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jƒŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jIsbŒc.of_irq_parse_raw”†”asbuh1hhj_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj_ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj_ubjE)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj[ubj²)�”}”(hŒstruct of_phandle_args *out_irq”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÑubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÑubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jõŒmodname”NŒ classname”Njbje)�”}”jh]”j�Œc.of_irq_parse_raw”†”asbuh1hhjÑubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÑubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÑubjE)�”}”(hŒout_irq”h]”hŒout_irq”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÑubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj[ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj"h²hh³j4h´Kçubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjh²hh³j4h´Kçubah}”(h]”jah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j4h´Kçhjh²hubj>)�”}”(hhh]”jC)�”}”(hŒ Low level interrupt tree parsing”h]”hŒ Low level interrupt tree parsing”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KçhjSh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjh²hh³j4h´Kçubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajnjbjnjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXÿ**Parameters** ``const __be32 *addr`` address specifier (start of "reg" property of the device) in be32 format ``struct of_phandle_args *out_irq`` structure of_phandle_args updated by this function **Description** This function is a low-level interrupt tree walking function. It can be used to do a partial walk with synthesized reg and interrupts properties, for example when resolving PCI interrupts when no device node exist for the parent. It takes an interrupt specifier structure as input, walks the tree looking for any interrupt-map properties, translates the specifier for each map, and then returns the translated map. **Return** 0 on success and a negative number on error **Note** refcount of node **out_irq->np** is increased by 1 on success.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjxh]”hŒ Parameters”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Këhjrubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ```const __be32 *addr`` address specifier (start of "reg" property of the device) in be32 format ”h]”(j’)�”}”(hŒ``const __be32 *addr``”h]”j˜)�”}”(hj—h]”hŒconst __be32 *addr”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Kèhj‘ubj®)�”}”(hhh]”jC)�”}”(hŒHaddress specifier (start of "reg" property of the device) in be32 format”h]”hŒLaddress specifier (start of “regâ€� property of the device) in be32 format”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¬h´Kèhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¬h´KèhjŽubjŒ)�”}”(hŒW``struct of_phandle_args *out_irq`` structure of_phandle_args updated by this function ”h]”(j’)�”}”(hŒ#``struct of_phandle_args *out_irq``”h]”j˜)�”}”(hjÐh]”hŒstruct of_phandle_args *out_irq”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KéhjÊubj®)�”}”(hhh]”jC)�”}”(hŒ2structure of_phandle_args updated by this function”h]”hŒ2structure of_phandle_args updated by this function”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jåh´Kéhjæubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jåh´KéhjŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjrubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KëhjrubjC)�”}”(hXžThis function is a low-level interrupt tree walking function. It can be used to do a partial walk with synthesized reg and interrupts properties, for example when resolving PCI interrupts when no device node exist for the parent. It takes an interrupt specifier structure as input, walks the tree looking for any interrupt-map properties, translates the specifier for each map, and then returns the translated map.”h]”hXžThis function is a low-level interrupt tree walking function. It can be used to do a partial walk with synthesized reg and interrupts properties, for example when resolving PCI interrupts when no device node exist for the parent. It takes an interrupt specifier structure as input, walks the tree looking for any interrupt-map properties, translates the specifier for each map, and then returns the translated map.”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KêhjrubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj2h]”hŒReturn”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KñhjrubjC)�”}”(hŒ+0 on success and a negative number on error”h]”hŒ+0 on success and a negative number on error”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KòhjrubjC)�”}”(hŒ**Note**”h]”jq)�”}”(hjYh]”hŒNote”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´KôhjrubjC)�”}”(hŒ>refcount of node **out_irq->np** is increased by 1 on success.”h]”(hŒrefcount of node ”…”�”}”(hjoh²hh³Nh´Nubjq)�”}”(hŒ**out_irq->np**”h]”hŒ out_irq->np”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjoubhŒ is increased by 1 on success.”…”�”}”(hjoh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Kôhjrubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_parse_one (C function)”Œc.of_irq_parse_one”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ]int of_irq_parse_one (struct device_node *device, int index, struct of_phandle_args *out_irq)”h]”j)�”}”(hŒ\int of_irq_parse_one(struct device_node *device, int index, struct of_phandle_args *out_irq)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¬h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¬h²hh³j¾h´M¡ubj‘)�”}”(hŒof_irq_parse_one”h]”jE)�”}”(hŒof_irq_parse_one”h]”hŒof_irq_parse_one”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÍubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¬h²hh³j¾h´M¡ubj¬)�”}”(hŒH(struct device_node *device, int index, struct of_phandle_args *out_irq)”h]”(j²)�”}”(hŒstruct device_node *device”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjéubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjéubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÓsbŒc.of_irq_parse_one”†”asbuh1hhjéubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjéubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjéubjE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjåubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj[ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj[ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjåubj²)�”}”(hŒstruct of_phandle_args *out_irq”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�ubh)�”}”(hhh]”jE)�”}”(hŒof_phandle_args”h]”hŒof_phandle_args”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¯ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j´Œmodname”NŒ classname”Njbje)�”}”jh]”j'Œc.of_irq_parse_one”†”asbuh1hhj�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj�ubjE)�”}”(hŒout_irq”h]”hŒout_irq”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjåubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¬h²hh³j¾h´M¡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¨h²hh³j¾h´M¡ubah}”(h]”j£ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¾h´M¡hj¥h²hubj>)�”}”(hhh]”jC)�”}”(hŒ!Resolve an interrupt for a device”h]”hŒ!Resolve an interrupt for a device”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¡hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¥h²hh³j¾h´M¡ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj-jbj-jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX%**Parameters** ``struct device_node *device`` the device whose interrupt is to be resolved ``int index`` index of the interrupt to resolve ``struct of_phandle_args *out_irq`` structure of_phandle_args filled by this function **Description** This function resolves an interrupt for a node by walking the interrupt tree, finding which interrupt controller node it is attached to, and returning the interrupt specifier that can be used to retrieve a Linux IRQ number. **Note** refcount of node **out_irq->np** is increased by 1 on success.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj7h]”hŒ Parameters”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¥hj1ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒL``struct device_node *device`` the device whose interrupt is to be resolved ”h]”(j’)�”}”(hŒ``struct device_node *device``”h]”j˜)�”}”(hjVh]”hŒstruct device_node *device”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¢hjPubj®)�”}”(hhh]”jC)�”}”(hŒ,the device whose interrupt is to be resolved”h]”hŒ,the device whose interrupt is to be resolved”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jkh´M¢hjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jkh´M¢hjMubjŒ)�”}”(hŒ0``int index`` index of the interrupt to resolve ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hj�h]”hŒ int index”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M£hj‰ubj®)�”}”(hhh]”jC)�”}”(hŒ!index of the interrupt to resolve”h]”hŒ!index of the interrupt to resolve”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¤h´M£hj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¤h´M£hjMubjŒ)�”}”(hŒV``struct of_phandle_args *out_irq`` structure of_phandle_args filled by this function ”h]”(j’)�”}”(hŒ#``struct of_phandle_args *out_irq``”h]”j˜)�”}”(hjÈh]”hŒstruct of_phandle_args *out_irq”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¤hjÂubj®)�”}”(hhh]”jC)�”}”(hŒ1structure of_phandle_args filled by this function”h]”hŒ1structure of_phandle_args filled by this function”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÝh´M¤hjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÝh´M¤hjMubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj1ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¦hj1ubjC)�”}”(hŒßThis function resolves an interrupt for a node by walking the interrupt tree, finding which interrupt controller node it is attached to, and returning the interrupt specifier that can be used to retrieve a Linux IRQ number.”h]”hŒßThis function resolves an interrupt for a node by walking the interrupt tree, finding which interrupt controller node it is attached to, and returning the interrupt specifier that can be used to retrieve a Linux IRQ number.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M¥hj1ubjC)�”}”(hŒ**Note**”h]”jq)�”}”(hj*h]”hŒNote”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M©hj1ubjC)�”}”(hŒ>refcount of node **out_irq->np** is increased by 1 on success.”h]”(hŒrefcount of node ”…”�”}”(hj@h²hh³Nh´Nubjq)�”}”(hŒ**out_irq->np**”h]”hŒ out_irq->np”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj@ubhŒ is increased by 1 on success.”…”�”}”(hj@h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mªhj1ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_to_resource (C function)”Œc.of_irq_to_resource”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒOint of_irq_to_resource (struct device_node *dev, int index, struct resource *r)”h]”j)�”}”(hŒNint of_irq_to_resource(struct device_node *dev, int index, struct resource *r)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj}h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mæubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj}h²hh³j�h´Mæubj‘)�”}”(hŒof_irq_to_resource”h]”jE)�”}”(hŒof_irq_to_resource”h]”hŒof_irq_to_resource”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjžubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj}h²hh³j�h´Mæubj¬)�”}”(hŒ8(struct device_node *dev, int index, struct resource *r)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjºubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÙubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÞŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j¤sbŒc.of_irq_to_resource”†”asbuh1hhjºubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjºubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjºubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¶ubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj,ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj,ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¶ubj²)�”}”(hŒstruct resource *r”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjaubh)�”}”(hhh]”jE)�”}”(hŒresource”h]”hŒresource”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj€ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j…Œmodname”NŒ classname”Njbje)�”}”jh]”jøŒc.of_irq_to_resource”†”asbuh1hhjaubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjaubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjaubjE)�”}”(hjçùh]”hŒr”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj}h²hh³j�h´Mæubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjyh²hh³j�h´Mæubah}”(h]”jtah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j�h´Mæhjvh²hubj>)�”}”(hhh]”jC)�”}”(hŒ/Decode a node's IRQ and return it as a resource”h]”hŒ1Decode a node’s IRQ and return it as a resource”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mæhjâh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjvh²hh³j�h´Mæubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajýjbjýjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒÅ**Parameters** ``struct device_node *dev`` pointer to device tree node ``int index`` zero-based index of the irq ``struct resource *r`` pointer to resource structure to return result into.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjh]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mêhjubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ8``struct device_node *dev`` pointer to device tree node ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hj&h]”hŒstruct device_node *dev”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mçhj ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to device tree node”h]”hŒpointer to device tree node”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j;h´Mçhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j;h´MçhjubjŒ)�”}”(hŒ*``int index`` zero-based index of the irq ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hj_h]”hŒ int index”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MèhjYubj®)�”}”(hhh]”jC)�”}”(hŒzero-based index of the irq”h]”hŒzero-based index of the irq”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jth´Mèhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jth´MèhjubjŒ)�”}”(hŒK``struct resource *r`` pointer to resource structure to return result into.”h]”(j’)�”}”(hŒ``struct resource *r``”h]”j˜)�”}”(hj˜h]”hŒstruct resource *r”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mêhj’ubj®)�”}”(hhh]”jC)�”}”(hŒ4pointer to resource structure to return result into.”h]”hŒ4pointer to resource structure to return result into.”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Méhj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j­h´Mêhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_get (C function)”Œ c.of_irq_get”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ3int of_irq_get (struct device_node *dev, int index)”h]”j)�”}”(hŒ2int of_irq_get(struct device_node *dev, int index)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjîh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjîh²hh³j h´Mubj‘)�”}”(hŒ of_irq_get”h]”jE)�”}”(hŒ of_irq_get”h]”hŒ of_irq_get”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjîh²hh³j h´Mubj¬)�”}”(hŒ$(struct device_node *dev, int index)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj+ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+ ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjJ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jO Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j sbŒ c.of_irq_get”†”asbuh1hhj+ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj+ ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj+ ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj+ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj' ubj²)�”}”(hŒ int index”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¡ h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj� ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj� ubjE)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj� ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj' ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjîh²hh³j h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjêh²hh³j h´Mubah}”(h]”jåah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j h´Mhjçh²hubj>)�”}”(hhh]”jC)�”}”(hŒ7Decode a node's IRQ and return it as a Linux IRQ number”h]”hŒ9Decode a node’s IRQ and return it as a Linux IRQ number”…”�”}”(hjç h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mhjä h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjçh²hh³j h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÿ jbjÿ jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX$**Parameters** ``struct device_node *dev`` pointer to device tree node ``int index`` zero-based index of the IRQ **Return** Linux IRQ number on success, or 0 on the IRQ mapping failure, or -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case of any other failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj h]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M hj ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ8``struct device_node *dev`` pointer to device tree node ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hj( h]”hŒstruct device_node *dev”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj& ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M hj" ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to device tree node”h]”hŒpointer to device tree node”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j= h´M hj> ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj" ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j= h´M hj ubjŒ)�”}”(hŒ*``int index`` zero-based index of the IRQ ”h]”(j’)�”}”(hŒ ``int index``”h]”j˜)�”}”(hja h]”hŒ int index”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj_ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M hj[ ubj®)�”}”(hhh]”jC)�”}”(hŒzero-based index of the IRQ”h]”hŒzero-based index of the IRQ”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jv h´M hjw ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj[ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jv h´M hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjœ h]”hŒReturn”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjš ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M hj ubjC)�”}”(hŒ Linux IRQ number on success, or 0 on the IRQ mapping failure, or -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case of any other failure.”h]”hŒ Linux IRQ number on success, or 0 on the IRQ mapping failure, or -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case of any other failure.”…”�”}”(hj² h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_get_byname (C function)”Œc.of_irq_get_byname”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒAint of_irq_get_byname (struct device_node *dev, const char *name)”h]”j)�”}”(hŒ@int of_irq_get_byname(struct device_node *dev, const char *name)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÝ h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÝ h²hh³jï h´M?ubj‘)�”}”(hŒof_irq_get_byname”h]”jE)�”}”(hŒof_irq_get_byname”h]”hŒof_irq_get_byname”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjþ ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÝ h²hh³jï h´M?ubj¬)�”}”(hŒ+(struct device_node *dev, const char *name)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj9 ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j> Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j sbŒc.of_irq_get_byname”†”asbuh1hhj ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ubj²)�”}”(hŒconst char *name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŒ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŒ ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj« h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjŒ ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŒ ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŒ ubjE)�”}”(hŒname”h]”hŒname”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŒ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÝ h²hh³jï h´M?ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÙ h²hh³jï h´M?ubah}”(h]”jÔ ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jï h´M?hjÖ h²hubj>)�”}”(hhh]”jC)�”}”(hŒ7Decode a node's IRQ and return it as a Linux IRQ number”h]”hŒ9Decode a node’s IRQ and return it as a Linux IRQ number”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M?hjû h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÖ h²hh³jï h´M?ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj jbj jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``struct device_node *dev`` pointer to device tree node ``const char *name`` IRQ name **Return** Linux IRQ number on success, or 0 on the IRQ mapping failure, or -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case of any other failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj h]”hŒ Parameters”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MChj ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ8``struct device_node *dev`` pointer to device tree node ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hj? h]”hŒstruct device_node *dev”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M@hj9 ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to device tree node”h]”hŒpointer to device tree node”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jT h´M@hjU ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj9 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jT h´M@hj6 ubjŒ)�”}”(hŒ``const char *name`` IRQ name ”h]”(j’)�”}”(hŒ``const char *name``”h]”j˜)�”}”(hjx h]”hŒconst char *name”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjv ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MAhjr ubj®)�”}”(hhh]”jC)�”}”(hŒIRQ name”h]”hŒIRQ name”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j� h´MAhjŽ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjr ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j� h´MAhj6 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj³ h]”hŒReturn”…”�”}”(hjµ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj± ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MChj ubjC)�”}”(hŒ Linux IRQ number on success, or 0 on the IRQ mapping failure, or -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case of any other failure.”h]”hŒ Linux IRQ number on success, or 0 on the IRQ mapping failure, or -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case of any other failure.”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MChj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_irq_count (C function)”Œc.of_irq_count”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ*int of_irq_count (struct device_node *dev)”h]”j)�”}”(hŒ)int of_irq_count(struct device_node *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjô h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MWubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjô h²hh³j h´MWubj‘)�”}”(hŒ of_irq_count”h]”jE)�”}”(hŒ of_irq_count”h]”hŒ of_irq_count”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjô h²hh³j h´MWubj¬)�”}”(hŒ(struct device_node *dev)”h]”j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj1 ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj1 ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjP ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jU Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j sbŒc.of_irq_count”†”asbuh1hhj1 ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj1 ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj1 ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj1 ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj- ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjô h²hh³j h´MWubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjð h²hh³j h´MWubah}”(h]”jë ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j h´MWhjí h²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Count the number of IRQs a node uses”h]”hŒ$Count the number of IRQs a node uses”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MWhjµ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjí h²hh³j h´MWubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÐ jbjÐ jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒI**Parameters** ``struct device_node *dev`` pointer to device tree node”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÚ h]”hŒ Parameters”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M[hjÔ ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ7``struct device_node *dev`` pointer to device tree node”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hjù h]”hŒstruct device_node *dev”…”�”}”(hjû h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj÷ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M]hjó ubj®)�”}”(hhh]”jC)�”}”(hŒpointer to device tree node”h]”hŒpointer to device tree node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MXhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjó ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh´M]hjð ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÔ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_irq_to_resource_table (C function)”Œc.of_irq_to_resource_table”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒYint of_irq_to_resource_table (struct device_node *dev, struct resource *res, int nr_irqs)”h]”j)�”}”(hŒXint of_irq_to_resource_table(struct device_node *dev, struct resource *res, int nr_irqs)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjOh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Miubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOh²hh³jah´Miubj‘)�”}”(hŒof_irq_to_resource_table”h]”jE)�”}”(hŒof_irq_to_resource_table”h]”hŒof_irq_to_resource_table”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjpubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjOh²hh³jah´Miubj¬)�”}”(hŒ<(struct device_node *dev, struct resource *res, int nr_irqs)”h]”(j²)�”}”(hŒstruct device_node *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŒubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j°Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jvsbŒc.of_irq_to_resource_table”†”asbuh1hhjŒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŒubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŒubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjˆubj²)�”}”(hŒstruct resource *res”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjþubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjþubh)�”}”(hhh]”jE)�”}”(hŒresource”h]”hŒresource”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j"Œmodname”NŒ classname”Njbje)�”}”jh]”jÊŒc.of_irq_to_resource_table”†”asbuh1hhjþubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjþubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjþubjE)�”}”(hŒres”h]”hŒres”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjˆubj²)�”}”(hŒ int nr_irqs”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjnubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjnubjE)�”}”(hŒnr_irqs”h]”hŒnr_irqs”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjnubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjˆubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjOh²hh³jah´Miubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjKh²hh³jah´Miubah}”(h]”jFah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jah´MihjHh²hubj>)�”}”(hhh]”jC)�”}”(hŒ+Fill in resource table with node's IRQ info”h]”hŒ-Fill in resource table with node’s IRQ info”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mihjµh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjHh²hh³jah´Miubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÐjbjÐjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``struct device_node *dev`` pointer to device tree node ``struct resource *res`` array of resources to fill in ``int nr_irqs`` the number of IRQs (and upper bound for num of **res** elements) **Return** The size of the filled in table (up to **nr_irqs**).”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÚh]”hŒ Parameters”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjØubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MmhjÔubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ8``struct device_node *dev`` pointer to device tree node ”h]”(j’)�”}”(hŒ``struct device_node *dev``”h]”j˜)�”}”(hjùh]”hŒstruct device_node *dev”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mjhjóubj®)�”}”(hhh]”jC)�”}”(hŒpointer to device tree node”h]”hŒpointer to device tree node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jh´Mjhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh´MjhjðubjŒ)�”}”(hŒ7``struct resource *res`` array of resources to fill in ”h]”(j’)�”}”(hŒ``struct resource *res``”h]”j˜)�”}”(hj2h]”hŒstruct resource *res”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mkhj,ubj®)�”}”(hhh]”jC)�”}”(hŒarray of resources to fill in”h]”hŒarray of resources to fill in”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jGh´MkhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jGh´MkhjðubjŒ)�”}”(hŒQ``int nr_irqs`` the number of IRQs (and upper bound for num of **res** elements) ”h]”(j’)�”}”(hŒ``int nr_irqs``”h]”j˜)�”}”(hjkh]”hŒ int nr_irqs”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mlhjeubj®)�”}”(hhh]”jC)�”}”(hŒ@the number of IRQs (and upper bound for num of **res** elements)”h]”(hŒ/the number of IRQs (and upper bound for num of ”…”�”}”(hj„h²hh³Nh´Nubjq)�”}”(hŒ**res**”h]”hŒres”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj„ubhŒ elements)”…”�”}”(hj„h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j€h´Mlhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j€h´Mlhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÔubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj¸h]”hŒReturn”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MnhjÔubjC)�”}”(hŒ4The size of the filled in table (up to **nr_irqs**).”h]”(hŒ'The size of the filled in table (up to ”…”�”}”(hjÎh²hh³Nh´Nubjq)�”}”(hŒ **nr_irqs**”h]”hŒnr_irqs”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÎubhŒ).”…”�”}”(hjÎh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MnhjÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_msi_xlate (C function)”Œc.of_msi_xlate”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒMu32 of_msi_xlate (struct device *dev, struct device_node **msi_np, u32 id_in)”h]”j)�”}”(hŒLu32 of_msi_xlate(struct device *dev, struct device_node **msi_np, u32 id_in)”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œ of_msi_xlate”sbŒc.of_msi_xlate”†”asbuh1hhj h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M!ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj h²hh³j3h´M!ubj‘)�”}”(hŒ of_msi_xlate”h]”jE)�”}”(hj0h]”hŒ of_msi_xlate”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjBubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj h²hh³j3h´M!ubj¬)�”}”(hŒ<(struct device *dev, struct device_node **msi_np, u32 id_in)”h]”(j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj]ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj]ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j�Œmodname”NŒ classname”Njbje)�”}”jh]”j.Œc.of_msi_xlate”†”asbuh1hhj]ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj]ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj]ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjYubj²)�”}”(hŒstruct device_node **msi_np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÍubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÍubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjìubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jñŒmodname”NŒ classname”Njbje)�”}”jh]”j.Œc.of_msi_xlate”†”asbuh1hhjÍubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÍubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÍubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÍubjE)�”}”(hŒmsi_np”h]”hŒmsi_np”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÍubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjYubj²)�”}”(hŒ u32 id_in”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jSŒmodname”NŒ classname”Njbje)�”}”jh]”j.Œc.of_msi_xlate”†”asbuh1hhjJubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjJubjE)�”}”(hŒid_in”h]”hŒid_in”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjYubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj h²hh³j3h´M!ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjh²hh³j3h´M!ubah}”(h]”jah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j3h´M!hjh²hubj>)�”}”(hhh]”jC)�”}”(hŒ2map a MSI ID and find relevant MSI controller node”h]”hŒ2map a MSI ID and find relevant MSI controller node”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M!hj¤h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjh²hh³j3h´M!ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj¿jbj¿jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX›**Parameters** ``struct device *dev`` device for which the mapping is to be done. ``struct device_node **msi_np`` Pointer to target MSI controller node, or NULL if the caller only needs the translated ID without receiving the controller node. If non-NULL and pointing to a non-NULL node, only entries targeting that node will be matched. If non-NULL and pointing to NULL, it will receive the first matching target node with a reference held. ``u32 id_in`` Device ID. **Description** Walk up the device hierarchy looking for devices with a "msi-map" or "msi-parent" property. If found, apply the mapping to **id_in**. **Return** The mapped MSI id.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÉh]”hŒ Parameters”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M%hjÃubj‡)�”}”(hhh]”(jŒ)�”}”(hŒC``struct device *dev`` device for which the mapping is to be done. ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hjèh]”hŒstruct device *dev”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjæubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M"hjâubj®)�”}”(hhh]”jC)�”}”(hŒ+device for which the mapping is to be done.”h]”hŒ+device for which the mapping is to be done.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jýh´M"hjþubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjâubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jýh´M"hjßubjŒ)�”}”(hXh``struct device_node **msi_np`` Pointer to target MSI controller node, or NULL if the caller only needs the translated ID without receiving the controller node. If non-NULL and pointing to a non-NULL node, only entries targeting that node will be matched. If non-NULL and pointing to NULL, it will receive the first matching target node with a reference held. ”h]”(j’)�”}”(hŒ``struct device_node **msi_np``”h]”j˜)�”}”(hj!h]”hŒstruct device_node **msi_np”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M'hjubj®)�”}”(hhh]”jC)�”}”(hXGPointer to target MSI controller node, or NULL if the caller only needs the translated ID without receiving the controller node. If non-NULL and pointing to a non-NULL node, only entries targeting that node will be matched. If non-NULL and pointing to NULL, it will receive the first matching target node with a reference held.”h]”hXGPointer to target MSI controller node, or NULL if the caller only needs the translated ID without receiving the controller node. If non-NULL and pointing to a non-NULL node, only entries targeting that node will be matched. If non-NULL and pointing to NULL, it will receive the first matching target node with a reference held.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M#hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j6h´M'hjßubjŒ)�”}”(hŒ``u32 id_in`` Device ID. ”h]”(j’)�”}”(hŒ ``u32 id_in``”h]”j˜)�”}”(hj[h]”hŒ u32 id_in”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M(hjUubj®)�”}”(hhh]”jC)�”}”(hŒ Device ID.”h]”hŒ Device ID.”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jph´M(hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jph´M(hjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÃubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj–h]”hŒ Description”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M*hjÃubjC)�”}”(hŒ…Walk up the device hierarchy looking for devices with a "msi-map" or "msi-parent" property. If found, apply the mapping to **id_in**.”h]”(hŒƒWalk up the device hierarchy looking for devices with a “msi-mapâ€� or “msi-parentâ€� property. If found, apply the mapping to ”…”�”}”(hj¬h²hh³Nh´Nubjq)�”}”(hŒ **id_in**”h]”hŒid_in”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¬ubhŒ.”…”�”}”(hj¬h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M)hjÃubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÏh]”hŒReturn”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M,hjÃubjC)�”}”(hŒThe mapped MSI id.”h]”hŒThe mapped MSI id.”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M-hjÃubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_msi_get_domain (C function)”Œc.of_msi_get_domain”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒystruct irq_domain * of_msi_get_domain (struct device *dev, const struct device_node *np, enum irq_domain_bus_token token)”h]”j)�”}”(hŒwstruct irq_domain *of_msi_get_domain(struct device *dev, const struct device_node *np, enum irq_domain_bus_token token)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mgubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh²hh³j!h´Mgubh)�”}”(hhh]”jE)�”}”(hŒ irq_domain”h]”hŒ irq_domain”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j5Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_msi_get_domain”sbŒc.of_msi_get_domain”†”asbuh1hhjh²hh³j!h´Mgubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”•h&]”uh1j0hjh²hh³j!h´Mgubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjh²hh³j!h´Mgubj‘)�”}”(hŒof_msi_get_domain”h]”jE)�”}”(hjQh]”hŒof_msi_get_domain”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjoubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjh²hh³j!h´Mgubj¬)�”}”(hŒS(struct device *dev, const struct device_node *np, enum irq_domain_bus_token token)”h]”(j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŠubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j®Œmodname”NŒ classname”Njbje)�”}”jh]”jOŒc.of_msi_get_domain”†”asbuh1hhjŠubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŠubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj†ubj²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjúubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjúubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjúubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjúubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j9Œmodname”NŒ classname”Njbje)�”}”jh]”jOŒc.of_msi_get_domain”†”asbuh1hhjúubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjúubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjúubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjúubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj†ubj²)�”}”(hŒenum irq_domain_bus_token token”h]”(j)�”}”(hŒenum”h]”hŒenum”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj…ubh)�”}”(hhh]”jE)�”}”(hŒirq_domain_bus_token”h]”hŒirq_domain_bus_token”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jªŒmodname”NŒ classname”Njbje)�”}”jh]”jOŒc.of_msi_get_domain”†”asbuh1hhj…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj…ubjE)�”}”(hŒtoken”h]”hŒtoken”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj†ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjh²hh³j!h´Mgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj h²hh³j!h´Mgubah}”(h]”jah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j!h´Mghj h²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Use msi-parent to find the relevant MSI domain”h]”hŒ.Use msi-parent to find the relevant MSI domain”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mghjûh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj h²hh³j!h´Mgubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajjbjjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hXi**Parameters** ``struct device *dev`` device for which the domain is requested ``const struct device_node *np`` device node for **dev** ``enum irq_domain_bus_token token`` bus type for this domain **Description** Parse the msi-parent property and returns the corresponding MSI domain. **Return** the MSI domain for this device (or NULL on failure).”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj h]”hŒ Parameters”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mkhjubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ@``struct device *dev`` device for which the domain is requested ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hj?h]”hŒstruct device *dev”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mhhj9ubj®)�”}”(hhh]”jC)�”}”(hŒ(device for which the domain is requested”h]”hŒ(device for which the domain is requested”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jTh´MhhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jTh´Mhhj6ubjŒ)�”}”(hŒ9``const struct device_node *np`` device node for **dev** ”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hjxh]”hŒconst struct device_node *np”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mihjrubj®)�”}”(hhh]”jC)�”}”(hŒdevice node for **dev**”h]”(hŒdevice node for ”…”�”}”(hj‘h²hh³Nh´Nubjq)�”}”(hŒ**dev**”h]”hŒdev”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�h´MihjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�h´Mihj6ubjŒ)�”}”(hŒ=``enum irq_domain_bus_token token`` bus type for this domain ”h]”(j’)�”}”(hŒ#``enum irq_domain_bus_token token``”h]”j˜)�”}”(hj¿h]”hŒenum irq_domain_bus_token token”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mjhj¹ubj®)�”}”(hhh]”jC)�”}”(hŒbus type for this domain”h]”hŒbus type for this domain”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÔh´MjhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÔh´Mjhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjúh]”hŒ Description”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MlhjubjC)�”}”(hŒGParse the msi-parent property and returns the corresponding MSI domain.”h]”hŒGParse the msi-parent property and returns the corresponding MSI domain.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MkhjubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj!h]”hŒReturn”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´MmhjubjC)�”}”(hŒ4the MSI domain for this device (or NULL on failure).”h]”hŒ4the MSI domain for this device (or NULL on failure).”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mnhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_msi_configure (C function)”Œc.of_msi_configure”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒHvoid of_msi_configure (struct device *dev, const struct device_node *np)”h]”j)�”}”(hŒGvoid of_msi_configure(struct device *dev, const struct device_node *np)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjbh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M…ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjbh²hh³jth´M…ubj‘)�”}”(hŒof_msi_configure”h]”jE)�”}”(hŒof_msi_configure”h]”hŒof_msi_configure”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjƒubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjbh²hh³jth´M…ubj¬)�”}”(hŒ2(struct device *dev, const struct device_node *np)”h]”(j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjŸubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŸubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¾ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÃŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j‰sbŒc.of_msi_configure”†”asbuh1hhjŸubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŸubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjŸubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj›ubj²)�”}”(hŒconst struct device_node *np”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jPŒmodname”NŒ classname”Njbje)�”}”jh]”jÝŒc.of_msi_configure”†”asbuh1hhjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj›ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjbh²hh³jth´M…ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj^h²hh³jth´M…ubah}”(h]”jYah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jth´M…hj[h²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Set the msi_domain field of a device”h]”hŒ$Set the msi_domain field of a device”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M…hj®h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj[h²hh³jth´M…ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÉjbjÉjc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hŒ�**Parameters** ``struct device *dev`` device structure to associate with an MSI irq domain ``const struct device_node *np`` device node for that device”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÓh]”hŒ Parameters”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M‰hjÍubj‡)�”}”(hhh]”(jŒ)�”}”(hŒL``struct device *dev`` device structure to associate with an MSI irq domain ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hjòh]”hŒstruct device *dev”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M†hjìubj®)�”}”(hhh]”jC)�”}”(hŒ4device structure to associate with an MSI irq domain”h]”hŒ4device structure to associate with an MSI irq domain”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jh´M†hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh´M†hjéubjŒ)�”}”(hŒ<``const struct device_node *np`` device node for that device”h]”(j’)�”}”(hŒ ``const struct device_node *np``”h]”j˜)�”}”(hj+h]”hŒconst struct device_node *np”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´Mˆhj%ubj®)�”}”(hhh]”jC)�”}”(hŒdevice node for that device”h]”hŒdevice node for that device”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:26: ./drivers/of/irq.c”h´M‡hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j@h´Mˆhjéubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÍubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_fdt_unflatten_tree (C function)”Œc.of_fdt_unflatten_tree”hNt”auh1hühhëh²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒovoid * of_fdt_unflatten_tree (const unsigned long *blob, struct device_node *dad, struct device_node **mynodes)”h]”j)�”}”(hŒmvoid *of_fdt_unflatten_tree(const unsigned long *blob, struct device_node *dad, struct device_node **mynodes)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj�h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M©ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj�h²hh³j“h´M©ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj�h²hh³j“h´M©ubj‘)�”}”(hŒof_fdt_unflatten_tree”h]”jE)�”}”(hŒof_fdt_unflatten_tree”h]”hŒof_fdt_unflatten_tree”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¯ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj�h²hh³j“h´M©ubj¬)�”}”(hŒR(const unsigned long *blob, struct device_node *dad, struct device_node **mynodes)”h]”(j²)�”}”(hŒconst unsigned long *blob”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjËubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjËubj)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjËubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjËubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjËubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjËubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjËubjE)�”}”(hŒblob”h]”hŒblob”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÇubj²)�”}”(hŒstruct device_node *dad”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjDubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjcubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jhŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jµsbŒc.of_fdt_unflatten_tree”†”asbuh1hhjDubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjDubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjDubjE)�”}”(hŒdad”h]”hŒdad”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÇubj²)�”}”(hŒstruct device_node **mynodes”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¶ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¶ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÚŒmodname”NŒ classname”Njbje)�”}”jh]”j‚Œc.of_fdt_unflatten_tree”†”asbuh1hhj¶ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¶ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¶ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¶ubjE)�”}”(hŒmynodes”h]”hŒmynodes”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÇubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj�h²hh³j“h´M©ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj}h²hh³j“h´M©ubah}”(h]”jxah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j“h´M©hjzh²hubj>)�”}”(hhh]”jC)�”}”(hŒ*create tree of device_nodes from flat blob”h]”hŒ*create tree of device_nodes from flat blob”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M©hjEh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjzh²hh³j“h´M©ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj`jbj`jc‰jd‰je‰uh1j h²hhhëh³Nh´Nubjg)�”}”(hX**Parameters** ``const unsigned long *blob`` Flat device tree blob ``struct device_node *dad`` Parent device node ``struct device_node **mynodes`` The device tree created by the call **Description** unflattens the device-tree passed by the firmware, creating the tree of struct device_node. It also fills the "name" and "type" pointers of the nodes so the normal device-tree walking functions can be used. **Return** NULL on failure or the memory chunk containing the unflattened device tree on success.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjjh]”hŒ Parameters”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M­hjdubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ4``const unsigned long *blob`` Flat device tree blob ”h]”(j’)�”}”(hŒ``const unsigned long *blob``”h]”j˜)�”}”(hj‰h]”hŒconst unsigned long *blob”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´Mªhjƒubj®)�”}”(hhh]”jC)�”}”(hŒFlat device tree blob”h]”hŒFlat device tree blob”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jžh´MªhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jžh´Mªhj€ubjŒ)�”}”(hŒ/``struct device_node *dad`` Parent device node ”h]”(j’)�”}”(hŒ``struct device_node *dad``”h]”j˜)�”}”(hjÂh]”hŒstruct device_node *dad”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M«hj¼ubj®)�”}”(hhh]”jC)�”}”(hŒParent device node”h]”hŒParent device node”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j×h´M«hjØubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j×h´M«hj€ubjŒ)�”}”(hŒE``struct device_node **mynodes`` The device tree created by the call ”h]”(j’)�”}”(hŒ ``struct device_node **mynodes``”h]”j˜)�”}”(hjûh]”hŒstruct device_node **mynodes”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjùubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M¬hjõubj®)�”}”(hhh]”jC)�”}”(hŒ#The device tree created by the call”h]”hŒ#The device tree created by the call”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jh´M¬hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh´M¬hj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjdubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj6h]”hŒ Description”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M®hjdubjC)�”}”(hŒÎunflattens the device-tree passed by the firmware, creating the tree of struct device_node. It also fills the "name" and "type" pointers of the nodes so the normal device-tree walking functions can be used.”h]”hŒÖunflattens the device-tree passed by the firmware, creating the tree of struct device_node. It also fills the “nameâ€� and “typeâ€� pointers of the nodes so the normal device-tree walking functions can be used.”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M­hjdubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj]h]”hŒReturn”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M²hjdubjC)�”}”(hŒVNULL on failure or the memory chunk containing the unflattened device tree on success.”h]”hŒVNULL on failure or the memory chunk containing the unflattened device tree on success.”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒV/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:29: ./drivers/of/fdt.c”h´M³hjdubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhhëh²hh³Nh´Nubeh}”(h]”Œcore-functions”ah ]”h"]”Œcore functions”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K ubh×)�”}”(hhh]”(hÜ)�”}”(hŒDriver model functions”h]”hŒDriver model functions”…”�”}”(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”]”(j Œ#of_driver_match_device (C function)”Œc.of_driver_match_device”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒPint of_driver_match_device (struct device *dev, const struct device_driver *drv)”h]”j)�”}”(hŒOint of_driver_match_device(struct device *dev, const struct device_driver *drv)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj·h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:35: ./include/linux/of_device.h”h´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj·h²hh³jÉh´Kubj‘)�”}”(hŒof_driver_match_device”h]”jE)�”}”(hŒof_driver_match_device”h]”hŒof_driver_match_device”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjØubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj·h²hh³jÉh´Kubj¬)�”}”(hŒ5(struct device *dev, const struct device_driver *drv)”h]”(j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjôubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjôubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÞsbŒc.of_driver_match_device”†”asbuh1hhjôubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjôubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjôubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjðubj²)�”}”(hŒconst struct device_driver *drv”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjfubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjfubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjfubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjfubh)�”}”(hhh]”jE)�”}”(hŒ device_driver”h]”hŒ device_driver”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¥Œmodname”NŒ classname”Njbje)�”}”jh]”j2Œc.of_driver_match_device”†”asbuh1hhjfubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjfubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjfubjE)�”}”(hŒdrv”h]”hŒdrv”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjfubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjðubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj·h²hh³jÉh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj³h²hh³jÉh´Kubah}”(h]”j®ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÉh´Khj°h²hubj>)�”}”(hhh]”jC)�”}”(hŒ3Tell if a driver's of_match_table matches a device.”h]”hŒ5Tell if a driver’s of_match_table matches a device.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ_/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:35: ./include/linux/of_device.h”h´Khjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj°h²hh³jÉh´Kubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajjbjjc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hŒ™**Parameters** ``struct device *dev`` the device structure to match against ``const struct device_driver *drv`` the device_driver structure to test”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj(h]”hŒ Parameters”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ_/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:35: ./include/linux/of_device.h”h´Khj"ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ=``struct device *dev`` the device structure to match against ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hjGh]”hŒstruct device *dev”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ_/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:35: ./include/linux/of_device.h”h´KhjAubj®)�”}”(hhh]”jC)�”}”(hŒ%the device structure to match against”h]”hŒ%the device structure to match against”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j\h´Khj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j\h´Khj>ubjŒ)�”}”(hŒG``const struct device_driver *drv`` the device_driver structure to test”h]”(j’)�”}”(hŒ#``const struct device_driver *drv``”h]”j˜)�”}”(hj€h]”hŒconst struct device_driver *drv”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ_/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:35: ./include/linux/of_device.h”h´Khjzubj®)�”}”(hhh]”jC)�”}”(hŒ#the device_driver structure to test”h]”hŒ#the device_driver structure to test”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ_/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:35: ./include/linux/of_device.h”h´Khj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j•h´Khj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_match_device (C function)”Œc.of_match_device”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒjconst struct of_device_id * of_match_device (const struct of_device_id *matches, const struct device *dev)”h]”j)�”}”(hŒhconst struct of_device_id *of_match_device(const struct of_device_id *matches, const struct device *dev)”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÖh²hh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÖh²hh³jçh´Kubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÖh²hh³jçh´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÖh²hh³jçh´Kubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_match_device”sbŒc.of_match_device”†”asbuh1hhjÖh²hh³jçh´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÖh²hh³jçh´Kubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÖh²hh³jçh´Kubj‘)�”}”(hŒof_match_device”h]”jE)�”}”(hj2h]”hŒof_match_device”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjPubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÖh²hh³jçh´Kubj¬)�”}”(hŒ>(const struct of_device_id *matches, const struct device *dev)”h]”(j²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjkubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkubj)�”}”(hj"h]”hŒstruct”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjkubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jªŒmodname”NŒ classname”Njbje)�”}”jh]”j0Œc.of_match_device”†”asbuh1hhjkubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjkubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjgubj²)�”}”(hŒconst struct device *dev”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjöubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjöubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjöubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjöubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj0 ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j5 Œmodname”NŒ classname”Njbje)�”}”jh]”j0Œc.of_match_device”†”asbuh1hhjöubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjöubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjöubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjöubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÖh²hh³jçh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÒh²hh³jçh´Kubah}”(h]”jÍah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jçh´KhjÏh²hubj>)�”}”(hhh]”jC)�”}”(hŒ4Tell if a struct device matches an of_device_id list”h]”hŒ4Tell if a struct device matches an of_device_id list”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Khj“ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÏh²hh³jçh´Kubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj® jbj® jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hX7**Parameters** ``const struct of_device_id *matches`` array of of_device_id match structures to search in ``const struct device *dev`` the OF device structure to match against **Description** Used by a driver to check whether an platform_device present in the system is in its list of supported devices.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¸ h]”hŒ Parameters”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¶ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Khj² ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ[``const struct of_device_id *matches`` array of of_device_id match structures to search in ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hj× h]”hŒ"const struct of_device_id *matches”…”�”}”(hjÙ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÕ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KhjÑ ubj®)�”}”(hhh]”jC)�”}”(hŒ3array of of_device_id match structures to search in”h]”hŒ3array of of_device_id match structures to search in”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jì h´Khjí ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÑ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jì h´KhjÎ ubjŒ)�”}”(hŒF``const struct device *dev`` the OF device structure to match against ”h]”(j’)�”}”(hŒ``const struct device *dev``”h]”j˜)�”}”(hj!h]”hŒconst struct device *dev”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Khj !ubj®)�”}”(hhh]”jC)�”}”(hŒ(the OF device structure to match against”h]”hŒ(the OF device structure to match against”…”�”}”(hj)!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j%!h´Khj&!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj !ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j%!h´KhjÎ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj² ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjK!h]”hŒ Description”…”�”}”(hjM!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjI!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Khj² ubjC)�”}”(hŒoUsed by a driver to check whether an platform_device present in the system is in its list of supported devices.”h]”hŒoUsed by a driver to check whether an platform_device present in the system is in its list of supported devices.”…”�”}”(hja!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Khj² ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ of_dma_configure_id (C function)”Œc.of_dma_configure_id”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒcint of_dma_configure_id (struct device *dev, struct device_node *np, bool force_dma, const u32 *id)”h]”j)�”}”(hŒbint of_dma_configure_id(struct device *dev, struct device_node *np, bool force_dma, const u32 *id)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj�!h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjŒ!h²hh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KEubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ!h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŒ!h²hh³jž!h´KEubj‘)�”}”(hŒof_dma_configure_id”h]”jE)�”}”(hŒof_dma_configure_id”h]”hŒof_dma_configure_id”…”�”}”(hj±!h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj­!ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjŒ!h²hh³jž!h´KEubj¬)�”}”(hŒK(struct device *dev, struct device_node *np, bool force_dma, const u32 *id)”h]”(j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÍ!h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÉ!ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚ!h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÉ!ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjë!h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjè!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jí!Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j³!sbŒc.of_dma_configure_id”†”asbuh1hhjÉ!ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÉ!ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÉ!ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj&"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÉ!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÅ!ubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj?"h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj;"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj;"ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj]"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjZ"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j_"Œmodname”NŒ classname”Njbje)�”}”jh]”j"Œc.of_dma_configure_id”†”asbuh1hhj;"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj;"ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‰"h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj;"ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj–"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj;"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÅ!ubj²)�”}”(hŒbool force_dma”h]”(j)�”}”(hjh]”hŒbool”…”�”}”(hj¯"h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj«"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj«"ubjE)�”}”(hŒ force_dma”h]”hŒ force_dma”…”�”}”(hjÊ"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj«"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÅ!ubj²)�”}”(hŒ const u32 *id”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjã"h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjß"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð"h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjß"ubh)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjþ"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j#Œmodname”NŒ classname”Njbje)�”}”jh]”j"Œc.of_dma_configure_id”†”asbuh1hhjß"ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjß"ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj-#h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjß"ubjE)�”}”(hŒid”h]”hŒid”…”�”}”(hj:#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjß"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÅ!ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjŒ!h²hh³jž!h´KEubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjˆ!h²hh³jž!h´KEubah}”(h]”jƒ!ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jž!h´KEhj…!h²hubj>)�”}”(hhh]”jC)�”}”(hŒSetup DMA configuration”h]”hŒSetup DMA configuration”…”�”}”(hjd#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KEhja#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj…!h²hh³jž!h´KEubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj|#jbj|#jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hXb**Parameters** ``struct device *dev`` Device to apply DMA configuration ``struct device_node *np`` Pointer to OF node having DMA configuration ``bool force_dma`` Whether device is to be set up by of_dma_configure() even if DMA capability is not explicitly described by firmware. ``const u32 *id`` Optional const pointer value input id **Description** Try to get devices's DMA configuration from DT and update it accordingly. If platform code needs to use its own special DMA configuration, it can use a platform bus notifier and handle BUS_NOTIFY_ADD_DEVICE events to fix up DMA configuration.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj†#h]”hŒ Parameters”…”�”}”(hjˆ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj„#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KIhj€#ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ9``struct device *dev`` Device to apply DMA configuration ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hj¥#h]”hŒstruct device *dev”…”�”}”(hj§#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj£#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KFhjŸ#ubj®)�”}”(hhh]”jC)�”}”(hŒ!Device to apply DMA configuration”h]”hŒ!Device to apply DMA configuration”…”�”}”(hj¾#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jº#h´KFhj»#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŸ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jº#h´KFhjœ#ubjŒ)�”}”(hŒG``struct device_node *np`` Pointer to OF node having DMA configuration ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjÞ#h]”hŒstruct device_node *np”…”�”}”(hjà#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÜ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KGhjØ#ubj®)�”}”(hhh]”jC)�”}”(hŒ+Pointer to OF node having DMA configuration”h]”hŒ+Pointer to OF node having DMA configuration”…”�”}”(hj÷#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jó#h´KGhjô#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjØ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jó#h´KGhjœ#ubjŒ)�”}”(hŒˆ``bool force_dma`` Whether device is to be set up by of_dma_configure() even if DMA capability is not explicitly described by firmware. ”h]”(j’)�”}”(hŒ``bool force_dma``”h]”j˜)�”}”(hj$h]”hŒbool force_dma”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KIhj$ubj®)�”}”(hhh]”jC)�”}”(hŒtWhether device is to be set up by of_dma_configure() even if DMA capability is not explicitly described by firmware.”h]”hŒtWhether device is to be set up by of_dma_configure() even if DMA capability is not explicitly described by firmware.”…”�”}”(hj0$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KHhj-$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j,$h´KIhjœ#ubjŒ)�”}”(hŒ8``const u32 *id`` Optional const pointer value input id ”h]”(j’)�”}”(hŒ``const u32 *id``”h]”j˜)�”}”(hjQ$h]”hŒ const u32 *id”…”�”}”(hjS$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjO$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KJhjK$ubj®)�”}”(hhh]”jC)�”}”(hŒ%Optional const pointer value input id”h]”hŒ%Optional const pointer value input id”…”�”}”(hjj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jf$h´KJhjg$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjK$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jf$h´KJhjœ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj€#ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjŒ$h]”hŒ Description”…”�”}”(hjŽ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŠ$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KLhj€#ubjC)�”}”(hŒITry to get devices's DMA configuration from DT and update it accordingly.”h]”hŒKTry to get devices’s DMA configuration from DT and update it accordingly.”…”�”}”(hj¢$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KKhj€#ubjC)�”}”(hŒ¨If platform code needs to use its own special DMA configuration, it can use a platform bus notifier and handle BUS_NOTIFY_ADD_DEVICE events to fix up DMA configuration.”h]”hŒ¨If platform code needs to use its own special DMA configuration, it can use a platform bus notifier and handle BUS_NOTIFY_ADD_DEVICE events to fix up DMA configuration.”…”�”}”(hj±$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KNhj€#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_device_modalias (C function)”Œc.of_device_modalias”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒGssize_t of_device_modalias (struct device *dev, char *str, ssize_t len)”h]”j)�”}”(hŒFssize_t of_device_modalias(struct device *dev, char *str, ssize_t len)”h]”(h)�”}”(hhh]”jE)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjã$h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjà$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jå$Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_device_modalias”sbŒc.of_device_modalias”†”asbuh1hhjÜ$h²hh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´K¹ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÜ$h²hh³j%h´K¹ubj‘)�”}”(hŒof_device_modalias”h]”jE)�”}”(hj%h]”hŒof_device_modalias”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj%ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÜ$h²hh³j%h´K¹ubj¬)�”}”(hŒ,(struct device *dev, char *str, ssize_t len)”h]”(j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj2%h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj.%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj.%ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjP%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjM%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jR%Œmodname”NŒ classname”Njbje)�”}”jh]”jÿ$Œc.of_device_modalias”†”asbuh1hhj.%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjn%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj.%ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj|%h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj.%ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj‰%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj.%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj*%ubj²)�”}”(hŒ char *str”h]”(j)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¢%h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjž%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°%h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjž%ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¾%h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjž%ubjE)�”}”(hŒstr”h]”hŒstr”…”�”}”(hjË%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjž%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj*%ubj²)�”}”(hŒ ssize_t len”h]”(h)�”}”(hhh]”jE)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjç%h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjä%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jé%Œmodname”NŒ classname”Njbje)�”}”jh]”jÿ$Œc.of_device_modalias”†”asbuh1hhjà%ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjà%ubjE)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjà%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj*%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÜ$h²hh³j%h´K¹ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjØ$h²hh³j%h´K¹ubah}”(h]”jÓ$ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j%h´K¹hjÕ$h²hubj>)�”}”(hhh]”jC)�”}”(hŒ3Fill buffer with newline terminated modalias string”h]”hŒ3Fill buffer with newline terminated modalias string”…”�”}”(hj=&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´K¹hj:&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÕ$h²hh³j%h´K¹ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajU&jbjU&jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hŒ{**Parameters** ``struct device *dev`` Calling device ``char *str`` Modalias string ``ssize_t len`` Size of **str**”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj_&h]”hŒ Parameters”…”�”}”(hja&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj]&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´K½hjY&ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ&``struct device *dev`` Calling device ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hj~&h]”hŒstruct device *dev”…”�”}”(hj€&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj|&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Kºhjx&ubj®)�”}”(hhh]”jC)�”}”(hŒCalling device”h]”hŒCalling device”…”�”}”(hj—&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j“&h´Kºhj”&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjx&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j“&h´Kºhju&ubjŒ)�”}”(hŒ``char *str`` Modalias string ”h]”(j’)�”}”(hŒ ``char *str``”h]”j˜)�”}”(hj·&h]”hŒ char *str”…”�”}”(hj¹&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjµ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´K»hj±&ubj®)�”}”(hhh]”jC)�”}”(hŒModalias string”h]”hŒModalias string”…”�”}”(hjÐ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÌ&h´K»hjÍ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj±&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÌ&h´K»hju&ubjŒ)�”}”(hŒ``ssize_t len`` Size of **str**”h]”(j’)�”}”(hŒ``ssize_t len``”h]”j˜)�”}”(hjð&h]”hŒ ssize_t len”…”�”}”(hjò&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjî&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´K½hjê&ubj®)�”}”(hhh]”jC)�”}”(hŒSize of **str**”h]”(hŒSize of ”…”�”}”(hj 'h²hh³Nh´Nubjq)�”}”(hŒ**str**”h]”hŒstr”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj 'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´K¼hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjê&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j'h´K½hju&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjY&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_device_uevent (C function)”Œc.of_device_uevent”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒMvoid of_device_uevent (const struct device *dev, struct kobj_uevent_env *env)”h]”j)�”}”(hŒLvoid of_device_uevent(const struct device *dev, struct kobj_uevent_env *env)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjX'h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjT'h²hh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KÒubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjT'h²hh³jf'h´KÒubj‘)�”}”(hŒof_device_uevent”h]”jE)�”}”(hŒof_device_uevent”h]”hŒof_device_uevent”…”�”}”(hjy'h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhju'ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjT'h²hh³jf'h´KÒubj¬)�”}”(hŒ7(const struct device *dev, struct kobj_uevent_env *env)”h]”(j²)�”}”(hŒconst struct device *dev”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj•'h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‘'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‘'ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj°'h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‘'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‘'ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÎ'h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjË'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÐ'Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j{'sbŒc.of_device_uevent”†”asbuh1hhj‘'ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî'h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‘'ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjü'h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‘'ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‘'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj�'ubj²)�”}”(hŒstruct kobj_uevent_env *env”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj"(h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj(ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/(h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj(ubh)�”}”(hhh]”jE)�”}”(hŒkobj_uevent_env”h]”hŒkobj_uevent_env”…”�”}”(hj@(h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj=(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jB(Œmodname”NŒ classname”Njbje)�”}”jh]”jê'Œc.of_device_uevent”†”asbuh1hhj(ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^(h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj(ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjl(h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj(ubjE)�”}”(hŒenv”h]”hŒenv”…”�”}”(hjy(h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj�'ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjT'h²hh³jf'h´KÒubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjP'h²hh³jf'h´KÒubah}”(h]”jK'ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jf'h´KÒhjM'h²hubj>)�”}”(hhh]”jC)�”}”(hŒ%Display OF related uevent information”h]”hŒ%Display OF related uevent information”…”�”}”(hj£(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KÒhj (h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjM'h²hh³jf'h´KÒubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj»(jbj»(jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hŒ³**Parameters** ``const struct device *dev`` Device to display the uevent information for ``struct kobj_uevent_env *env`` Kernel object's userspace event reference to fill up”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÅ(h]”hŒ Parameters”…”�”}”(hjÇ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÃ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KÖhj¿(ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒJ``const struct device *dev`` Device to display the uevent information for ”h]”(j’)�”}”(hŒ``const struct device *dev``”h]”j˜)�”}”(hjä(h]”hŒconst struct device *dev”…”�”}”(hjæ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjâ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KÓhjÞ(ubj®)�”}”(hhh]”jC)�”}”(hŒ,Device to display the uevent information for”h]”hŒ,Device to display the uevent information for”…”�”}”(hjý(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jù(h´KÓhjú(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÞ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jù(h´KÓhjÛ(ubjŒ)�”}”(hŒT``struct kobj_uevent_env *env`` Kernel object's userspace event reference to fill up”h]”(j’)�”}”(hŒ``struct kobj_uevent_env *env``”h]”j˜)�”}”(hj)h]”hŒstruct kobj_uevent_env *env”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KÕhj)ubj®)�”}”(hhh]”jC)�”}”(hŒ4Kernel object's userspace event reference to fill up”h]”hŒ6Kernel object’s userspace event reference to fill up”…”�”}”(hj6)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´KÔhj3)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j2)h´KÕhjÛ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¿(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_device_make_bus_id (C function)”Œc.of_device_make_bus_id”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ/void of_device_make_bus_id (struct device *dev)”h]”j)�”}”(hŒ.void of_device_make_bus_id(struct device *dev)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjw)h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjs)h²hh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†)h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjs)h²hh³j…)h´Mubj‘)�”}”(hŒof_device_make_bus_id”h]”jE)�”}”(hŒof_device_make_bus_id”h]”hŒof_device_make_bus_id”…”�”}”(hj˜)h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”)ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjs)h²hh³j…)h´Mubj¬)�”}”(hŒ(struct device *dev)”h]”j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj´)h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj°)ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ)h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj°)ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÒ)h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÏ)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÔ)Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jš)sbŒc.of_device_make_bus_id”†”asbuh1hhj°)ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò)h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj°)ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj°)ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj *h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj°)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¬)ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjs)h²hh³j…)h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjo)h²hh³j…)h´Mubah}”(h]”jj)ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j…)h´Mhjl)h²hubj>)�”}”(hhh]”jC)�”}”(hŒ0Use the device node data to assign a unique name”h]”hŒ0Use the device node data to assign a unique name”…”�”}”(hj7*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Mhj4*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjl)h²hh³j…)h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajO*jbjO*jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hX0**Parameters** ``struct device *dev`` pointer to device structure that is linked to a device tree node **Description** This routine will first try using the translated bus address to derive a unique name. If it cannot, then it will prepend names from parent nodes until a unique name can be derived.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjY*h]”hŒ Parameters”…”�”}”(hj[*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjW*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´MhjS*ubj‡)�”}”(hhh]”jŒ)�”}”(hŒX``struct device *dev`` pointer to device structure that is linked to a device tree node ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hjx*h]”hŒstruct device *dev”…”�”}”(hjz*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjv*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´Mhjr*ubj®)�”}”(hhh]”jC)�”}”(hŒ@pointer to device structure that is linked to a device tree node”h]”hŒ@pointer to device structure that is linked to a device tree node”…”�”}”(hj‘*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j�*h´MhjŽ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjr*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j�*h´Mhjo*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjS*ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj³*h]”hŒ Description”…”�”}”(hjµ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj±*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´MhjS*ubjC)�”}”(hŒ´This routine will first try using the translated bus address to derive a unique name. If it cannot, then it will prepend names from parent nodes until a unique name can be derived.”h]”hŒ´This routine will first try using the translated bus address to derive a unique name. If it cannot, then it will prepend names from parent nodes until a unique name can be derived.”…”�”}”(hjÉ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒY/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:38: ./drivers/of/device.c”h´MhjS*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_dev_auxdata (C struct)”Œc.of_dev_auxdata”hNt”auh1hühj‘h²hh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Nubj)�”}”(hhh]”(j)�”}”(hŒof_dev_auxdata”h]”j)�”}”(hŒstruct of_dev_auxdata”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjù*h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjõ*h²hh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjõ*h²hh³j+h´Kubj‘)�”}”(hŒof_dev_auxdata”h]”jE)�”}”(hjó*h]”hŒof_dev_auxdata”…”�”•X}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj+ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjõ*h²hh³j+h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjñ*h²hh³j+h´Kubah}”(h]”jë*ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j+h´Khjî*h²hubj>)�”}”(hhh]”jC)�”}”(hŒ3lookup table entry for device names & platform_data”h]”hŒ3lookup table entry for device names & platform_data”…”�”}”(hj;+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khj8+h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjî*h²hh³j+h´Kubeh}”(h]”h ]”(j\Œstruct”eh"]”h$]”h&]”j`j\jajS+jbjS+jc‰jd‰je‰uh1j h²hhj‘h³jí*h´Nubjg)�”}”(hX”**Definition**:: struct of_dev_auxdata { char *compatible; resource_size_t phys_addr; char *name; void *platform_data; }; **Members** ``compatible`` compatible value of node to match against node ``phys_addr`` Start address of registers to match against node ``name`` Name to assign for matching nodes ``platform_data`` platform_data to assign for matching nodes”h]”(jC)�”}”(hŒ**Definition**::”h]”(jq)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj_+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj[+ubhŒ:”…”�”}”(hj[+h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´KhjW+ubj×B)�”}”(hŒxstruct of_dev_auxdata { char *compatible; resource_size_t phys_addr; char *name; void *platform_data; };”h]”hŒxstruct of_dev_auxdata { char *compatible; resource_size_t phys_addr; char *name; void *platform_data; };”…”�”}”hjx+sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´KhjW+ubjC)�”}”(hŒ **Members**”h]”jq)�”}”(hj‰+h]”hŒMembers”…”�”}”(hj‹+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‡+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´K hjW+ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ>``compatible`` compatible value of node to match against node ”h]”(j’)�”}”(hŒ``compatible``”h]”j˜)�”}”(hj¨+h]”hŒ compatible”…”�”}”(hjª+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¦+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khj¢+ubj®)�”}”(hhh]”jC)�”}”(hŒ.compatible value of node to match against node”h]”hŒ.compatible value of node to match against node”…”�”}”(hjÁ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j½+h´Khj¾+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¢+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j½+h´KhjŸ+ubjŒ)�”}”(hŒ?``phys_addr`` Start address of registers to match against node ”h]”(j’)�”}”(hŒ ``phys_addr``”h]”j˜)�”}”(hjá+h]”hŒ phys_addr”…”�”}”(hjã+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjß+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´KhjÛ+ubj®)�”}”(hhh]”jC)�”}”(hŒ0Start address of registers to match against node”h]”hŒ0Start address of registers to match against node”…”�”}”(hjú+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jö+h´Khj÷+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÛ+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jö+h´KhjŸ+ubjŒ)�”}”(hŒ+``name`` Name to assign for matching nodes ”h]”(j’)�”}”(hŒ``name``”h]”j˜)�”}”(hj,h]”hŒname”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khj,ubj®)�”}”(hhh]”jC)�”}”(hŒ!Name to assign for matching nodes”h]”hŒ!Name to assign for matching nodes”…”�”}”(hj3,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j/,h´Khj0,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j/,h´KhjŸ+ubjŒ)�”}”(hŒ<``platform_data`` platform_data to assign for matching nodes”h]”(j’)�”}”(hŒ``platform_data``”h]”j˜)�”}”(hjS,h]”hŒ platform_data”…”�”}”(hjU,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjQ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´KhjM,ubj®)�”}”(hhh]”jC)�”}”(hŒ*platform_data to assign for matching nodes”h]”hŒ*platform_data to assign for matching nodes”…”�”}”(hjl,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khji,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjM,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jh,h´KhjŸ+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjW+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³jí*h´NubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj–,h]”hŒ Description”…”�”}”(hj˜,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj”,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khj‘h²hubjC)�”}”(hŒôThis lookup table allows the caller of of_platform_populate() to override the names of devices when creating devices from the device tree. The table should be terminated with an empty entry. It also allows the platform_data pointer to be set.”h]”hŒôThis lookup table allows the caller of of_platform_populate() to override the names of devices when creating devices from the device tree. The table should be terminated with an empty entry. It also allows the platform_data pointer to be set.”…”�”}”(hj¬,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khj‘h²hubjC)�”}”(hŒéThe reason for this functionality is that some Linux infrastructure uses the device name to look up a specific device, but the Linux-specific names are not encoded into the device tree, so the kernel needs to provide specific values.”h]”hŒéThe reason for this functionality is that some Linux infrastructure uses the device name to look up a specific device, but the Linux-specific names are not encoded into the device tree, so the kernel needs to provide specific values.”…”�”}”(hj»,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´Khj‘h²hubjC)�”}”(hŒ**Note**”h]”jq)�”}”(hjÌ,h]”hŒNote”…”�”}”(hjÎ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÊ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´K"hj‘h²hubjC)�”}”(hXUsing an auxdata lookup table should be considered a last resort when converting a platform to use the DT. Normally the automatically generated device name will not matter, and drivers should obtain data from the device node instead of from an anonymous platform_data pointer.”h]”hXUsing an auxdata lookup table should be considered a last resort when converting a platform to use the DT. Normally the automatically generated device name will not matter, and drivers should obtain data from the device node instead of from an anonymous platform_data pointer.”…”�”}”(hjâ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œa/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:41: ./include/linux/of_platform.h”h´K#hj‘h²hubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ#of_find_device_by_node (C function)”Œc.of_find_device_by_node”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒHstruct platform_device * of_find_device_by_node (struct device_node *np)”h]”j)�”}”(hŒFstruct platform_device *of_find_device_by_node(struct device_node *np)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj -h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj-h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj-h²hh³j-h´Kubh)�”}”(hhh]”jE)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hj)-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj&-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j+-Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_find_device_by_node”sbŒc.of_find_device_by_node”†”asbuh1hhj-h²hh³j-h´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj-h²hh³j-h´Kubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjX-h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj-h²hh³j-h´Kubj‘)�”}”(hŒof_find_device_by_node”h]”jE)�”}”(hjG-h]”hŒof_find_device_by_node”…”�”}”(hji-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhje-ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj-h²hh³j-h´Kubj¬)�”}”(hŒ(struct device_node *np)”h]”j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj„-h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj€-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€-ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj¢-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŸ-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¤-Œmodname”NŒ classname”Njbje)�”}”jh]”jE-Œc.of_find_device_by_node”†”asbuh1hhj€-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ-h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj€-ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÎ-h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj€-ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÛ-h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj€-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj|-ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj-h²hh³j-h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj-h²hh³j-h´Kubah}”(h]”jý,ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j-h´Khjÿ,h²hubj>)�”}”(hhh]”jC)�”}”(hŒ/Find the platform_device associated with a node”h]”hŒ/Find the platform_device associated with a node”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Khj.h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÿ,h²hh³j-h´Kubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj.jbj.jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hŒê**Parameters** ``struct device_node *np`` Pointer to device tree node **Description** Takes a reference to the embedded struct device which needs to be dropped after use. **Return** platform_device pointer, or NULL if not found”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj'.h]”hŒ Parameters”…”�”}”(hj).h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj%.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K hj!.ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ7``struct device_node *np`` Pointer to device tree node ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjF.h]”hŒstruct device_node *np”…”�”}”(hjH.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjD.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Khj@.ubj®)�”}”(hhh]”jC)�”}”(hŒPointer to device tree node”h]”hŒPointer to device tree node”…”�”}”(hj_.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j[.h´Khj\.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj@.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j[.h´Khj=.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj!.ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj�.h]”hŒ Description”…”�”}”(hjƒ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Khj!.ubjC)�”}”(hŒTTakes a reference to the embedded struct device which needs to be dropped after use.”h]”hŒTTakes a reference to the embedded struct device which needs to be dropped after use.”…”�”}”(hj—.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Khj!.ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj¨.h]”hŒReturn”…”�”}”(hjª.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¦.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K!hj!.ubjC)�”}”(hŒ-platform_device pointer, or NULL if not found”h]”hŒ-platform_device pointer, or NULL if not found”…”�”}”(hj¾.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K"hj!.ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_device_alloc (C function)”Œc.of_device_alloc”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒlstruct platform_device * of_device_alloc (struct device_node *np, const char *bus_id, struct device *parent)”h]”j)�”}”(hŒjstruct platform_device *of_device_alloc(struct device_node *np, const char *bus_id, struct device *parent)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjí.h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjé.h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K\ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû.h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjé.h²hh³jú.h´K\ubh)�”}”(hhh]”jE)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj /ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j/Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_device_alloc”sbŒc.of_device_alloc”†”asbuh1hhjé.h²hh³jú.h´K\ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjé.h²hh³jú.h´K\ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj;/h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjé.h²hh³jú.h´K\ubj‘)�”}”(hŒof_device_alloc”h]”jE)�”}”(hj*/h]”hŒof_device_alloc”…”�”}”(hjL/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjH/ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjé.h²hh³jú.h´K\ubj¬)�”}”(hŒC(struct device_node *np, const char *bus_id, struct device *parent)”h]”(j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjg/h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjc/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjc/ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj…/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‚/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j‡/Œmodname”NŒ classname”Njbje)�”}”jh]”j(/Œc.of_device_alloc”†”asbuh1hhjc/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjc/ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj±/h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjc/ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj¾/h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjc/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj_/ubj²)�”}”(hŒconst char *bus_id”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj×/h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÓ/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä/h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÓ/ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjò/h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÓ/ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÓ/ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÓ/ubjE)�”}”(hŒbus_id”h]”hŒbus_id”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÓ/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj_/ubj²)�”}”(hŒstruct device *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj40h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj00ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj00ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjR0h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjO0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jT0Œmodname”NŒ classname”Njbje)�”}”jh]”j(/Œc.of_device_alloc”†”asbuh1hhj00ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp0h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj00ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj~0h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj00ubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj‹0h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj00ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj_/ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjé.h²hh³jú.h´K\ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjå.h²hh³jú.h´K\ubah}”(h]”jà.ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jú.h´K\hjâ.h²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Allocate and initialize an of_device”h]”hŒ$Allocate and initialize an of_device”…”�”}”(hjµ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K\hj²0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjâ.h²hh³jú.h´K\ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÍ0jbjÍ0jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hŒÒ**Parameters** ``struct device_node *np`` device node to assign to device ``const char *bus_id`` Name to assign to the device. May be null to use default name. ``struct device *parent`` Parent device.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj×0h]”hŒ Parameters”…”�”}”(hjÙ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÕ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K`hjÑ0ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ;``struct device_node *np`` device node to assign to device ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjö0h]”hŒstruct device_node *np”…”�”}”(hjø0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjô0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K]hjð0ubj®)�”}”(hhh]”jC)�”}”(hŒdevice node to assign to device”h]”hŒdevice node to assign to device”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j 1h´K]hj 1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjð0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j 1h´K]hjí0ubjŒ)�”}”(hŒW``const char *bus_id`` Name to assign to the device. May be null to use default name. ”h]”(j’)�”}”(hŒ``const char *bus_id``”h]”j˜)�”}”(hj/1h]”hŒconst char *bus_id”…”�”}”(hj11h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj-1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K^hj)1ubj®)�”}”(hhh]”jC)�”}”(hŒ?Name to assign to the device. May be null to use default name.”h]”hŒ?Name to assign to the device. May be null to use default name.”…”�”}”(hjH1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jD1h´K^hjE1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj)1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jD1h´K^hjí0ubjŒ)�”}”(hŒ(``struct device *parent`` Parent device.”h]”(j’)�”}”(hŒ``struct device *parent``”h]”j˜)�”}”(hjh1h]”hŒstruct device *parent”…”�”}”(hjj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjf1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K`hjb1ubj®)�”}”(hhh]”jC)�”}”(hŒParent device.”h]”hŒParent device.”…”�”}”(hj�1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K_hj~1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjb1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j}1h´K`hjí0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÑ0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ&of_platform_device_create (C function)”Œc.of_platform_device_create”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒvstruct platform_device * of_platform_device_create (struct device_node *np, const char *bus_id, struct device *parent)”h]”j)�”}”(hŒtstruct platform_device *of_platform_device_create(struct device_node *np, const char *bus_id, struct device *parent)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÂ1h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¾1h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ1h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¾1h²hh³jÏ1h´K½ubh)�”}”(hhh]”jE)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hjá1h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÞ1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jã1Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_platform_device_create”sbŒc.of_platform_device_create”†”asbuh1hhj¾1h²hh³jÏ1h´K½ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¾1h²hh³jÏ1h´K½ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¾1h²hh³jÏ1h´K½ubj‘)�”}”(hŒof_platform_device_create”h]”jE)�”}”(hjÿ1h]”hŒof_platform_device_create”…”�”}”(hj!2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj2ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¾1h²hh³jÏ1h´K½ubj¬)�”}”(hŒC(struct device_node *np, const char *bus_id, struct device *parent)”h]”(j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj<2h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj82ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj82ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjZ2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjW2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j\2Œmodname”NŒ classname”Njbje)�”}”jh]”jý1Œc.of_platform_device_create”†”asbuh1hhj82ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj82ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj†2h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj82ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj“2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj82ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj42ubj²)�”}”(hŒconst char *bus_id”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj¬2h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¨2ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¨2ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÇ2h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¨2ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ2h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¨2ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjã2h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¨2ubjE)�”}”(hŒbus_id”h]”hŒbus_id”…”�”}”(hjð2h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¨2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj42ubj²)�”}”(hŒstruct device *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj 3h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj3ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj3ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj'3h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj$3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j)3Œmodname”NŒ classname”Njbje)�”}”jh]”jý1Œc.of_platform_device_create”†”asbuh1hhj3ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE3h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj3ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjS3h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj3ubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj`3h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj42ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¾1h²hh³jÏ1h´K½ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjº1h²hh³jÏ1h´K½ubah}”(h]”jµ1ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÏ1h´K½hj·1h²hubj>)�”}”(hhh]”jC)�”}”(hŒ+Alloc, initialize and register an of_device”h]”hŒ+Alloc, initialize and register an of_device”…”�”}”(hjŠ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K½hj‡3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj·1h²hh³jÏ1h´K½ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj¢3jbj¢3jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hXG**Parameters** ``struct device_node *np`` pointer to node to create device for ``const char *bus_id`` name to assign device ``struct device *parent`` Linux device model parent device. **Return** Pointer to created platform device, or NULL if a device was not registered. Unavailable devices will not get registered.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¬3h]”hŒ Parameters”…”�”}”(hj®3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjª3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´KÁhj¦3ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ@``struct device_node *np`` pointer to node to create device for ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjË3h]”hŒstruct device_node *np”…”�”}”(hjÍ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÉ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K¾hjÅ3ubj®)�”}”(hhh]”jC)�”}”(hŒ$pointer to node to create device for”h]”hŒ$pointer to node to create device for”…”�”}”(hjä3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jà3h´K¾hjá3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÅ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jà3h´K¾hjÂ3ubjŒ)�”}”(hŒ-``const char *bus_id`` name to assign device ”h]”(j’)�”}”(hŒ``const char *bus_id``”h]”j˜)�”}”(hj4h]”hŒconst char *bus_id”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´K¿hjþ3ubj®)�”}”(hhh]”jC)�”}”(hŒname to assign device”h]”hŒname to assign device”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j4h´K¿hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjþ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j4h´K¿hjÂ3ubjŒ)�”}”(hŒ<``struct device *parent`` Linux device model parent device. ”h]”(j’)�”}”(hŒ``struct device *parent``”h]”j˜)�”}”(hj=4h]”hŒstruct device *parent”…”�”}”(hj?4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj;4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´KÀhj74ubj®)�”}”(hhh]”jC)�”}”(hŒ!Linux device model parent device.”h]”hŒ!Linux device model parent device.”…”�”}”(hjV4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jR4h´KÀhjS4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj74ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jR4h´KÀhjÂ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj¦3ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjx4h]”hŒReturn”…”�”}”(hjz4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjv4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´KÂhj¦3ubjC)�”}”(hŒyPointer to created platform device, or NULL if a device was not registered. Unavailable devices will not get registered.”h]”hŒyPointer to created platform device, or NULL if a device was not registered. Unavailable devices will not get registered.”…”�”}”(hjŽ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´KÂhj¦3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_platform_bus_probe (C function)”Œc.of_platform_bus_probe”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒoint of_platform_bus_probe (struct device_node *root, const struct of_device_id *matches, struct device *parent)”h]”j)�”}”(hŒnint of_platform_bus_probe(struct device_node *root, const struct of_device_id *matches, struct device *parent)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj½4h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¹4h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M�ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌ4h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¹4h²hh³jË4h´M�ubj‘)�”}”(hŒof_platform_bus_probe”h]”jE)�”}”(hŒof_platform_bus_probe”h]”hŒof_platform_bus_probe”…”�”}”(hjÞ4h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÚ4ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¹4h²hh³jË4h´M�ubj¬)�”}”(hŒU(struct device_node *root, const struct of_device_id *matches, struct device *parent)”h]”(j²)�”}”(hŒstruct device_node *root”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjú4h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjö4ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjö4ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j5Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jà4sbŒc.of_platform_bus_probe”†”asbuh1hhjö4ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj85h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjö4ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjF5h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjö4ubjE)�”}”(hŒroot”h]”hŒroot”…”�”}”(hjS5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjö4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjò4ubj²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjl5h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjh5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh5ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj‡5h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjh5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh5ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj¥5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¢5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j§5Œmodname”NŒ classname”Njbje)�”}”jh]”j45Œc.of_platform_bus_probe”†”asbuh1hhjh5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ5h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjh5ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÑ5h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjh5ubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hjÞ5h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjh5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjò4ubj²)�”}”(hŒstruct device *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj÷5h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjó5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjó5ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j6Œmodname”NŒ classname”Njbje)�”}”jh]”j45Œc.of_platform_bus_probe”†”asbuh1hhjó5ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj36h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjó5ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjA6h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjó5ubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjN6h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjó5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjò4ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¹4h²hh³jË4h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjµ4h²hh³jË4h´M�ubah}”(h]”j°4ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jË4h´M�hj²4h²hubj>)�”}”(hhh]”jC)�”}”(hŒ(Probe the device-tree for platform buses”h]”hŒ(Probe the device-tree for platform buses”…”�”}”(hjx6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M�hju6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj²4h²hh³jË4h´M�ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj�6jbj�6jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hX£**Parameters** ``struct device_node *root`` parent of the first level to probe or NULL for the root of the tree ``const struct of_device_id *matches`` match table for bus nodes ``struct device *parent`` parent to hook devices from, NULL for toplevel **Description** Note that children of the provided root are not instantiated as devices unless the specified root itself matches the bus list and is not NULL.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjš6h]”hŒ Parameters”…”�”}”(hjœ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj˜6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M…hj”6ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒa``struct device_node *root`` parent of the first level to probe or NULL for the root of the tree ”h]”(j’)�”}”(hŒ``struct device_node *root``”h]”j˜)�”}”(hj¹6h]”hŒstruct device_node *root”…”�”}”(hj»6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj·6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M‚hj³6ubj®)�”}”(hhh]”jC)�”}”(hŒCparent of the first level to probe or NULL for the root of the tree”h]”hŒCparent of the first level to probe or NULL for the root of the tree”…”�”}”(hjÒ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÎ6h´M‚hjÏ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj³6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÎ6h´M‚hj°6ubjŒ)�”}”(hŒA``const struct of_device_id *matches`` match table for bus nodes ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hjò6h]”hŒ"const struct of_device_id *matches”…”�”}”(hjô6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjð6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Mƒhjì6ubj®)�”}”(hhh]”jC)�”}”(hŒmatch table for bus nodes”h]”hŒmatch table for bus nodes”…”�”}”(hj 7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j7h´Mƒhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjì6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j7h´Mƒhj°6ubjŒ)�”}”(hŒI``struct device *parent`` parent to hook devices from, NULL for toplevel ”h]”(j’)�”}”(hŒ``struct device *parent``”h]”j˜)�”}”(hj+7h]”hŒstruct device *parent”…”�”}”(hj-7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj)7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M„hj%7ubj®)�”}”(hhh]”jC)�”}”(hŒ.parent to hook devices from, NULL for toplevel”h]”hŒ.parent to hook devices from, NULL for toplevel”…”�”}”(hjD7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j@7h´M„hjA7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj%7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j@7h´M„hj°6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj”6ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjf7h]”hŒ Description”…”�”}”(hjh7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjd7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M†hj”6ubjC)�”}”(hŒŽNote that children of the provided root are not instantiated as devices unless the specified root itself matches the bus list and is not NULL.”h]”hŒŽNote that children of the provided root are not instantiated as devices unless the specified root itself matches the bus list and is not NULL.”…”�”}”(hj|7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M…hj”6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_platform_populate (C function)”Œc.of_platform_populate”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ“int of_platform_populate (struct device_node *root, const struct of_device_id *matches, const struct of_dev_auxdata *lookup, struct device *parent)”h]”j)�”}”(hŒ’int of_platform_populate(struct device_node *root, const struct of_device_id *matches, const struct of_dev_auxdata *lookup, struct device *parent)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj«7h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj§7h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M©ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº7h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj§7h²hh³j¹7h´M©ubj‘)�”}”(hŒof_platform_populate”h]”jE)�”}”(hŒof_platform_populate”h]”hŒof_platform_populate”…”�”}”(hjÌ7h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÈ7ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj§7h²hh³j¹7h´M©ubj¬)�”}”(hŒz(struct device_node *root, const struct of_device_id *matches, const struct of_dev_auxdata *lookup, struct device *parent)”h]”(j²)�”}”(hŒstruct device_node *root”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjè7h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjä7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ7h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjä7ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j8Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÎ7sbŒc.of_platform_populate”†”asbuh1hhjä7ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjä7ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj48h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjä7ubjE)�”}”(hŒroot”h]”hŒroot”…”�”}”(hjA8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjä7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjà7ubj²)�”}”(hŒ"const struct of_device_id *matches”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjZ8h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjV8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjV8ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hju8h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjV8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjV8ubh)�”}”(hhh]”jE)�”}”(hŒ of_device_id”h]”hŒ of_device_id”…”�”}”(hj“8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j•8Œmodname”NŒ classname”Njbje)�”}”jh]”j"8Œc.of_platform_populate”†”asbuh1hhjV8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjV8ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¿8h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjV8ubjE)�”}”(hŒmatches”h]”hŒmatches”…”�”}”(hjÌ8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjV8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjà7ubj²)�”}”(hŒ#const struct of_dev_auxdata *lookup”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjå8h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjá8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò8h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjá8ubj)�”}”(hj"h]”hŒstruct”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjá8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjá8ubh)�”}”(hhh]”jE)�”}”(hŒof_dev_auxdata”h]”hŒof_dev_auxdata”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j 9Œmodname”NŒ classname”Njbje)�”}”jh]”j"8Œc.of_platform_populate”†”asbuh1hhjá8ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<9h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjá8ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjJ9h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjá8ubjE)�”}”(hŒlookup”h]”hŒlookup”…”�”}”(hjW9h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjá8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjà7ubj²)�”}”(hŒstruct device *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjp9h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjl9ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}9h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjl9ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjŽ9h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‹9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j�9Œmodname”NŒ classname”Njbje)�”}”jh]”j"8Œc.of_platform_populate”†”asbuh1hhjl9ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬9h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjl9ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjº9h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjl9ubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjÇ9h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjl9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjà7ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj§7h²hh³j¹7h´M©ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj£7h²hh³j¹7h´M©ubah}”(h]”jž7ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¹7h´M©hj 7h²hubj>)�”}”(hhh]”jC)�”}”(hŒ/Populate platform_devices from device tree data”h]”hŒ/Populate platform_devices from device tree data”…”�”}”(hjñ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M©hjî9h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj 7h²hh³j¹7h´M©ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj :jbj :jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hX¢**Parameters** ``struct device_node *root`` parent of the first level to probe or NULL for the root of the tree ``const struct of_device_id *matches`` match table, NULL to use the default ``const struct of_dev_auxdata *lookup`` auxdata table for matching id and platform_data with device nodes ``struct device *parent`` parent to hook devices from, NULL for toplevel **Description** Similar to of_platform_bus_probe(), this function walks the device tree and creates devices from nodes. It differs in that it follows the modern convention of requiring all device nodes to have a 'compatible' property, and it is suitable for creating devices which are children of the root node (of_platform_bus_probe will only create children of the root which are selected by the **matches** argument). New board support should be using this function instead of of_platform_bus_probe(). **Return** 0 on success, < 0 on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj:h]”hŒ Parameters”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M­hj :ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒa``struct device_node *root`` parent of the first level to probe or NULL for the root of the tree ”h]”(j’)�”}”(hŒ``struct device_node *root``”h]”j˜)�”}”(hj2:h]”hŒstruct device_node *root”…”�”}”(hj4:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj0:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Mªhj,:ubj®)�”}”(hhh]”jC)�”}”(hŒCparent of the first level to probe or NULL for the root of the tree”h]”hŒCparent of the first level to probe or NULL for the root of the tree”…”�”}”(hjK:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jG:h´MªhjH:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj,:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jG:h´Mªhj):ubjŒ)�”}”(hŒL``const struct of_device_id *matches`` match table, NULL to use the default ”h]”(j’)�”}”(hŒ&``const struct of_device_id *matches``”h]”j˜)�”}”(hjk:h]”hŒ"const struct of_device_id *matches”…”�”}”(hjm:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hji:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M«hje:ubj®)�”}”(hhh]”jC)�”}”(hŒ$match table, NULL to use the default”h]”hŒ$match table, NULL to use the default”…”�”}”(hj„:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j€:h´M«hj�:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hje:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j€:h´M«hj):ubjŒ)�”}”(hŒj``const struct of_dev_auxdata *lookup`` auxdata table for matching id and platform_data with device nodes ”h]”(j’)�”}”(hŒ'``const struct of_dev_auxdata *lookup``”h]”j˜)�”}”(hj¤:h]”hŒ#const struct of_dev_auxdata *lookup”…”�”}”(hj¦:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¢:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M¬hjž:ubj®)�”}”(hhh]”jC)�”}”(hŒAauxdata table for matching id and platform_data with device nodes”h]”hŒAauxdata table for matching id and platform_data with device nodes”…”�”}”(hj½:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¹:h´M¬hjº:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjž:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¹:h´M¬hj):ubjŒ)�”}”(hŒI``struct device *parent`` parent to hook devices from, NULL for toplevel ”h]”(j’)�”}”(hŒ``struct device *parent``”h]”j˜)�”}”(hjÝ:h]”hŒstruct device *parent”…”�”}”(hjß:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÛ:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M­hj×:ubj®)�”}”(hhh]”jC)�”}”(hŒ.parent to hook devices from, NULL for toplevel”h]”hŒ.parent to hook devices from, NULL for toplevel”…”�”}”(hjö:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jò:h´M­hjó:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj×:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jò:h´M­hj):ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj :ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj;h]”hŒ Description”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M¯hj :ubjC)�”}”(hX•Similar to of_platform_bus_probe(), this function walks the device tree and creates devices from nodes. It differs in that it follows the modern convention of requiring all device nodes to have a 'compatible' property, and it is suitable for creating devices which are children of the root node (of_platform_bus_probe will only create children of the root which are selected by the **matches** argument).”h]”(hXƒSimilar to of_platform_bus_probe(), this function walks the device tree and creates devices from nodes. It differs in that it follows the modern convention of requiring all device nodes to have a ‘compatible’ property, and it is suitable for creating devices which are children of the root node (of_platform_bus_probe will only create children of the root which are selected by the ”…”�”}”(hj.;h²hh³Nh´Nubjq)�”}”(hŒ **matches**”h]”hŒmatches”…”�”}”(hj6;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj.;ubhŒ argument).”…”�”}”(hj.;h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M®hj :ubjC)�”}”(hŒSNew board support should be using this function instead of of_platform_bus_probe().”h]”hŒSNew board support should be using this function instead of of_platform_bus_probe().”…”�”}”(hjO;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Mµhj :ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj`;h]”hŒReturn”…”�”}”(hjb;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj^;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M¸hj :ubjC)�”}”(hŒ0 on success, < 0 on failure.”h]”hŒ0 on success, < 0 on failure.”…”�”}”(hjv;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M¹hj :ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ#of_platform_depopulate (C function)”Œc.of_platform_depopulate”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ3void of_platform_depopulate (struct device *parent)”h]”j)�”}”(hŒ2void of_platform_depopulate(struct device *parent)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¥;h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj¡;h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M~ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´;h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¡;h²hh³j³;h´M~ubj‘)�”}”(hŒof_platform_depopulate”h]”jE)�”}”(hŒof_platform_depopulate”h]”hŒof_platform_depopulate”…”�”}”(hjÆ;h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÂ;ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¡;h²hh³j³;h´M~ubj¬)�”}”(hŒ(struct device *parent)”h]”j²)�”}”(hŒstruct device *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjâ;h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÞ;ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï;h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÞ;ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjý;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j<Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÈ;sbŒc.of_platform_depopulate”†”asbuh1hhjÞ;ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj <h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÞ;ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj.<h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÞ;ubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hj;<h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÞ;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÚ;ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¡;h²hh³j³;h´M~ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj�;h²hh³j³;h´M~ubah}”(h]”j˜;ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j³;h´M~hjš;h²hubj>)�”}”(hhh]”jC)�”}”(hŒ)Remove devices populated from device tree”h]”hŒ)Remove devices populated from device tree”…”�”}”(hje<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M~hjb<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjš;h²hh³j³;h´M~ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj}<jbj}<jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hXe**Parameters** ``struct device *parent`` device which children will be removed **Description** Complementary to of_platform_populate(), this function removes children of the given device (and, recursively, their children) that have been created from their respective device tree nodes (and only those, leaving others - eg. manually created - unharmed).”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj‡<h]”hŒ Parameters”…”�”}”(hj‰<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj…<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M‚hj�<ubj‡)�”}”(hhh]”jŒ)�”}”(hŒ@``struct device *parent`` device which children will be removed ”h]”(j’)�”}”(hŒ``struct device *parent``”h]”j˜)�”}”(hj¦<h]”hŒstruct device *parent”…”�”}”(hj¨<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¤<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Mhj <ubj®)�”}”(hhh]”jC)�”}”(hŒ%device which children will be removed”h]”hŒ%device which children will be removed”…”�”}”(hj¿<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j»<h´Mhj¼<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj <ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j»<h´Mhj�<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj�<ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjá<h]”hŒ Description”…”�”}”(hjã<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjß<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M�hj�<ubjC)�”}”(hXComplementary to of_platform_populate(), this function removes children of the given device (and, recursively, their children) that have been created from their respective device tree nodes (and only those, leaving others - eg. manually created - unharmed).”h]”hXComplementary to of_platform_populate(), this function removes children of the given device (and, recursively, their children) that have been created from their respective device tree nodes (and only those, leaving others - eg. manually created - unharmed).”…”�”}”(hj÷<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M€hj�<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ&devm_of_platform_populate (C function)”Œc.devm_of_platform_populate”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ2int devm_of_platform_populate (struct device *dev)”h]”j)�”}”(hŒ1int devm_of_platform_populate(struct device *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj&=h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj"=h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M•ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj"=h²hh³j4=h´M•ubj‘)�”}”(hŒdevm_of_platform_populate”h]”jE)�”}”(hŒdevm_of_platform_populate”h]”hŒdevm_of_platform_populate”…”�”}”(hjG=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjC=ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj"=h²hh³j4=h´M•ubj¬)�”}”(hŒ(struct device *dev)”h]”j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjc=h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj_=ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj_=ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj�=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj~=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jƒ=Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jI=sbŒc.devm_of_platform_populate”†”asbuh1hhj_=ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡=h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj_=ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¯=h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj_=ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj¼=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj_=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj[=ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj"=h²hh³j4=h´M•ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj=h²hh³j4=h´M•ubah}”(h]”j=ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j4=h´M•hj=h²hubj>)�”}”(hhh]”jC)�”}”(hŒ/Populate platform_devices from device tree data”h]”hŒ/Populate platform_devices from device tree data”…”�”}”(hjæ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M•hjã=h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj=h²hh³j4=h´M•ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajþ=jbjþ=jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hX**Parameters** ``struct device *dev`` device that requested to populate from device tree data **Description** Similar to of_platform_populate(), but will automatically call of_platform_depopulate() when the device is unbound from the bus. **Return** 0 on success, < 0 on failure.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj>h]”hŒ Parameters”…”�”}”(hj >h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M™hj>ubj‡)�”}”(hhh]”jŒ)�”}”(hŒO``struct device *dev`` device that requested to populate from device tree data ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hj'>h]”hŒstruct device *dev”…”�”}”(hj)>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj%>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M–hj!>ubj®)�”}”(hhh]”jC)�”}”(hŒ7device that requested to populate from device tree data”h]”hŒ7device that requested to populate from device tree data”…”�”}”(hj@>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j<>h´M–hj=>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj!>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j<>h´M–hj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj>ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjb>h]”hŒ Description”…”�”}”(hjd>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj`>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M˜hj>ubjC)�”}”(hŒ€Similar to of_platform_populate(), but will automatically call of_platform_depopulate() when the device is unbound from the bus.”h]”hŒ€Similar to of_platform_populate(), but will automatically call of_platform_depopulate() when the device is unbound from the bus.”…”�”}”(hjx>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M—hj>ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj‰>h]”hŒReturn”…”�”}”(hj‹>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj‡>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´Mšhj>ubjC)�”}”(hŒ0 on success, < 0 on failure.”h]”hŒ0 on success, < 0 on failure.”…”�”}”(hjŸ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´M›hj>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(devm_of_platform_depopulate (C function)”Œc.devm_of_platform_depopulate”hNt”auh1hühj‘h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ5void devm_of_platform_depopulate (struct device *dev)”h]”j)�”}”(hŒ4void devm_of_platform_depopulate(struct device *dev)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÎ>h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÊ>h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´MÃubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ>h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÊ>h²hh³jÜ>h´MÃubj‘)�”}”(hŒdevm_of_platform_depopulate”h]”jE)�”}”(hŒdevm_of_platform_depopulate”h]”hŒdevm_of_platform_depopulate”…”�”}”(hjï>h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjë>ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÊ>h²hh³jÜ>h´MÃubj¬)�”}”(hŒ(struct device *dev)”h]”j²)�”}”(hŒstruct device *dev”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj ?h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj?ubh)�”}”(hhh]”jE)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj)?h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj&?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j+?Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jñ>sbŒc.devm_of_platform_depopulate”†”asbuh1hhj?ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI?h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj?ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjW?h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj?ubjE)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjd?h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj?ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÊ>h²hh³jÜ>h´MÃubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjÆ>h²hh³jÜ>h´MÃubah}”(h]”jÁ>ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÜ>h´MÃhjÃ>h²hubj>)�”}”(hhh]”jC)�”}”(hŒ)Remove devices populated from device tree”h]”hŒ)Remove devices populated from device tree”…”�”}”(hjŽ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´MÃhj‹?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÃ>h²hh³jÜ>h´MÃubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj¦?jbj¦?jc‰jd‰je‰uh1j h²hhj‘h³Nh´Nubjg)�”}”(hX{**Parameters** ``struct device *dev`` device that requested to depopulate from device tree data **Description** Complementary to devm_of_platform_populate(), this function removes children of the given device (and, recursively, their children) that have been created from their respective device tree nodes (and only those, leaving others - eg. manually created - unharmed).”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj°?h]”hŒ Parameters”…”�”}”(hj²?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj®?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´MÇhjª?ubj‡)�”}”(hhh]”jŒ)�”}”(hŒQ``struct device *dev`` device that requested to depopulate from device tree data ”h]”(j’)�”}”(hŒ``struct device *dev``”h]”j˜)�”}”(hjÏ?h]”hŒstruct device *dev”…”�”}”(hjÑ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÍ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”•h´MÄhjÉ?ubj®)�”}”(hhh]”jC)�”}”(hŒ9device that requested to depopulate from device tree data”h]”hŒ9device that requested to depopulate from device tree data”…”�”}”(hjè?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jä?h´MÄhjå?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÉ?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jä?h´MÄhjÆ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjª?ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj @h]”hŒ Description”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´MÆhjª?ubjC)�”}”(hXComplementary to devm_of_platform_populate(), this function removes children of the given device (and, recursively, their children) that have been created from their respective device tree nodes (and only those, leaving others - eg. manually created - unharmed).”h]”hXComplementary to devm_of_platform_populate(), this function removes children of the given device (and, recursively, their children) that have been created from their respective device tree nodes (and only those, leaving others - eg. manually created - unharmed).”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:44: ./drivers/of/platform.c”h´MÅhjª?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj‘h²hh³Nh´Nubeh}”(h]”Œdriver-model-functions”ah ]”h"]”Œdriver model functions”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K!ubh×)�”}”(hhh]”(hÜ)�”}”(hŒ Overlay and Dynamic DT functions”h]”hŒ Overlay and Dynamic DT functions”…”�”}”(hjA@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj>@h²hh³hÇh´K0ubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ of_resolve_phandles (C function)”Œc.of_resolve_phandles”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ5int of_resolve_phandles (struct device_node *overlay)”h]”j)�”}”(hŒ4int of_resolve_phandles(struct device_node *overlay)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjh@h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjd@h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KØubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjd@h²hh³jv@h´KØubj‘)�”}”(hŒof_resolve_phandles”h]”jE)�”}”(hŒof_resolve_phandles”h]”hŒof_resolve_phandles”…”�”}”(hj‰@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj…@ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjd@h²hh³jv@h´KØubj¬)�”}”(hŒ(struct device_node *overlay)”h]”j²)�”}”(hŒstruct device_node *overlay”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¥@h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¡@ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¡@ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÃ@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÀ@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÅ@Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j‹@sbŒc.of_resolve_phandles”†”asbuh1hhj¡@ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjã@h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¡@ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjñ@h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¡@ubjE)�”}”(hŒoverlay”h]”hŒoverlay”…”�”}”(hjþ@h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¡@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj�@ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjd@h²hh³jv@h´KØubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj`@h²hh³jv@h´KØubah}”(h]”j[@ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jv@h´KØhj]@h²hubj>)�”}”(hhh]”jC)�”}”(hŒ.Relocate and resolve overlay against live tree”h]”hŒ.Relocate and resolve overlay against live tree”…”�”}”(hj(Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KØhj%Ah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj]@h²hh³jv@h´KØubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj@Ajbj@Ajc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXê**Parameters** ``struct device_node *overlay`` Pointer to devicetree overlay to relocate and resolve **Description** Modify (relocate) values of local phandles in **overlay** to a range that does not conflict with the live expanded devicetree. Update references to the local phandles in **overlay**. Update (resolve) phandle references in **overlay** that refer to the live expanded devicetree. Phandle values in the live tree are in the range of 1 .. live_tree_max_phandle(). The range of phandle values in the overlay also begin with at 1. Adjust the phandle values in the overlay to begin at live_tree_max_phandle() + 1. Update references to the phandles to the adjusted phandle values. The name of each property in the "__fixups__" node in the overlay matches the name of a symbol (a label) in the live tree. The values of each property in the "__fixups__" node is a list of the property values in the overlay that need to be updated to contain the phandle reference corresponding to that symbol in the live tree. Update the references in the overlay with the phandle values in the live tree. **overlay** must be detached. Resolving and applying **overlay** to the live expanded devicetree must be protected by a mechanism to ensure that multiple overlays are processed in a single threaded manner so that multiple overlays will not relocate phandles to overlapping ranges. The mechanism to enforce this is not yet implemented. **Return** ``0`` on success or a negative error value on error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjJAh]”hŒ Parameters”…”�”}”(hjLAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjHAubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KÜhjDAubj‡)�”}”(hhh]”jŒ)�”}”(hŒV``struct device_node *overlay`` Pointer to devicetree overlay to relocate and resolve ”h]”(j’)�”}”(hŒ``struct device_node *overlay``”h]”j˜)�”}”(hjiAh]”hŒstruct device_node *overlay”…”�”}”(hjkAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjgAubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KÚhjcAubj®)�”}”(hhh]”jC)�”}”(hŒ5Pointer to devicetree overlay to relocate and resolve”h]”hŒ5Pointer to devicetree overlay to relocate and resolve”…”�”}”(hj‚Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j~Ah´KÚhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjcAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j~Ah´KÚhj`Aubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjDAubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj¤Ah]”hŒ Description”…”�”}”(hj¦Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¢Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KÜhjDAubjC)�”}”(hXModify (relocate) values of local phandles in **overlay** to a range that does not conflict with the live expanded devicetree. Update references to the local phandles in **overlay**. Update (resolve) phandle references in **overlay** that refer to the live expanded devicetree.”h]”(hŒ.Modify (relocate) values of local phandles in ”…”�”}”(hjºAh²hh³Nh´Nubjq)�”}”(hŒ **overlay**”h]”hŒoverlay”…”�”}”(hjÂAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjºAubhŒr to a range that does not conflict with the live expanded devicetree. Update references to the local phandles in ”…”�”}”(hjºAh²hh³Nh´Nubjq)�”}”(hŒ **overlay**”h]”hŒoverlay”…”�”}”(hjÔAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjºAubhŒ*. Update (resolve) phandle references in ”…”�”}”(hjºAh²hh³Nh´Nubjq)�”}”(hŒ **overlay**”h]”hŒoverlay”…”�”}”(hjæAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjºAubhŒ, that refer to the live expanded devicetree.”…”�”}”(hjºAh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KÛhjDAubjC)�”}”(hX)Phandle values in the live tree are in the range of 1 .. live_tree_max_phandle(). The range of phandle values in the overlay also begin with at 1. Adjust the phandle values in the overlay to begin at live_tree_max_phandle() + 1. Update references to the phandles to the adjusted phandle values.”h]”hX)Phandle values in the live tree are in the range of 1 .. live_tree_max_phandle(). The range of phandle values in the overlay also begin with at 1. Adjust the phandle values in the overlay to begin at live_tree_max_phandle() + 1. Update references to the phandles to the adjusted phandle values.”…”�”}”(hjÿAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KàhjDAubjC)�”}”(hX˜The name of each property in the "__fixups__" node in the overlay matches the name of a symbol (a label) in the live tree. The values of each property in the "__fixups__" node is a list of the property values in the overlay that need to be updated to contain the phandle reference corresponding to that symbol in the live tree. Update the references in the overlay with the phandle values in the live tree.”h]”hX The name of each property in the “__fixups__â€� node in the overlay matches the name of a symbol (a label) in the live tree. The values of each property in the “__fixups__â€� node is a list of the property values in the overlay that need to be updated to contain the phandle reference corresponding to that symbol in the live tree. Update the references in the overlay with the phandle values in the live tree.”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KæhjDAubjC)�”}”(hŒ**overlay** must be detached.”h]”(jq)�”}”(hŒ **overlay**”h]”hŒoverlay”…”�”}”(hj!Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjBubhŒ must be detached.”…”�”}”(hjBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KíhjDAubjC)�”}”(hX1Resolving and applying **overlay** to the live expanded devicetree must be protected by a mechanism to ensure that multiple overlays are processed in a single threaded manner so that multiple overlays will not relocate phandles to overlapping ranges. The mechanism to enforce this is not yet implemented.”h]”(hŒResolving and applying ”…”�”}”(hj:Bh²hh³Nh´Nubjq)�”}”(hŒ **overlay**”h]”hŒoverlay”…”�”}”(hjBBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj:BubhX to the live expanded devicetree must be protected by a mechanism to ensure that multiple overlays are processed in a single threaded manner so that multiple overlays will not relocate phandles to overlapping ranges. The mechanism to enforce this is not yet implemented.”…”�”}”(hj:Bh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KïhjDAubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj]Bh]”hŒReturn”…”�”}”(hj_Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj[Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KõhjDAubjC)�”}”(hŒ4``0`` on success or a negative error value on error.”h]”(j˜)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjwBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjsBubhŒ/ on success or a negative error value on error.”…”�”}”(hjsBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³Œ[/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:50: ./drivers/of/resolver.c”h´KöhjDAubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_node_get (C function)”Œ c.of_node_get”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ;struct device_node * of_node_get (struct device_node *node)”h]”j)�”}”(hŒ9struct device_node *of_node_get(struct device_node *node)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj°Bh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¬Bh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾Bh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¬Bh²hh³j½Bh´Kubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÏBh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÌBubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÑBŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œ of_node_get”sbŒ c.of_node_get”†”asbuh1hhj¬Bh²hh³j½Bh´Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðBh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¬Bh²hh³j½Bh´Kubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjþBh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¬Bh²hh³j½Bh´Kubj‘)�”}”(hŒ of_node_get”h]”jE)�”}”(hjíBh]”hŒ of_node_get”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj Cubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj¬Bh²hh³j½Bh´Kubj¬)�”}”(hŒ(struct device_node *node)”h]”j²)�”}”(hŒstruct device_node *node”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj*Ch²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj&Cubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7Ch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj&Cubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjHCh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjECubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jJCŒmodname”NŒ classname”Njbje)�”}”jh]”jëBŒ c.of_node_get”†”asbuh1hhj&Cubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfCh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj&Cubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjtCh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj&CubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hj�Ch²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj&Cubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj"Cubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj¬Bh²hh³j½Bh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¨Bh²hh³j½Bh´Kubah}”(h]”j£Bah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j½Bh´Khj¥Bh²hubj>)�”}”(hhh]”jC)�”}”(hŒIncrement refcount of a node”h]”hŒIncrement refcount of a node”…”�”}”(hj«Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Khj¨Ch²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¥Bh²hh³j½Bh´Kubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajÃCjbjÃCjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒ¨**Parameters** ``struct device_node *node`` Node to inc refcount, NULL is supported to simplify writing of callers **Return** The node with refcount incremented.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÍCh]”hŒ Parameters”…”�”}”(hjÏCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjËCubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K hjÇCubj‡)�”}”(hhh]”jŒ)�”}”(hŒd``struct device_node *node`` Node to inc refcount, NULL is supported to simplify writing of callers ”h]”(j’)�”}”(hŒ``struct device_node *node``”h]”j˜)�”}”(hjìCh]”hŒstruct device_node *node”…”�”}”(hjîCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjêCubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´KhjæCubj®)�”}”(hhh]”jC)�”}”(hŒFNode to inc refcount, NULL is supported to simplify writing of callers”h]”hŒFNode to inc refcount, NULL is supported to simplify writing of callers”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´KhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjæCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jDh´KhjãCubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjÇCubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj(Dh]”hŒReturn”…”�”}”(hj*Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj&Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K hjÇCubjC)�”}”(hŒ#The node with refcount incremented.”h]”hŒ#The node with refcount incremented.”…”�”}”(hj>Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K hjÇCubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_node_put (C function)”Œ c.of_node_put”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ+void of_node_put (struct device_node *node)”h]”j)�”}”(hŒ*void of_node_put(struct device_node *node)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjmDh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjiDh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K+ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjiDh²hh³j{Dh´K+ubj‘)�”}”(hŒ of_node_put”h]”jE)�”}”(hŒ of_node_put”h]”hŒ of_node_put”…”�”}”(hjŽDh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠDubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjiDh²hh³j{Dh´K+ubj¬)�”}”(hŒ(struct device_node *node)”h]”j²)�”}”(hŒstruct device_node *node”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjªDh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¦Dubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·Dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¦Dubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÈDh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÅDubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÊDŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j�DsbŒ c.of_node_put”†”asbuh1hhj¦Dubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèDh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¦Dubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjöDh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¦DubjE)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¦Dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¢Dubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjiDh²hh³j{Dh´K+ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjeDh²hh³j{Dh´K+ubah}”(h]”j`Dah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j{Dh´K+hjbDh²hubj>)�”}”(hhh]”jC)�”}”(hŒDecrement refcount of a node”h]”hŒDecrement refcount of a node”…”�”}”(hj-Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K+hj*Eh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjbDh²hh³j{Dh´K+ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajEEjbjEEjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒw**Parameters** ``struct device_node *node`` Node to dec refcount, NULL is supported to simplify writing of callers”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjOEh]”hŒ Parameters”…”�”}”(hjQEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjMEubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K/hjIEubj‡)�”}”(hhh]”jŒ)�”}”(hŒc``struct device_node *node`` Node to dec refcount, NULL is supported to simplify writing of callers”h]”(j’)�”}”(hŒ``struct device_node *node``”h]”j˜)�”}”(hjnEh]”hŒstruct device_node *node”…”�”}”(hjpEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjlEubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´K,hjhEubj®)�”}”(hhh]”jC)�”}”(hŒFNode to dec refcount, NULL is supported to simplify writing of callers”h]”hŒFNode to dec refcount, NULL is supported to simplify writing of callers”…”�”}”(hj‡Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jƒEh´K,hj„Eubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjhEubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jƒEh´K,hjeEubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjIEubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_detach_node (C function)”Œc.of_detach_node”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ+int of_detach_node (struct device_node *np)”h]”j)�”}”(hŒ*int of_detach_node(struct device_node *np)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÇEh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÃEh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M-ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖEh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÃEh²hh³jÕEh´M-ubj‘)�”}”(hŒof_detach_node”h]”jE)�”}”(hŒof_detach_node”h]”hŒof_detach_node”…”�”}”(hjèEh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjäEubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÃEh²hh³jÕEh´M-ubj¬)�”}”(hŒ(struct device_node *np)”h]”j²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjFubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjFubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj"Fh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j$FŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jêEsbŒc.of_detach_node”†”asbuh1hhjFubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBFh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjFubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjPFh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjFubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj]Fh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjüEubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÃEh²hh³jÕEh´M-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¿Eh²hh³jÕEh´M-ubah}”(h]”jºEah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÕEh´M-hj¼Eh²hubj>)�”}”(hhh]”jC)�”}”(hŒ%"Unplug" a node from the device tree.”h]”hŒ)“Unplugâ€� a node from the device tree.”…”�”}”(hj‡Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M-hj„Fh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¼Eh²hh³jÕEh´M-ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajŸFjbjŸFjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒP**Parameters** ``struct device_node *np`` Pointer to the caller's Device Node”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj©Fh]”hŒ Parameters”…”�”}”(hj«Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj§Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M1hj£Fubj‡)�”}”(hhh]”jŒ)�”}”(hŒ>``struct device_node *np`` Pointer to the caller's Device Node”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjÈFh]”hŒstruct device_node *np”…”�”}”(hjÊFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÆFubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M3hjÂFubj®)�”}”(hhh]”jC)�”}”(hŒ#Pointer to the caller's Device Node”h]”hŒ%Pointer to the caller’s Device Node”…”�”}”(hjáFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M.hjÞFubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÂFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÝFh´M3hj¿Fubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj£Fubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ%of_changeset_create_node (C function)”Œc.of_changeset_create_node”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ{struct device_node * of_changeset_create_node (struct of_changeset *ocs, struct device_node *parent, const char *full_name)”h]”j)�”}”(hŒystruct device_node *of_changeset_create_node(struct of_changeset *ocs, struct device_node *parent, const char *full_name)”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj"Gh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjGh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Möubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Gh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjGh²hh³j/Gh´Möubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjAGh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj>Gubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jCGŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^Œof_changeset_create_node”sbŒc.of_changeset_create_node”†”asbuh1hhjGh²hh³j/Gh´Möubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbGh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjGh²hh³j/Gh´Möubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjpGh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjGh²hh³j/Gh´Möubj‘)�”}”(hŒof_changeset_create_node”h]”jE)�”}”(hj_Gh]”hŒof_changeset_create_node”…”�”}”(hj�Gh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj}Gubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjGh²hh³j/Gh´Möubj¬)�”}”(hŒM(struct of_changeset *ocs, struct device_node *parent, const char *full_name)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjœGh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj˜Gubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©Gh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj˜Gubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjºGh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj·Gubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¼GŒmodname”NŒ classname”Njbje)�”}”jh]”j]GŒc.of_changeset_create_node”†”asbuh1hhj˜Gubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØGh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj˜Gubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjæGh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj˜GubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hjóGh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj˜Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj”Gubj²)�”}”(hŒstruct device_node *parent”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj Hh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjHubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj*Hh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj'Hubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j,HŒmodname”NŒ classname”Njbje)�”}”jh]”j]GŒc.of_changeset_create_node”†”asbuh1hhjHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHHh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjHubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjVHh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjHubjE)�”}”(hŒparent”h]”hŒparent”…”�”}”(hjcHh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj”Gubj²)�”}”(hŒconst char *full_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj|Hh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjxHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰Hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjxHubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj—Hh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjxHubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥Hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjxHubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj³Hh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjxHubjE)�”}”(hŒ full_name”h]”hŒ full_name”…”�”}”(hjÀHh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjxHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj”Gubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjGh²hh³j/Gh´Möubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjGh²hh³j/Gh´Möubah}”(h]”jGah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j/Gh´MöhjGh²hubj>)�”}”(hhh]”jC)�”}”(hŒADynamically create a device node and attach to a given changeset.”h]”hŒADynamically create a device node and attach to a given changeset.”…”�”}”(hjêHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MöhjçHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjGh²hh³j/Gh´Möubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajIjbjIjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒü**Parameters** ``struct of_changeset *ocs`` Pointer to changeset ``struct device_node *parent`` Pointer to parent device node ``const char *full_name`` Node full name **Return** Pointer to the created device node or NULL in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj Ih]”hŒ Parameters”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj Iubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MúhjIubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ2``struct of_changeset *ocs`` Pointer to changeset ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hj+Ih]”hŒstruct of_changeset *ocs”…”�”}”(hj-Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj)Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mùhj%Iubj®)�”}”(hhh]”jC)�”}”(hŒPointer to changeset”h]”hŒPointer to changeset”…”�”}”(hjDIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j@Ih´MùhjAIubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj%Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j@Ih´Mùhj"IubjŒ)�”}”(hŒ=``struct device_node *parent`` Pointer to parent device node ”h]”(j’)�”}”(hŒ``struct device_node *parent``”h]”j˜)�”}”(hjdIh]”hŒstruct device_node *parent”…”�”}”(hjfIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjbIubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Múhj^Iubj®)�”}”(hhh]”jC)�”}”(hŒPointer to parent device node”h]”hŒPointer to parent device node”…”�”}”(hj}Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jyIh´MúhjzIubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj^Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jyIh´Múhj"IubjŒ)�”}”(hŒ)``const char *full_name`` Node full name ”h]”(j’)�”}”(hŒ``const char *full_name``”h]”j˜)�”}”(hj�Ih]”hŒconst char *full_name”…”�”}”(hjŸIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj›Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mûhj—Iubj®)�”}”(hhh]”jC)�”}”(hŒNode full name”h]”hŒNode full name”…”�”}”(hj¶Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j²Ih´Mûhj³Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj—Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j²Ih´Mûhj"Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjIubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjØIh]”hŒReturn”…”�”}”(hjÚIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÖIubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MýhjIubjC)�”}”(hŒ?Pointer to the created device node or NULL in case of an error.”h]”hŒ?Pointer to the created device node or NULL in case of an error.”…”�”}”(hjîIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MýhjIubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_changeset_init (C function)”Œc.of_changeset_init”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ1void of_changeset_init (struct of_changeset *ocs)”h]”j)�”}”(hŒ0void of_changeset_init(struct of_changeset *ocs)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjJh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M“ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Jh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjJh²hh³j+Jh´M“ubj‘)�”}”(hŒof_changeset_init”h]”jE)�”}”(hŒof_changeset_init”h]”hŒof_changeset_init”…”�”}”(hj>Jh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj:Jubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjJh²hh³j+Jh´M“ubj¬)�”}”(hŒ(struct of_changeset *ocs)”h]”j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjZJh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjVJubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgJh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVJubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjxJh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jzJŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j@JsbŒc.of_changeset_init”†”asbuh1hhjVJubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Jh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjVJubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¦Jh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjVJubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj³Jh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjVJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjRJubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjJh²hh³j+Jh´M“ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjJh²hh³j+Jh´M“ubah}”(h]”jJah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j+Jh´M“hjJh²hubj>)�”}”(hhh]”jC)�”}”(hŒInitialize a changeset for use”h]”hŒInitialize a changeset for use”…”�”}”(hjÝJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M“hjÚJh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjJh²hh³j+Jh´M“ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajõJjbjõJjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒs**Parameters** ``struct of_changeset *ocs`` changeset pointer **Description** Initialize a changeset structure”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÿJh]”hŒ Parameters”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjýJubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M—hjùJubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hjKh]”hŒstruct of_changeset *ocs”…”�”}”(hj Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M•hjKubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hj7Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j3Kh´M•hj4Kubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j3Kh´M•hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjùJubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjYKh]”hŒ Description”…”�”}”(hj[Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjWKubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M—hjùJubjC)�”}”(hŒ Initialize a changeset structure”h]”hŒ Initialize a changeset structure”…”�”}”(hjoKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M–hjùJubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_changeset_destroy (C function)”Œc.of_changeset_destroy”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ4void of_changeset_destroy (struct of_changeset *ocs)”h]”j)�”}”(hŒ3void of_changeset_destroy(struct of_changeset *ocs)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjžKh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjšKh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M¡ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­Kh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjšKh²hh³j¬Kh´M¡ubj‘)�”}”(hŒof_changeset_destroy”h]”jE)�”}”(hŒof_changeset_destroy”h]”hŒof_changeset_destroy”…”�”}”(hj¿Kh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj»Kubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjšKh²hh³j¬Kh´M¡ubj¬)�”}”(hŒ(struct of_changeset *ocs)”h]”j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÛKh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj×Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèKh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj×Kubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjùKh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjöKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jûKŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÁKsbŒc.of_changeset_destroy”†”asbuh1hhj×Kubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj×Kubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj'Lh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj×KubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj4Lh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj×Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÓKubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjšKh²hh³j¬Kh´M¡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj–Kh²hh³j¬Kh´M¡ubah}”(h]”j‘Kah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¬Kh´M¡hj“Kh²hubj>)�”}”(hhh]”jC)�”}”(hŒDestroy a changeset”h]”hŒDestroy a changeset”…”�”}”(hj^Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M¡hj[Lh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj“Kh²hh³j¬Kh´M¡ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajvLjbjvLjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒ¹**Parameters** ``struct of_changeset *ocs`` changeset pointer **Description** Destroys a changeset. Note that if a changeset is applied, its changes to the tree cannot be reverted.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj€Lh]”hŒ Parameters”…”�”}”(hj‚Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj~Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M¥hjzLubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hjŸLh]”hŒstruct of_changeset *ocs”…”�”}”(hj¡Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj�Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M£hj™Lubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hj¸Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j´Lh´M£hjµLubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj™Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j´Lh´M£hj–Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjzLubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjÚLh]”hŒ Description”…”�”}”(hjÜLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjØLubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M¥hjzLubjC)�”}”(hŒfDestroys a changeset. Note that if a changeset is applied, its changes to the tree cannot be reverted.”h]”hŒfDestroys a changeset. Note that if a changeset is applied, its changes to the tree cannot be reverted.”…”�”}”(hjðLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M¤hjzLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_changeset_apply (C function)”Œc.of_changeset_apply”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ1int of_changeset_apply (struct of_changeset *ocs)”h]”j)�”}”(hŒ0int of_changeset_apply(struct of_changeset *ocs)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjMh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.Mh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjMh²hh³j-Mh´M ubj‘)�”}”(hŒof_changeset_apply”h]”jE)�”}”(hŒof_changeset_apply”h]”hŒof_changeset_apply”…”�”}”(hj@Mh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj)�”}”(hhh]”jC)�”}”(hŒApplies a changeset”h]”hŒApplies a changeset”…”�”}”(hjßMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M hjÜMh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjMh²hh³j-Mh´M ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj÷Mjbj÷Mjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hX¦**Parameters** ``struct of_changeset *ocs`` changeset pointer **Description** Applies a changeset to the live tree. Any side-effects of live tree state changes are applied here on success, like creation/destruction of devices and side-effects like creation of sysfs properties and directories. **Return** 0 on success, a negative error value in case of an error. On error the partially applied effects are reverted.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjNh]”hŒ Parameters”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÿMubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjûMubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hj Nh]”hŒstruct of_changeset *ocs”…”�”}”(hj"Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M hjNubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hj9Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j5Nh´M hj6Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j5Nh´M hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjûMubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj[Nh]”hŒ Description”…”�”}”(hj]Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjYNubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjûMubjC)�”}”(hŒ×Applies a changeset to the live tree. Any side-effects of live tree state changes are applied here on success, like creation/destruction of devices and side-effects like creation of sysfs properties and directories.”h]”hŒ×Applies a changeset to the live tree. Any side-effects of live tree state changes are applied here on success, like creation/destruction of devices and side-effects like creation of sysfs properties and directories.”…”�”}”(hjqNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjûMubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj‚Nh]”hŒReturn”…”�”}”(hj„Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj€Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjûMubjC)�”}”(hŒn0 on success, a negative error value in case of an error. On error the partially applied effects are reverted.”h]”hŒn0 on success, a negative error value in case of an error. On error the partially applied effects are reverted.”…”�”}”(hj˜Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjûMubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ of_changeset_revert (C function)”Œc.of_changeset_revert”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ2int of_changeset_revert (struct of_changeset *ocs)”h]”j)�”}”(hŒ1int of_changeset_revert(struct of_changeset *ocs)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjÇNh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÃNh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mjubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖNh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÃNh²hh³jÕNh´Mjubj‘)�”}”(hŒof_changeset_revert”h]”jE)�”}”(hŒof_changeset_revert”h]”hŒof_changeset_revert”…”�”}”(hjèNh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjäNubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjÃNh²hh³jÕNh´Mjubj¬)�”}”(hŒ(struct of_changeset *ocs)”h]”j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hj"Oh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j$OŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jêNsbŒc.of_changeset_revert”†”asbuh1hhjOubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBOh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjOubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjPOh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjOubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj]Oh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjüNubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjÃNh²hh³jÕNh´Mjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj¿Nh²hh³jÕNh´Mjubah}”(h]”jºNah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÕNh´Mjhj¼Nh²hubj>)�”}”(hhh]”jC)�”}”(hŒReverts an applied changeset”h]”hŒReverts an applied changeset”…”�”}”(hj‡Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mjhj„Oh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¼Nh²hh³jÕNh´Mjubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajŸOjbjŸOjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXg**Parameters** ``struct of_changeset *ocs`` changeset pointer **Description** Reverts a changeset returning the state of the tree to what it was before the application. Any side-effects like creation/destruction of devices and removal of sysfs properties and directories are applied. **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj©Oh]”hŒ Parameters”…”�”}”(hj«Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj§Oubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mnhj£Oubj‡)�”}”(hhh]”jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hjÈOh]”hŒstruct of_changeset *ocs”…”�”}”(hjÊOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÆOubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MlhjÂOubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hjáOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÝOh´MlhjÞOubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÂOubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÝOh´Mlhj¿Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj£OubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjPh]”hŒ Description”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mnhj£OubjC)�”}”(hŒÍReverts a changeset returning the state of the tree to what it was before the application. Any side-effects like creation/destruction of devices and removal of sysfs properties and directories are applied.”h]”hŒÍReverts a changeset returning the state of the tree to what it was before the application. Any side-effects like creation/destruction of devices and removal of sysfs properties and directories are applied.”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mmhj£OubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj*Ph]”hŒReturn”…”�”}”(hj,Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj(Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mrhj£OubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hj@Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mshj£Oubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ of_changeset_action (C function)”Œc.of_changeset_action”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒwint of_changeset_action (struct of_changeset *ocs, unsigned long action, struct device_node *np, struct property *prop)”h]”j)�”}”(hŒvint of_changeset_action(struct of_changeset *ocs, unsigned long action, struct device_node *np, struct property *prop)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjoPh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjkPh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M‚ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~Ph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkPh²hh³j}Ph´M‚ubj‘)�”}”(hŒof_changeset_action”h]”jE)�”}”(hŒof_changeset_action”h]”hŒof_changeset_action”…”�”}”(hj�Ph²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŒPubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjkPh²hh³j}Ph´M‚ubj¬)�”}”(hŒ_(struct of_changeset *ocs, unsigned long action, struct device_node *np, struct property *prop)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¬Ph²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj¨Pubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹Ph²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¨Pubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjÊPh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÇPubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÌPŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j’PsbŒc.of_changeset_action”†”asbuh1hhj¨Pubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjêPh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj¨Pubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjøPh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj¨PubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¨Pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¤Pubj²)�”}”(hŒunsigned long action”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Qh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj:Qh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjQubjE)�”}”(hŒaction”h]”hŒaction”…”�”}”(hjVQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¤Pubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjoQh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjkQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Qh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkQubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj�Qh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j�QŒmodname”NŒ classname”Njbje)�”}”jh]”jæPŒc.of_changeset_action”†”asbuh1hhjkQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Qh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkQubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¹Qh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjkQubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjÆQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjkQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¤Pubj²)�”}”(hŒstruct property *prop”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjßQh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÛQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìQh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÛQubh)�”}”(hhh]”jE)�”}”(hŒproperty”h]”hŒproperty”…”�”}”(hjýQh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjúQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÿQŒmodname”NŒ classname”Njbje)�”}”jh]”jæPŒc.of_changeset_action”†”asbuh1hhjÛQubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÛQubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj)Rh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÛQubjE)�”}”(hŒprop”h]”hŒprop”…”�”}”(hj6Rh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÛQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¤Pubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjkPh²hh³j}Ph´M‚ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjgPh²hh³j}Ph´M‚ubah}”(h]”jbPah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j}Ph´M‚hjdPh²hubj>)�”}”(hhh]”jC)�”}”(hŒ/Add an action to the tail of the changeset list”h]”hŒ/Add an action to the tail of the changeset list”…”�”}”(hj`Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M‚hj]Rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjdPh²hh³j}Ph´M‚ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajxRjbjxRjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXÒ**Parameters** ``struct of_changeset *ocs`` changeset pointer ``unsigned long action`` action to perform ``struct device_node *np`` Pointer to device node ``struct property *prop`` Pointer to property **Description** On action being one of: + OF_RECONFIG_ATTACH_NODE + OF_RECONFIG_DETACH_NODE, + OF_RECONFIG_ADD_PROPERTY + OF_RECONFIG_REMOVE_PROPERTY, + OF_RECONFIG_UPDATE_PROPERTY **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj‚Rh]”hŒ Parameters”…”�”}”(hj„Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj€Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M†hj|Rubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hj¡Rh]”hŒstruct of_changeset *ocs”…”�”}”(hj£Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŸRubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M„hj›Rubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hjºRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¶Rh´M„hj·Rubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj›Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¶Rh´M„hj˜RubjŒ)�”}”(hŒ+``unsigned long action`` action to perform ”h]”(j’)�”}”(hŒ``unsigned long action``”h]”j˜)�”}”(hjÚRh]”hŒunsigned long action”…”�”}”(hjÜRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjØRubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M…hjÔRubj®)�”}”(hhh]”jC)�”}”(hŒaction to perform”h]”hŒaction to perform”…”�”}”(hjóRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jïRh´M…hjðRubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÔRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jïRh´M…hj˜RubjŒ)�”}”(hŒ2``struct device_node *np`` Pointer to device node ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjSh]”hŒstruct device_node *np”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjSubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M†hj Subj®)�”}”(hhh]”jC)�”}”(hŒPointer to device node”h]”hŒPointer to device node”…”�”}”(hj,Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j(Sh´M†hj)Subah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj Subeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j(Sh´M†hj˜RubjŒ)�”}”(hŒ.``struct property *prop`` Pointer to property ”h]”(j’)�”}”(hŒ``struct property *prop``”h]”j˜)�”}”(hjLSh]”hŒstruct property *prop”…”�”}”(hjNSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjJSubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M‡hjFSubj®)�”}”(hhh]”jC)�”}”(hŒPointer to property”h]”hŒPointer to property”…”�”}”(hjeSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jaSh´M‡hjbSubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjFSubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jaSh´M‡hj˜Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj|RubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj‡Sh]”hŒ Description”…”�”}”(hj‰Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj…Subah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M‰hj|RubjC)�”}”(hŒ¤On action being one of: + OF_RECONFIG_ATTACH_NODE + OF_RECONFIG_DETACH_NODE, + OF_RECONFIG_ADD_PROPERTY + OF_RECONFIG_REMOVE_PROPERTY, + OF_RECONFIG_UPDATE_PROPERTY”h]”hŒ¤On action being one of: + OF_RECONFIG_ATTACH_NODE + OF_RECONFIG_DETACH_NODE, + OF_RECONFIG_ADD_PROPERTY + OF_RECONFIG_REMOVE_PROPERTY, + OF_RECONFIG_UPDATE_PROPERTY”…”�”}”(hj�Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mˆhj|RubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj®Sh]”hŒReturn”…”�”}”(hj°Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj¬Subah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M�hj|RubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hjÄSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M�hj|Rubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ)of_changeset_add_prop_string (C function)”Œc.of_changeset_add_prop_string”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ{int of_changeset_add_prop_string (struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *str)”h]”j)�”}”(hŒzint of_changeset_add_prop_string(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *str)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjóSh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjïSh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÁubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjïSh²hh³jTh´MÁubj‘)�”}”(hŒof_changeset_add_prop_string”h]”jE)�”}”(hŒof_changeset_add_prop_string”h]”hŒof_changeset_add_prop_string”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjTubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjïSh²hh³jTh´MÁubj¬)�”}”(hŒZ(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *str)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj0Th²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj,Tubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=Th²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj,Tubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjNTh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjKTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jPTŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jTsbŒc.of_changeset_add_prop_string”†”asbuh1hhj,Tubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnTh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj,Tubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj|Th²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj,TubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj‰Th²hh³Nh´Nubah}”(h]”h ]”•jQah"]”h$]”h&]”uh1jDhj,Tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj(Tubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj¢Th²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjžTubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯Th²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjžTubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjÀTh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj½Tubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÂTŒmodname”NŒ classname”Njbje)�”}”jh]”jjTŒc.of_changeset_add_prop_string”†”asbuh1hhjžTubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞTh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjžTubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjìTh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjžTubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjùTh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjžTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj(Tubj²)�”}”(hŒconst char *prop_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjUubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj-Uh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjUubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;Uh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjUubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjIUh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjUubjE)�”}”(hŒ prop_name”h]”hŒ prop_name”…”�”}”(hjVUh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj(Tubj²)�”}”(hŒconst char *str”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjoUh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjkUubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Uh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkUubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjŠUh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjkUubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Uh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjkUubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj¦Uh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjkUubjE)�”}”(hŒstr”h]”hŒstr”…”�”}”(hj³Uh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjkUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj(Tubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjïSh²hh³jTh´MÁubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjëSh²hh³jTh´MÁubah}”(h]”jæSah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jTh´MÁhjèSh²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Add a string property to a changeset”h]”hŒ$Add a string property to a changeset”…”�”}”(hjÝUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÁhjÚUh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjèSh²hh³jTh´MÁubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajõUjbjõUjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXv**Parameters** ``struct of_changeset *ocs`` changeset pointer ``struct device_node *np`` device node pointer ``const char *prop_name`` name of the property to be added ``const char *str`` pointer to null terminated string **Description** Create a string property and add it to a changeset. **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjÿUh]”hŒ Parameters”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjýUubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÅhjùUubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hjVh]”hŒstruct of_changeset *ocs”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjVubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÃhjVubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hj7Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j3Vh´MÃhj4Vubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j3Vh´MÃhjVubjŒ)�”}”(hŒ/``struct device_node *np`` device node pointer ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjWVh]”hŒstruct device_node *np”…”�”}”(hjYVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjUVubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÄhjQVubj®)�”}”(hhh]”jC)�”}”(hŒdevice node pointer”h]”hŒdevice node pointer”…”�”}”(hjpVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jlVh´MÄhjmVubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjQVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jlVh´MÄhjVubjŒ)�”}”(hŒ;``const char *prop_name`` name of the property to be added ”h]”(j’)�”}”(hŒ``const char *prop_name``”h]”j˜)�”}”(hj�Vh]”hŒconst char *prop_name”…”�”}”(hj’Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŽVubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÅhjŠVubj®)�”}”(hhh]”jC)�”}”(hŒ name of the property to be added”h]”hŒ name of the property to be added”…”�”}”(hj©Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¥Vh´MÅhj¦Vubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŠVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¥Vh´MÅhjVubjŒ)�”}”(hŒ6``const char *str`` pointer to null terminated string ”h]”(j’)�”}”(hŒ``const char *str``”h]”j˜)�”}”(hjÉVh]”hŒconst char *str”…”�”}”(hjËVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÇVubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÆhjÃVubj®)�”}”(hhh]”jC)�”}”(hŒ!pointer to null terminated string”h]”hŒ!pointer to null terminated string”…”�”}”(hjâVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÞVh´MÆhjßVubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÃVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÞVh´MÆhjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjùUubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjWh]”hŒ Description”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÈhjùUubjC)�”}”(hŒ3Create a string property and add it to a changeset.”h]”hŒ3Create a string property and add it to a changeset.”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÇhjùUubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj+Wh]”hŒReturn”…”�”}”(hj-Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj)Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÉhjùUubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hjAWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÊhjùUubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ/of_changeset_add_prop_string_array (C function)”Œ$c.of_changeset_add_prop_string_array”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒšint of_changeset_add_prop_string_array (struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char * const *str_array, size_t sz)”h]”j)�”}”(hŒ˜int of_changeset_add_prop_string_array(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *const *str_array, size_t sz)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjpWh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjlWh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÛubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjlWh²hh³j~Wh´MÛubj‘)�”}”(hŒ"of_changeset_add_prop_string_array”h]”jE)�”}”(hŒ"of_changeset_add_prop_string_array”h]”hŒ"of_changeset_add_prop_string_array”…”�”}”(hj‘Wh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj�Wubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjlWh²hh³j~Wh´MÛubj¬)�”}”(hŒr(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *const *str_array, size_t sz)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj­Wh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj©Wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºWh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©Wubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjËWh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÈWubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jÍWŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j“WsbŒ$c.of_changeset_add_prop_string_array”†”asbuh1hhj©Wubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëWh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©Wubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjùWh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj©WubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©Wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥Wubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjXubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Xh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjXubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj=Xh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj:Xubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j?XŒmodname”NŒ classname”Njbje)�”}”jh]”jçWŒ$c.of_changeset_add_prop_string_array”†”asbuh1hhjXubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[Xh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjXubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjiXh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjXubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjvXh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥Wubj²)�”}”(hŒconst char *prop_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj�Xh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj‹Xubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœXh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‹Xubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjªXh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj‹Xubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸Xh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj‹Xubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjÆXh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj‹XubjE)�”}”(hŒ prop_name”h]”hŒ prop_name”…”�”}”(hjÓXh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‹Xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥Wubj²)�”}”(hŒconst char *const *str_array”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjìXh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjèXubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùXh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèXubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjèXubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèXubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj#Yh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjèXubj)�”}”(hj\h]”hŒconst”…”�”}”(hj0Yh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjèXubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=Yh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjèXubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjKYh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjèXubjE)�”}”(hŒ str_array”h]”hŒ str_array”…”�”}”(hjXYh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjèXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥Wubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjtYh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjqYubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jvYŒmodname”NŒ classname”Njbje)�”}”jh]”jçWŒ$c.of_changeset_add_prop_string_array”†”asbuh1hhjmYubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Yh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjmYubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hj Yh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjmYubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj¥Wubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjlWh²hh³j~Wh´MÛubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjhWh²hh³j~Wh´MÛubah}”(h]”jcWah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j~Wh´MÛhjeWh²hubj>)�”}”(hhh]”jC)�”}”(hŒ)Add a string list property to a changeset”h]”hŒ)Add a string list property to a changeset”…”�”}”(hjÊYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÛhjÇYh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjeWh²hh³j~Wh´MÛubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajâYjbjâYjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXÇ**Parameters** ``struct of_changeset *ocs`` changeset pointer ``struct device_node *np`` device node pointer ``const char *prop_name`` name of the property to be added ``const char * const *str_array`` pointer to an array of null terminated strings ``size_t sz`` number of string array elements **Description** Create a string list property and add it to a changeset. **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjìYh]”hŒ Parameters”…”�”}”(hjîYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjêYubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MßhjæYubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hj Zh]”hŒstruct of_changeset *ocs”…”�”}”(hj Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MÞhjZubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hj$Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j Zh´MÞhj!Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j Zh´MÞhjZubjŒ)�”}”(hŒ/``struct device_node *np`` device node pointer ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjDZh]”hŒstruct device_node *np”…”�”}”(hjFZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjBZubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mßhj>Zubj®)�”}”(hhh]”jC)�”}”(hŒdevice node pointer”h]”hŒdevice node pointer”…”�”}”(hj]Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jYZh´MßhjZZubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj>Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jYZh´MßhjZubjŒ)�”}”(hŒ;``const char *prop_name`` name of the property to be added ”h]”(j’)�”}”(hŒ``const char *prop_name``”h]”j˜)�”}”(hj}Zh]”hŒconst char *prop_name”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj{Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MàhjwZubj®)�”}”(hhh]”jC)�”}”(hŒ name of the property to be added”h]”hŒ name of the property to be added”…”�”}”(hj–Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j’Zh´Màhj“Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjwZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j’Zh´MàhjZubjŒ)�”}”(hŒQ``const char * const *str_array`` pointer to an array of null terminated strings ”h]”(j’)�”}”(hŒ!``const char * const *str_array``”h]”j˜)�”}”(hj¶Zh]”hŒconst char * const *str_array”…”�”}”(hj¸Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj´Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Máhj°Zubj®)�”}”(hhh]”jC)�”}”(hŒ.pointer to an array of null terminated strings”h]”hŒ.pointer to an array of null terminated strings”…”�”}”(hjÏZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jËZh´MáhjÌZubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj°Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jËZh´MáhjZubjŒ)�”}”(hŒ.``size_t sz`` number of string array elements ”h]”(j’)�”}”(hŒ ``size_t sz``”h]”j˜)�”}”(hjïZh]”hŒ size_t sz”…”�”}”(hjñZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjíZubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MâhjéZubj®)�”}”(hhh]”jC)�”}”(hŒnumber of string array elements”h]”hŒnumber of string array elements”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j[h´Mâhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjéZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j[h´MâhjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjæYubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj*[h]”hŒ Description”…”�”}”(hj,[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj([ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MähjæYubjC)�”}”(hŒ8Create a string list property and add it to a changeset.”h]”hŒ8Create a string list property and add it to a changeset.”…”�”}”(hj@[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MãhjæYubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjQ[h]”hŒReturn”…”�”}”(hjS[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjO[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MåhjæYubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hjg[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MæhjæYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ,of_changeset_add_prop_u32_array (C function)”Œ!c.of_changeset_add_prop_u32_array”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒŠint of_changeset_add_prop_u32_array (struct of_changeset *ocs, struct device_node *np, const char *prop_name, const u32 *array, size_t sz)”h]”j)�”}”(hŒ‰int of_changeset_add_prop_u32_array(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const u32 *array, size_t sz)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj–[h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj’[h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥[h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj’[h²hh³j¤[h´Mubj‘)�”}”(hŒof_changeset_add_prop_u32_array”h]”jE)�”}”(hŒof_changeset_add_prop_u32_array”h]”hŒof_changeset_add_prop_u32_array”…”�”}”(hj·[h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj³[ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj’[h²hh³j¤[h´Mubj¬)�”}”(hŒf(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const u32 *array, size_t sz)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjÓ[h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÏ[ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà[h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÏ[ubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjñ[h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjî[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jó[Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j¹[sbŒ!c.of_changeset_add_prop_u32_array”†”asbuh1hhjÏ[ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÏ[ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÏ[ubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj,\h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÏ[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjË[ubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjE\h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjA\ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR\h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjA\ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjc\h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj`\ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”je\Œmodname”NŒ classname”Njbje)�”}”jh]”j \Œ!c.of_changeset_add_prop_u32_array”†”asbuh1hhjA\ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�\h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjA\ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj�\h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjA\ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hjœ\h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjA\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjË[ubj²)�”}”(hŒconst char *prop_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjµ\h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj±\ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂ\h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj±\ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÐ\h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj±\ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ\h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj±\ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjì\h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj±\ubjE)�”}”(hŒ prop_name”h]”hŒ prop_name”…”�”}”(hjù\h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj±\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjË[ubj²)�”}”(hŒconst u32 *array”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj]ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj]ubh)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj0]h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj-]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j2]Œmodname”NŒ classname”Njbje)�”}”jh]”j \Œ!c.of_changeset_add_prop_u32_array”†”asbuh1hhj]ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN]h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj]ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj\]h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj]ubjE)�”}”(hŒarray”h]”hŒarray”…”�”}”(hji]h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjË[ubj²)�”}”(hŒ size_t sz”h]”(h)�”}”(hhh]”jE)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj…]h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‚]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j‡]Œmodname”NŒ classname”Njbje)�”}”jh]”j \Œ!c.of_changeset_add_prop_u32_array”†”asbuh1hhj~]ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£]h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj~]ubjE)�”}”(hŒsz”h]”hŒsz”…”�”}”(hj±]h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj~]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjË[ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj’[h²hh³j¤[h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjŽ[h²hh³j¤[h´Mubah}”(h]”j‰[ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j¤[h´Mhj‹[h²hubj>)�”}”(hhh]”jC)�”}”(hŒ9Add a property of 32 bit integers property to a changeset”h]”hŒ9Add a property of 32 bit integers property to a changeset”…”�”}”(hjÛ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjØ]h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj‹[h²hh³j¤[h´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajó]jbjó]jc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hX²**Parameters** ``struct of_changeset *ocs`` changeset pointer ``struct device_node *np`` device node pointer ``const char *prop_name`` name of the property to be added ``const u32 *array`` pointer to an array of 32 bit integers ``size_t sz`` number of array elements **Description** Create a property of 32 bit integers and add it to a changeset. **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjý]h]”hŒ Parameters”…”�”}”(hjÿ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjû]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M hj÷]ubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hj^h]”hŒstruct of_changeset *ocs”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M hj^ubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hj5^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j1^h´M hj2^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j1^h´M hj^ubjŒ)�”}”(hŒ/``struct device_node *np`` device node pointer ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjU^h]”hŒstruct device_node *np”…”�”}”(hjW^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjS^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M hjO^ubj®)�”}”(hhh]”jC)�”}”(hŒdevice node pointer”h]”hŒdevice node pointer”…”�”}”(hjn^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jj^h´M hjk^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjO^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jj^h´M hj^ubjŒ)�”}”(hŒ;``const char *prop_name`` name of the property to be added ”h]”(j’)�”}”(hŒ``const char *prop_name``”h]”j˜)�”}”(hjŽ^h]”hŒconst char *prop_name”…”�”}”(hj�^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŒ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M hjˆ^ubj®)�”}”(hhh]”jC)�”}”(hŒ name of the property to be added”h]”hŒ name of the property to be added”…”�”}”(hj§^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j£^h´M hj¤^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjˆ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j£^h´M hj^ubjŒ)�”}”(hŒ<``const u32 *array`` pointer to an array of 32 bit integers ”h]”(j’)�”}”(hŒ``const u32 *array``”h]”j˜)�”}”(hjÇ^h]”hŒconst u32 *array”…”�”}”(hjÉ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÅ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MhjÁ^ubj®)�”}”(hhh]”jC)�”}”(hŒ&pointer to an array of 32 bit integers”h]”hŒ&pointer to an array of 32 bit integers”…”�”}”(hjà^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÜ^h´MhjÝ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÁ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÜ^h´Mhj^ubjŒ)�”}”(hŒ'``size_t sz`` number of array elements ”h]”(j’)�”}”(hŒ ``size_t sz``”h]”j˜)�”}”(hj_h]”hŒ size_t sz”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjþ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mhjú^ubj®)�”}”(hhh]”jC)�”}”(hŒnumber of array elements”h]”hŒnumber of array elements”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j_h´Mhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjú^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j_h´Mhj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj÷]ubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj;_h]”hŒ Description”…”�”}”(hj=_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj9_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mhj÷]ubjC)�”}”(hŒ?Create a property of 32 bit integers and add it to a changeset.”h]”hŒ?Create a property of 32 bit integers and add it to a changeset.”…”�”}”(hjQ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mhj÷]ubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjb_h]”hŒReturn”…”�”}”(hjd_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj`_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mhj÷]ubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hjx_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´Mhj÷]ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ'of_changeset_add_prop_bool (C function)”Œc.of_changeset_add_prop_bool”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒhint of_changeset_add_prop_bool (struct of_changeset *ocs, struct device_node *np, const char *prop_name)”h]”j)�”}”(hŒgint of_changeset_add_prop_bool(struct of_changeset *ocs, struct device_node *np, const char *prop_name)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj§_h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj£_h²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M,ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶_h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj£_h²hh³jµ_h´M,ubj‘)�”}”(hŒof_changeset_add_prop_bool”h]”jE)�”}”(hŒof_changeset_add_prop_bool”h]”hŒof_changeset_add_prop_bool”…”�”}”(hjÈ_h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÄ_ubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj£_h²hh³jµ_h´M,ubj¬)�”}”(hŒI(struct of_changeset *ocs, struct device_node *np, const char *prop_name)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjä_h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjà_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñ_h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjà_ubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÿ_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j`Œmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jÊ_sbŒc.of_changeset_add_prop_bool”†”asbuh1hhjà_ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjà_ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj0`h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjà_ubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj=`h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjà_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÜ_ubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjV`h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjR`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjR`ubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hjt`h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjq`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jv`Œmodname”NŒ classname”Njbje)�”}”jh]”j`Œc.of_changeset_add_prop_bool”†”asbuh1hhjR`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjR`ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj `h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjR`ubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj­`h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjR`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÜ_ubj²)�”}”(hŒconst char *prop_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjÆ`h²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÂ`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÂ`ubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjá`h²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjÂ`ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï`h²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÂ`ubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjý`h²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÂ`ubjE)�”}”(hŒ prop_name”h]”hŒ prop_name”…”�”}”(hj ah²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÂ`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÜ_ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj£_h²hh³jµ_h´M,ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjŸ_h²hh³jµ_h´M,ubah}”(h]”jš_ah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jµ_h´M,hjœ_h²hubj>)�”}”(hhh]”jC)�”}”(hŒKAdd a boolean property (i.e. a property without any values) to a changeset.”h]”hŒKAdd a boolean property (i.e. a property without any values) to a changeset.”…”�”}”(hj4ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M,hj1ah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjœ_h²hh³jµ_h´M,ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajLajbjLajc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hX>**Parameters** ``struct of_changeset *ocs`` changeset pointer ``struct device_node *np`` device node pointer ``const char *prop_name`` name of the property to be added **Description** Create a boolean property and add it to a changeset. **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjVah]”hŒ Parameters”…”�”}”(hjXah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjTaubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M0hjPaubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hjuah]”hŒstruct of_changeset *ocs”…”�”}”(hjwah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjsaubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M/hjoaubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hjŽah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jŠah´M/hj‹aubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjoaubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jŠah´M/hjlaubjŒ)�”}”(hŒ/``struct device_node *np`` device node pointer ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hj®ah]”hŒstruct device_node *np”…”�”}”(hj°ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¬aubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M0hj¨aubj®)�”}”(hhh]”jC)�”}”(hŒdevice node pointer”h]”hŒdevice node pointer”…”�”}”(hjÇah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÃah´M0hjÄaubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¨aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÃah´M0hjlaubjŒ)�”}”(hŒ;``const char *prop_name`` name of the property to be added ”h]”(j’)�”}”(hŒ``const char *prop_name``”h]”j˜)�”}”(hjçah]”hŒconst char *prop_name”…”�”}”(hjéah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjåaubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M1hjáaubj®)�”}”(hhh]”jC)�”}”(hŒ name of the property to be added”h]”hŒ name of the property to be added”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jüah´M1hjýaubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjáaubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jüah´M1hjlaubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjPaubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj"bh]”hŒ Description”…”�”}”(hj$bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj bubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M3hjPaubjC)�”}”(hŒ4Create a boolean property and add it to a changeset.”h]”hŒ4Create a boolean property and add it to a changeset.”…”�”}”(hj8bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M2hjPaubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjIbh]”hŒReturn”…”�”}”(hjKbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjGbubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M4hjPaubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hj_bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M5hjPaubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ,of_changeset_update_prop_string (C function)”Œ!c.of_changeset_update_prop_string”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ~int of_changeset_update_prop_string (struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *str)”h]”j)�”}”(hŒ}int of_changeset_update_prop_string(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *str)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjŽbh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjŠbh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MWubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�bh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjŠbh²hh³jœbh´MWubj‘)�”}”(hŒof_changeset_update_prop_string”h]”jE)�”}”(hŒof_changeset_update_prop_string”h]”hŒof_changeset_update_prop_string”…”�”}”(hj¯bh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj«bubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjŠbh²hh³jœbh´MWubj¬)�”}”(hŒZ(struct of_changeset *ocs, struct device_node *np, const char *prop_name, const char *str)”h]”(j²)�”}”(hŒstruct of_changeset *ocs”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjËbh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjÇbubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØbh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÇbubh)�”}”(hhh]”jE)�”}”(hŒ of_changeset”h]”hŒ of_changeset”…”�”}”(hjébh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjæbubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jëbŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j±bsbŒ!c.of_changeset_update_prop_string”†”asbuh1hhjÇbubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjÇbubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjÇbubjE)�”}”(hŒocs”h]”hŒocs”…”�”}”(hj$ch²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÇbubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÃbubj²)�”}”(hŒstruct device_node *np”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hj=ch²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj9cubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj9cubh)�”}”(hhh]”jE)�”}”(hŒ device_node”h]”hŒ device_node”…”�”}”(hj[ch²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjXcubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j]cŒmodname”NŒ classname”Njbje)�”}”jh]”jcŒ!c.of_changeset_update_prop_string”†”asbuh1hhj9cubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjych²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj9cubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hj‡ch²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj9cubjE)�”}”(hŒnp”h]”hŒnp”…”�”}”(hj”ch²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj9cubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÃbubj²)�”}”(hŒconst char *prop_name”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj­ch²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj©cubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©cubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÈch²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj©cubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖch²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj©cubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjäch²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhj©cubjE)�”}”(hŒ prop_name”h]”hŒ prop_name”…”�”}”(hjñch²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj©cubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÃbubj²)�”}”(hŒconst char *str”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj dh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj%dh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjdubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3dh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjdubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjAdh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjdubjE)�”}”(hŒstr”h]”hŒstr”…”�”}”(hjNdh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjÃbubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjŠbh²hh³jœbh´MWubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj†bh²hh³jœbh´MWubah}”(h]”j�bah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jœbh´MWhjƒbh²hubj>)�”}”(hhh]”jC)�”}”(hŒ+Add a string property update to a changeset”h]”hŒ+Add a string property update to a changeset”…”�”}”(hjxdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MWhjudh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjƒbh²hh³jœbh´MWubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj�djbj�djc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hX†**Parameters** ``struct of_changeset *ocs`` changeset pointer ``struct device_node *np`` device node pointer ``const char *prop_name`` name of the property to be updated ``const char *str`` pointer to null terminated string **Description** Create a string property to be updated and add it to a changeset. **Return** 0 on success, a negative error value in case of an error.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjšdh]”hŒ Parameters”…”�”}”(hjœdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj˜dubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M[hj”dubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ/``struct of_changeset *ocs`` changeset pointer ”h]”(j’)�”}”(hŒ``struct of_changeset *ocs``”h]”j˜)�”}”(hj¹dh]”hŒstruct of_changeset *ocs”…”�”}”(hj»dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj·dubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MYhj³dubj®)�”}”(hhh]”jC)�”}”(hŒchangeset pointer”h]”hŒchangeset pointer”…”�”}”(hjÒdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÎdh´MYhjÏdubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj³dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÎdh´MYhj°dubjŒ)�”}”(hŒ/``struct device_node *np`` device node pointer ”h]”(j’)�”}”(hŒ``struct device_node *np``”h]”j˜)�”}”(hjòdh]”hŒstruct device_node *np”…”�”}”(hjôdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjðdubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´MZhjìdubj®)�”}”(hhh]”jC)�”}”(hŒdevice node pointer”h]”hŒdevice node pointer”…”�”}”(hj eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jeh´MZhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjìdubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jeh´MZhj°dubjŒ)�”}”(hŒ=``const char *prop_name`` name of the property to be updated ”h]”(j’)�”}”(hŒ``const char *prop_name``”h]”j˜)�”}”(hj+eh]”hŒconst char *prop_name”…”�”}”(hj-eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj)eubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M[hj%eubj®)�”}”(hhh]”jC)�”}”(hŒ"name of the property to be updated”h]”hŒ"name of the property to be updated”…”�”}”(hjDeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j@eh´M[hjAeubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj%eubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j@eh´M[hj°dubjŒ)�”}”(hŒ6``const char *str`` pointer to null terminated string ”h]”(j’)�”}”(hŒ``const char *str``”h]”j˜)�”}”(hjdeh]”hŒconst char *str”…”�”}”(hjfeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjbeubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M\hj^eubj®)�”}”(hhh]”jC)�”}”(hŒ!pointer to null terminated string”h]”hŒ!pointer to null terminated string”…”�”}”(hj}eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jyeh´M\hjzeubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj^eubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jyeh´M\hj°dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hj”dubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjŸeh]”hŒ Description”…”�”}”(hj¡eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj�eubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M^hj”dubjC)�”}”(hŒACreate a string property to be updated and add it to a changeset.”h]”hŒACreate a string property to be updated and add it to a changeset.”…”�”}”(hjµeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M]hj”dubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjÆeh]”hŒReturn”…”�”}”(hjÈeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÄeubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M_hj”dubjC)�”}”(hŒ90 on success, a negative error value in case of an error.”h]”hŒ90 on success, a negative error value in case of an error.”…”�”}”(hjÜeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:53: ./drivers/of/dynamic.c”h´M`hj”dubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ)of_overlay_notifier_register (C function)”Œc.of_overlay_notifier_register”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ)�”}”(hhh]”jC)�”}”(hŒ(Register notifier for overlay operations”h]”hŒ(Register notifier for overlay operations”…”�”}”(hjËfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´K†hjÈfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjfh²hh³jfh´K†ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajãfjbjãfjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXë**Parameters** ``struct notifier_block *nb`` Notifier block to register **Description** Register for notification on overlay operations on device tree nodes. The reported actions defined by **of_reconfig_change**. The notifier callback furthermore receives a pointer to the affected device tree node. Note that a notifier callback is not supposed to store pointers to a device tree node or its content beyond **OF_OVERLAY_POST_REMOVE** corresponding to the respective node it received.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjífh]”hŒ Parameters”…”�”}”(hjïfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjëfubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´KŠhjçfubj‡)�”}”(hhh]”jŒ)�”}”(hŒ9``struct notifier_block *nb`` Notifier block to register ”h]”(j’)�”}”(hŒ``struct notifier_block *nb``”h]”j˜)�”}”(hj gh]”hŒstruct notifier_block *nb”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj gubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´K‡hjgubj®)�”}”(hhh]”jC)�”}”(hŒNotifier block to register”h]”hŒNotifier block to register”…”�”}”(hj%gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j!gh´K‡hj"gubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j!gh´K‡hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjçfubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjGgh]”hŒ Description”…”�”}”(hjIgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjEgubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´K‰hjçfubjC)�”}”(hŒÔRegister for notification on overlay operations on device tree nodes. The reported actions defined by **of_reconfig_change**. The notifier callback furthermore receives a pointer to the affected device tree node.”h]”(hŒfRegister for notification on overlay operations on device tree nodes. The reported actions defined by ”…”�”}”(hj]gh²hh³Nh´Nubjq)�”}”(hŒ**of_reconfig_change**”h]”hŒof_reconfig_change”…”�”}”(hjegh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj]gubhŒX. The notifier callback furthermore receives a pointer to the affected device tree node.”…”�”}”(hj]gh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´KˆhjçfubjC)�”}”(hŒ¸Note that a notifier callback is not supposed to store pointers to a device tree node or its content beyond **OF_OVERLAY_POST_REMOVE** corresponding to the respective node it received.”h]”(hŒlNote that a notifier callback is not supposed to store pointers to a device tree node or its content beyond ”…”�”}”(hj~gh²hh³Nh´Nubjq)�”}”(hŒ**OF_OVERLAY_POST_REMOVE**”h]”hŒOF_OVERLAY_POST_REMOVE”…”�”}”(hj†gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj~gubhŒ2 corresponding to the respective node it received.”…”�”}”(hj~gh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´KŒhjçfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ+of_overlay_notifier_unregister (C function)”Œ c.of_overlay_notifier_unregister”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ>int of_overlay_notifier_unregister (struct notifier_block *nb)”h]”j)�”}”(hŒ=int of_overlay_notifier_unregister(struct notifier_block *nb)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¿gh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj»gh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´K˜ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎgh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj»gh²hh³jÍgh´K˜ubj‘)�”}”(hŒof_overlay_notifier_unregister”h]”jE)�”}”(hŒof_overlay_notifier_unregister”h]”hŒof_overlay_notifier_unregister”…”�”}”(hjàgh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÜgubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj»gh²hh³jÍgh´K˜ubj¬)�”}”(hŒ(struct notifier_block *nb)”h]”j²)�”}”(hŒstruct notifier_block *nb”h]”(j)�”}”(hj"h]”hŒstruct”…”�”}”(hjügh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjøgubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjøgubh)�”}”(hhh]”jE)�”}”(hŒnotifier_block”h]”hŒnotifier_block”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”jhŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^jâgsbŒ c.of_overlay_notifier_unregister”†”asbuh1hhjøgubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:hh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjøgubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjHhh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjøgubjE)�”}”(hŒnb”h]”hŒnb”…”�”}”(hjUhh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjøgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjôgubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj»gh²hh³jÍgh´K˜ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj·gh²hh³jÍgh´K˜ubah}”(h]”j²gah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÍgh´K˜hj´gh²hubj>)�”}”(hhh]”jC)�”}”(hŒ*Unregister notifier for overlay operations”h]”hŒ*Unregister notifier for overlay operations”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´K˜hj|hh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj´gh²hh³jÍgh´K˜ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj—hjbj—hjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒL**Parameters** ``struct notifier_block *nb`` Notifier block to unregister”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hj¡hh]”hŒ Parameters”…”�”}”(hj£hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjŸhubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Kœhj›hubj‡)�”}”(hhh]”jŒ)�”}”(hŒ:``struct notifier_block *nb`` Notifier block to unregister”h]”(j’)�”}”(hŒ``struct notifier_block *nb``”h]”j˜)�”}”(hjÀhh]”hŒstruct notifier_block *nb”…”�”}”(hjÂhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj¾hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Kžhjºhubj®)�”}”(hhh]”jC)�”}”(hŒNotifier block to unregister”h]”hŒNotifier block to unregister”…”�”}”(hjÙhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´K™hjÖhubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjºhubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÕhh´Kžhj·hubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hj›hubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!of_overlay_fdt_apply (C function)”Œc.of_overlay_fdt_apply”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒzint of_overlay_fdt_apply (const void *overlay_fdt, u32 overlay_fdt_size, int *ret_ovcs_id, const struct device_node *base)”h]”j)�”}”(hŒyint of_overlay_fdt_apply(const void *overlay_fdt, u32 overlay_fdt_size, int *ret_ovcs_id, const struct device_node *base)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjih²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MÞubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)ih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjih²hh³j(ih´MÞubj‘)�”}”(hŒof_overlay_fdt_apply”h]”jE)�”}”(hŒof_overlay_fdt_apply”h]”hŒof_overlay_fdt_apply”…”�”}”(hj;ih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj7iubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjih²hh³j(ih´MÞubj¬)�”}”(hŒa(const void *overlay_fdt, u32 overlay_fdt_size, int *ret_ovcs_id, const struct device_node *base)”h]”(j²)�”}”(hŒconst void *overlay_fdt”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hjWih²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhjSiubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjSiubj)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjrih²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjSiubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€ih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjSiubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjŽih²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjSiubjE)�”}”(hŒ overlay_fdt”h]”hŒ overlay_fdt”…”�”}”(hj›ih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjSiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjOiubj²)�”}”(hŒu32 overlay_fdt_size”h]”(h)�”}”(hhh]”jE)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj·ih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj´iubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j\Œreftype”j^Œ reftarget”j¹iŒmodname”NŒ classname”Njbje)�”}”jh]”jk)�”}”j^j=isbŒc.of_overlay_fdt_apply”†”asbuh1hhj°iubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×ih²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj°iubjE)�”}”(hŒoverlay_fdt_size”h]”hŒoverlay_fdt_size”…”�”}”(hjåih²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj°iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjOiubj²)�”}”(hŒint *ret_ovcs_id”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjþih²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjúiubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj jh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjúiubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjúiubjE)�”}”(hŒ ret_ovcs_id”h]”hŒ ret_ovcs_id”…”�”}”(hj'jh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjúiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjOiubj²)�”}”(hŒconst struct device_node *base”h]”(j)�”}”(hj\h]”hŒconst”…”�”}”(hj@jh²hh³Nh´Nubah}”(h]”h ]”j+ah"]”h$]”h&]”uh1jhj)�”}”(hhh]”jC)�”}”(hŒ%Create and apply an overlay changeset”h]”hŒ%Create and apply an overlay changeset”…”�”}”(hjÜjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MÞhjÙjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjih²hh³j(ih´MÞubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajôjjbjôjjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hX3**Parameters** ``const void *overlay_fdt`` pointer to overlay FDT ``u32 overlay_fdt_size`` number of bytes in **overlay_fdt** ``int *ret_ovcs_id`` pointer for returning created changeset id ``const struct device_node *base`` pointer for the target node to apply overlay **Description** Creates and applies an overlay changeset. See of_overlay_apply() for important behavior information. On error return, the changeset may be partially applied. This is especially likely if an OF_OVERLAY_POST_APPLY notifier returns an error. In this case the caller should call of_overlay_remove() with the value in ***ret_ovcs_id**. **Return** 0 on success, or a negative error number. ***ret_ovcs_id** is set to the value of overlay changeset id, which can be passed to of_overlay_remove() to remove the overlay.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjþjh]”hŒ Parameters”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjüjubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Mâhjøjubj‡)�”}”(hhh]”(jŒ)�”}”(hŒ3``const void *overlay_fdt`` pointer to overlay FDT ”h]”(j’)�”}”(hŒ``const void *overlay_fdt``”h]”j˜)�”}”(hjkh]”hŒconst void *overlay_fdt”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjkubah}”(h]”h ]”h"]”h$•Pa]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Mßhjkubj®)�”}”(hhh]”jC)�”}”(hŒpointer to overlay FDT”h]”hŒpointer to overlay FDT”…”�”}”(hj6kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j2kh´Mßhj3kubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j2kh´MßhjkubjŒ)�”}”(hŒ<``u32 overlay_fdt_size`` number of bytes in **overlay_fdt** ”h]”(j’)�”}”(hŒ``u32 overlay_fdt_size``”h]”j˜)�”}”(hjVkh]”hŒu32 overlay_fdt_size”…”�”}”(hjXkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjTkubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MàhjPkubj®)�”}”(hhh]”jC)�”}”(hŒ"number of bytes in **overlay_fdt**”h]”(hŒnumber of bytes in ”…”�”}”(hjokh²hh³Nh´Nubjq)�”}”(hŒ**overlay_fdt**”h]”hŒ overlay_fdt”…”�”}”(hjwkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjokubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jkkh´Màhjlkubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjPkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jkkh´MàhjkubjŒ)�”}”(hŒ@``int *ret_ovcs_id`` pointer for returning created changeset id ”h]”(j’)�”}”(hŒ``int *ret_ovcs_id``”h]”j˜)�”}”(hj�kh]”hŒint *ret_ovcs_id”…”�”}”(hjŸkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hj›kubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Máhj—kubj®)�”}”(hhh]”jC)�”}”(hŒ*pointer for returning created changeset id”h]”hŒ*pointer for returning created changeset id”…”�”}”(hj¶kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j²kh´Máhj³kubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj—kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j²kh´MáhjkubjŒ)�”}”(hŒP``const struct device_node *base`` pointer for the target node to apply overlay ”h]”(j’)�”}”(hŒ"``const struct device_node *base``”h]”j˜)�”}”(hjÖkh]”hŒconst struct device_node *base”…”�”}”(hjØkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjÔkubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MâhjÐkubj®)�”}”(hhh]”jC)�”}”(hŒ,pointer for the target node to apply overlay”h]”hŒ,pointer for the target node to apply overlay”…”�”}”(hjïkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jëkh´Mâhjìkubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÐkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jëkh´Mâhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j†hjøjubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjlh]”hŒ Description”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MähjøjubjC)�”}”(hŒ)Creates and applies an overlay changeset.”h]”hŒ)Creates and applies an overlay changeset.”…”�”}”(hj'lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MãhjøjubjC)�”}”(hŒ:See of_overlay_apply() for important behavior information.”h]”hŒ:See of_overlay_apply() for important behavior information.”…”�”}”(hj6lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MåhjøjubjC)�”}”(hŒçOn error return, the changeset may be partially applied. This is especially likely if an OF_OVERLAY_POST_APPLY notifier returns an error. In this case the caller should call of_overlay_remove() with the value in ***ret_ovcs_id**.”h]”(hŒÖOn error return, the changeset may be partially applied. This is especially likely if an OF_OVERLAY_POST_APPLY notifier returns an error. In this case the caller should call of_overlay_remove() with the value in ”…”�”}”(hjElh²hh³Nh´Nubjq)�”}”(hŒ***ret_ovcs_id**”h]”hŒ *ret_ovcs_id”…”�”}”(hjMlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjElubhŒ.”…”�”}”(hjElh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MèhjøjubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hjhlh]”hŒReturn”…”�”}”(hjjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjflubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MìhjøjubjC)�”}”(hŒª0 on success, or a negative error number. ***ret_ovcs_id** is set to the value of overlay changeset id, which can be passed to of_overlay_remove() to remove the overlay.”h]”(hŒ+0 on success, or a negative error number. ”…”�”}”(hj~lh²hh³Nh´Nubjq)�”}”(hŒ***ret_ovcs_id**”h]”hŒ *ret_ovcs_id”…”�”}”(hj†lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj~lubhŒo is set to the value of overlay changeset id, which can be passed to of_overlay_remove() to remove the overlay.”…”�”}”(hj~lh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Mèhjøjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œof_overlay_remove (C function)”Œc.of_overlay_remove”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ$int of_overlay_remove (int *ovcs_id)”h]”j)�”}”(hŒ#int of_overlay_remove(int *ovcs_id)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¿lh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj»lh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M›ubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎlh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hj»lh²hh³jÍlh´M›ubj‘)�”}”(hŒof_overlay_remove”h]”jE)�”}”(hŒof_overlay_remove”h]”hŒof_overlay_remove”…”�”}”(hjàlh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÜlubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hj»lh²hh³jÍlh´M›ubj¬)�”}”(hŒ(int *ovcs_id)”h]”j²)�”}”(hŒ int *ovcs_id”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjülh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjølubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj mh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjølubj€)�”}”(hjƒh]”hŒ*”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”jŒah"]”h$]”h&]”uh1jhjølubjE)�”}”(hŒovcs_id”h]”hŒovcs_id”…”�”}”(hj%mh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjølubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hjôlubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hj»lh²hh³jÍlh´M›ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hj·lh²hh³jÍlh´M›ubah}”(h]”j²lah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³jÍlh´M›hj´lh²hubj>)�”}”(hhh]”jC)�”}”(hŒ$Revert and free an overlay changeset”h]”hŒ$Revert and free an overlay changeset”…”�”}”(hjOmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M›hjLmh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj´lh²hh³jÍlh´M›ubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jajgmjbjgmjc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hXJ**Parameters** ``int *ovcs_id`` Pointer to overlay changeset id **Description** Removes an overlay if it is permissible. **ovcs_id** was previously returned by of_overlay_fdt_apply(). If an error occurred while attempting to revert the overlay changeset, then an attempt is made to re-apply any changeset entry that was reverted. If an error occurs on re-apply then the state of the device tree can not be determined, and any following attempt to apply or remove an overlay changeset will be refused. A non-zero return value will not revert the changeset if error is from: - parameter checks - overlay changeset pre-remove notifier - overlay changeset entry revert If an error is returned by an overlay changeset pre-remove notifier then no further overlay changeset pre-remove notifier will be called. If more than one notifier returns an error, then the last notifier error to occur is returned. A non-zero return value will revert the changeset if error is from: - overlay changeset entry notifier - overlay changeset post-remove notifier If an error is returned by an overlay changeset post-remove notifier then no further overlay changeset post-remove notifier will be called. **Return** 0 on success, or a negative error number. ***ovcs_id** is set to zero after reverting the changeset, even if a subsequent error occurs.”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjqmh]”hŒ Parameters”…”�”}”(hjsmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjomubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MŸhjkmubj‡)�”}”(hhh]”jŒ)�”}”(hŒ1``int *ovcs_id`` Pointer to overlay changeset id ”h]”(j’)�”}”(hŒ``int *ovcs_id``”h]”j˜)�”}”(hj�mh]”hŒ int *ovcs_id”…”�”}”(hj’mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjŽmubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MœhjŠmubj®)�”}”(hhh]”jC)�”}”(hŒPointer to overlay changeset id”h]”hŒPointer to overlay changeset id”…”�”}”(hj©mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j¥mh´Mœhj¦mubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjŠmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j¥mh´Mœhj‡mubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjkmubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hjËmh]”hŒ Description”…”�”}”(hjÍmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÉmubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MžhjkmubjC)�”}”(hŒhRemoves an overlay if it is permissible. **ovcs_id** was previously returned by of_overlay_fdt_apply().”h]”(hŒ*Removes an overlay if it is permissible. ”…”�”}”(hjámh²hh³Nh´Nubjq)�”}”(hŒ **ovcs_id**”h]”hŒovcs_id”…”�”}”(hjémh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjámubhŒ3 was previously returned by of_overlay_fdt_apply().”…”�”}”(hjámh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M�hjkmubjC)�”}”(hX=If an error occurred while attempting to revert the overlay changeset, then an attempt is made to re-apply any changeset entry that was reverted. If an error occurs on re-apply then the state of the device tree can not be determined, and any following attempt to apply or remove an overlay changeset will be refused.”h]”hX=If an error occurred while attempting to revert the overlay changeset, then an attempt is made to re-apply any changeset entry that was reverted. If an error occurs on re-apply then the state of the device tree can not be determined, and any following attempt to apply or remove an overlay changeset will be refused.”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M hjkmubj‡)�”}”(hhh]”jŒ)�”}”(hŒ¤A non-zero return value will not revert the changeset if error is from: - parameter checks - overlay changeset pre-remove notifier - overlay changeset entry revert ”h]”(j’)�”}”(hŒGA non-zero return value will not revert the changeset if error is from:”h]”hŒGA non-zero return value will not revert the changeset if error is from:”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M©hjnubj®)�”}”(hhh]”j±))�”}”(hhh]”(j¶))�”}”(hŒparameter checks”h]”jC)�”}”(hj/nh]”hŒparameter checks”…”�”}”(hj1nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M§hj-nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hj*nubj¶))�”}”(hŒ%overlay changeset pre-remove notifier”h]”jC)�”}”(hjGnh]”hŒ%overlay changeset pre-remove notifier”…”�”}”(hjInh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M¨hjEnubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hj*nubj¶))�”}”(hŒoverlay changeset entry revert ”h]”jC)�”}”(hŒoverlay changeset entry revert”h]”hŒoverlay changeset entry revert”…”�”}”(hjanh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j&nh´M©hj]nubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hj*nubeh}”(h]”h ]”h"]”h$]”h&]”j*Œ-”uh1j°)h³j>nh´M§hj'nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j&nh´M©hjnubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjkmubjC)�”}”(hŒ‰If an error is returned by an overlay changeset pre-remove notifier then no further overlay changeset pre-remove notifier will be called.”h]”hŒ‰If an error is returned by an overlay changeset pre-remove notifier then no further overlay changeset pre-remove notifier will be called.”…”�”}”(hjŽnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M«hjkmubjC)�”}”(hŒ^If more than one notifier returns an error, then the last notifier error to occur is returned.”h]”hŒ^If more than one notifier returns an error, then the last notifier error to occur is returned.”…”�”}”(hj�nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M®hjkmubj‡)�”}”(hhh]”jŒ)�”}”(hŒ�A non-zero return value will revert the changeset if error is from: - overlay changeset entry notifier - overlay changeset post-remove notifier ”h]”(j’)�”}”(hŒCA non-zero return value will revert the changeset if error is from:”h]”hŒCA non-zero return value will revert the changeset if error is from:”…”�”}”(hj³nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M³hj¯nubj®)�”}”(hhh]”j±))�”}”(hhh]”(j¶))�”}”(hŒ overlay changeset entry notifier”h]”jC)�”}”(hjÊnh]”hŒ overlay changeset entry notifier”…”�”}”(hjÌnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M²hjÈnubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hjÅnubj¶))�”}”(hŒ'overlay changeset post-remove notifier ”h]”jC)�”}”(hŒ&overlay changeset post-remove notifier”h]”hŒ&overlay changeset post-remove notifier”…”�”}”(hjänh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³jÁnh´M³hjànubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ)hjÅnubeh}”(h]”h ]”h"]”h$]”h&]”j*j{nuh1j°)h³jÙnh´M²hjÂnubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¯nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÁnh´M³hj¬nubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjkmubjC)�”}”(hŒ‹If an error is returned by an overlay changeset post-remove notifier then no further overlay changeset post-remove notifier will be called.”h]”hŒ‹If an error is returned by an overlay changeset post-remove notifier then no further overlay changeset post-remove notifier will be called.”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MµhjkmubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj!oh]”hŒReturn”…”�”}”(hj#oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M¸hjkmubjC)�”}”(hŒˆ0 on success, or a negative error number. ***ovcs_id** is set to zero after reverting the changeset, even if a subsequent error occurs.”h]”(hŒ+0 on success, or a negative error number. ”…”�”}”(hj7oh²hh³Nh´Nubjq)�”}”(hŒ ***ovcs_id**”h]”hŒ*ovcs_id”…”�”}”(hj?oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj7oubhŒQ is set to zero after reverting the changeset, even if a subsequent error occurs.”…”�”}”(hj7oh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M¹hjkmubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubhý)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"of_overlay_remove_all (C function)”Œc.of_overlay_remove_all”hNt”auh1hühj>@h²hh³Nh´Nubj)�”}”(hhh]”(j)�”}”(hŒ int of_overlay_remove_all (void)”h]”j)�”}”(hŒint of_overlay_remove_all(void)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjxoh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhjtoh²hh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Mubj1)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡oh²hh³Nh´Nubah}”(h]”h ]”j=ah"]”h$]”h&]”uh1j0hjtoh²hh³j†oh´Mubj‘)�”}”(hŒof_overlay_remove_all”h]”jE)�”}”(hŒof_overlay_remove_all”h]”hŒof_overlay_remove_all”…”�”}”(hj™oh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj•oubah}”(h]”h ]”(j¦j§eh"]”h$]”h&]”hÅhÆuh1j�hjtoh²hh³j†oh´Mubj¬)�”}”(hŒ(void)”h]”j²)�”}”(hŒvoid”h]”j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjµoh²hh³Nh´Nubah}”(h]”h ]”j'ah"]”h$]”h&]”uh1jhj±oubah}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j±hj­oubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j«hjtoh²hh³j†oh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj/ˆuh1jj0j1hjpoh²hh³j†oh´Mubah}”(h]”jkoah ]”(j5j6eh"]”h$]”h&]”j:ˆj;)j<huh1jh³j†oh´Mhjmoh²hubj>)�”}”(hhh]”jC)�”}”(hŒ(Reverts and frees all overlay changesets”h]”hŒ(Reverts and frees all overlay changesets”…”�”}”(hjßoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MhjÜoh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjmoh²hh³j†oh´Mubeh}”(h]”h ]”(j\Œfunction”eh"]”h$]”h&]”j`j\jaj÷ojbj÷ojc‰jd‰je‰uh1j h²hhj>@h³Nh´Nubjg)�”}”(hŒª**Parameters** ``void`` no arguments **Description** Removes all overlays from the system in the correct order. **Return** 0 on success, or a negative error number”h]”(jC)�”}”(hŒ**Parameters**”h]”jq)�”}”(hjph]”hŒ Parameters”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjÿoubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M hjûoubj‡)�”}”(hhh]”jŒ)�”}”(hŒ``void`` no arguments ”h]”(j’)�”}”(hŒ``void``”h]”j˜)�”}”(hj ph]”hŒvoid”…”�”}”(hj"ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j—hjpubah}”(h]”h ]”h"]”h$]”h&]”uh1j‘h³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´Khjpubj®)�”}”(hhh]”jC)�”}”(hŒ no arguments”h]”hŒ no arguments”…”�”}”(hj9ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³j5ph´Khj6pubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j5ph´Khjpubah}”(h]”h ]”h"]”h$]”h&]”uh1j†hjûoubjC)�”}”(hŒ**Description**”h]”jq)�”}”(hj[ph]”hŒ Description”…”�”}”(hj]ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjYpubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´KhjûoubjC)�”}”(hŒ:Removes all overlays from the system in the correct order.”h]”hŒ:Removes all overlays from the system in the correct order.”…”�”}”(hjqph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´MhjûoubjC)�”}”(hŒ **Return**”h]”jq)�”}”(hj‚ph]”hŒReturn”…”�”}”(hj„ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jphj€pubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M hjûoubjC)�”}”(hŒ(0 on success, or a negative error number”h]”hŒ(0 on success, or a negative error number”…”�”}”(hj˜ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBh³ŒZ/var/lib/git/docbuild/linux/Documentation/devicetree/kernel-api:56: ./drivers/of/overlay.c”h´M hjûoubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jfhj>@h²hh³Nh´Nubeh}”(h]”Œ overlay-and-dynamic-dt-functions”ah ]”h"]”Œ overlay and dynamic dt functions”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K0ubeh}”(h]”(Œdevicetree-kernel-api”hÕeh ]”h"]”(Œdevicetree kernel api”Œ devicetree”eh$]”h&]”uh1hÖhhh²hh³hÇh´KŒexpect_referenced_by_name”}”j¼phÊsŒexpect_referenced_by_id”}”hÕhÊsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÛNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jæpŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÕ]”hÊasŒnameids”}”(j¼phÕj»pj¸pjŽj‹j;@j8@j³pj°puŒ nametypes”}”(j¼pˆj»p‰jމj;@‰j³p‰uh}”(hÕhØj¸phØj‹hëj jj jj¥jªj©j®j"j'j j jØ jÝ js jx jUjZj,j1jjj�j”jÌjÑjLjQjÌjÑj¯j´jC"jH"j×$jÜ$jk'jp'jR*jW*j·,j¼,j /j/jô1jù1jG4jL4jý6j7jO:jT:j"=j'=j¶>j»>jDCjICj FjFjHjHj:Jj?Jj“Lj˜LjÿMjNjªPj¯Pj—VjœVjÍYjÒYjç]jì]jz_j_jå`jê`jÁcjÆcjhjhj9lj>lj'pj,pj†rj‹rjßtjätj8wj=wj‘yj–yjê{jï{jyj~jÒ�j×�jL…jQ…j¤‡j©‡j^‹jc‹j�j�j�’j”’j–j –j˜j˜jJ™jO™jåšjêšj œjœjdžjižj j jØ¢jÝ¢jO¦jT¦jÆ©jË©j=­jB­j´°j¹°jð´jõ´j,¹j1¹j%½j*½jÀj ÀjÄjÄj/Çj4ÇjÊj#ÊjâÍjçÍj9Ðj>ÐjvÒj{ÒjAÕjFÕjÓ×jØ×jeÚjjÚjÝjÝjßjßjÏàjÔàj¸âj½âj¡äj¦äjYæj^æjöçjûçjáêjæêj\ìjaìjŸíj¤íjïjïj‘ðj–ðjôjôj÷j"÷j�øj¢øjDûjIûjRýjWýj]ÿjbÿjjj£j¨jtjyjåjêjÔ jÙ jë jð jFjKjjjj jYj^jxj}j8@j‘j®j³jÍjÒjƒ!jˆ!jÓ$jØ$jK'jP'jj)jo)jë*jñ*jý,j-jà.jå.jµ1jº1j°4jµ4jž7j£7j˜;j�;j=j=jÁ>jÆ>j°pj>@j[@j`@j£Bj¨Bj`DjeDjºEj¿EjGjGjJjJj‘Kj–KjMjMjºNj¿NjbPjgPjæSjëSjcWjhWj‰[jŽ[jš_jŸ_j�bj†bjþejfj²gj·gj ijij²lj·ljkojpouŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)�”}”(hhh]”jC)�”}”(hhh]”hŒ0Hyperlink target "devicetree" is not referenced.”…”�”}”hjPqsbah}”(h]”h ]”h"]”h$]”h&]”uh1jBhjMqubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1jKqubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.