€•ˆçŒ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”Œ6/translations/zh_CN/dev-tools/kunit/api/platformdevice”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/zh_TW/dev-tools/kunit/api/platformdevice”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/it_IT/dev-tools/kunit/api/platformdevice”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/ja_JP/dev-tools/kunit/api/platformdevice”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/ko_KR/dev-tools/kunit/api/platformdevice”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/pt_BR/dev-tools/kunit/api/platformdevice”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/sp_SP/dev-tools/kunit/api/platformdevice”Œ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³ŒP/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒPlatform Device API”h]”hŒPlatform Device API”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒ?The KUnit platform device API is used to test platform devices.”h]”hŒ?The KUnit platform device API is used to test platform devices.”…”�”}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ(kunit_platform_device_alloc (C function)”Œc.kunit_platform_device_alloc”hNt”auh1híhhÊh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒcstruct platform_device * kunit_platform_device_alloc (struct kunit *test, const char *name, int id)”h]”hŒdesc_signature_line”“”)�”}”(hŒastruct platform_device *kunit_platform_device_alloc(struct kunit *test, const char *name, int id)”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jhj h²hh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K*ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j!hj h²hh³j h´K*ubh)�”}”(hhh]”hŒ desc_sig_name”“”)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j5hj2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”j9Œmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jTŒ ASTIdentifier”“”)�”}”jOŒkunit_platform_device_alloc”sbŒc.kunit_platform_device_alloc”†”asbuh1hhj h²hh³j h´K*ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj h²hh³j h´K*ubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jphj h²hh³j h´K*ubhŒ desc_name”“”)�”}”(hŒkunit_platform_device_alloc”h]”j6)�”}”(hj_h]”hŒkunit_platform_device_alloc”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjƒubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j�hj h²hh³j h´K*ubhŒdesc_parameterlist”“”)�”}”(hŒ.(struct kunit *test, const char *name, int id)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct kunit *test”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¤ubh)�”}”(hhh]”j6)�”}”(hŒkunit”h]”hŒkunit”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjÃubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”jÈŒmodname”NŒ classname”NjSjV)�”}”jY]”j]Œc.kunit_platform_device_alloc”†”asbuh1hhj¤ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj¤ubjq)�”}”(hjth]”hŒ*”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphj¤ubj6)�”}”(hŒtest”h]”hŒtest”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjžubj£)�”}”(hŒconst char *name”h]”(j)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubhŒdesc_sig_keyword_type”“”)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j4hjubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjubjq)�”}”(hjth]”hŒ*”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjubj6)�”}”(hŒname”h]”hŒname”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjžubj£)�”}”(hŒint id”h]”(j5)�”}”(hŒint”h]”hŒint”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjuubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjuubj6)�”}”(hŒid”h]”hŒid”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjuubeh}”(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ÆŒ add_permalink”ˆuh1j Œsphinx_line_type”Œ declarator”hjh²hh³j h´K*ubah}”(h]”hüah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jh³j h´K*hjh²hubhŒ desc_content”“”)�”}”(hhh]”hÞ)�”}”(hŒ-Allocate a KUnit test managed platform device”h]”hŒ-Allocate a KUnit test managed platform device”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K*hjÆh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÄhjh²hh³j h´K*ubeh}”(h]”h ]”(jMŒfunction”eh"]”h$]”h&]”Œdomain”jMŒobjtype”jáŒdesctype”jáŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1hþh²hhhÊh³Nh´NubhŒ container”“”)�”}”(hXU**Parameters** ``struct kunit *test`` test context ``const char *name`` device name of platform device to alloc ``int id`` identifier of platform device to alloc. **Description** Allocate a test managed platform device. The device is put when the test completes. **Return** Allocated platform device on success, NULL on failure.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hjóh]”hŒ Parameters”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K.hjíubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ$``struct kunit *test`` test context ”h]”(hŒterm”“”)�”}”(hŒ``struct kunit *test``”h]”hŒliteral”“”)�”}”(hjh]”hŒstruct kunit *test”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K+hjubhŒ definition”“”)�”}”(hhh]”hÞ)�”}”(hŒ test context”h]”hŒ test context”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j1h´K+hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j1h´K+hj ubj)�”}”(hŒ=``const char *name`` device name of platform device to alloc ”h]”(j)�”}”(hŒ``const char *name``”h]”j)�”}”(hjWh]”hŒconst char *name”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K,hjQubj3)�”}”(hhh]”hÞ)�”}”(hŒ'device name of platform device to alloc”h]”hŒ'device name of platform device to alloc”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jlh´K,hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jlh´K,hj ubj)�”}”(hŒ3``int id`` identifier of platform device to alloc. ”h]”(j)�”}”(hŒ ``int id``”h]”j)�”}”(hj�h]”hŒint id”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K-hjŠubj3)�”}”(hhh]”hÞ)�”}”(hŒ'identifier of platform device to alloc.”h]”hŒ'identifier of platform device to alloc.”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j¥h´K-hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¥h´K-hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjíubhÞ)�”}”(hŒ**Description**”h]”jö)�”}”(hjËh]”hŒ Description”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K/hjíubhÞ)�”}”(hŒSAllocate a test managed platform device. The device is put when the test completes.”h]”hŒSAllocate a test managed platform device. The device is put when the test completes.”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K.hjíubhÞ)�”}”(hŒ **Return**”h]”jö)�”}”(hjòh]”hŒReturn”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjðubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K0hjíubhÞ)�”}”(hŒ6Allocated platform device on success, NULL on failure.”h]”hŒ6Allocated platform device on success, NULL on failure.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K1hjíubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jëhhÊh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ&kunit_platform_device_add (C function)”Œc.kunit_platform_device_add”hNt”auh1híhhÊh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒPint kunit_platform_device_add (struct kunit *test, struct platform_device *pdev)”h]”j )�”}”(hŒOint kunit_platform_device_add(struct kunit *test, struct platform_device *pdev)”h]”(j5)�”}”(hŒint”h]”hŒint”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj3h²hh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KUubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj3h²hh³jEh´KUubj‚)�”}”(hŒkunit_platform_device_add”h]”j6)�”}”(hŒkunit_platform_device_add”h]”hŒkunit_platform_device_add”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjTubah}”(h]”h ]”(j—j˜eh"]”h$]”h&]”hÅhÆuh1j�hj3h²hh³jEh´KUubj�)�”}”(hŒ2(struct kunit *test, struct platform_device *pdev)”h]”(j£)�”}”(hŒstruct kunit *test”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjpubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpubh)�”}”(hhh]”j6)�”}”(hŒkunit”h]”hŒkunit”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j”Œmodname”NŒ classname”NjSjV)�”}”jY]”j\)�”}”jOjZsbŒc.kunit_platform_device_add”†”asbuh1hhjpubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjpubjq)�”}”(hjth]”hŒ*”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjpubj6)�”}”(hŒtest”h]”hŒtest”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjpubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjlubj£)�”}”(hŒstruct platform_device *pdev”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjâubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâubh)�”}”(hhh]”j6)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”jŒmodname”NŒ classname”NjSjV)�”}”jY]”j®Œc.kunit_platform_device_add”†”asbuh1hhjâubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjâubjq)�”}”(hjth]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjâubj6)�”}”(hŒpdev”h]”hŒpdev”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjâubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjlubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jœhj3h²hh³jEh´KUubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj¶ˆuh1j j·j¸hj/h²hh³jEh´KUubah}”(h]”j*ah ]”(j¼j½eh"]”h$]”h&]”jÁˆjÂ)jÃhuh1jh³jEh´KUhj,h²hubjÅ)�”}”(hhh]”hÞ)�”}”(hŒ-Register a KUnit test managed platform device”h]”hŒ-Register a KUnit test managed platform device”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KUhjdh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÄhj,h²hh³jEh´KUubeh}”(h]”h ]”(jMŒfunction”eh"]”h$]”h&]”jåjMjæjjçjjè‰jé‰jê‰uh1hþh²hhhÊh³Nh´Nubjì)�”}”(hX**Parameters** ``struct kunit *test`` test context ``struct platform_device *pdev`` platform device to add **Description** Register a test managed platform device. The device is unregistered when the test completes. **Return** 0 on success, negative errno on failure.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”jö)�”}”(hj‰h]”hŒ Parameters”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KYhjƒubj )�”}”(hhh]”(j)�”}”(hŒ$``struct kunit *test`` test context ”h]”(j)�”}”(hŒ``struct kunit *test``”h]”j)�”}”(hj¨h]”hŒstruct kunit *test”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KVhj¢ubj3)�”}”(hhh]”hÞ)�”}”(hŒ test context”h]”hŒ test context”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j½h´KVhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j½h´KVhjŸubj)�”}”(hŒ8``struct platform_device *pdev`` platform device to add ”h]”(j)�”}”(hŒ ``struct platform_device *pdev``”h]”j)�”}”(hjáh]”hŒstruct platform_device *pdev”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KWhjÛubj3)�”}”(hhh]”hÞ)�”}”(hŒplatform device to add”h]”hŒplatform device to add”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jöh´KWhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jöh´KWhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjƒubhÞ)�”}”(hŒ**Description**”h]”jö)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KYhjƒubhÞ)�”}”(hŒ\Register a test managed platform device. The device is unregistered when the test completes.”h]”hŒ\Register a test managed platform device. The device is unregistered when the test completes.”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KXhjƒubhÞ)�”}”(hŒ **Return**”h]”jö)�”}”(hjCh]”hŒReturn”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K[hjƒubhÞ)�”}”(hŒ(0 on success, negative errno on failure.”h]”hŒ(0 on success, negative errno on failure.”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K\hjƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jëhhÊh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ0kunit_platform_device_register_full (C function)”Œ%c.kunit_platform_device_register_full”hNt”auh1híhhÊh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒ~struct platform_device * kunit_platform_device_register_full (struct kunit *test, const struct platform_device_info *pdevinfo)”h]”j )�”}”(hŒ|struct platform_device *kunit_platform_device_register_full(struct kunit *test, const struct platform_device_info *pdevinfo)”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj„h²hh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K‡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„h²hh³j•h´K‡ubh)�”}”(hhh]”j6)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj¤ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j©Œmodname”NŒ classname”NjSjV)�”}”jY]”j\)�”}”jOŒ#kunit_platform_device_register_full”sbŒ%c.kunit_platform_device_register_full”†”asbuh1hhj„h²hh³j•h´K‡ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj„h²hh³j•h´K‡ubjq)�”}”(hjth]”hŒ*”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphj„h²hh³j•h´K‡ubj‚)�”}”(hŒ#kunit_platform_device_register_full”h]”j6)�”}”(hjÅh]”hŒ#kunit_platform_device_register_full”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjãubah}”(h]”h ]”(j—j˜eh"]”h$]”h&]”hÅhÆuh1j�hj„h²hh³j•h´K‡ubj�)�”}”(hŒA(struct kunit *test, const struct platform_device_info *pdevinfo)”h]”(j£)�”}”(hŒstruct kunit *test”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþubh)�”}”(hhh]”j6)�”}”(hŒkunit”h]”hŒkunit”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j"Œmodname”NŒ classname”NjSjV)�”}”jY]”jÃŒ%c.kunit_platform_device_register_full”†”asbuh1hhjþubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjþubjq)�”}”(hjth]”hŒ*”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjþubj6)�”}”(hŒtest”h]”hŒtest”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjúubj£)�”}”(hŒ+const struct platform_device_info *pdevinfo”h]”(j)�”}”(hjh]”hŒconst”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjnubj)�”}”(hjh]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjnubh)�”}”(hhh]”j6)�”}”(hŒplatform_device_info”h]”hŒplatform_device_info”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj¨ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j­Œmodname”NŒ classname”NjSjV)�”}”jY]”jÃŒ%c.kunit_platform_device_register_full”†”asbuh1hhjnubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjnubjq)�”}”(hjth]”hŒ*”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjnubj6)�”}”(hŒpdevinfo”h]”hŒpdevinfo”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjnubeh}”(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¶ˆuh1j j·j¸hj€h²hh³j•h´K‡ubah}”(h]”j{ah ]”(j¼j½eh"]”h$]”h&]”jÁˆjÂ)jÃhuh1jh³j•h´K‡hj}h²hubjÅ)�”}”(hhh]”hÞ)�”}”(hŒORegister a KUnit test-managed platform device described by platform device info”h]”hŒORegister a KUnit test-managed platform device described by platform device info”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K‡hj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÄhj}h²hh³j•h´K‡ubeh}”(h]”h ]”(jMŒfunction”eh"]”h$]”h&]”jåjMjæj&jçj&jè‰jé‰jê‰uh1hþh²hhhÊh³Nh´Nubjì)�”}”(hXM**Parameters** ``struct kunit *test`` test context ``const struct platform_device_info *pdevinfo`` platform device information describing the new device **Description** Register a test-managed platform device. The device is unregistered when the test completes. **Return** New platform device on success, IS_ERR() on error.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”jö)�”}”(hj0h]”hŒ Parameters”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K‹hj*ubj )�”}”(hhh]”(j)�”}”(hŒ$``struct kunit *test`` test context ”h]”(j)�”}”(hŒ``struct kunit *test``”h]”j)�”}”(hjOh]”hŒstruct kunit *test”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K‰hjIubj3)�”}”(hhh]”hÞ)�”}”(hŒ test context”h]”hŒ test context”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jdh´K‰hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jdh´K‰hjFubj)�”}”(hŒf``const struct platform_device_info *pdevinfo`` platform device information describing the new device ”h]”(j)�”}”(hŒ/``const struct platform_device_info *pdevinfo``”h]”j)�”}”(hjˆh]”hŒ+const struct platform_device_info *pdevinfo”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KŠhj‚ubj3)�”}”(hhh]”hÞ)�”}”(hŒ5platform device information describing the new device”h]”hŒ5platform device information describing the new device”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j�h´KŠhjžubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´KŠhjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj*ubhÞ)�”}”(hŒ**Description**”h]”jö)�”}”(hjÃh]”hŒ Description”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KŒhj*ubhÞ)�”}”(hŒ\Register a test-managed platform device. The device is unregistered when the test completes.”h]”hŒ\Register a test-managed platform device. The device is unregistered when the test completes.”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K‹hj*ubhÞ)�”}”(hŒ **Return**”h]”jö)�”}”(hjêh]”hŒReturn”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´KŽhj*ubhÞ)�”}”(hŒ2New platform device on success, IS_ERR() on error.”h]”hŒ2New platform device on success, IS_ERR() on error.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K�hj*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jëhhÊh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ-kunit_platform_device_unregister (C function)”Œ"c.kunit_platform_device_unregister”hNt”auh1híhhÊh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒXvoid kunit_platform_device_unregister (struct kunit *test, struct platform_device *pdev)”h]”j )�”}”(hŒWvoid kunit_platform_device_unregister(struct kunit *test, struct platform_device *pdev)”h]”(j5)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj+ h²hh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K®ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj+ h²hh³j= h´K®ubj‚)�”}”(hŒ kunit_platform_device_unregister”h]”j6)�”}”(hŒ kunit_platform_device_unregister”h]”hŒ kunit_platform_device_unregister”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjL ubah}”(h]”h ]”(j—j˜eh"]”h$]”h&]”hÅhÆuh1j�hj+ h²hh³j= h´K®ubj�)�”}”(hŒ2(struct kunit *test, struct platform_device *pdev)”h]”(j£)�”}”(hŒstruct kunit *test”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh ubh)�”}”(hhh]”j6)�”}”(hŒkunit”h]”hŒkunit”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj‡ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”jŒ Œmodname”NŒ classname”NjSjV)�”}”jY]”j\)�”}”jOjR sbŒ"c.kunit_platform_device_unregister”†”asbuh1hhjh ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjh ubjq)�”}”(hjth]”hŒ*”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjh ubj6)�”}”(hŒtest”h]”hŒtest”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjh ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjd ubj£)�”}”(hŒstruct platform_device *pdev”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚ ubh)�”}”(hhh]”j6)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjù ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”jþ Œmodname”NŒ classname”NjSjV)�”}”jY]”j¦ Œ"c.kunit_platform_device_unregister”†”asbuh1hhjÚ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjÚ ubjq)�”}”(hjth]”hŒ*”…”�”}”(hj( h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjÚ ubj6)�”}”(hŒpdev”h]”hŒpdev”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjÚ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjd ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jœhj+ h²hh³j= h´K®ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj¶ˆuh1j j·j¸hj' h²hh³j= h´K®ubah}”(h]”j" ah ]”(j¼j½eh"]”h$]”h&]”jÁˆjÂ)jÃhuh1jh³j= h´K®hj$ h²hubjÅ)�”}”(hhh]”hÞ)�”}”(hŒ*Unregister a KUnit-managed platform device”h]”hŒ*Unregister a KUnit-managed platform device”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K®hj\ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÄhj$ h²hh³j= h´K®ubeh}”(h]”h ]”(jMŒfunction”eh"]”h$]”h&]”jåjMjæjw jçjw jè‰jé‰jê‰uh1hþh²hhhÊh³Nh´Nubjì)�”}”(hŒÒ**Parameters** ``struct kunit *test`` test context ``struct platform_device *pdev`` platform device to unregister **Description** Unregister a test-managed platform device and cancel its release action.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”jö)�”}”(hj� h]”hŒ Parameters”…”�”}”(hjƒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K²hj{ ubj )�”}”(hhh]”(j)�”}”(hŒ$``struct kunit *test`` test context ”h]”(j)�”}”(hŒ``struct kunit *test``”h]”j)�”}”(hj  h]”hŒstruct kunit *test”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjž ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K¯hjš ubj3)�”}”(hhh]”hÞ)�”}”(hŒ test context”h]”hŒ test context”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jµ h´K¯hj¶ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjš ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµ h´K¯hj— ubj)�”}”(hŒ?``struct platform_device *pdev`` platform device to unregister ”h]”(j)�”}”(hŒ ``struct platform_device *pdev``”h]”j)�”}”(hjÙ h]”hŒstruct platform_device *pdev”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj× ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K°hjÓ ubj3)�”}”(hhh]”hÞ)�”}”(hŒplatform device to unregister”h]”hŒplatform device to unregister”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jî h´K°hjï ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjÓ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jî h´K°hj— ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj{ ubhÞ)�”}”(hŒ**Description**”h]”jö)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K²hj{ ubhÞ)�”}”(hŒHUnregister a test-managed platform device and cancel its release action.”h]”hŒHUnregister a test-managed platform device and cancel its release action.”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´K±hj{ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jëhhÊh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ9kunit_platform_device_prepare_wait_for_probe (C function)”Œ.c.kunit_platform_device_prepare_wait_for_probe”hNt”auh1híhhÊh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒyint kunit_platform_device_prepare_wait_for_probe (struct kunit *test, struct platform_device *pdev, struct completion *x)”h]”j )�”}”(hŒxint kunit_platform_device_prepare_wait_for_probe(struct kunit *test, struct platform_device *pdev, struct completion *x)”h]”(j5)�”}”(hŒint”h]”hŒint”…”�”}”(hjY h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjU h²hh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kàubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjU h²hh³jg h´Kàubj‚)�”}”(hŒ,kunit_platform_device_prepare_wait_for_probe”h]”j6)�”}”(hŒ,kunit_platform_device_prepare_wait_for_probe”h]”hŒ,kunit_platform_device_prepare_wait_for_probe”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjv ubah}”(h]”h ]”(j—j˜eh"]”h$]”h&]”hÅhÆuh1j�hjU h²hh³jg h´Kàubj�)�”}”(hŒH(struct kunit *test, struct platform_device *pdev, struct completion *x)”h]”(j£)�”}”(hŒstruct kunit *test”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj’ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’ ubh)�”}”(hhh]”j6)�”}”(hŒkunit”h]”hŒkunit”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj± ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j¶ Œmodname”NŒ classname”NjSjV)�”}”jY]”j\)�”}”jOj| sbŒ.c.kunit_platform_device_prepare_wait_for_probe”†”asbuh1hhj’ ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj’ ubjq)�”}”(hjth]”hŒ*”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphj’ ubj6)�”}”(hŒtest”h]”hŒtest”…”�”}”(hjï h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj’ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjŽ ubj£)�”}”(hŒstruct platform_device *pdev”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubh)�”}”(hhh]”j6)�”}”(hŒplatform_device”h]”hŒplatform_device”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj# ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j( Œmodname”NŒ classname”NjSjV)�”}”jY]”jÐ Œ.c.kunit_platform_device_prepare_wait_for_probe”†”asbuh1hhj ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj ubjq)�”}”(hjth]”hŒ*”…”�”}”(hjR h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphj ubj6)�”}”(hŒpdev”h]”hŒpdev”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjŽ ubj£)�”}”(hŒstruct completion *x”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjx h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjt ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjt ubh)�”}”(hhh]”j6)�”}”(hŒ completion”h]”hŒ completion”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj“ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j˜ Œmodname”NŒ classname”NjSjV)�”}”jY]”jÐ Œ.c.kunit_platform_device_prepare_wait_for_probe”†”asbuh1hhjt ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjt ubjq)�”}”(hjth]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjt ubj6)�”}”(hŒx”h]”hŒx”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjt ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjŽ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jœhjU h²hh³jg h´Kàubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj¶ˆuh1j j·j¸hjQ h²hh³jg h´Kàubah}”(h]”jL ah ]”(j¼j½eh"]”h$]”h&]”jÁˆjÂ)jÃhuh1jh³jg h´KàhjN h²hubjÅ)�”}”(hhh]”hÞ)�”}”(hŒDPrepare a completion variable to wait for a platform device to probe”h]”hŒDPrepare a completion variable to wait for a platform device to probe”…”�”}”(hjù h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kàhjö h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÄhjN h²hh³jg h´Kàubeh}”(h]”h ]”(jMŒfunction”eh"]”h$]”h&]”jåjMjæj jçj jè‰jé‰jê‰uh1hþh²hhhÊh³Nh´Nubjì)�”}”(hX**Parameters** ``struct kunit *test`` test context ``struct platform_device *pdev`` platform device to prepare to wait for probe of ``struct completion *x`` completion variable completed when **dev** has probed **Description** Prepare a completion variable **x** to wait for **pdev** to probe. Waiting on the completion forces a preemption, allowing the platform driver to probe. Example .. code-block:: c static int kunit_platform_driver_probe(struct platform_device *pdev) { return 0; } static void kunit_platform_driver_test(struct kunit *test) { struct platform_device *pdev; struct platform_driver *pdrv; DECLARE_COMPLETION_ONSTACK(comp); pdev = kunit_platform_device_alloc(test, "kunit-platform", -1); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev); KUNIT_ASSERT_EQ(test, 0, kunit_platform_device_add(test, pdev)); pdrv = kunit_kzalloc(test, sizeof(*pdrv), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdrv); pdrv->probe = kunit_platform_driver_probe; pdrv->driver.name = "kunit-platform"; pdrv->driver.owner = THIS_MODULE; KUNIT_ASSERT_EQ(test, 0, kunit_platform_device_prepare_wait_for_probe(test, pdev, &comp)); KUNIT_ASSERT_EQ(test, 0, kunit_platform_driver_register(test, pdrv)); KUNIT_EXPECT_NE(test, 0, wait_for_completion_timeout(&comp, 3 * HZ)); } **Return** 0 on success, negative errno on failure.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”jö)�”}”(hj h]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kähj ubj )�”}”(hhh]”(j)�”}”(hŒ$``struct kunit *test`` test context ”h]”(j)�”}”(hŒ``struct kunit *test``”h]”j)�”}”(hj: h]”hŒstruct kunit *test”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kâhj4 ubj3)�”}”(hhh]”hÞ)�”}”(hŒ test context”h]”hŒ test context”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jO h´KâhjP ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj4 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jO h´Kâhj1 ubj)�”}”(hŒQ``struct platform_device *pdev`` platform device to prepare to wait for probe of ”h]”(j)�”}”(hŒ ``struct platform_device *pdev``”h]”j)�”}”(hjs h]”hŒstruct platform_device *pdev”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kãhjm ubj3)�”}”(hhh]”hÞ)�”}”(hŒ/platform device to prepare to wait for probe of”h]”hŒ/platform device to prepare to wait for probe of”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jˆ h´Kãhj‰ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjm ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jˆ h´Kãhj1 ubj)�”}”(hŒO``struct completion *x`` completion variable completed when **dev** has probed ”h]”(j)�”}”(hŒ``struct completion *x``”h]”j)�”}”(hj¬ h]”hŒstruct completion *x”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjª ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kähj¦ ubj3)�”}”(hhh]”hÞ)�”}”(hŒ5completion variable completed when **dev** has probed”h]”(hŒ#completion variable completed when ”…”�”}”(hjÅ h²hh³Nh´Nubjö)�”}”(hŒ**dev**”h]”hŒdev”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjÅ ubhŒ has probed”…”�”}”(hjÅ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jÁ h´Kähj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj¦ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÁ h´Kähj1 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubhÞ)�”}”(hŒ**Description**”h]”jö)�”}”(hjù h]”hŒ Description”…”�”}”(hjû h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj÷ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kæhj ubhÞ)�”}”(hŒ˜Prepare a completion variable **x** to wait for **pdev** to probe. Waiting on the completion forces a preemption, allowing the platform driver to probe.”h]”(hŒPrepare a completion variable ”…”�”}”(hjh²hh³Nh´Nubjö)�”}”(hŒ**x**”h]”hŒx”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjubhŒ to wait for ”…”�”}”(hjh²hh³Nh´Nubjö)�”}”(hŒ**pdev**”h]”hŒpdev”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjubhŒ` to probe. Waiting on the completion forces a preemption, allowing the platform driver to probe.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kåhj ubhÞ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kèhj ubhŒ literal_block”“”)�”}”(hXÓstatic int kunit_platform_driver_probe(struct platform_device *pdev) { return 0; } static void kunit_platform_driver_test(struct kunit *test) { struct platform_device *pdev; struct platform_driver *pdrv; DECLARE_COMPLETION_ONSTACK(comp); pdev = kunit_platform_device_alloc(test, "kunit-platform", -1); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev); KUNIT_ASSERT_EQ(test, 0, kunit_platform_device_add(test, pdev)); pdrv = kunit_kzalloc(test, sizeof(*pdrv), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdrv); pdrv->probe = kunit_platform_driver_probe; pdrv->driver.name = "kunit-platform"; pdrv->driver.owner = THIS_MODULE; KUNIT_ASSERT_EQ(test, 0, kunit_platform_device_prepare_wait_for_probe(test, pdev, &comp)); KUNIT_ASSERT_EQ(test, 0, kunit_platform_driver_register(test, pdrv)); KUNIT_EXPECT_NE(test, 0, wait_for_completion_timeout(&comp, 3 * HZ)); }”h]”hXÓstatic int kunit_platform_driver_probe(struct platform_device *pdev) { return 0; } static void kunit_platform_driver_test(struct kunit *test) { struct platform_device *pdev; struct platform_driver *pdrv; DECLARE_COMPLETION_ONSTACK(comp); pdev = kunit_platform_device_alloc(test, "kunit-platform", -1); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev); KUNIT_ASSERT_EQ(test, 0, kunit_platform_device_add(test, pdev)); pdrv = kunit_kzalloc(test, sizeof(*pdrv), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdrv); pdrv->probe = kunit_platform_driver_probe; pdrv->driver.name = "kunit-platform"; pdrv->driver.owner = THIS_MODULE; KUNIT_ASSERT_EQ(test, 0, kunit_platform_device_prepare_wait_for_probe(test, pdev, &comp)); KUNIT_ASSERT_EQ(test, 0, kunit_platform_driver_register(test, pdrv)); KUNIT_EXPECT_NE(test, 0, wait_for_completion_timeout(&comp, 3 * HZ)); }”…”�”}”hjSsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒforce”‰Œlanguage”jMŒhighlight_args”}”uh1jQh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Kêhj ubhÞ)�”}”(hŒ **Return**”h]”jö)�”}”(hjhh]”hŒReturn”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Mhj ubhÞ)�”}”(hŒ(0 on success, negative errno on failure.”h]”hŒ(0 on success, negative errno on failure.”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jëhhÊh²hh³Nh´Nubhî)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(húŒ+kunit_platform_driver_register (C function)”Œ c.kunit_platform_driver_register”hNt”auh1híhhÊh²hh³Nh´Nubhÿ)�”}”(hhh]”(j)�”}”(hŒTint kunit_platform_driver_register (struct kunit *test, struct platform_driver *drv)”h]”j )�”}”(hŒSint kunit_platform_driver_register(struct kunit *test, struct platform_driver *drv)”h]”(j5)�”}”(hŒint”h]”hŒint”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj©h²hh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M.ubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hj©h²hh³j»h´M.ubj‚)�”}”(hŒkunit_platform_driver_register”h]”j6)�”}”(hŒkunit_platform_driver_register”h]”hŒkunit_platform_driver_register”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjÊubah}”(h]”h ]”(j—j˜eh"]”h$]”h&]”hÅhÆuh1j�hj©h²hh³j»h´M.ubj�)�”}”(hŒ1(struct kunit *test, struct platform_driver *drv)”h]”(j£)�”}”(hŒstruct kunit *test”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubh)�”}”(hhh]”j6)�”}”(hŒkunit”h]”hŒkunit”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j Œmodname”NŒ classname”NjSjV)�”}”jY]”j\)�”}”jOjÐsbŒ c.kunit_platform_driver_register”†”asbuh1hhjæubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjæubjq)�”}”(hjth]”hŒ*”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjæubj6)�”}”(hŒtest”h]”hŒtest”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j¢hjâubj£)�”}”(hŒstruct platform_driver *drv”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubh)�”}”(hhh]”j6)�”}”(hŒplatform_driver”h]”hŒplatform_driver”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjwubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jMŒreftype”jOŒ reftarget”j|Œmodname”NŒ classname”NjSjV)�”}”jY]”j$Œ c.kunit_platform_driver_register”†”asbuh1hhjXubj")�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”j.ah"]”h$]”h&]”uh1j!hjXubjq)�”}”(hjth]”hŒ*”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”j}ah"]”h$]”h&]”uh1jphjXubj6)�”}”(hŒdrv”h]”hŒdrv”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjXubeh}”(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¶ˆuh1j j·j¸hj¥h²hh³j»h´M.ubah}”(h]”j ah ]”(j¼j½eh"]”h$]”h&]”jÁˆjÂ)jÃhuh1jh³j»h´M.hj¢h²hubjÅ)�”}”(hhh]”hÞ)�”}”(hŒ-Register a KUnit test managed platform driver”h]”hŒ-Register a KUnit test managed platform driver”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M.hjÚh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÄhj¢h²hh³j»h´M.ubeh}”(h]”h ]”(jMŒfunction”eh"]”h$]”h&]”jåjMjæjõjçjõjè‰jé‰jê‰uh1hþh²hhhÊh³Nh´Nubjì)�”}”(hXw**Parameters** ``struct kunit *test`` test context ``struct platform_driver *drv`` platform driver to register **Description** Register a test managed platform driver. This allows callers to embed the **drv** in a container structure and use container_of() in the probe function to pass information to KUnit tests. Example .. code-block:: c struct kunit_test_context { struct platform_driver pdrv; const char *data; }; static inline struct kunit_test_context * to_test_context(struct platform_device *pdev) { return container_of(to_platform_driver(pdev->dev.driver), struct kunit_test_context, pdrv); } static int kunit_platform_driver_probe(struct platform_device *pdev) { struct kunit_test_context *ctx; ctx = to_test_context(pdev); ctx->data = "test data"; return 0; } static void kunit_platform_driver_test(struct kunit *test) { struct kunit_test_context *ctx; ctx = kunit_kzalloc(test, sizeof(*ctx), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); ctx->pdrv.probe = kunit_platform_driver_probe; ctx->pdrv.driver.name = "kunit-platform"; ctx->pdrv.driver.owner = THIS_MODULE; KUNIT_EXPECT_EQ(test, 0, kunit_platform_driver_register(test, &ctx->pdrv)); <... wait for driver to probe ...> KUNIT_EXPECT_STREQ(test, ctx->data, "test data"); } **Return** 0 on success, negative errno on failure.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”jö)�”}”(hjÿh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M2hjùubj )�”}”(hhh]”(j)�”}”(hŒ$``struct kunit *test`` test context ”h]”(j)�”}”(hŒ``struct kunit *test``”h]”j)�”}”(hjh]”hŒstruct kunit *test”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M/hjubj3)�”}”(hhh]”hÞ)�”}”(hŒ test context”h]”hŒ test context”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j3h´M/hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j3h´M/hjubj)�”}”(hŒ<``struct platform_driver *drv`` platform driver to register ”h]”(j)�”}”(hŒ``struct platform_driver *drv``”h]”j)�”}”(hjWh]”hŒstruct platform_driver *drv”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M0hjQubj3)�”}”(hhh]”hÞ)�”}”(hŒplatform driver to register”h]”hŒplatform driver to register”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jlh´M0hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jlh´M0hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjùubhÞ)�”}”(hŒ**Description**”h]”jö)�”}”(hj’h]”hŒ Description”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M2hjùubhÞ)�”}”(hŒ»Register a test managed platform driver. This allows callers to embed the **drv** in a container structure and use container_of() in the probe function to pass information to KUnit tests.”h]”(hŒJRegister a test managed platform driver. This allows callers to embed the ”…”�”}”(hj¨h²hh³Nh´Nubjö)�”}”(hŒ**drv**”h]”hŒdrv”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj¨ubhŒj in a container structure and use container_of() in the probe function to pass information to KUnit tests.”…”�”}”(hj¨h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M1hjùubhÞ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M5hjùubjR)�”}”(hXKstruct kunit_test_context { struct platform_driver pdrv; const char *data; }; static inline struct kunit_test_context * to_test_context(struct platform_device *pdev) { return container_of(to_platform_driver(pdev->dev.driver), struct kunit_test_context, pdrv); } static int kunit_platform_driver_probe(struct platform_device *pdev) { struct kunit_test_context *ctx; ctx = to_test_context(pdev); ctx->data = "test data"; return 0; } static void kunit_platform_driver_test(struct kunit *test) { struct kunit_test_context *ctx; ctx = kunit_kzalloc(test, sizeof(*ctx), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); ctx->pdrv.probe = kunit_platform_driver_probe; ctx->pdrv.driver.name = "kunit-platform"; ctx->pdrv.driver.owner = THIS_MODULE; KUNIT_EXPECT_EQ(test, 0, kunit_platform_driver_register(test, &ctx->pdrv)); <... wait for driver to probe ...> KUNIT_EXPECT_STREQ(test, ctx->data, "test data"); }”h]”hXKstruct kunit_test_context { struct platform_driver pdrv; const char *data; }; static inline struct kunit_test_context * to_test_context(struct platform_device *pdev) { return container_of(to_platform_driver(pdev->dev.driver), struct kunit_test_context, pdrv); } static int kunit_platform_driver_probe(struct platform_device *pdev) { struct kunit_test_context *ctx; ctx = to_test_context(pdev); ctx->data = "test data"; return 0; } static void kunit_platform_driver_test(struct kunit *test) { struct kunit_test_context *ctx; ctx = kunit_kzalloc(test, sizeof(*ctx), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx); ctx->pdrv.probe = kunit_platform_driver_probe; ctx->pdrv.driver.name = "kunit-platform"; ctx->pdrv.driver.owner = THIS_MODULE; KUNIT_EXPECT_EQ(test, 0, kunit_platform_driver_register(test, &ctx->pdrv)); <... wait for driver to probe ...> KUNIT_EXPECT_STREQ(test, ctx->data, "test data"); }”…”�”}”hjØsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆja‰jbjMjc}”uh1jQh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M7hjùubhÞ)�”}”(hŒ **Return**”h]”jö)�”}”(hjêh]”hŒReturn”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´M`hjùubhÞ)�”}”(hŒ(0 on success, negative errno on failure.”h]”hŒ(0 on success, negative errno on failure.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/platformdevice:9: ./lib/kunit/platform.c”h´Mahjùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jëhhÊh²hh³Nh´Nubeh}”(h]”Œplatform-device-api”ah ]”h"]”Œplatform device api”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jAŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”jjsŒ nametypes”}”j‰sh}”(jhÊhüjj*j/j{j€j" j' jL jQ j j¥uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.