sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget+/translations/zh_CN/dev-tools/kunit/api/clkmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/dev-tools/kunit/api/clkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/dev-tools/kunit/api/clkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/dev-tools/kunit/api/clkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/dev-tools/kunit/api/clkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/pt_BR/dev-tools/kunit/api/clkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/dev-tools/kunit/api/clkmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk.rsthKubhsection)}(hhh](htitle)}(hClk APIh]hClk API}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hBThe KUnit clk API is used to test clk providers and clk consumers.h]hBThe KUnit clk API is used to test clk providers and clk consumers.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single%clk_prepare_enable_kunit (C function)c.clk_prepare_enable_kunithNtauh1hhhhhhNhNubhdesc)}(hhh](hdesc_signature)}(hBint clk_prepare_enable_kunit (struct kunit *test, struct clk *clk)h]hdesc_signature_line)}(hAint clk_prepare_enable_kunit(struct kunit *test, struct clk *clk)h](hdesc_sig_keyword_type)}(hinth]hint}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhj hhhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKubhdesc_sig_space)}(h h]h }(hj#hhhNhNubah}(h]h ]wah"]h$]h&]uh1j!hj hhhj hKubh desc_name)}(hclk_prepare_enable_kunith]h desc_sig_name)}(hclk_prepare_enable_kunith]hclk_prepare_enable_kunit}(hj:hhhNhNubah}(h]h ]nah"]h$]h&]uh1j8hj4ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j2hj hhhj hKubhdesc_parameterlist)}(h%(struct kunit *test, struct clk *clk)h](hdesc_parameter)}(hstruct kunit *testh](hdesc_sig_keyword)}(hstructh]hstruct}(hj_hhhNhNubah}(h]h ]kah"]h$]h&]uh1j]hjYubj")}(h h]h }(hjnhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjYubh)}(hhh]j9)}(hkunith]hkunit}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj|ubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jj<sbc.clk_prepare_enable_kunitasbuh1hhjYubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjYubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjYubj9)}(htesth]htest}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjYubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjSubjX)}(hstruct clk *clkh](j^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(hclkh]hclk}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.clk_prepare_enable_kunitasbuh1hhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hclkh]hclk}(hj7hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjSubeh}(h]h ]h"]h$]h&]hhuh1jQhj hhhj hKubeh}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1j sphinx_line_type declaratorhjhhhj hKubah}(h]hah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhj hKhjhhubh desc_content)}(hhh]h)}(h!Test managed clk_prepare_enable()h]h!Test managed clk_prepare_enable()}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjhhhubah}(h]h ]h"]h$]h&]uh1jfhjhhhj hKubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1hhhhhhNhNubh container)}(h**Parameters** ``struct kunit *test`` The test context ``struct clk *clk`` clk to prepare and enable **Return** 0 on success, or negative errno on failure.h](h)}(h**Parameters**h]hstrong)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubhdefinition_list)}(hhh](hdefinition_list_item)}(h(``struct kunit *test`` The test context h](hterm)}(h``struct kunit *test``h]hliteral)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh definition)}(hhh]h)}(hThe test contexth]hThe test context}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h.``struct clk *clk`` clk to prepare and enable h](j)}(h``struct clk *clk``h]j)}(hjh]hstruct clk *clk}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(hclk to prepare and enableh]hclk to prepare and enable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h **Return**h]j)}(hj4h]hReturn}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h+0 on success, or negative errno on failure.h]h+0 on success, or negative errno on failure.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hclk_get_kunit (C function)c.clk_get_kunithNtauh1hhhhhhNhNubh)}(hhh](j)}(hWstruct clk * clk_get_kunit (struct kunit *test, struct device *dev, const char *con_id)h]j )}(hUstruct clk *clk_get_kunit(struct kunit *test, struct device *dev, const char *con_id)h](j^)}(hjah]hstruct}(hjyhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjuhhhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK5ubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjuhhhjhK5ubh)}(hhh]j9)}(hclkh]hclk}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}j clk_get_kunitsbc.clk_get_kunitasbuh1hhjuhhhjhK5ubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjuhhhjhK5ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjuhhhjhK5ubj3)}(h clk_get_kunith]j9)}(hjh]h clk_get_kunit}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j2hjuhhhjhK5ubjR)}(h<(struct kunit *test, struct device *dev, const char *con_id)h](jX)}(hstruct kunit *testh](j^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(hkunith]hkunit}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.clk_get_kunitasbuh1hhjubj")}(h h]h }(hj/hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(htesth]htest}(hjJhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjubjX)}(hstruct device *devh](j^)}(hjah]hstruct}(hjchhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj_ubj")}(h h]h }(hjphhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj_ubh)}(hhh]j9)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj~ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.clk_get_kunitasbuh1hhj_ubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj_ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_ubj9)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj_ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjubjX)}(hconst char *con_idh](j^)}(hconsth]hconst}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hcon_idh]hcon_id}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjubeh}(h]h ]h"]h$]h&]hhuh1jQhjuhhhjhK5ubeh}(h]h ]h"]h$]h&]hhjXuh1j jYjZhjqhhhjhK5ubah}(h]jlah ](j^j_eh"]h$]h&]jcjd)jehuh1jhjhK5hjnhhubjg)}(hhh]h)}(hTest managed clk_get()h]hTest managed clk_get()}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK5hj?hhubah}(h]h ]h"]h$]h&]uh1jfhjnhhhjhK5ubeh}(h]h ](jfunctioneh"]h$]h&]jjjjZjjZjjjuh1hhhhhhNhNubj)}(hXi**Parameters** ``struct kunit *test`` The test context ``struct device *dev`` device for clock "consumer" ``const char *con_id`` clock consumer ID **Description** Just like clk_get(), except the clk is managed by the test case and is automatically put with clk_put() after the test case concludes. **Return** new clk consumer or ERR_PTR on failure.h](h)}(h**Parameters**h]j)}(hjdh]h Parameters}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK9hj^ubj)}(hhh](j)}(h(``struct kunit *test`` The test context h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK6hj}ubj)}(hhh]h)}(hThe test contexth]hThe test context}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK6hjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhjhK6hjzubj)}(h3``struct device *dev`` device for clock "consumer" h](j)}(h``struct device *dev``h]j)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK7hjubj)}(hhh]h)}(hdevice for clock "consumer"h]hdevice for clock “consumer”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK7hjzubj)}(h)``const char *con_id`` clock consumer ID h](j)}(h``const char *con_id``h]j)}(hjh]hconst char *con_id}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK8hjubj)}(hhh]h)}(hclock consumer IDh]hclock consumer ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK8hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hK8hjzubeh}(h]h ]h"]h$]h&]uh1jhj^ubh)}(h**Description**h]j)}(hj0h]h Description}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK:hj^ubh)}(hJust like clk_get(), except the clk is managed by the test case and is automatically put with clk_put() after the test case concludes.h]hJust like clk_get(), except the clk is managed by the test case and is automatically put with clk_put() after the test case concludes.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK9hj^ubh)}(h **Return**h]j)}(hjWh]hReturn}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK modnameN classnameNjj)}j]j c.clk_hw_get_clk_kunitasbuh1hhj ubj")}(h h]h }(hjZ hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubj)}(hjh]h*}(hjh hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj9)}(htesth]htest}(hju hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj ubjX)}(hstruct clk_hw *hwh](j^)}(hjah]hstruct}(hj hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj ubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubh)}(hhh]j9)}(hclk_hwh]hclk_hw}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j c.clk_hw_get_clk_kunitasbuh1hhj ubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj9)}(hhwh]hhw}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj ubjX)}(hconst char *con_idh](j^)}(hjh]hconst}(hj hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj ubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubj)}(hcharh]hchar}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj")}(h h]h }(hj' hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubj)}(hjh]h*}(hj5 hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj9)}(hcon_idh]hcon_id}(hjB hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj ubeh}(h]h ]h"]h$]h&]hhuh1jQhj hhhj hKaubeh}(h]h ]h"]h$]h&]hhjXuh1j jYjZhj hhhj hKaubah}(h]j ah ](j^j_eh"]h$]h&]jcjd)jehuh1jhj hKahj hhubjg)}(hhh]h)}(hTest managed clk_hw_get_clk()h]hTest managed clk_hw_get_clk()}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKahji hhubah}(h]h ]h"]h$]h&]uh1jfhj hhhj hKaubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct kunit *test`` The test context ``struct clk_hw *hw`` clk_hw associated with the clk being consumed ``const char *con_id`` connection ID string on device **Description** Just like clk_hw_get_clk(), except the clk is managed by the test case and is automatically put with clk_put() after the test case concludes. **Return** new clk consumer or ERR_PTR on failure.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKehj ubj)}(hhh](j)}(h(``struct kunit *test`` The test context h](j)}(h``struct kunit *test``h]j)}(hj h]hstruct kunit *test}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKbhj ubj)}(hhh]h)}(hThe test contexth]hThe test context}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKbhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKbhj ubj)}(hD``struct clk_hw *hw`` clk_hw associated with the clk being consumed h](j)}(h``struct clk_hw *hw``h]j)}(hj h]hstruct clk_hw *hw}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKchj ubj)}(hhh]h)}(h-clk_hw associated with the clk being consumedh]h-clk_hw associated with the clk being consumed}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKchj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKchj ubj)}(h6``const char *con_id`` connection ID string on device h](j)}(h``const char *con_id``h]j)}(hj h]hconst char *con_id}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKdhj ubj)}(hhh]h)}(hconnection ID string on deviceh]hconnection ID string on device}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4 hKdhj5 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj4 hKdhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hjZ h]h Description}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKfhj ubh)}(hJust like clk_hw_get_clk(), except the clk is managed by the test case and is automatically put with clk_put() after the test case concludes.h]hJust like clk_hw_get_clk(), except the clk is managed by the test case and is automatically put with clk_put() after the test case concludes.}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKehj ubh)}(h **Return**h]j)}(hj h]hReturn}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhhj ubh)}(h'new clk consumer or ERR_PTR on failure.h]h'new clk consumer or ERR_PTR on failure.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKihj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h2clk_hw_get_clk_prepared_enabled_kunit (C function)'c.clk_hw_get_clk_prepared_enabled_kunithNtauh1hhhhhhNhNubh)}(hhh](j)}(hnstruct clk * clk_hw_get_clk_prepared_enabled_kunit (struct kunit *test, struct clk_hw *hw, const char *con_id)h]j )}(hlstruct clk *clk_hw_get_clk_prepared_enabled_kunit(struct kunit *test, struct clk_hw *hw, const char *con_id)h](j^)}(hjah]hstruct}(hj hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj hhhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKwubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj hhhj hKwubh)}(hhh]j9)}(hclkh]hclk}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}j%clk_hw_get_clk_prepared_enabled_kunitsb'c.clk_hw_get_clk_prepared_enabled_kunitasbuh1hhj hhhj hKwubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj hhhj hKwubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKwubj3)}(h%clk_hw_get_clk_prepared_enabled_kunith]j9)}(hj h]h%clk_hw_get_clk_prepared_enabled_kunit}(hj% hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj! ubah}(h]h ](jLjMeh"]h$]h&]hhuh1j2hj hhhj hKwubjR)}(h;(struct kunit *test, struct clk_hw *hw, const char *con_id)h](jX)}(hstruct kunit *testh](j^)}(hjah]hstruct}(hj@ hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj< ubj")}(h h]h }(hjM hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj< ubh)}(hhh]j9)}(hkunith]hkunit}(hj^ hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj[ ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj` modnameN classnameNjj)}j]j 'c.clk_hw_get_clk_prepared_enabled_kunitasbuh1hhj< ubj")}(h h]h }(hj| hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj< ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj< ubj9)}(htesth]htest}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj< ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj8 ubjX)}(hstruct clk_hw *hwh](j^)}(hjah]hstruct}(hj hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj ubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubh)}(hhh]j9)}(hclk_hwh]hclk_hw}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j 'c.clk_hw_get_clk_prepared_enabled_kunitasbuh1hhj ubj")}(h h]h }(hj hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj9)}(hhwh]hhw}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj8 ubjX)}(hconst char *con_idh](j^)}(hjh]hconst}(hj hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hj-hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hcharh]hchar}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj")}(h h]h }(hjIhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hcon_idh]hcon_id}(hjdhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj8 ubeh}(h]h ]h"]h$]h&]hhuh1jQhj hhhj hKwubeh}(h]h ]h"]h$]h&]hhjXuh1j jYjZhj hhhj hKwubah}(h]j ah ](j^j_eh"]h$]h&]jcjd)jehuh1jhj hKwhj hhubjg)}(hhh]h)}(h4Test managed clk_hw_get_clk() + clk_prepare_enable()h]h4Test managed clk_hw_get_clk() + clk_prepare_enable()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKwhjhhubah}(h]h ]h"]h$]h&]uh1jfhj hhhj hKwubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1hhhhhhNhNubj)}(hX1**Parameters** ``struct kunit *test`` The test context ``struct clk_hw *hw`` clk_hw associated with the clk being consumed ``const char *con_id`` connection ID string on device **Description** Just like .. code-block:: c struct clk *clk = clk_hw_get_clk(...); clk_prepare_enable(clk); except the clk is managed by the test case and is automatically disabled and unprepared with clk_disable_unprepare() and put with clk_put() after the test case concludes. **Return** new clk consumer that is prepared and enabled or ERR_PTR on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK{hjubj)}(hhh](j)}(h(``struct kunit *test`` The test context h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKxhjubj)}(hhh]h)}(hThe test contexth]hThe test context}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKxhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKxhjubj)}(hD``struct clk_hw *hw`` clk_hw associated with the clk being consumed h](j)}(h``struct clk_hw *hw``h]j)}(hjh]hstruct clk_hw *hw}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKyhjubj)}(hhh]h)}(h-clk_hw associated with the clk being consumedh]h-clk_hw associated with the clk being consumed}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKyhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKyhjubj)}(h6``const char *con_id`` connection ID string on device h](j)}(h``const char *con_id``h]j)}(hjAh]hconst char *con_id}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKzhj;ubj)}(hhh]h)}(hconnection ID string on deviceh]hconnection ID string on device}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVhKzhjWubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhKzhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj|h]h Description}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK|hjubh)}(h Just likeh]h Just like}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK{hjubh literal_block)}(h?struct clk *clk = clk_hw_get_clk(...); clk_prepare_enable(clk);h]h?struct clk *clk = clk_hw_get_clk(...); clk_prepare_enable(clk);}hjsbah}(h]h ]h"]h$]h&]hhƌforcelanguagejhighlight_args}uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chK}hjubh)}(hexcept the clk is managed by the test case and is automatically disabled and unprepared with clk_disable_unprepare() and put with clk_put() after the test case concludes.h]hexcept the clk is managed by the test case and is automatically disabled and unprepared with clk_disable_unprepare() and put with clk_put() after the test case concludes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(hDnew clk consumer that is prepared and enabled or ERR_PTR on failure.h]hDnew clk consumer that is prepared and enabled or ERR_PTR on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h"clk_hw_register_kunit (C function)c.clk_hw_register_kunithNtauh1hhhhhhNhNubh)}(hhh](j)}(hUint clk_hw_register_kunit (struct kunit *test, struct device *dev, struct clk_hw *hw)h]j )}(hTint clk_hw_register_kunit(struct kunit *test, struct device *dev, struct clk_hw *hw)h](j)}(hinth]hint}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjhhhjhKubj3)}(hclk_hw_register_kunith]j9)}(hclk_hw_register_kunith]hclk_hw_register_kunit}(hj-hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj)ubah}(h]h ](jLjMeh"]h$]h&]hhuh1j2hjhhhjhKubjR)}(h;(struct kunit *test, struct device *dev, struct clk_hw *hw)h](jX)}(hstruct kunit *testh](j^)}(hjah]hstruct}(hjIhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjEubj")}(h h]h }(hjVhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjEubh)}(hhh]j9)}(hkunith]hkunit}(hjghhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjdubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjimodnameN classnameNjj)}j]j)}jj/sbc.clk_hw_register_kunitasbuh1hhjEubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjEubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjEubj9)}(htesth]htest}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjEubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjAubjX)}(hstruct device *devh](j^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.clk_hw_register_kunitasbuh1hhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjAubjX)}(hstruct clk_hw *hwh](j^)}(hjah]hstruct}(hj+hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj'ubj")}(h h]h }(hj8hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj'ubh)}(hhh]j9)}(hclk_hwh]hclk_hw}(hjIhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjFubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjKmodnameN classnameNjj)}j]jc.clk_hw_register_kunitasbuh1hhj'ubj")}(h h]h }(hjghhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj'ubj)}(hjh]h*}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubj9)}(hhwh]hhw}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj'ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhjAubeh}(h]h ]h"]h$]h&]hhuh1jQhjhhhjhKubeh}(h]h ]h"]h$]h&]hhjXuh1j jYjZhjhhhjhKubah}(h]jah ](j^j_eh"]h$]h&]jcjd)jehuh1jhjhKhjhhubjg)}(hhh]h)}(hTest managed clk_hw_register()h]hTest managed clk_hw_register()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjhhubah}(h]h ]h"]h$]h&]uh1jfhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct kunit *test`` The test context ``struct device *dev`` device that is registering this clock ``struct clk_hw *hw`` link to hardware-specific clock data **Description** Just like clk_hw_register(), except the clk registration is managed by the test case and is automatically unregistered after the test case concludes. **Return** 0 on success or a negative errno value on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh](j)}(h(``struct kunit *test`` The test context h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(hThe test contexth]hThe test context}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h=``struct device *dev`` device that is registering this clock h](j)}(h``struct device *dev``h]j)}(hj&h]hstruct device *dev}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhj ubj)}(hhh]h)}(h%device that is registering this clockh]h%device that is registering this clock}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hKhj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hKhjubj)}(h;``struct clk_hw *hw`` link to hardware-specific clock data h](j)}(h``struct clk_hw *hw``h]j)}(hj_h]hstruct clk_hw *hw}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjYubj)}(hhh]h)}(h$link to hardware-specific clock datah]h$link to hardware-specific clock data}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthKhjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(hJust like clk_hw_register(), except the clk registration is managed by the test case and is automatically unregistered after the test case concludes.h]hJust like clk_hw_register(), except the clk registration is managed by the test case and is automatically unregistered after the test case concludes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h20 on success or a negative errno value on failure.h]h20 on success or a negative errno value on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h%of_clk_hw_register_kunit (C function)c.of_clk_hw_register_kunithNtauh1hhhhhhNhNubh)}(hhh](j)}(h^int of_clk_hw_register_kunit (struct kunit *test, struct device_node *node, struct clk_hw *hw)h]j )}(h]int of_clk_hw_register_kunit(struct kunit *test, struct device_node *node, struct clk_hw *hw)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjhhhjhKubj3)}(hof_clk_hw_register_kunith]j9)}(hof_clk_hw_register_kunith]hof_clk_hw_register_kunit}(hj'hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj#ubah}(h]h ](jLjMeh"]h$]h&]hhuh1j2hjhhhjhKubjR)}(hA(struct kunit *test, struct device_node *node, struct clk_hw *hw)h](jX)}(hstruct kunit *testh](j^)}(hjah]hstruct}(hjChhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj?ubj")}(h h]h }(hjPhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj?ubh)}(hhh]j9)}(hkunith]hkunit}(hjahhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj^ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjcmodnameN classnameNjj)}j]j)}jj)sbc.of_clk_hw_register_kunitasbuh1hhj?ubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj?ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj?ubj9)}(htesth]htest}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj?ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj;ubjX)}(hstruct device_node *nodeh](j^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(h device_nodeh]h device_node}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j}c.of_clk_hw_register_kunitasbuh1hhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hnodeh]hnode}(hj hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj;ubjX)}(hstruct clk_hw *hwh](j^)}(hjah]hstruct}(hj%hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj!ubj")}(h h]h }(hj2hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj!ubh)}(hhh]j9)}(hclk_hwh]hclk_hw}(hjChhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj@ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjEmodnameN classnameNjj)}j]j}c.of_clk_hw_register_kunitasbuh1hhj!ubj")}(h h]h }(hjahhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj!ubj)}(hjh]h*}(hjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubj9)}(hhwh]hhw}(hj|hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj;ubeh}(h]h ]h"]h$]h&]hhuh1jQhjhhhjhKubeh}(h]h ]h"]h$]h&]hhjXuh1j jYjZhjhhhjhKubah}(h]jah ](j^j_eh"]h$]h&]jcjd)jehuh1jhjhKhjhhubjg)}(hhh]h)}(h!Test managed of_clk_hw_register()h]h!Test managed of_clk_hw_register()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjhhubah}(h]h ]h"]h$]h&]uh1jfhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct kunit *test`` The test context ``struct device_node *node`` device_node of device that is registering this clock ``struct clk_hw *hw`` link to hardware-specific clock data **Description** Just like of_clk_hw_register(), except the clk registration is managed by the test case and is automatically unregistered after the test case concludes. **Return** 0 on success or a negative errno value on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh](j)}(h(``struct kunit *test`` The test context h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(hThe test contexth]hThe test context}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hR``struct device_node *node`` device_node of device that is registering this clock h](j)}(h``struct device_node *node``h]j)}(hj h]hstruct device_node *node}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(h4device_node of device that is registering this clockh]h4device_node of device that is registering this clock}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hKhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj5hKhjubj)}(h;``struct clk_hw *hw`` link to hardware-specific clock data h](j)}(h``struct clk_hw *hw``h]j)}(hjYh]hstruct clk_hw *hw}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjSubj)}(hhh]h)}(h$link to hardware-specific clock datah]h$link to hardware-specific clock data}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhKhjoubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjnhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(hJust like of_clk_hw_register(), except the clk registration is managed by the test case and is automatically unregistered after the test case concludes.h]hJust like of_clk_hw_register(), except the clk registration is managed by the test case and is automatically unregistered after the test case concludes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h20 on success or a negative errno value on failure.h]h20 on success or a negative errno value on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h)of_clk_add_hw_provider_kunit (C function)c.of_clk_add_hw_provider_kunithNtauh1hhhhhhNhNubh)}(hhh](j)}(hint of_clk_add_hw_provider_kunit (struct kunit *test, struct device_node *np, struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data), void *data)h]j )}(hint of_clk_add_hw_provider_kunit(struct kunit *test, struct device_node *np, struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data), void *data)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjhhhjhKubj3)}(hof_clk_add_hw_provider_kunith]j9)}(hof_clk_add_hw_provider_kunith]hof_clk_add_hw_provider_kunit}(hj!hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j2hjhhhjhKubjR)}(h|(struct kunit *test, struct device_node *np, struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data), void *data)h](jX)}(hstruct kunit *testh](j^)}(hjah]hstruct}(hj=hhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hj9ubj")}(h h]h }(hjJhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj9ubh)}(hhh]j9)}(hkunith]hkunit}(hj[hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjXubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj]modnameN classnameNjj)}j]j)}jj#sbc.of_clk_add_hw_provider_kunitasbuh1hhj9ubj")}(h h]h }(hj{hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hj9ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubj9)}(htesth]htest}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj9ubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj5ubjX)}(hstruct device_node *nph](j^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(h device_nodeh]/h device_node}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jwc.of_clk_add_hw_provider_kunitasbuh1hhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hnph]hnp}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj5ubjX)}(hBstruct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data)h](j^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hj,hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(hclk_hwh]hclk_hw}(hj=hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hj:ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj?modnameN classnameNjj)}j]jwc.of_clk_add_hw_provider_kunitasbuh1hhjubj")}(h h]h }(hj[hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h(h]h(}(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hgeth]hget}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubj)}(h)h]h)}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hjxh]h(}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj^)}(hjah]hstruct}(hjhhhNhNubah}(h]h ]jjah"]h$]h&]uh1j]hjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubh)}(hhh]j9)}(hof_phandle_argsh]hof_phandle_args}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jwc.of_clk_add_hw_provider_kunitasbuh1hhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hclkspech]hclkspec}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubj)}(h,h]h,}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj")}(h h]h }(hj-hhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hvoidh]hvoid}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj")}(h h]h }(hjIhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjWhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hdatah]hdata}(hjdhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubj)}(hjh]h)}(hjrhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj5ubjX)}(h void *datah](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj")}(h h]h }(hjhhhNhNubah}(h]h ]j.ah"]h$]h&]uh1j!hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj9)}(hdatah]hdata}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j8hjubeh}(h]h ]h"]h$]h&]noemphhhuh1jWhj5ubeh}(h]h ]h"]h$]h&]hhuh1jQhjhhhjhKubeh}(h]h ]h"]h$]h&]hhjXuh1j jYjZhjhhhjhKubah}(h]jah ](j^j_eh"]h$]h&]jcjd)jehuh1jhjhKhjhhubjg)}(hhh]h)}(h%Test managed of_clk_add_hw_provider()h]h%Test managed of_clk_add_hw_provider()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjhhubah}(h]h ]h"]h$]h&]uh1jfhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1hhhhhhNhNubj)}(hX**Parameters** ``struct kunit *test`` The test context ``struct device_node *np`` Device node pointer associated with clock provider ``struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data)`` Callback for decoding clk_hw ``void *data`` Context pointer for **get** callback. **Description** Just like of_clk_add_hw_provider(), except the clk_hw provider is managed by the test case and is automatically unregistered after the test case concludes. **Return** 0 on success or a negative errno value on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh](j)}(h(``struct kunit *test`` The test context h](j)}(h``struct kunit *test``h]j)}(hjh]hstruct kunit *test}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(hThe test contexth]hThe test context}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hKhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3hKhjubj)}(hN``struct device_node *np`` Device node pointer associated with clock provider h](j)}(h``struct device_node *np``h]j)}(hjWh]hstruct device_node *np}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjQubj)}(hhh]h)}(h2Device node pointer associated with clock providerh]h2Device node pointer associated with clock provider}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlhKhjmubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjlhKhjubj)}(hd``struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data)`` Callback for decoding clk_hw h](j)}(hF``struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data)``h]j)}(hjh]hBstruct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(hCallback for decoding clk_hwh]hCallback for decoding clk_hw}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h5``void *data`` Context pointer for **get** callback. h](j)}(h``void *data``h]j)}(hjh]h void *data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubj)}(hhh]h)}(h%Context pointer for **get** callback.h](hContext pointer for }(hjhhhNhNubj)}(h**get**h]hget}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh callback.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(hJust like of_clk_add_hw_provider(), except the clk_hw provider is managed by the test case and is automatically unregistered after the test case concludes.h]hJust like of_clk_add_hw_provider(), except the clk_hw provider is managed by the test case and is automatically unregistered after the test case concludes.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h **Return**h]j)}(hj=h]hReturn}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubh)}(h20 on success or a negative errno value on failure.h]h20 on success or a negative errno value on failure.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhf/var/lib/git/docbuild/linux/Documentation/dev-tools/kunit/api/clk:9: ./drivers/clk/clk_kunit_helpers.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhhhhhNhNubeh}(h]clk-apiah ]h"]clk apiah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jnjks nametypes}jnsh}(jkhhjjljqjjj j j j jjjjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.