€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ$/translations/zh_CN/driver-api/reset”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/zh_TW/driver-api/reset”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/it_IT/driver-api/reset”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ja_JP/driver-api/reset”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ko_KR/driver-api/reset”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/pt_BR/driver-api/reset”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/sp_SP/driver-api/reset”Œ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-only”h]”hŒ%SPDX-License-Identifier: GPL-2.0-only”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ>/var/lib/git/docbuild/linux/Documentation/driver-api/reset.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒReset controller API”h]”hŒReset controller API”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Introduction”h]”hŒ Introduction”…”�”}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hXJReset controllers are central units that control the reset signals to multiple peripherals. The reset controller API is split into two parts: the `consumer driver interface <#consumer-driver-interface>`__ (`API reference <#reset-consumer-api>`__), which allows peripheral drivers to request control over their reset input signals, and the `reset controller driver interface <#reset-controller-driver-interface>`__ (`API reference <#reset-controller-driver-api>`__), which is used by drivers for reset controller devices to register their reset controls to provide them to the consumers.”h]”(hŒ’Reset controllers are central units that control the reset signals to multiple peripherals. The reset controller API is split into two parts: the ”…”�”}”(hhðh²hh³Nh´NubhŒ reference”“”)�”}”(hŒ:`consumer driver interface <#consumer-driver-interface>`__”h]”hŒconsumer driver interface”…”�”}”(hhúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œconsumer driver interface”Œrefuri”Œ#consumer-driver-interface”uh1høhhðubhŒ (”…”�”}”(hhðh²hh³Nh´Nubhù)�”}”(hŒ'`API reference <#reset-consumer-api>`__”h]”hŒ API reference”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ API reference”j Œ#reset-consumer-api”uh1høhhðubhŒ^), which allows peripheral drivers to request control over their reset input signals, and the ”…”�”}”(hhðh²hh³Nh´Nubhù)�”}”(hŒJ`reset controller driver interface <#reset-controller-driver-interface>`__”h]”hŒ!reset controller driver interface”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ!reset controller driver interface”j Œ"#reset-controller-driver-interface”uh1høhhðubhŒ (”…”�”}”hhðsbhù)�”}”(hŒ0`API reference <#reset-controller-driver-api>`__”h]”hŒ API reference”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ API reference”j Œ#reset-controller-driver-api”uh1høhhðubhŒ{), which is used by drivers for reset controller devices to register their reset controls to provide them to the consumers.”…”�”}”(hhðh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hhÝh²hubhï)�”}”(hŒ—While some reset controller hardware units also implement system restart functionality, restart handlers are out of scope for the reset controller API.”h]”hŒ—While some reset controller hardware units also implement system restart functionality, restart handlers are out of scope for the reset controller API.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KhhÝh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒGlossary”h]”hŒGlossary”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjch²hh³hÇh´Kubhï)�”}”(hŒBThe reset controller API uses these terms with a specific meaning:”h]”hŒBThe reset controller API uses these terms with a specific meaning:”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjch²hubhï)�”}”(hŒ Reset line”h]”hŒ Reset line”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjch²hubhŒ block_quote”“”)�”}”(hŒjPhysical reset line carrying a reset signal from a reset controller hardware unit to a peripheral module. ”h]”hï)�”}”(hŒiPhysical reset line carrying a reset signal from a reset controller hardware unit to a peripheral module.”h]”hŒiPhysical reset line carrying a reset signal from a reset controller hardware unit to a peripheral module.”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Khjch²hubhï)�”}”(hŒ Reset control”h]”hŒ Reset control”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K"hjch²hubj‘)�”}”(hX¹Control method that determines the state of one or multiple reset lines. Most commonly this is a single bit in reset controller register space that either allows direct control over the physical state of the reset line, or is self-clearing and can be used to trigger a predetermined pulse on the reset line. In more complicated reset controls, a single trigger action can launch a carefully timed sequence of pulses on multiple reset lines. ”h]”hï)�”}”(hX¸Control method that determines the state of one or multiple reset lines. Most commonly this is a single bit in reset controller register space that either allows direct control over the physical state of the reset line, or is self-clearing and can be used to trigger a predetermined pulse on the reset line. In more complicated reset controls, a single trigger action can launch a carefully timed sequence of pulses on multiple reset lines.”h]”hX¸Control method that determines the state of one or multiple reset lines. Most commonly this is a single bit in reset controller register space that either allows direct control over the physical state of the reset line, or is self-clearing and can be used to trigger a predetermined pulse on the reset line. In more complicated reset controls, a single trigger action can launch a carefully timed sequence of pulses on multiple reset lines.”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K$hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K$hjch²hubhï)�”}”(hŒReset controller”h]”hŒReset controller”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K,hjch²hubj‘)�”}”(hŒ_A hardware module that provides a number of reset controls to control a number of reset lines. ”h]”hï)�”}”(hŒ^A hardware module that provides a number of reset controls to control a number of reset lines.”h]”hŒ^A hardware module that provides a number of reset controls to control a number of reset lines.”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K.hjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K.hjch²hubhï)�”}”(hŒReset consumer”h]”hŒReset consumer”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K1hjch²hubj‘)�”}”(hŒWPeripheral module or external IC that is put into reset by the signal on a reset line. ”h]”hï)�”}”(hŒVPeripheral module or external IC that is put into reset by the signal on a reset line.”h]”hŒVPeripheral module or external IC that is put into reset by the signal on a reset line.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K3hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K3hjch²hubeh}”(h]”Œglossary”ah ]”h"]”Œglossary”ah$]”h&]”uh1hÈhhÝh²hh³hÇh´Kubeh}”(h]”Œ introduction”ah ]”h"]”Œ introduction”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒConsumer driver interface”h]”hŒConsumer driver interface”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj,h²hh³hÇh´K7ubhï)�”}”(hXThis interface provides an API that is similar to the kernel clock framework. Consumer drivers use get and put operations to acquire and release reset controls. Functions are provided to assert and deassert the controlled reset lines, trigger reset pulses, or to query reset line status.”h]”hXThis interface provides an API that is similar to the kernel clock framework. Consumer drivers use get and put operations to acquire and release reset controls. Functions are provided to assert and deassert the controlled reset lines, trigger reset pulses, or to query reset line status.”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K9hj,h²hubhï)�”}”(hŒ¸When requesting reset controls, consumers can use symbolic names for their reset inputs, which are mapped to an actual reset control on an existing reset controller device by the core.”h]”hŒ¸When requesting reset controls, consumers can use symbolic names for their reset inputs, which are mapped to an actual reset control on an existing reset controller device by the core.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K?hj,h²hubhï)�”}”(hŒ…A stub version of this API is provided when the reset controller framework is not in use in order to minimize the need to use ifdefs.”h]”hŒ…A stub version of this API is provided when the reset controller framework is not in use in order to minimize the need to use ifdefs.”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KChj,h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒShared and exclusive resets”h]”hŒShared and exclusive resets”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjgh²hh³hÇh´KGubhï)�”}”(hXŠThe reset controller API provides either reference counted deassertion and assertion or direct, exclusive control. The distinction between shared and exclusive reset controls is made at the time the reset control is requested, either via devm_reset_control_get_shared() or via devm_reset_control_get_exclusive(). This choice determines the behavior of the API calls made with the reset control.”h]”hXŠThe reset controller API provides either reference counted deassertion and assertion or direct, exclusive control. The distinction between shared and exclusive reset controls is made at the time the reset control is requested, either via devm_reset_control_get_shared() or via devm_reset_control_get_exclusive(). This choice determines the behavior of the API calls made with the reset control.”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KIhjgh²hubhï)�”}”(hXHShared resets behave similarly to clocks in the kernel clock framework. They provide reference counted deassertion, where only the first deassert, which increments the deassertion reference count to one, and the last assert which decrements the deassertion reference count back to zero, have a physical effect on the reset line.”h]”hXHShared resets behave similarly to clocks in the kernel clock framework. They provide reference counted deassertion, where only the first deassert, which increments the deassertion reference count to one, and the last assert which decrements the deassertion reference count back to zero, have a physical effect on the reset line.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KQhjgh²hubhï)�”}”(hŒÄExclusive resets on the other hand guarantee direct control. That is, an assert causes the reset line to be asserted immediately, and a deassert causes the reset line to be deasserted immediately.”h]”hŒÄExclusive resets on the other hand guarantee direct control. That is, an assert causes the reset line to be asserted immediately, and a deassert causes the reset line to be deasserted immediately.”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KWhjgh²hubeh}”(h]”Œshared-and-exclusive-resets”ah ]”h"]”Œshared and exclusive resets”ah$]”h&]”uh1hÈhj,h²hh³hÇh´KGubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒAssertion and deassertion”h]”hŒAssertion and deassertion”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjªh²hh³hÇh´K\ubhï)�”}”(hŒÂConsumer drivers use the reset_control_assert() and reset_control_deassert() functions to assert and deassert reset lines. For shared reset controls, calls to the two functions must be balanced.”h]”hŒÂConsumer drivers use the reset_control_assert() and reset_control_deassert() functions to assert and deassert reset lines. For shared reset controls, calls to the two functions must be balanced.”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K^hjªh²hubhï)�”}”(hX½Note that since multiple consumers may be using a shared reset control, there is no guarantee that calling reset_control_assert() on a shared reset control will actually cause the reset line to be asserted. Consumer drivers using shared reset controls should assume that the reset line may be kept deasserted at all times. The API only guarantees that the reset line can not be asserted as long as any consumer has requested it to be deasserted.”h]”hX½Note that since multiple consumers may be using a shared reset control, there is no guarantee that calling reset_control_assert() on a shared reset control will actually cause the reset line to be asserted. Consumer drivers using shared reset controls should assume that the reset line may be kept deasserted at all times. The API only guarantees that the reset line can not be asserted as long as any consumer has requested it to be deasserted.”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kbhjªh²hubeh}”(h]”Œassertion-and-deassertion”ah ]”h"]”Œassertion and deassertion”ah$]”h&]”uh1hÈhj,h²hh³hÇh´K\ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Triggering”h]”hŒ Triggering”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjßh²hh³hÇh´Kkubhï)�”}”(hXConsumer drivers use reset_control_reset() to trigger a reset pulse on a self-deasserting reset control. In general, these resets can not be shared between multiple consumers, since requesting a pulse from any consumer driver will reset all connected peripherals.”h]”hXConsumer drivers use reset_control_reset() to trigger a reset pulse on a self-deasserting reset control. In general, these resets can not be shared between multiple consumers, since requesting a pulse from any consumer driver will reset all connected peripherals.”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kmhjßh²hubhï)�”}”(hXóThe reset controller API allows requesting self-deasserting reset controls as shared, but for those only the first trigger request causes an actual pulse to be issued on the reset line. All further calls to this function have no effect until all consumers have called reset_control_rearm(). For shared reset controls, calls to the two functions must be balanced. This allows devices that only require an initial reset at any point before the driver is probed or resumed to share a pulsed reset line.”h]”hXóThe reset controller API allows requesting self-deasserting reset controls as shared, but for those only the first trigger request causes an actual pulse to be issued on the reset line. All further calls to this function have no effect until all consumers have called reset_control_rearm(). For shared reset controls, calls to the two functions must be balanced. This allows devices that only require an initial reset at any point before the driver is probed or resumed to share a pulsed reset line.”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kshjßh²hubeh}”(h]”Œ triggering”ah ]”h"]”Œ triggering”ah$]”h&]”uh1hÈhj,h²hh³hÇh´KkubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒQuerying”h]”hŒQuerying”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´K}ubhï)�”}”(hXTOnly some reset controllers support querying the current status of a reset line, via reset_control_status(). If supported, this function returns a positive non-zero value if the given reset line is asserted. The reset_control_status() function does not accept a `reset control array <#reset-control-arrays>`__ handle as its input parameter.”h]”(hXOnly some reset controllers support querying the current status of a reset line, via reset_control_status(). If supported, this function returns a positive non-zero value if the given reset line is asserted. The reset_control_status() function does not accept a ”…”�”}”(hj%h²hh³Nh´Nubhù)�”}”(hŒ/`reset control array <#reset-control-arrays>`__”h]”hŒreset control array”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œreset control array”j Œ#reset-control-arrays”uh1høhj%ubhŒ handle as its input parameter.”…”�”}”(hj%h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjh²hubeh}”(h]”Œquerying”ah ]”h"]”Œquerying”ah$]”h&]”uh1hÈhj,h²hh³hÇh´K}ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒOptional resets”h]”hŒOptional resets”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjPh²hh³hÇh´K‡ubhï)�”}”(hXÆOften peripherals require a reset line on some platforms but not on others. For this, reset controls can be requested as optional using devm_reset_control_get_optional_exclusive() or devm_reset_control_get_optional_shared(). These functions return a NULL pointer instead of an error when the requested reset control is not specified in the device tree. Passing a NULL pointer to the reset_control functions causes them to return quietly without an error.”h]”hXÆOften peripherals require a reset line on some platforms but not on others. For this, reset controls can be requested as optional using devm_reset_control_get_optional_exclusive() or devm_reset_control_get_optional_shared(). These functions return a NULL pointer instead of an error when the requested reset control is not specified in the device tree. Passing a NULL pointer to the reset_control functions causes them to return quietly without an error.”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K‰hjPh²hubeh}”(h]”Œoptional-resets”ah ]”h"]”Œoptional resets”ah$]”h&]”uh1hÈhj,h²hh³hÇh´K‡ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒReset control arrays”h]”hŒReset control arrays”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjwh²hh³hÇh´K“ubhï)�”}”(hXPSome drivers need to assert a bunch of reset lines in no particular order. devm_reset_control_array_get() returns an opaque reset control handle that can be used to assert, deassert, or trigger all specified reset controls at once. The reset control API does not guarantee the order in which the individual controls therein are handled.”h]”hXPSome drivers need to assert a bunch of reset lines in no particular order. devm_reset_control_array_get() returns an opaque reset control handle that can be used to assert, deassert, or trigger all specified reset controls at once. The reset control API does not guarantee the order in which the individual controls therein are handled.”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K•hjwh²hubeh}”(h]”Œreset-control-arrays”ah ]”h"]”Œreset control arrays”ah$]”h&]”uh1hÈhj,h²hh³hÇh´K“ubeh}”(h]”Œconsumer-driver-interface”ah ]”h"]”Œconsumer driver interface”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K7ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ!Reset controller driver interface”h]”hŒ!Reset controller driver interface”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¦h²hh³hÇh´Kœubhï)�”}”(hŒÒDrivers for reset controller modules provide the functionality necessary to assert or deassert reset signals, to trigger a reset pulse on a reset line, or to query its current state. All functions are optional.”h]”hŒÒDrivers for reset controller modules provide the functionality necessary to assert or deassert reset signals, to trigger a reset pulse on a reset line, or to query its current state. All functions are optional.”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kžhj¦h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒInitialization”h]”hŒInitialization”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÅh²hh³hÇh´K¤ubhï)�”}”(hŒæDrivers fill a struct :c:type:`reset_controller_dev` and register it with reset_controller_register() in their probe function. The actual functionality is implemented in callback functions via a struct :c:type:`reset_control_ops`.”h]”(hŒDrivers fill a struct ”…”�”}”(hjÖh²hh³Nh´Nubh)�”}”(hŒ:c:type:`reset_controller_dev`”h]”hŒliteral”“”)�”}”(hjàh]”hŒreset_controller_dev”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œc”Œc-type”eh"]”h$]”h&]”uh1jâhjÞubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdriver-api/reset”Œ refdomain”jïŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ reftarget”Œreset_controller_dev”uh1hh³hÇh´K¦hjÖubhŒ– and register it with reset_controller_register() in their probe function. The actual functionality is implemented in callback functions via a struct ”…”�”}”(hjÖh²hh³Nh´Nubh)�”}”(hŒ:c:type:`reset_control_ops`”h]”jã)�”}”(hj h]”hŒreset_control_ops”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(jîjïŒc-type”eh"]”h$]”h&]”uh1jâhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jûŒ refdomain”jïŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jŒreset_control_ops”uh1hh³hÇh´K¦hjÖubhŒ.”…”�”}”(hjÖh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K¦hjÅh²hubeh}”(h]”Œinitialization”ah ]”h"]”Œinitialization”ah$]”h&]”uh1hÈhj¦h²hh³hÇh´K¤ubeh}”(h]”Œ!reset-controller-driver-interface”ah ]”h"]”Œ!reset controller driver interface”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KœubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ API reference”h]”hŒ API reference”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj@h²hh³hÇh´K¬ubhï)�”}”(hŒ²The reset controller API is documented here in two parts: the `reset consumer API <#reset-consumer-api>`__ and the `reset controller driver API <#reset-controller-driver-api>`__.”h]”(hŒ>The reset controller API is documented here in two parts: the ”…”�”}”(hjQh²hh³Nh´Nubhù)�”}”(hŒ,`reset consumer API <#reset-consumer-api>`__”h]”hŒreset consumer API”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œreset consumer API”j Œ#reset-consumer-api”uh1høhjQubhŒ and the ”…”�”}”(hjQh²hh³Nh´Nubhù)�”}”(hŒ>`reset controller driver API <#reset-controller-driver-api>`__”h]”hŒreset controller driver API”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œreset controller driver API”j Œ#reset-controller-driver-api”uh1høhjQubhŒ.”…”�”}”(hjQh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K®hj@h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒReset consumer API”h]”hŒReset consumer API”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj‰h²hh³hÇh´K³ubhï)�”}”(hX�Reset consumers can control a reset line using an opaque reset control handle, which can be obtained from devm_reset_control_get_exclusive() or devm_reset_control_get_shared(). Given the reset control, consumers can call reset_control_assert() and reset_control_deassert(), trigger a reset pulse using reset_control_reset(), or query the reset line status using reset_control_status().”h]”hX�Reset consumers can control a reset line using an opaque reset control handle, which can be obtained from devm_reset_control_get_exclusive() or devm_reset_control_get_shared(). Given the reset control, consumers can call reset_control_assert() and reset_control_deassert(), trigger a reset pulse using reset_control_reset(), or query the reset line status using reset_control_status().”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kµhj‰h²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ"reset_control_bulk_data (C struct)”Œc.reset_control_bulk_data”hNt”auh1j¨hj‰h²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒreset_control_bulk_data”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct reset_control_bulk_data”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jÊhjÆh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jÜhjÆh²hh³jÛh´KubhŒ desc_name”“”)�”}”(hŒreset_control_bulk_data”h]”hŒ desc_sig_name”“”)�”}”(hjÂh]”hŒreset_control_bulk_data”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jóhjïubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jíhjÆh²hh³jÛh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jÄŒsphinx_line_type”Œ declarator”hjÀh²hh³jÛh´Kubah}”(h]”j·ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j¾h³jÛh´Khj»h²hubhŒ desc_content”“”)�”}”(hhh]”hï)�”}”(hŒ,Data used for bulk reset control operations.”h]”hŒ,Data used for bulk reset control operations.”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Khj!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»h²hh³jÛh´Kubeh}”(h]”h ]”(jïŒstruct”eh"]”h$]”h&]”Œdomain”jïŒobjtype”j<Œdesctype”j<Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j¹h²hhj‰h³Nh´NubhŒ container”“”)�”}”(hX **Definition**:: struct reset_control_bulk_data { const char *id; struct reset_control *rstc; }; **Members** ``id`` reset control consumer ID ``rstc`` struct reset_control * to store the associated reset control”h]”(hï)�”}”(hŒ**Definition**::”h]”(hŒstrong”“”)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjLubhŒ:”…”�”}”(hjLh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KhjHubhŒ literal_block”“”)�”}”(hŒwstruct reset_control_bulk_data { const char *id; struct reset_control *rstc; };”h]”hŒwstruct reset_control_bulk_data { const char *id; struct reset_control *rstc; };”…”�”}”hjmsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jkh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KhjHubhï)�”}”(hŒ **Members**”h]”jQ)�”}”(hj~h]”hŒMembers”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KhjHubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ!``id`` reset control consumer ID ”h]”(hŒterm”“”)�”}”(hŒ``id``”h]”jã)�”}”(hj£h]”hŒid”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Khj›ubhŒ definition”“”)�”}”(hhh]”hï)�”}”(hŒreset control consumer ID”h]”hŒreset control consumer ID”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¸h´Khj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¸h´Khj–ubjš)�”}”(hŒE``rstc`` struct reset_control * to store the associated reset control”h]”(j )�”}”(hŒ``rstc``”h]”jã)�”}”(hjÞh]”hŒrstc”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KhjØubjº)�”}”(hhh]”hï)�”}”(hŒhj3ubjº)�”}”(hhh]”hï)�”}”(hŒ)optional, exclusive, acquired, deasserted”h]”hŒ)optional, exclusive, acquired, deasserted”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jNh´K>hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jNh´K>hjÚubjš)�”}”(hŒL``RESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED`` optional, exclusive, released ”h]”(j )�”}”(hŒ-``RESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED``”h]”jã)�”}”(hjrh]”hŒ)RESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KAhjlubjº)�”}”(hhh]”hï)�”}”(hŒoptional, exclusive, released”h]”hŒoptional, exclusive, released”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‡h´KAhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j‡h´KAhjÚubjš)�”}”(hŒ3``RESET_CONTROL_OPTIONAL_SHARED`` optional, shared ”h]”(j )�”}”(hŒ!``RESET_CONTROL_OPTIONAL_SHARED``”h]”jã)�”}”(hj«h]”hŒRESET_CONTROL_OPTIONAL_SHARED”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KDhj¥ubjº)�”}”(hhh]”hï)�”}”(hŒoptional, shared”h]”hŒoptional, shared”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÀh´KDhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÀh´KDhjÚubjš)�”}”(hŒI``RESET_CONTROL_OPTIONAL_SHARED_DEASSERTED`` optional, shared, deasserted”h]”(j )�”}”(hŒ,``RESET_CONTROL_OPTIONAL_SHARED_DEASSERTED``”h]”jã)�”}”(hjäh]”hŒ(RESET_CONTROL_OPTIONAL_SHARED_DEASSERTED”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KFhjÞubjº)�”}”(hhh]”hï)�”}”(hŒoptional, shared, deasserted”h]”hŒoptional, shared, deasserted”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´KGhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÞubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jùh´KFhjÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj¾ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ(reset_control_get_exclusive (C function)”Œc.reset_control_get_exclusive”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒWstruct reset_control * reset_control_get_exclusive (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒUstruct reset_control *reset_control_get_exclusive(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj: h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj: h²hh³jK h´Mubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hj] h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjZ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”Œ identifier”Œ reftarget”j_ Œmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jx Œ ASTIdentifier”“”)�”}”js Œreset_control_get_exclusive”sbŒc.reset_control_get_exclusive”†”asbuh1hhj: h²hh³jK h´MubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj: h²hh³jK h´MubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j” hj: h²hh³jK h´Mubjî)�”}”(hŒreset_control_get_exclusive”h]”jô)�”}”(hjƒ h]”hŒreset_control_get_exclusive”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¥ ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj: h²hh³jK h´MubhŒdesc_parameterlist”“”)�”}”(hŒ$(struct device *dev, const char *id)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjÄ ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÄ ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjæ h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjã ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jè Œmodname”NŒ classname”Njw jz )�”}”j} ]”j� Œc.reset_control_get_exclusive”†”asbuh1hhjÄ ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÄ ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjÄ ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÄ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj¾ ubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj4 ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj4 ubhŒdesc_sig_keyword_type”“”)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjV h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jT hj4 ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hje h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj4 ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj4 ubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj4 ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj¾ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj: h²hh³jK h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj6 h²hh³jK h´Mubah}”(h]”j1 ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jK h´Mhj3 h²hubj )�”}”(hhh]”hï)�”}”(hŒ?Lookup and obtain an exclusive reference to a reset controller.”h]”hŒ?Lookup and obtain an exclusive reference to a reset controller.”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj§ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3 h²hh³jK h´Mubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj jBj jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXš**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Returns a struct reset_control or IS_ERR() condition containing errno. If this function is called more than once for the same reset_control it will return -EBUSY. See reset_control_get_shared() for details on shared references to reset-controls. Use of id names is optional.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÌ h]”hŒ Parameters”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÊ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjÆ ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjë h]”hŒstruct device *dev”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjé ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhjå ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjå ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j h´Mhjâ ubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hj$ h]”hŒconst char *id”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj" ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj ubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hj= h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j9 h´Mhj: ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j9 h´Mhjâ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjÆ ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj_ h]”hŒ Description”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj] ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjÆ ubhï)�”}”(hŒ¢Returns a struct reset_control or IS_ERR() condition containing errno. If this function is called more than once for the same reset_control it will return -EBUSY.”h]”hŒ¢Returns a struct reset_control or IS_ERR() condition containing errno. If this function is called more than once for the same reset_control it will return -EBUSY.”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjÆ ubhï)�”}”(hŒRSee reset_control_get_shared() for details on shared references to reset-controls.”h]”hŒRSee reset_control_get_shared() for details on shared references to reset-controls.”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjÆ ubhï)�”}”(hŒUse of id names is optional.”h]”hŒUse of id names is optional.”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjÆ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ-reset_control_bulk_get_exclusive (C function)”Œ"c.reset_control_bulk_get_exclusive”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒoint reset_control_bulk_get_exclusive (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒnint reset_control_bulk_get_exclusive(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj¾ h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M&ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj¾ h²hh³jÐ h´M&ubjî)�”}”(hŒ reset_control_bulk_get_exclusive”h]”jô)�”}”(hŒ reset_control_bulk_get_exclusive”h]”hŒ reset_control_bulk_get_exclusive”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjß ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj¾ h²hh³jÐ h´M&ubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjû ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjû ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jå sbŒ"c.reset_control_bulk_get_exclusive”†”asbuh1hhjû ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj= h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjû ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjK h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjû ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjû ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj÷ ubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjm ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjm ubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjm ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj÷ ubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj¢ ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³ h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj¢ ubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÁ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jÆ Œmodname”NŒ classname”Njw jz )�”}”j} ]”j9 Œ"c.reset_control_bulk_get_exclusive”†”asbuh1hhj¢ ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj¢ ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj¢ ubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¢ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj÷ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj¾ h²hh³jÐ h´M&ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjº h²hh³jÐ h´M&ubah}”(h]”jµ ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jÐ h´M&hj· h²hubj )�”}”(hhh]”hï)�”}”(hŒELookup and obtain exclusive references to multiple reset controllers.”h]”hŒELookup and obtain exclusive references to multiple reset controllers.”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M&hj$ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj· h²hh³jÐ h´M&ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj? jBj? jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX~**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Fills the rstcs array with pointers to exclusive reset controls and returns 0, or an IS_ERR() condition containing errno.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjI h]”hŒ Parameters”…”�”}”(hjK h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjG ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M*hjC ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjh h]”hŒstruct device *dev”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjf ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M(hjb ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j} h´M(hj~ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjb ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j} h´M(hj_ ubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hj¡ h]”hŒ int num_rstcs”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M)hj› ubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¶ h´M)hj· ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj› ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¶ h´M)hj_ ubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hjÚ h]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M*hjÔ ubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjó h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jï h´M*hjð ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÔ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jï h´M*hj_ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjC ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M,hjC ubhï)�”}”(hŒyFills the rstcs array with pointers to exclusive reset controls and returns 0, or an IS_ERR() condition containing errno.”h]”hŒyFills the rstcs array with pointers to exclusive reset controls and returns 0, or an IS_ERR() condition containing errno.”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M+hjC ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ1reset_control_get_exclusive_released (C function)”Œ&c.reset_control_get_exclusive_released”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ`struct reset_control * reset_control_get_exclusive_released (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒ^struct reset_control *reset_control_get_exclusive_released(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjVh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M7ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjVh²hh³jgh´M7ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j{Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ$reset_control_get_exclusive_released”sbŒ&c.reset_control_get_exclusive_released”†”asbuh1hhjVh²hh³jgh´M7ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjVh²hh³jgh´M7ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjVh²hh³jgh´M7ubjî)�”}”(hŒ$reset_control_get_exclusive_released”h]”jô)�”}”(hj—h]”hŒ$reset_control_get_exclusive_released”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjµubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjVh²hh³jgh´M7ubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjÐubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÐubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jôŒmodname”NŒ classname”Njw jz )�”}”j} ]”j•Œ&c.reset_control_get_exclusive_released”†”asbuh1hhjÐubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÐubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjÐubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÐubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÌubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj@ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj@ubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj@ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj@ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj@ubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÌubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjVh²hh³jgh´M7ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjRh²hh³jgh´M7ubah}”(h]”jMah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jgh´M7hjOh²hubj )�”}”(hhh]”hï)�”}”(hŒJLookup and obtain a temoprarily exclusive reference to a reset controller.”h]”hŒJLookup and obtain a temoprarily exclusive reference to a reset controller.”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M7hj¯h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjOh²hh³jgh´M7ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjÊjBjÊjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX—**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Returns a struct reset_control or IS_ERR() condition containing errno. reset-controls returned by this function must be acquired via reset_control_acquire() before they can be used and should be released via reset_control_release() afterwards. Use of id names is optional.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÔh]”hŒ Parameters”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M;hjÎubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjóh]”hŒstruct device *dev”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M:hjíubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh´M:hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jh´M:hjêubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hj,h]”hŒconst char *id”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M;hj&ubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jAh´M;hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jAh´M;hjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjÎubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjgh]”hŒ Description”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M=hjÎubhï)�”}”(hŒóReturns a struct reset_control or IS_ERR() condition containing errno. reset-controls returned by this function must be acquired via reset_control_acquire() before they can be used and should be released via reset_control_release() afterwards.”h]”hŒóReturns a struct reset_control or IS_ERR() condition containing errno. reset-controls returned by this function must be acquired via reset_control_acquire() before they can be used and should be released via reset_control_release() afterwards.”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M<hjÎubhï)�”}”(hŒUse of id names is optional.”h]”hŒUse of id names is optional.”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MAhjÎubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ6reset_control_bulk_get_exclusive_released (C function)”Œ+c.reset_control_bulk_get_exclusive_released”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒxint reset_control_bulk_get_exclusive_released (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒwint reset_control_bulk_get_exclusive_released(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj·h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MLubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj·h²hh³jÉh´MLubjî)�”}”(hŒ)reset_control_bulk_get_exclusive_released”h]”jô)�”}”(hŒ)reset_control_bulk_get_exclusive_released”h]”hŒ)reset_control_bulk_get_exclusive_released”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjØubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj·h²hh³jÉh´MLubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjôubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjôubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jÞsbŒ+c.reset_control_bulk_get_exclusive_released”†”asbuh1hhjôubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjôubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjôubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjðubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjfubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjfubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjfubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjðubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj›ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj›ubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j¿Œmodname”NŒ classname”•Njw jz )�”}”j} ]”j2Œ+c.reset_control_bulk_get_exclusive_released”†”asbuh1hhj›ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj›ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj›ubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjðubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj·h²hh³jÉh´MLubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj³h²hh³jÉh´MLubah}”(h]”j®ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jÉh´MLhj°h²hubj )�”}”(hhh]”hï)�”}”(hŒQLookup and obtain temporarily exclusive references to multiple reset controllers.”h]”hŒQLookup and obtain temporarily exclusive references to multiple reset controllers.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MLhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj°h²hh³jÉh´MLubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj8jBj8jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX5**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Fills the rstcs array with pointers to exclusive reset controls and returns 0, or an IS_ERR() condition containing errno. reset-controls returned by this function must be acquired via reset_control_bulk_acquire() before they can be used and should be released via reset_control_bulk_release() afterwards.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjBh]”hŒ Parameters”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MPhj<ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjah]”hŒstruct device *dev”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MOhj[ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jvh´MOhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jvh´MOhjXubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hjšh]”hŒ int num_rstcs”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MPhj”ubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¯h´MPhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¯h´MPhjXubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hjÓh]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MQhjÍubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jèh´MQhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jèh´MQhjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj<ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MShj<ubhï)�”}”(hX0Fills the rstcs array with pointers to exclusive reset controls and returns 0, or an IS_ERR() condition containing errno. reset-controls returned by this function must be acquired via reset_control_bulk_acquire() before they can be used and should be released via reset_control_bulk_release() afterwards.”h]”hX0Fills the rstcs array with pointers to exclusive reset controls and returns 0, or an IS_ERR() condition containing errno. reset-controls returned by this function must be acquired via reset_control_bulk_acquire() before they can be used and should be released via reset_control_bulk_release() afterwards.”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MRhj<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ?reset_control_bulk_get_optional_exclusive_released (C function)”Œ4c.reset_control_bulk_get_optional_exclusive_released”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ�int reset_control_bulk_get_optional_exclusive_released (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒ€int reset_control_bulk_get_optional_exclusive_released(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjOh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MaubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjOh²hh³jah´Maubjî)�”}”(hŒ2reset_control_bulk_get_optional_exclusive_released”h]”jô)�”}”(hŒ2reset_control_bulk_get_optional_exclusive_released”h]”hŒ2reset_control_bulk_get_optional_exclusive_released”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjpubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjOh²hh³jah´Maubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjŒubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjŒubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j°Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jvsbŒ4c.reset_control_bulk_get_optional_exclusive_released”†”asbuh1hhjŒubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjŒubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjŒubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjˆubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjþubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjþubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjþubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjˆubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj3ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj3ubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjRubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jWŒmodname”NŒ classname”Njw jz )�”}”j} ]”jÊŒ4c.reset_control_bulk_get_optional_exclusive_released”†”asbuh1hhj3ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj3ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj3ubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjˆubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjOh²hh³jah´Maubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjKh²hh³jah´Maubah}”(h]”jFah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jah´MahjHh²hubj )�”}”(hhh]”hï)�”}”(hŒZLookup and obtain optional temporarily exclusive references to multiple reset controllers.”h]”hŒZLookup and obtain optional temporarily exclusive references to multiple reset controllers.”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mahjµh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjHh²hh³jah´Maubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjÐjBjÐjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Optional variant of reset_control_bulk_get_exclusive_released(). If the requested reset is not specified in the device tree, this function returns 0 instead of an error and missing rtsc is set to NULL. See reset_control_bulk_get_exclusive_released() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÚh]”hŒ Parameters”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjØubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MehjÔubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjùh]”hŒstruct device *dev”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mdhjóubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh´Mdhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jh´Mdhjðubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hj2h]”hŒ int num_rstcs”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mehj,ubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jGh´MehjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jGh´Mehjðubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hjkh]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mfhjeubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€h´Mfhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j€h´Mfhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjÔubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj¦h]”hŒ Description”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhhjÔubhï)�”}”(hŒÉOptional variant of reset_control_bulk_get_exclusive_released(). If the requested reset is not specified in the device tree, this function returns 0 instead of an error and missing rtsc is set to NULL.”h]”hŒÉOptional variant of reset_control_bulk_get_exclusive_released(). If the requested reset is not specified in the device tree, this function returns 0 instead of an error and missing rtsc is set to NULL.”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MghjÔubhï)�”}”(hŒESee reset_control_bulk_get_exclusive_released() for more information.”h]”hŒESee reset_control_bulk_get_exclusive_released() for more information.”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MkhjÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ%reset_control_get_shared (C function)”Œc.reset_control_get_shared”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒTstruct reset_control * reset_control_get_shared (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒRstruct reset_control *reset_control_get_shared(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjöh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MwubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjöh²hh³jh´Mwubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œreset_control_get_shared”sbŒc.reset_control_get_shared”†”asbuh1hhjöh²hh³jh´MwubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjöh²hh³jh´Mwubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjöh²hh³jh´Mwubjî)�”}”(hŒreset_control_get_shared”h]”jô)�”}”(hj7h]”hŒreset_control_get_shared”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjUubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjöh²hh³jh´Mwubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjpubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjpubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j”Œmodname”NŒ classname”Njw jz )�”}”j} ]”j5Œc.reset_control_get_shared”†”asbuh1hhjpubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjpubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjpubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjpubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjlubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjàubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjàubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjàubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjàubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjàubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjàubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjlubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjöh²hh³jh´Mwubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjòh²hh³jh´Mwubah}”(h]”jíah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jh´Mwhjïh²hubj )�”}”(hhh]”hï)�”}”(hŒ;Lookup and obtain a shared reference to a reset controller.”h]”hŒ;Lookup and obtain a shared reference to a reset controller.”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MwhjOh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjïh²hh³jh´Mwubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjjjBjjjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXj**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Returns a struct reset_control or IS_ERR() condition containing errno. This function is intended for use with reset-controls which are shared between hardware blocks. When a reset-control is shared, the behavior of reset_control_assert / deassert is changed, the reset-core will keep track of a deassert_count and only (re-)assert the reset after reset_control_assert has been called as many times as reset_control_deassert was called. Also see the remark about shared reset-controls in the reset_control_assert docs. Calling reset_control_assert without first calling reset_control_deassert is not allowed on a shared reset control. Calling reset_control_reset is also not allowed on a shared reset control. Use of id names is optional.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjth]”hŒ Parameters”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M{hjnubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hj“h]”hŒstruct device *dev”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Myhj�ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¨h´Myhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¨h´MyhjŠubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hjÌh]”hŒconst char *id”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MzhjÆubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jáh´Mzhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jáh´MzhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjnubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjh]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M|hjnubhï)�”}”(hŒ¦Returns a struct reset_control or IS_ERR() condition containing errno. This function is intended for use with reset-controls which are shared between hardware blocks.”h]”hŒ¦Returns a struct reset_control or IS_ERR() condition containing errno. This function is intended for use with reset-controls which are shared between hardware blocks.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M{hjnubhï)�”}”(hX^When a reset-control is shared, the behavior of reset_control_assert / deassert is changed, the reset-core will keep track of a deassert_count and only (re-)assert the reset after reset_control_assert has been called as many times as reset_control_deassert was called. Also see the remark about shared reset-controls in the reset_control_assert docs.”h]”hX^When a reset-control is shared, the behavior of reset_control_assert / deassert is changed, the reset-core will keep track of a deassert_count and only (re-)assert the reset after reset_control_assert has been called as many times as reset_control_deassert was called. Also see the remark about shared reset-controls in the reset_control_assert docs.”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhjnubhï)�”}”(hŒ¾Calling reset_control_assert without first calling reset_control_deassert is not allowed on a shared reset control. Calling reset_control_reset is also not allowed on a shared reset control.”h]”hŒ¾Calling reset_control_assert without first calling reset_control_deassert is not allowed on a shared reset control. Calling reset_control_reset is also not allowed on a shared reset control.”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M…hjnubhï)�”}”(hŒUse of id names is optional.”h]”hŒUse of id names is optional.”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M‰hjnubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ*reset_control_bulk_get_shared (C function)”Œc.reset_control_bulk_get_shared”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒlint reset_control_bulk_get_shared (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒkint reset_control_bulk_get_shared(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjuh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M“ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjuh²hh³j‡h´M“ubjî)�”}”(hŒreset_control_bulk_get_shared”h]”jô)�”}”(hŒreset_control_bulk_get_shared”h]”hŒreset_control_bulk_get_shared”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj–ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjuh²hh³j‡h´M“ubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj²ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj²ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÑubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jÖŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jœsbŒc.reset_control_bulk_get_shared”†”asbuh1hhj²ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj²ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj²ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj®ubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj$ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj$ubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj®ubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjYubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjYubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j}Œmodname”NŒ classname”Njw jz )�”}”j} ]”jðŒc.reset_control_bulk_get_shared”†”asbuh1hhjYubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjYubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjYubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjYubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj®ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjuh²hh³j‡h´M“ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjqh²hh³j‡h´M“ubah}”(h]”jlah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j‡h´M“hjnh²hubj )�”}”(hhh]”hï)�”}”(hŒBLookup and obtain shared references to multiple reset controllers.”h]”hŒBLookup and obtain shared references to multiple reset controllers.”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M“hjÛh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnh²hh³j‡h´M“ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjöjBjöjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX{**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Fills the rstcs array with pointers to shared reset controls and returns 0, or an IS_ERR() condition containing errno.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M—hjúubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjh]”hŒstruct device *dev”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M•hjubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j4h´M•hj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j4h´M•hjubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hjXh]”hŒ int num_rstcs”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M–hjRubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jmh´M–hjnubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jmh´M–hjubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hj‘h]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M—hj‹ubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¦h´M—hj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¦h´M—hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjúubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjÌh]”hŒ Description”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M™hjúubhï)�”}”(hŒvFills the rstcs array with pointers to shared reset controls and returns 0, or an IS_ERR() condition containing errno.”h]”hŒvFills the rstcs array with pointers to shared reset controls and returns 0, or an IS_ERR() condition containing errno.”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M˜hjúubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ1reset_control_get_optional_exclusive (C function)”Œ&c.reset_control_get_optional_exclusive”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ`struct reset_control * reset_control_get_optional_exclusive (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒ^struct reset_control *reset_control_get_optional_exclusive(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¤ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj h²hh³jh´M¤ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j2Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ$reset_control_get_optional_exclusive”sbŒ&c.reset_control_get_optional_exclusive”†”asbuh1hhj h²hh³jh´M¤ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj h²hh³jh´M¤ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj h²hh³jh´M¤ubjî)�”}”(hŒ$reset_control_get_optional_exclusive”h]”jô)�”}”(hjNh]”hŒ$reset_control_get_optional_exclusive”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjlubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj h²hh³jh´M¤ubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj‡ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj‡ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j«Œmodname”NŒ classname”Njw jz )�”}”j} ]”jLŒ&c.reset_control_get_optional_exclusive”†”asbuh1hhj‡ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj‡ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj‡ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj‡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjƒubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj÷ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj÷ubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj÷ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj÷ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj÷ubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjƒubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj h²hh³jh´M¤ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj h²hh³jh´M¤ubah}”(h]”jah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jh´M¤hjh²hubj )�”}”(hhh]”hï)�”}”(hŒ&optional reset_control_get_exclusive()”h]”hŒ&optional reset_control_get_exclusive()”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¤hjfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³jh´M¤ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj�jBj�jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX]**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Optional variant of reset_control_get_exclusive(). If the requested reset is not specified in the device tree, this function returns NULL instead of an error. See reset_control_get_exclusive() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj‹h]”hŒ Parameters”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¨hj…ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjªh]”hŒstruct device *dev”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¥hj¤ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¿h´M¥hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¿h´M¥hj¡ubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hjãh]”hŒconst char *id”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¦hjÝubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jøh´M¦hjùubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jøh´M¦hj¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj…ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjh]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¨hj…ubhï)�”}”(hŒžOptional variant of reset_control_get_exclusive(). If the requested reset is not specified in the device tree, this function returns NULL instead of an error.”h]”hŒžOptional variant of reset_control_get_exclusive(). If the requested reset is not specified in the device tree, this function returns NULL instead of an error.”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M§hj…ubhï)�”}”(hŒ7See reset_control_get_exclusive() for more information.”h]”hŒ7See reset_control_get_exclusive() for more information.”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M«hj…ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ6reset_control_bulk_get_optional_exclusive (C function)”Œ+c.reset_control_bulk_get_optional_exclusive”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒxint reset_control_bulk_get_optional_exclusive (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒwint reset_control_bulk_get_optional_exclusive(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjnh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MµubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjnh²hh³j€h´Mµubjî)�”}”(hŒ)reset_control_bulk_get_optional_exclusive”h]”jô)�”}”(hŒ)reset_control_bulk_get_optional_exclusive”h]”hŒ)reset_control_bulk_get_optional_exclusive”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj�ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjnh²hh³j€h´Mµubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj«ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj«ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÊubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jÏŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j•sbŒ+c.reset_control_bulk_get_optional_exclusive”†”asbuh1hhj«ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj«ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj«ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj§ubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj§ubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjRubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjRubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjqubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jvŒmodname”NŒ classname”Njw jz )�”}”j} ]”jéŒ+c.reset_control_bulk_get_optional_exclusive”†”asbuh1hhjRubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjRubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjRubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj§ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjnh²hh³j€h´Mµubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjjh²hh³j€h´Mµubah}”(h]”jeah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j€h´Mµhjgh²hubj )�”}”(hhh]”hï)�”}”(hŒ+optional reset_control_bulk_get_exclusive()”h]”hŒ+optional reset_control_bulk_get_exclusive()”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MµhjÔh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjgh²hh³j€h´Mµubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjïjBjïjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXþ**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Optional variant of reset_control_bulk_get_exclusive(). If any of the requested resets are not specified in the device tree, this function sets them to NULL instead of returning an error. See reset_control_bulk_get_exclusive() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjùh]”hŒ Parameters”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¹hjóubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjh]”hŒstruct device *dev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M·hjubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j-h´M·hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j-h´M·hjubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hjQh]”hŒ int num_rstcs”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¸hjKubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jfh´M¸hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jfh´M¸hjubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hjŠh]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¹hj„ubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jŸh´M¹hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jŸh´M¹hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjóubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjÅh]”hŒ Description”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M»hjóubhï)�”}”(hŒ»Optional variant of reset_control_bulk_get_exclusive(). If any of the requested resets are not specified in the device tree, this function sets them to NULL instead of returning an error.”h]”hŒ»Optional variant of reset_control_bulk_get_exclusive(). If any of the requested resets are not specified in the device tree, this function sets them to NULL instead of returning an error.”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mºhjóubhï)�”}”(hŒ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj:7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M…hj67ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjU7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jQ7h´M…hjR7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj67ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jQ7h´M…hj37ubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hju7h]”hŒ int num_rstcs”…”�”}”(hjw7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjs7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M†hjo7ubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjŽ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jŠ7h´M†hj‹7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjo7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jŠ7h´M†hj37ubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hj®7h]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hj°7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¬7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M‡hj¨7ubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjÇ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÃ7h´M‡hjÄ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¨7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÃ7h´M‡hj37ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj7ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjé7h]”hŒ Description”…”�”}”(hjë7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjç7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M‰hj7ubhï)�”}”(hŒœManaged reset_control_bulk_get_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒœManaged reset_control_bulk_get_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjÿ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mˆhj7ubhï)�”}”(hŒ<ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj]<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jY<h´M­hjZ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj><ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jY<h´M­hj;<ubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hj}<h]”hŒ int num_rstcs”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj{<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M®hjw<ubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hj–<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j’<h´M®hj“<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjw<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j’<h´M®hj;<ubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hj¶<h]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hj¸<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj´<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¯hj°<ubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjÏ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jË<h´M¯hjÌ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj°<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jË<h´M¯hj;<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj<ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjñ<h]”hŒ Description”…”�”}”(hjó<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjï<ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M±hj<ubhï)�”}”(hŒ¥Managed reset_control_bulk_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ¥Managed reset_control_bulk_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M°hj<ubhï)�”}”(hŒESee reset_control_bulk_get_exclusive_released() for more information.”h]”hŒESee reset_control_bulk_get_exclusive_released() for more information.”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M´hj<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ?devm_reset_control_get_optional_exclusive_released (C function)”Œ4c.devm_reset_control_get_optional_exclusive_released”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒnstruct reset_control * devm_reset_control_get_optional_exclusive_released (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒlstruct reset_control *devm_reset_control_get_optional_exclusive_released(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjE=h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjA=h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÀubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS=h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjA=h²hh³jR=h´MÀubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjd=h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhja=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jf=Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ2devm_reset_control_get_optional_exclusive_released”sbŒ4c.devm_reset_control_get_optional_exclusive_released”†”asbuh1hhjA=h²hh³jR=h´MÀubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…=h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjA=h²hh³jR=h´MÀubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj“=h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjA=h²hh³jR=h´MÀubjî)�”}”(hŒ2devm_reset_control_get_optional_exclusive_released”h]”jô)�”}”(hj‚=h]”hŒ2devm_reset_control_get_optional_exclusive_released”…”�”}”(hj¤=h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj =ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjA=h²hh³jR=h´MÀubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj¿=h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj»=ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌ=h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj»=ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÝ=h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÚ=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jß=Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€=Œ4c.devm_reset_control_get_optional_exclusive_released”†”asbuh1hhj»=ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû=h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj»=ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj >h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj»=ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj»=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj·=ubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hj/>h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj+>ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<>h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj+>ubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjJ>h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj+>ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjX>h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj+>ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjf>h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj+>ubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hjs>h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj+>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj·=ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjA=h²hh³jR=h´MÀubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj==h²hh³jR=h´MÀubah}”(h]”j8=ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jR=h´MÀhj:=h²hubj )�”}”(hhh]”hï)�”}”(hŒ@resource managed reset_control_get_optional_exclusive_released()”h]”hŒ@resource managed reset_control_get_optional_exclusive_released()”…”�”}”(hj�>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÀhjš>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:=h²hh³jR=h´MÀubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjµ>jBjµ>jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX€**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed-and-optional variant of reset_control_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_exclusive_released() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj¿>h]”hŒ Parameters”…”�”}”(hjÁ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj½>ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÄhj¹>ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjÞ>h]”hŒstruct device *dev”…”�”}”(hjà>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÜ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÂhjØ>ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj÷>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jó>h´MÂhjô>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjØ>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jó>h´MÂhjÕ>ubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hj?h]”hŒconst char *id”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÃhj?ubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hj0?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j,?h´MÃhj-?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j,?h´MÃhjÕ>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj¹>ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjR?h]”hŒ Description”…”�”}”(hjT?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjP?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÅhj¹>ubhï)�”}”(hŒ¸Managed-and-optional variant of reset_control_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ¸Managed-and-optional variant of reset_control_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjh?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÄhj¹>ubhï)�”}”(hŒ@See reset_control_get_exclusive_released() for more information.”h]”hŒ@See reset_control_get_exclusive_released() for more information.”…”�”}”(hjw?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÈhj¹>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒDdevm_reset_control_bulk_get_optional_exclusive_released (C function)”Œ9c.devm_reset_control_bulk_get_optional_exclusive_released”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ†int devm_reset_control_bulk_get_optional_exclusive_released (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒ…int devm_reset_control_bulk_get_optional_exclusive_released(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj¦?h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj¢?h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÓubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ?h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj¢?h²hh³j´?h´MÓubjî)�”}”(hŒ7devm_reset_control_bulk_get_optional_exclusive_released”h]”jô)�”}”(hŒ7devm_reset_control_bulk_get_optional_exclusive_released”h]”hŒ7devm_reset_control_bulk_get_optional_exclusive_released”…”�”}”(hjÇ?h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÃ?ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj¢?h²hh³j´?h´MÓubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjã?h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjß?ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð?h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjß?ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjþ?ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j@Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jÉ?sbŒ9c.devm_reset_control_bulk_get_optional_exclusive_released”†”asbuh1hhjß?ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!@h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjß?ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj/@h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjß?ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj<@h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjß?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÛ?ubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjU@h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjQ@ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc@h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjQ@ubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjq@h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjQ@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÛ?ubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjŠ@h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj†@ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—@h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj†@ubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hj¨@h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¥@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jª@Œmodname”NŒ classname”Njw jz )�”}”j} ]”j@Œ9c.devm_reset_control_bulk_get_optional_exclusive_released”†”asbuh1hhj†@ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ@h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj†@ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÔ@h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj†@ubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hjá@h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj†@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÛ?ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj¢?h²hh³j´?h´MÓubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjž?h²hh³j´?h´MÓubah}”(h]”j™?ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j´?h´MÓhj›?h²hubj )�”}”(hhh]”hï)�”}”(hŒEresource managed reset_control_bulk_optional_get_exclusive_released()”h]”hŒEresource managed reset_control_bulk_optional_get_exclusive_released()”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÓhjAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj›?h²hh³j´?h´MÓubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj#AjBj#AjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Managed reset_control_bulk_optional_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_bulk_optional_get_exclusive_released() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj-Ah]”hŒ Parameters”…”�”}”(hj/Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj+Aubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M×hj'Aubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjLAh]”hŒstruct device *dev”…”�”}”(hjNAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjJAubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÕhjFAubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjeAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jaAh´MÕhjbAubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjFAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jaAh´MÕhjCAubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hj…Ah]”hŒ int num_rstcs”…”�”}”(hj‡Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjƒAubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÖhjAubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjžAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jšAh´MÖhj›Aubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jšAh´MÖhjCAubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hj¾Ah]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjÀAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¼Aubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M×hj¸Aubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hj×Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÓAh´M×hjÔAubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¸Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÓAh´M×hjCAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj'Aubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjùAh]”hŒ Description”…”�”}”(hjûAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj÷Aubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÙhj'Aubhï)�”}”(hŒ®Managed reset_control_bulk_optional_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ®Managed reset_control_bulk_optional_get_exclusive_released(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MØhj'Aubhï)�”}”(hŒNSee reset_control_bulk_optional_get_exclusive_released() for more information.”h]”hŒNSee reset_control_bulk_optional_get_exclusive_released() for more information.”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MÜhj'Aubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ*devm_reset_control_get_shared (C function)”Œc.devm_reset_control_get_shared”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒYstruct reset_control * devm_reset_control_get_shared (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒWstruct reset_control *devm_reset_control_get_shared(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjMBh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjIBh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MèubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[Bh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjIBh²hh³jZBh´Mèubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjlBh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjiBubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jnBŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œdevm_reset_control_get_shared”sbŒc.devm_reset_control_get_shared”†”asbuh1hhjIBh²hh³jZBh´MèubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Bh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjIBh²hh³jZBh´Mèubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj›Bh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjIBh²hh³jZBh´Mèubjî)�”}”(hŒdevm_reset_control_get_shared”h]”jô)�”}”(hjŠBh]”hŒdevm_reset_control_get_shared”…”�”}”(hj¬Bh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¨Bubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjIBh²hh³jZBh´Mèubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÇBh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjÃBubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔBh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÃBubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjåBh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjâBubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jçBŒmodname”NŒ classname”Njw jz )�”}”j} ]”jˆBŒc.devm_reset_control_get_shared”†”asbuh1hhjÃBubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÃBubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjÃBubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÃBubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj¿Bubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hj7Ch²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj3CubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDCh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj3CubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjRCh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj3CubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Ch²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj3Cubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjnCh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj3Cubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hj{Ch²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj3Cubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj¿Bubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjIBh²hh³jZBh´Mèubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjEBh²hh³jZBh´Mèubah}”(h]”j@Bah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jZBh´MèhjBBh²hubj )�”}”(hhh]”hï)�”}”(hŒ+resource managed reset_control_get_shared()”h]”hŒ+resource managed reset_control_get_shared()”…”�”}”(hj¥Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mèhj¢Ch²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjBBh²hh³jZBh´Mèubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj½CjBj½CjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXO**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed reset_control_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÇCh]”hŒ Parameters”…”�”}”(hjÉCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÅCubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MìhjÁCubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjæCh]”hŒstruct device *dev”…”�”}”(hjèCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjäCubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MéhjàCubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjÿCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jûCh´MéhjüCubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjàCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jûCh´MéhjÝCubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hjDh]”hŒconst char *id”…”�”}”(hj!Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MêhjDubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hj8Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j4Dh´Mêhj5Dubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j4Dh´MêhjÝCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjÁCubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjZDh]”hŒ Description”…”�”}”(hj\Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjXDubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MìhjÁCubhï)�”}”(hŒÉManaged reset_control_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_shared() for more information.”h]”hŒÉManaged reset_control_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_shared() for more information.”…”�”}”(hjpDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MëhjÁCubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ5devm_reset_control_get_shared_deasserted (C function)”Œ*c.devm_reset_control_get_shared_deasserted”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒdstruct reset_control * devm_reset_control_get_shared_deasserted (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒbstruct reset_control *devm_reset_control_get_shared_deasserted(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjŸDh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj›Dh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M÷ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­Dh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj›Dh²hh³j¬Dh´M÷ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hj¾Dh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj»Dubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jÀDŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ(devm_reset_control_get_shared_deasserted”sbŒ*c.devm_reset_control_get_shared_deasserted”†”asbuh1hhj›Dh²hh³j¬Dh´M÷ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßDh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj›Dh²hh³j¬Dh´M÷ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjíDh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj›Dh²hh³j¬Dh´M÷ubjî)�”}”(hŒ(devm_reset_control_get_shared_deasserted”h]”jô)�”}”(hjÜDh]”hŒ(devm_reset_control_get_shared_deasserted”…”�”}”(hjþDh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjúDubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj›Dh²hh³j¬Dh´M÷ubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjEubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&Eh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjEubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj7Eh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj4Eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j9EŒmodname”NŒ classname”Njw jz )�”}”j} ]”jÚDŒ*c.devm_reset_control_get_shared_deasserted”†”asbuh1hhjEubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUEh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjEubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjcEh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjEubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjpEh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjEubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjEubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hj‰Eh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj…EubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–Eh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj…EubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¤Eh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj…EubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²Eh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj…Eubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÀEh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj…Eubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hjÍEh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj…Eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjEubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj›Dh²hh³j¬Dh´M÷ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj—Dh²hh³j¬Dh´M÷ubah}”(h]”j’Dah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j¬Dh´M÷hj”Dh²hubj )�”}”(hhh]”hï)�”}”(hŒFresource managed reset_control_get_shared() + reset_control_deassert()”h]”hŒFresource managed reset_control_get_shared() + reset_control_deassert()”…”�”}”(hj÷Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M÷hjôEh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj”Dh²hh³j¬Dh´M÷ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjFjBjFjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX‰**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed reset_control_get_shared() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach. See devm_reset_control_get_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjFh]”hŒ Parameters”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MûhjFubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hj8Fh]”hŒstruct device *dev”…”�”}”(hj:Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj6Fubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Múhj2Fubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjQFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jMFh´MúhjNFubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj2Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jMFh´Múhj/Fubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hjqFh]”hŒconst char *id”…”�”}”(hjsFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjoFubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MûhjkFubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hjŠFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j†Fh´Mûhj‡Fubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjkFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j†Fh´Mûhj/Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjFubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj¬Fh]”hŒ Description”…”�”}”(hj®Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjªFubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MýhjFubhï)�”}”(hŒÈManaged reset_control_get_shared() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach.”h]”hŒÈManaged reset_control_get_shared() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach.”…”�”}”(hjÂFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MühjFubhï)�”}”(hŒ9See devm_reset_control_get_shared() for more information.”h]”hŒ9See devm_reset_control_get_shared() for more information.”…”�”}”(hjÑFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjFubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ/devm_reset_control_bulk_get_shared (C function)”Œ$c.devm_reset_control_bulk_get_shared”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒqint devm_reset_control_bulk_get_shared (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒpint devm_reset_control_bulk_get_shared(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjüFh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjüFh²hh³jGh´M ubjî)�”}”(hŒ"devm_reset_control_bulk_get_shared”h]”jô)�”}”(hŒ"devm_reset_control_bulk_get_shared”h]”hŒ"devm_reset_control_bulk_get_shared”…”�”}”(hj!Gh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjGubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjüFh²hh³jGh´M ubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj=Gh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj9GubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJGh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj9Gubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj[Gh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjXGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j]GŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j#GsbŒ$c.devm_reset_control_bulk_get_shared”†”asbuh1hhj9GubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{Gh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj9Gubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj‰Gh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj9Gubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj–Gh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj9Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj5Gubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj¯Gh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj«GubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½Gh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj«Gubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjËGh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj«Gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj5Gubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjäGh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjàGubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñGh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjàGubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÿGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jHŒmodname”NŒ classname”Njw jz )�”}”j} ]”jwGŒ$c.devm_reset_control_bulk_get_shared”†”asbuh1hhjàGubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Hh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjàGubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj.Hh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjàGubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hj;Hh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjàGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj5Gubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjüFh²hh³jGh´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjøFh²hh³jGh´M ubah}”(h]”jóFah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jGh´M hjõFh²hubj )�”}”(hhh]”hï)�”}”(hŒ0resource managed reset_control_bulk_get_shared()”h]”hŒ0resource managed reset_control_bulk_get_shared()”…”�”}”(hjeHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M hjbHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõFh²hh³jGh´M ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj}HjBj}HjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXÙ**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Managed reset_control_bulk_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_bulk_get_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj‡Hh]”hŒ Parameters”…”�”}”(hj‰Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj…Hubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj�Hubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hj¦Hh]”hŒstruct device *dev”…”�”}”(hj¨Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¤Hubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M hj Hubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj¿Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j»Hh´M hj¼Hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj Hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j»Hh´M hj�Hubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hjßHh]”hŒ int num_rstcs”…”�”}”(hjáHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÝHubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M hjÙHubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjøHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jôHh´M hjõHubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÙHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jôHh´M hj�Hubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hjIh]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MhjIubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hj1Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j-Ih´Mhj.Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j-Ih´Mhj�Hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj�Hubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjSIh]”hŒ Description”…”�”}”(hjUIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjQIubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj�Hubhï)�”}”(hŒ™Managed reset_control_bulk_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ™Managed reset_control_bulk_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjiIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj�Hubhï)�”}”(hŒ9See reset_control_bulk_get_shared() for more information.”h]”hŒ9See reset_control_bulk_get_shared() for more information.”…”�”}”(hjxIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj�Hubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ:devm_reset_control_bulk_get_shared_deasserted (C function)”Œ/c.devm_reset_control_bulk_get_shared_deasserted”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ|int devm_reset_control_bulk_get_shared_deasserted (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒ{int devm_reset_control_bulk_get_shared_deasserted(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj§Ih²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj£Ih²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶Ih²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj£Ih²hh³jµIh´Mubjî)�”}”(hŒ-devm_reset_control_bulk_get_shared_deasserted”h]”jô)�”}”(hŒ-devm_reset_control_bulk_get_shared_deasserted”h]”hŒ-devm_reset_control_bulk_get_shared_deasserted”…”�”}”(hjÈIh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÄIubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj£Ih²hh³jµIh´Mubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjäIh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjàIubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñIh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjàIubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÿIubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jJŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jÊIsbŒ/c.devm_reset_control_bulk_get_shared_deasserted”†”asbuh1hhjàIubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"Jh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjàIubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj0Jh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjàIubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj=Jh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjàIubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÜIubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjVJh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjRJubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdJh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjRJubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjrJh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjRJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÜIubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj‹Jh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj‡JubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Jh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj‡Jubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hj©Jh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¦Jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j«JŒmodname”NŒ classname”Njw jz )�”}”j} ]”jJŒ/c.devm_reset_control_bulk_get_shared_deasserted”†”asbuh1hhj‡JubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇJh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj‡Jubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÕJh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj‡Jubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hjâJh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj‡Jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÜIubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj£Ih²hh³jµIh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjŸIh²hh³jµIh´Mubah}”(h]”jšIah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jµIh´MhjœIh²hubj )�”}”(hhh]”hï)�”}”(hŒPresource managed reset_control_bulk_get_shared() + reset_control_bulk_deassert()”h]”hŒPresource managed reset_control_bulk_get_shared() + reset_control_bulk_deassert()”…”�”}”(hj Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mhj Kh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjœIh²hh³jµIh´Mubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj$KjBj$KjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX"**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Managed reset_control_bulk_get_shared() + reset_control_bulk_deassert(). For reset controllers returned from this function, reset_control_bulk_assert() + reset_control_bulk_put() are called automatically on driver detach. See devm_reset_control_bulk_get_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj.Kh]”hŒ Parameters”…”�”}”(hj0Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj,Kubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M"hj(Kubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjMKh]”hŒstruct device *dev”…”�”}”(hjOKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjKKubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M!hjGKubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjfKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jbKh´M!hjcKubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjGKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jbKh´M!hjDKubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hj†Kh]”hŒ int num_rstcs”…”�”}”(hjˆKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj„Kubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M"hj€Kubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjŸKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j›Kh´M"hjœKubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj€Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j›Kh´M"hjDKubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hj¿Kh]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hjÁKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj½Kubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M#hj¹Kubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjØKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÔKh´M#hjÕKubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¹Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÔKh´M#hjDKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj(Kubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjúKh]”hŒ Description”…”�”}”(hjüKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjøKubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M%hj(Kubhï)�”}”(hŒÝManaged reset_control_bulk_get_shared() + reset_control_bulk_deassert(). For reset controllers returned from this function, reset_control_bulk_assert() + reset_control_bulk_put() are called automatically on driver detach.”h]”hŒÝManaged reset_control_bulk_get_shared() + reset_control_bulk_deassert(). For reset controllers returned from this function, reset_control_bulk_assert() + reset_control_bulk_put() are called automatically on driver detach.”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M$hj(Kubhï)�”}”(hŒ>See devm_reset_control_bulk_get_shared() for more information.”h]”hŒ>See devm_reset_control_bulk_get_shared() for more information.”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M(hj(Kubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ6devm_reset_control_get_optional_exclusive (C function)”Œ+c.devm_reset_control_get_optional_exclusive”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒestruct reset_control * devm_reset_control_get_optional_exclusive (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒcstruct reset_control *devm_reset_control_get_optional_exclusive(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjNLh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjJLh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M4ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\Lh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjJLh²hh³j[Lh´M4ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjmLh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjjLubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”joLŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ)devm_reset_control_get_optional_exclusive”sbŒ+c.devm_reset_control_get_optional_exclusive”†”asbuh1hhjJLh²hh³j[Lh´M4ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽLh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjJLh²hh³j[Lh´M4ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjœLh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjJLh²hh³j[Lh´M4ubjî)�”}”(hŒ)devm_reset_control_get_optional_exclusive”h]”jô)�”}”(hj‹Lh]”hŒ)devm_reset_control_get_optional_exclusive”…”�”}”(hj­Lh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj©Lubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjJLh²hh³j[Lh´M4ubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÈLh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjÄLubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕLh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÄLubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjæLh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjãLubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jèLŒmodname”NŒ classname”Njw jz )�”}”j} ]”j‰LŒ+c.devm_reset_control_get_optional_exclusive”†”asbuh1hhjÄLubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÄLubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjÄLubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÄLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÀLubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hj8Mh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj4MubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEMh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj4MubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjSMh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj4MubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaMh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj4Mubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjoMh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj4Mubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hj|Mh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj4Mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjÀLubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjJLh²hh³j[Lh´M4ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjFLh²hh³j[Lh´M4ubah}”(h]”jALah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j[Lh´M4hjCLh²hubj )�”}”(hhh]”hï)�”}”(hŒ7resource managed reset_control_get_optional_exclusive()”h]”hŒ7resource managed reset_control_get_optional_exclusive()”…”�”}”(hj¦Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M4hj£Mh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCLh²hh³j[Lh´M4ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj¾MjBj¾MjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXh**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed reset_control_get_optional_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_optional_exclusive() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÈMh]”hŒ Parameters”…”�”}”(hjÊMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÆMubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M8hjÂMubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjçMh]”hŒstruct device *dev”…”�”}”(hjéMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjåMubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M6hjáMubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jüMh´M6hjýMubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjáMubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jüMh´M6hjÞMubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hj Nh]”hŒconst char *id”…”�”}”(hj"Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M7hjNubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hj9Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j5Nh´M7hj6Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j5Nh´M7hjÞMubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjÂMubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj[Nh]”hŒ Description”…”�”}”(hj]Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjYNubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M9hjÂMubhï)�”}”(hŒ Managed reset_control_get_optional_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ Managed reset_control_get_optional_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjqNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M8hjÂMubhï)�”}”(hŒ@See reset_control_get_optional_exclusive() for more information.”h]”hŒ@See reset_control_get_optional_exclusive() for more information.”…”�”}”(hj€Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M<hjÂMubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒAdevm_reset_control_get_optional_exclusive_deasserted (C function)”Œ6c.devm_reset_control_get_optional_exclusive_deasserted”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒpstruct reset_control * devm_reset_control_get_optional_exclusive_deasserted (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒnstruct reset_control *devm_reset_control_get_optional_exclusive_deasserted(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj¯Nh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj«Nh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MFubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½Nh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj«Nh²hh³j¼Nh´MFubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjÎNh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjËNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jÐNŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ4devm_reset_control_get_optional_exclusive_deasserted”sbŒ6c.devm_reset_control_get_optional_exclusive_deasserted”†”asbuh1hhj«Nh²hh³j¼Nh´MFubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïNh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj«Nh²hh³j¼Nh´MFubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjýNh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj«Nh²hh³j¼Nh´MFubjî)�”}”(hŒ4devm_reset_control_get_optional_exclusive_deasserted”h]”jô)�”}”(hjìNh]”hŒ4devm_reset_control_get_optional_exclusive_deasserted”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj Oubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆu•#h1jíhj«Nh²hh³j¼Nh´MFubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj)Oh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj%OubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6Oh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj%Oubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjGOh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjDOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jIOŒmodname”NŒ classname”Njw jz )�”}”j} ]”jêNŒ6c.devm_reset_control_get_optional_exclusive_deasserted”†”asbuh1hhj%OubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeOh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj%Oubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjsOh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj%Oubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj€Oh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj%Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj!Oubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hj™Oh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj•OubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Oh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj•OubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hj´Oh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj•OubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂOh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj•Oubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÐOh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj•Oubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hjÝOh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj•Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj!Oubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj«Nh²hh³j¼Nh´MFubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj§Nh²hh³j¼Nh´MFubah}”(h]”j¢Nah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j¼Nh´MFhj¤Nh²hubj )�”}”(hhh]”hï)�”}”(hŒRresource managed reset_control_get_optional_exclusive() + reset_control_deassert()”h]”hŒRresource managed reset_control_get_optional_exclusive() + reset_control_deassert()”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MFhjPh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤Nh²hh³j¼Nh´MFubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjPjBjPjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX¡**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed reset_control_get_optional_exclusive() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach. See devm_reset_control_get_optional_exclusive() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj)Ph]”hŒ Parameters”…”�”}”(hj+Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj'Pubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MJhj#Pubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjHPh]”hŒstruct device *dev”…”�”}”(hjJPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjFPubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MIhjBPubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjaPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j]Ph´MIhj^Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjBPubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j]Ph´MIhj?Pubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hj�Ph]”hŒconst char *id”…”�”}”(hjƒPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MJhj{Pubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hjšPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j–Ph´MJhj—Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj{Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j–Ph´MJhj?Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj#Pubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj¼Ph]”hŒ Description”…”�”}”(hj¾Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjºPubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MLhj#Pubhï)�”}”(hŒÔManaged reset_control_get_optional_exclusive() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach.”h]”hŒÔManaged reset_control_get_optional_exclusive() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach.”…”�”}”(hjÒPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MKhj#Pubhï)�”}”(hŒESee devm_reset_control_get_optional_exclusive() for more information.”h]”hŒESee devm_reset_control_get_optional_exclusive() for more information.”…”�”}”(hjáPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MOhj#Pubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ;devm_reset_control_bulk_get_optional_exclusive (C function)”Œ0c.devm_reset_control_bulk_get_optional_exclusive”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ}int devm_reset_control_bulk_get_optional_exclusive (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒ|int devm_reset_control_bulk_get_optional_exclusive(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj Qh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MYubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj Qh²hh³jQh´MYubjî)�”}”(hŒ.devm_reset_control_bulk_get_optional_exclusive”h]”jô)�”}”(hŒ.devm_reset_control_bulk_get_optional_exclusive”h]”hŒ.devm_reset_control_bulk_get_optional_exclusive”…”�”}”(hj1Qh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj-Qubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj Qh²hh³jQh´MYubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjMQh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjIQubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZQh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjIQubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjkQh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjhQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jmQŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j3QsbŒ0c.devm_reset_control_bulk_get_optional_exclusive”†”asbuh1hhjIQubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹Qh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjIQubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj™Qh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjIQubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj¦Qh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjIQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjEQubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj¿Qh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj»QubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍQh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj»Qubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjÛQh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj»Qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjEQubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjôQh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjðQubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjðQubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjRubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jRŒmodname”NŒ classname”Njw jz )�”}”j} ]”j‡QŒ0c.devm_reset_control_bulk_get_optional_exclusive”†”asbuh1hhjðQubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Rh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjðQubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj>Rh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjðQubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hjKRh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjðQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjEQubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj Qh²hh³jQh´MYubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjQh²hh³jQh´MYubah}”(h]”jQah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jQh´MYhjQh²hubj )�”}”(hhh]”hï)�”}”(hŒSubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj"Subeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j=Sh´M]hj­Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj‘Rubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjcSh]”hŒ Description”…”�”}”(hjeSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjaSubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M_hj‘Rubhï)�”}”(hŒ¥Managed reset_control_bulk_get_optional_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ¥Managed reset_control_bulk_get_optional_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjySh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M^hj‘Rubhï)�”}”(hŒESee reset_control_bulk_get_optional_exclusive() for more information.”h]”hŒESee reset_control_bulk_get_optional_exclusive() for more information.”…”�”}”(hjˆSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mbhj‘Rubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ3devm_reset_control_get_optional_shared (C function)”Œ(c.devm_reset_control_get_optional_shared”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒbstruct reset_control * devm_reset_control_get_optional_shared (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒ`struct reset_control *devm_reset_control_get_optional_shared(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj·Sh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj³Sh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MnubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅSh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj³Sh²hh³jÄSh´Mnubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjÖSh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÓSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jØSŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ&devm_reset_control_get_optional_shared”sbŒ(c.devm_reset_control_get_optional_shared”†”asbuh1hhj³Sh²hh³jÄSh´MnubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷Sh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj³Sh²hh³jÄSh´Mnubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj³Sh²hh³jÄSh´Mnubjî)�”}”(hŒ&devm_reset_control_get_optional_shared”h]”jô)�”}”(hjôSh]”hŒ&devm_reset_control_get_optional_shared”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjTubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj³Sh²hh³jÄSh´Mnubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj1Th²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj-TubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>Th²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj-Tubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjOTh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjLTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jQTŒmodname”NŒ classname”Njw jz )�”}”j} ]”jòSŒ(c.devm_reset_control_get_optional_shared”†”asbuh1hhj-TubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmTh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj-Tubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj{Th²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj-Tubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjˆTh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj-Tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj)Tubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hj¡Th²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj�TubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®Th²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj�TubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¼Th²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj�TubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊTh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj�Tubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjØTh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj�Tubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hjåTh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj�Tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj)Tubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj³Sh²hh³jÄSh´Mnubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj¯Sh²hh³jÄSh´Mnubah}”(h]”jªSah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jÄSh´Mnhj¬Sh²hubj )�”}”(hhh]”hï)�”}”(hŒ4resource managed reset_control_get_optional_shared()”h]”hŒ4resource managed reset_control_get_optional_shared()”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mnhj Uh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¬Sh²hh³jÄSh´Mnubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj'UjBj'UjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXb**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed reset_control_get_optional_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_optional_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj1Uh]”hŒ Parameters”…”�”}”(hj3Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/Uubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mrhj+Uubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjPUh]”hŒstruct device *dev”…”�”}”(hjRUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjNUubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MphjJUubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjiUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jeUh´MphjfUubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjJUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jeUh´MphjGUubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hj‰Uh]”hŒconst char *id”…”�”}”(hj‹Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj‡Uubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MqhjƒUubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hj¢Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jžUh´MqhjŸUubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjƒUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jžUh´MqhjGUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj+Uubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjÄUh]”hŒ Description”…”�”}”(hjÆUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÂUubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mshj+Uubhï)�”}”(hŒ�Managed reset_control_get_optional_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ�Managed reset_control_get_optional_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjÚUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mrhj+Uubhï)�”}”(hŒ=See reset_control_get_optional_shared() for more information.”h]”hŒ=See reset_control_get_optional_shared() for more information.”…”�”}”(hjéUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mvhj+Uubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ>devm_reset_control_get_optional_shared_deasserted (C function)”Œ3c.devm_reset_control_get_optional_shared_deasserted”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒmstruct reset_control * devm_reset_control_get_optional_shared_deasserted (struct device *dev, const char *id)”h]”jÅ)�”}”(hŒkstruct reset_control *devm_reset_control_get_optional_shared_deasserted(struct device *dev, const char *id)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjVh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M€ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&Vh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjVh²hh³j%Vh´M€ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hj7Vh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj4Vubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j9VŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ1devm_reset_control_get_optional_shared_deasserted”sbŒ3c.devm_reset_control_get_optional_shared_deasserted”†”asbuh1hhjVh²hh³j%Vh´M€ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXVh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjVh²hh³j%Vh´M€ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjfVh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjVh²hh³j%Vh´M€ubjî)�”}”(hŒ1devm_reset_control_get_optional_shared_deasserted”h]”jô)�”}”(hjUVh]”hŒ1devm_reset_control_get_optional_shared_deasserted”…”�”}”(hjwVh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjsVubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjVh²hh³j%Vh´M€ubj½ )�”}”(hŒ$(struct device *dev, const char *id)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj’Vh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjŽVubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸVh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjŽVubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj°Vh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj­Vubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j²VŒmodname”NŒ classname”Njw jz )�”}”j} ]”jSVŒ3c.devm_reset_control_get_optional_shared_deasserted”†”asbuh1hhjŽVubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎVh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjŽVubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjÜVh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjŽVubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjéVh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjŽVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjŠVubjà )�”}”(hŒconst char *id”h]”(jË)�”}”(hj: h]”hŒconst”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjþVubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjþVubjU )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjþVubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+Wh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjþVubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj9Wh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjþVubjô)�”}”(hŒid”h]”hŒid”…”�”}”(hjFWh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjþVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjŠVubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjVh²hh³j%Vh´M€ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjVh²hh³j%Vh´M€ubah}”(h]”j Vah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j%Vh´M€hj Vh²hubj )�”}”(hhh]”hï)�”}”(hŒOresource managed reset_control_get_optional_shared() + reset_control_deassert()”h]”hŒOresource managed reset_control_get_optional_shared() + reset_control_deassert()”…”�”}”(hjpWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M€hjmWh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Vh²hh³j%Vh´M€ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjˆWjBjˆWjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX›**Parameters** ``struct device *dev`` device to be reset by the controller ``const char *id`` reset line name **Description** Managed reset_control_get_optional_shared() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach. See devm_reset_control_get_optional_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj’Wh]”hŒ Parameters”…”�”}”(hj”Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj�Wubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M„hjŒWubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hj±Wh]”hŒstruct device *dev”…”�”}”(hj³Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¯Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´Mƒhj«Wubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjÊWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÆWh´MƒhjÇWubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj«Wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÆWh´Mƒhj¨Wubjš)�”}”(hŒ#``const char *id`` reset line name ”h]”(j )�”}”(hŒ``const char *id``”h]”jã)�”}”(hjêWh]”hŒconst char *id”…”�”}”(hjìWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjèWubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M„hjäWubjº)�”}”(hhh]”hï)�”}”(hŒreset line name”h]”hŒreset line name”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÿWh´M„hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjäWubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÿWh´M„hj¨Wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjŒWubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj%Xh]”hŒ Description”…”�”}”(hj'Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj#Xubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M†hjŒWubhï)�”}”(hŒÑManaged reset_control_get_optional_shared() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach.”h]”hŒÑManaged reset_control_get_optional_shared() + reset_control_deassert(). For reset controllers returned from this function, reset_control_assert() + reset_control_put() is called automatically on driver detach.”…”�”}”(hj;Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M…hjŒWubhï)�”}”(hŒBSee devm_reset_control_get_optional_shared() for more information.”h]”hŒBSee devm_reset_control_get_optional_shared() for more information.”…”�”}”(hjJXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M‰hjŒWubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ8devm_reset_control_bulk_get_optional_shared (C function)”Œ-c.devm_reset_control_bulk_get_optional_shared”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒzint devm_reset_control_bulk_get_optional_shared (struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”jÅ)�”}”(hŒyint devm_reset_control_bulk_get_optional_shared(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjyXh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjuXh²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M“ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆXh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjuXh²hh³j‡Xh´M“ubjî)�”}”(hŒ+devm_reset_control_bulk_get_optional_shared”h]”jô)�”}”(hŒ+devm_reset_control_bulk_get_optional_shared”h]”hŒ+devm_reset_control_bulk_get_optional_shared”…”�”}”(hjšXh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj–Xubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjuXh²hh³j‡Xh´M“ubj½ )�”}”(hŒJ(struct device *dev, int num_rstcs, struct reset_control_bulk_data *rstcs)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj¶Xh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj²XubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃXh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj²Xubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÔXh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÑXubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jÖXŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jœXsbŒ-c.devm_reset_control_bulk_get_optional_shared”†”asbuh1hhj²XubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôXh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj²Xubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj²Xubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj²Xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj®Xubjà )�”}”(hŒ int num_rstcs”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj(Yh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj$YubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6Yh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj$Yubjô)�”}”(hŒ num_rstcs”h]”hŒ num_rstcs”…”�”}”(hjDYh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj$Yubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj®Xubjà )�”}”(hŒ%struct reset_control_bulk_data *rstcs”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj]Yh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjYYubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjYh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjYYubh)�”}”(hhh]”jô)�”}”(hŒreset_control_bulk_data”h]”hŒreset_control_bulk_data”…”�”}”(hj{Yh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjxYubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j}YŒmodname”NŒ classname”Njw jz )�”}”j} ]”jðXŒ-c.devm_reset_control_bulk_get_optional_shared”†”asbuh1hhjYYubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Yh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjYYubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj§Yh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjYYubjô)�”}”(hŒrstcs”h]”hŒrstcs”…”�”}”(hj´Yh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjYYubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj®Xubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjuXh²hh³j‡Xh´M“ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjqXh²hh³j‡Xh´M“ubah}”(h]”jlXah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j‡Xh´M“hjnXh²hubj )�”}”(hhh]”hï)�”}”(hŒ9resource managed reset_control_bulk_get_optional_shared()”h]”hŒ9resource managed reset_control_bulk_get_optional_shared()”…”�”}”(hjÞYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M“hjÛYh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnXh²hh³j‡Xh´M“ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjöYjBjöYjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXë**Parameters** ``struct device *dev`` device to be reset by the controller ``int num_rstcs`` number of entries in rstcs array ``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set **Description** Managed reset_control_bulk_get_optional_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_bulk_get_optional_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjZh]”hŒ Parameters”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjþYubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M—hjúYubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjZh]”hŒstruct device *dev”…”�”}”(hj!Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjZubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M•hjZubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hj8Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j4Zh´M•hj5Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j4Zh´M•hjZubjš)�”}”(hŒ3``int num_rstcs`` number of entries in rstcs array ”h]”(j )�”}”(hŒ``int num_rstcs``”h]”jã)�”}”(hjXZh]”hŒ int num_rstcs”…”�”}”(hjZZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjVZubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M–hjRZubjº)�”}”(hhh]”hï)�”}”(hŒ number of entries in rstcs array”h]”hŒ number of entries in rstcs array”…”�”}”(hjqZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jmZh´M–hjnZubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjRZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jmZh´M–hjZubjš)�”}”(hŒl``struct reset_control_bulk_data *rstcs`` array of struct reset_control_bulk_data with reset line names set ”h]”(j )�”}”(hŒ)``struct reset_control_bulk_data *rstcs``”h]”jã)�”}”(hj‘Zh]”hŒ%struct reset_control_bulk_data *rstcs”…”�”}”(hj“Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj�Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M—hj‹Zubjº)�”}”(hhh]”hï)�”}”(hŒAarray of struct reset_control_bulk_data with reset line names set”h]”hŒAarray of struct reset_control_bulk_data with reset line names set”…”�”}”(hjªZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¦Zh´M—hj§Zubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj‹Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¦Zh´M—hjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjúYubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjÌZh]”hŒ Description”…”�”}”(hjÎZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÊZubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M™hjúYubhï)�”}”(hŒ¢Managed reset_control_bulk_get_optional_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ¢Managed reset_control_bulk_get_optional_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hjâZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M˜hjúYubhï)�”}”(hŒBSee reset_control_bulk_get_optional_shared() for more information.”h]”hŒBSee reset_control_bulk_get_optional_shared() for more information.”…”�”}”(hjñZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MœhjúYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ6devm_reset_control_get_exclusive_by_index (C function)”Œ+c.devm_reset_control_get_exclusive_by_index”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ`struct reset_control * devm_reset_control_get_exclusive_by_index (struct device *dev, int index)”h]”jÅ)�”}”(hŒ^struct reset_control *devm_reset_control_get_exclusive_by_index(struct device *dev, int index)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj [h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj[h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M§ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.[h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj[h²hh³j-[h´M§ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hj?[h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj<[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jA[Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ)devm_reset_control_get_exclusive_by_index”sbŒ+c.devm_reset_control_get_exclusive_by_index”†”asbuh1hhj[h²hh³j-[h´M§ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`[h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj[h²hh³j-[h´M§ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjn[h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj[h²hh³j-[h´M§ubjî)�”}”(hŒ)devm_reset_control_get_exclusive_by_index”h]”jô)�”}”(hj][h]”hŒ)devm_reset_control_get_exclusive_by_index”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj{[ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj[h²hh³j-[h´M§ubj½ )�”}”(hŒ(struct device *dev, int index)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjš[h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj–[ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§[h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj–[ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj¸[h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjµ[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jº[Œmodname”NŒ classname”Njw jz )�”}”j} ]”j[[Œ+c.devm_reset_control_get_exclusive_by_index”†”asbuh1hhj–[ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ[h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj–[ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjä[h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj–[ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjñ[h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj–[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj’[ubjà )�”}”(hŒ int index”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj \h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj\ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj\ubjô)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj&\h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj’[ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj[h²hh³j-[h´M§ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj[h²hh³j-[h´M§ubah}”(h]”j[ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j-[h´M§hj[h²hubj )�”}”(hhh]”hï)�”}”(hŒ.resource managed reset_control_get_exclusive()”h]”hŒ.resource managed reset_control_get_exclusive()”…”�”}”(hjP\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M§hjM\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj[h²hh³j-[h´M§ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjh\jBjh\jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX_**Parameters** ``struct device *dev`` device to be reset by the controller ``int index`` index of the reset controller **Description** Managed reset_control_get_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_exclusive() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjr\h]”hŒ Parameters”…”�”}”(hjt\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjp\ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M«hjl\ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hj‘\h]”hŒstruct device *dev”…”�”}”(hj“\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj�\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M©hj‹\ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjª\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¦\h´M©hj§\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj‹\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¦\h´M©hjˆ\ubjš)�”}”(hŒ,``int index`` index of the reset controller ”h]”(j )�”}”(hŒ ``int index``”h]”jã)�”}”(hjÊ\h]”hŒ int index”…”�”}”(hjÌ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÈ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´MªhjÄ\ubjº)�”}”(hhh]”hï)�”}”(hŒindex of the reset controller”h]”hŒindex of the reset controller”…”�”}”(hjã\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jß\h´Mªhjà\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÄ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jß\h´Mªhjˆ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjl\ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj]h]”hŒ Description”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¬hjl\ubhï)�”}”(hŒ—Managed reset_control_get_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”h]”hŒ—Managed reset_control_get_exclusive(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach.”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M«hjl\ubhï)�”}”(hŒ7See reset_control_get_exclusive() for more information.”h]”hŒ7See reset_control_get_exclusive() for more information.”…”�”}”(hj*]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¯hjl\ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ3devm_reset_control_get_shared_by_index (C function)”Œ(c.devm_reset_control_get_shared_by_index”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ]struct reset_control * devm_reset_control_get_shared_by_index (struct device *dev, int index)”h]”jÅ)�”}”(hŒ[struct reset_control *devm_reset_control_get_shared_by_index(struct device *dev, int index)”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjY]h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjU]h²hh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¹ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg]h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjU]h²hh³jf]h´M¹ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjx]h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhju]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jz]Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js Œ&devm_reset_control_get_shared_by_index”sbŒ(c.devm_reset_control_get_shared_by_index”†”asbuh1hhjU]h²hh³jf]h´M¹ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™]h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjU]h²hh³jf]h´M¹ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj§]h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjU]h²hh³jf]h´M¹ubjî)�”}”(hŒ&devm_reset_control_get_shared_by_index”h]”jô)�”}”(hj–]h]”hŒ&devm_reset_control_get_shared_by_index”…”�”}”(hj¸]h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj´]ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjU]h²hh³jf]h´M¹ubj½ )�”}”(hŒ(struct device *dev, int index)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÓ]h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjÏ]ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà]h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÏ]ubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjñ]h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjî]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jó]Œmodname”NŒ classname”Njw jz )�”}”j} ]”j”]Œ(c.devm_reset_control_get_shared_by_index”†”asbuh1hhjÏ]ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjÏ]ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjÏ]ubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj*^h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÏ]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjË]ubjà )�”}”(hŒ int index”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjC^h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj?^ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ^h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj?^ubjô)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj_^h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj?^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjË]ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjU]h²hh³jf]h´M¹ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjQ]h²hh³jf]h´M¹ubah}”(h]”jL]ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jf]h´M¹hjN]h²hubj )�”}”(hhh]”hï)�”}”(hŒ)resource managed reset_control_get_shared”h]”hŒ)resource managed reset_control_get_shared”…”�”}”(hj‰^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¹hj†^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjN]h²hh³jf]h´M¹ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj¡^jBj¡^jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXX**Parameters** ``struct device *dev`` device to be reset by the controller ``int index`` index of the reset controller **Description** Managed reset_control_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_shared() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj«^h]”hŒ Parameters”…”�”}”(hj­^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj©^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M½hj¥^ubj•)�”}”(hhh]”(jš)�”}”(hŒ<``struct device *dev`` device to be reset by the controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjÊ^h]”hŒstruct device *dev”…”�”}”(hjÌ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÈ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M»hjÄ^ubjº)�”}”(hhh]”hï)�”}”(hŒ$device to be reset by the controller”h]”hŒ$device to be reset by the controller”…”�”}”(hjã^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jß^h´M»hjà^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÄ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jß^h´M»hjÁ^ubjš)�”}”(hŒ,``int index`` index of the reset controller ”h]”(j )�”}”(hŒ ``int index``”h]”jã)�”}”(hj_h]”hŒ int index”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¼hjý^ubjº)�”}”(hhh]”hï)�”}”(hŒindex of the reset controller”h]”hŒindex of the reset controller”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j_h´M¼hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjý^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j_h´M¼hjÁ^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj¥^ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj>_h]”hŒ Description”…”�”}”(hj@_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj<_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M¾hj¥^ubhï)�”}”(hŒÉManaged reset_control_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_shared() for more information.”h]”hŒÉManaged reset_control_get_shared(). For reset controllers returned from this function, reset_control_put() is called automatically on driver detach. See reset_control_get_shared() for more information.”…”�”}”(hjT_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒW/var/lib/git/docbuild/linux/Documentation/driver-api/reset:188: ./include/linux/reset.h”h´M½hj¥^ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ reset_control_reset (C function)”Œc.reset_control_reset”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ4int reset_control_reset (struct reset_control *rstc)”h]”jÅ)�”}”(hŒ3int reset_control_reset(struct reset_control *rstc)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjƒ_h²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj_h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MgubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’_h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj_h²hh³j‘_h´Mgubjî)�”}”(hŒreset_control_reset”h]”jô)�”}”(hŒreset_control_reset”h]”hŒreset_control_reset”…”�”}”(hj¤_h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj _ubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj_h²hh³j‘_h´Mgubj½ )�”}”(hŒ(struct reset_control *rstc)”h]”jà )�”}”(hŒstruct reset_control *rstc”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjÀ_h²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj¼_ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ_h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj¼_ubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjÞ_h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÛ_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jà_Œmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j¦_sbŒc.reset_control_reset”†”asbuh1hhj¼_ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþ_h²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj¼_ubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj `h²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj¼_ubjô)�”}”(hŒrstc”h]”hŒrstc”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj¼_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj¸_ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj_h²hh³j‘_h´Mgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj{_h²hh³j‘_h´Mgubah}”(h]”jv_ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j‘_h´Mghjx_h²hubj )�”}”(hhh]”hï)�”}”(hŒreset the controlled device”h]”hŒreset the controlled device”…”�”}”(hjC`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mghj@`h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjx_h²hh³j‘_h´Mgubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj[`jBj[`jC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX²**Parameters** ``struct reset_control *rstc`` reset controller **Description** On a shared reset line the actual reset pulse is only triggered once for the lifetime of the reset_control instance: for all but the first caller this is a no-op. Consumers must not use reset_control_(de)assert on shared reset lines when reset_control_reset has been used. If rstc is NULL it is an optional reset and the function will just return 0.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hje`h]”hŒ Parameters”…”�”}”(hjg`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjc`ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mkhj_`ubj•)�”}”(hhh]”jš)�”}”(hŒ0``struct reset_control *rstc`` reset controller ”h]”(j )�”}”(hŒ``struct reset_control *rstc``”h]”jã)�”}”(hj„`h]”hŒstruct reset_control *rstc”…”�”}”(hj†`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj‚`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mhhj~`ubjº)�”}”(hhh]”hï)�”}”(hŒreset controller”h]”hŒreset controller”…”�”}”(hj�`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j™`h´Mhhjš`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj~`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j™`h´Mhhj{`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j”hj_`ubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj¿`h]”hŒ Description”…”�”}”(hjÁ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj½`ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mjhj_`ubhï)�”}”(hXOn a shared reset line the actual reset pulse is only triggered once for the lifetime of the reset_control instance: for all but the first caller this is a no-op. Consumers must not use reset_control_(de)assert on shared reset lines when reset_control_reset has been used.”h]”hXOn a shared reset line the actual reset pulse is only triggered once for the lifetime of the reset_control instance: for all but the first caller this is a no-op. Consumers must not use reset_control_(de)assert on shared reset lines when reset_control_reset has been used.”…”�”}”(hjÕ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mihj_`ubhï)�”}”(hŒLIf rstc is NULL it is an optional reset and the function will just return 0.”h]”hŒLIf rstc is NULL it is an optional reset and the function will just return 0.”…”�”}”(hjä`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mohj_`ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ reset_control_rearm (C function)”Œc.reset_control_rearm”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ4int reset_control_rearm (struct reset_control *rstc)”h]”jÅ)�”}”(hŒ3int reset_control_rearm(struct reset_control *rstc)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjah²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¶ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"ah²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjah²hh³j!ah´M¶ubjî)�”}”(hŒreset_control_rearm”h]”jô)�”}”(hŒreset_control_rearm”h]”hŒreset_control_rearm”…”�”}”(hj4ah²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj0aubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjah²hh³j!ah´M¶ubj½ )�”}”(hŒ(struct reset_control *rstc)”h]”jà )�”}”(hŒstruct reset_control *rstc”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjPah²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjLaubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]ah²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjLaubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjnah²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjkaubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jpaŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j6asbŒc.reset_control_rearm”†”asbuh1hhjLaubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽah²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjLaubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjœah²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjLaubjô)�”}”(hŒrstc”h]”hŒrstc”…”�”}”(hj©ah²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjLaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjHaubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjah²hh³j!ah´M¶ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj ah²hh³j!ah´M¶ubah}”(h]”jaah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j!ah´M¶hjah²hubj )�”}”(hhh]”hï)�”}”(hŒ*allow shared reset line to be re-triggered”h]”hŒ*allow shared reset line to be re-triggered”…”�”}”(hjÓah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¶hjÐah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjah²hh³j!ah´M¶ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjëajBjëajC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX)**Parameters** ``struct reset_control *rstc`` reset controller **Description** On a shared reset line the actual reset pulse is only triggered once for the lifetime of the reset_control instance, except if this call is used. Calls to this function must be balanced with calls to reset_control_reset, a warning is thrown in case triggered_count ever dips below 0. Consumers must not use reset_control_(de)assert on shared reset lines when reset_control_reset or reset_control_rearm have been used. If rstc is NULL the function will just return 0.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjõah]”hŒ Parameters”…”�”}”(hj÷ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjóaubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mºhjïaubj•)�”}”(hhh]”jš)�”}”(hŒ0``struct reset_control *rstc`` reset controller ”h]”(j )�”}”(hŒ``struct reset_control *rstc``”h]”jã)�”}”(hjbh]”hŒstruct reset_control *rstc”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M·hjbubjº)�”}”(hhh]”hï)�”}”(hŒreset controller”h]”hŒreset controller”…”�”}”(hj-bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j)bh´M·hj*bubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j)bh´M·hj bubah}”(h]”h ]”h"]”h$]”h&]”uh1j”hjïaubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjObh]”hŒ Description”…”�”}”(hjQbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjMbubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¹hjïaubhï)�”}”(hŒ‘On a shared reset line the actual reset pulse is only triggered once for the lifetime of the reset_control instance, except if this call is used.”h]”hŒ‘On a shared reset line the actual reset pulse is only triggered once for the lifetime of the reset_control instance, except if this call is used.”…”�”}”(hjebh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¸hjïaubhï)�”}”(hŒ‰Calls to this function must be balanced with calls to reset_control_reset, a warning is thrown in case triggered_count ever dips below 0.”h]”hŒ‰Calls to this function must be balanced with calls to reset_control_reset, a warning is thrown in case triggered_count ever dips below 0.”…”�”}”(hjtbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M»hjïaubhï)�”}”(hŒ…Consumers must not use reset_control_(de)assert on shared reset lines when reset_control_reset or reset_control_rearm have been used.”h]”hŒ…Consumers must not use reset_control_(de)assert on shared reset lines when reset_control_reset or reset_control_rearm have been used.”…”�”}”(hjƒbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¾hjïaubhï)�”}”(hŒ0If rstc is NULL the function will just return 0.”h]”hŒ0If rstc is NULL the function will just return 0.”…”�”}”(hj’bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MÁhjïaubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ!reset_control_assert (C function)”Œc.reset_control_assert”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ5int reset_control_assert (struct reset_control *rstc)”h]”jÅ)�”}”(hŒ4int reset_control_assert(struct reset_control *rstc)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjÁbh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj½bh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MÞubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐbh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj½bh²hh³jÏbh´MÞubjî)�”}”(hŒreset_control_assert”h]”jô)�”}”(hŒreset_control_assert”h]”hŒreset_control_assert”…”�”}”(hjâbh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÞbubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj½bh²hh³jÏbh´MÞubj½ )�”}”(hŒ(struct reset_control *rstc)”h]”jà )�”}”(hŒstruct reset_control *rstc”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjþbh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjúbubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ch²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjúbubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjcubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jcŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jäbsbŒc.reset_control_assert”†”asbuh1hhjúbubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jYgh´M¸hj@gh²hubj )�”}”(hhh]”hï)�”}”(hŒ*acquires a reset control for exclusive use”h]”hŒ*acquires a reset control for exclusive use”…”�”}”(hj hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¸hjhh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@gh²hh³jYgh´M¸ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj#hjBj#hjC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hXä**Parameters** ``struct reset_control *rstc`` reset control **Description** This is used to explicitly acquire a reset control for exclusive use. Note that exclusive resets are requested as acquired by default. In order for a second consumer to be able to control the reset, the first consumer has to release it first. Typically the easiest way to achieve this is to call the reset_control_get_exclusive_released() to obtain an instance of the reset control. Such reset controls are not acquired by default. Consumers implementing shared access to an exclusive reset need to follow a specific protocol in order to work together. Before consumers can change a reset they must acquire exclusive access using reset_control_acquire(). After they are done operating the reset, they must release exclusive access with a call to reset_control_release(). Consumers are not granted exclusive access to the reset as long as another consumer hasn't released a reset. See also: reset_control_release()”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hj-hh]”hŒ Parameters”…”�”}”(hj/hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj+hubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¼hj'hubj•)�”}”(hhh]”jš)�”}”(hŒ-``struct reset_control *rstc`` reset control ”h]”(j )�”}”(hŒ``struct reset_control *rstc``”h]”jã)�”}”(hjLhh]”hŒstruct reset_control *rstc”…”�”}”(hjNhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjJhubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M¹hjFhubjº)�”}”(hhh]”hï)�”}”(hŒ reset control”h]”hŒ reset control”…”�”}”(hjehh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jahh´M¹hjbhubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjFhubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jahh´M¹hjChubah}”(h]”h ]”h"]”h$]”h&]”uh1j”hj'hubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj‡hh]”hŒ Description”…”�”}”(hj‰hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj…hubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´M»hj'hubhï)�”}”(hX¯This is used to explicitly acquire a reset control for exclusive use. Note that exclusive resets are requested as acquired by default. In order for a second consumer to be able to control the reset, the first consumer has to release it first. Typically the easiest way to achieve this is to call the reset_control_get_exclusive_released() to obtain an instance of the reset control. Such reset controls are not acquired by default.”h]”hX¯This is used to explicitly acquire a reset control for exclusive use. Note that exclusive resets are requested as acquired by default. In order for a second consumer to be able to control the reset, the first consumer has to release it first. Typically the easiest way to achieve this is to call the reset_control_get_exclusive_released() to obtain an instance of the reset control. Such reset controls are not acquired by default.”…”�”}”(hj�hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mºhj'hubhï)�”}”(hX¿Consumers implementing shared access to an exclusive reset need to follow a specific protocol in order to work together. Before consumers can change a reset they must acquire exclusive access using reset_control_acquire(). After they are done operating the reset, they must release exclusive access with a call to reset_control_release(). Consumers are not granted exclusive access to the reset as long as another consumer hasn't released a reset.”h]”hXÁConsumers implementing shared access to an exclusive reset need to follow a specific protocol in order to work together. Before consumers can change a reset they must acquire exclusive access using reset_control_acquire(). After they are done operating the reset, they must release exclusive access with a call to reset_control_release(). Consumers are not granted exclusive access to the reset as long as another consumer hasn’t released a reset.”…”�”}”(hj¬hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MÁhj'hubhï)�”}”(hŒ!See also: reset_control_release()”h]”hŒ!See also: reset_control_release()”…”�”}”(hj»hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MÈhj'hubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj‰h²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ"reset_control_release (C function)”Œc.reset_control_release”hNt”auh1j¨hj‰h²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ7void reset_control_release (struct reset_control *rstc)”h]”jÅ)�”}”(hŒ6void reset_control_release(struct reset_control *rstc)”h]”(jU )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjêhh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjæhh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùhh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjæhh²hh³jøhh´Mubjî)�”}”(hŒreset_control_release”h]”jô)�”}”(hŒreset_control_release”h]”hŒreset_control_release”…”�”}”(hj ih²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjiubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjæhh²hh³jøhh´Mubj½ )�”}”(hŒ(struct reset_control *rstc)”h]”jà )�”}”(hŒstruct reset_control *rstc”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj'ih²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj#iubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4ih²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj#iubh)�”}”(hhh]”jô)�”}”(hŒ reset_control”h]”hŒ reset_control”…”�”}”(hjEih²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjBiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jGiŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j isbŒc.reset_control_release”†”asbuh1hhj#iubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeih²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj#iubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjsih²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj#iubjô)�”}”(hŒrstc”h]”hŒrstc”…”�”}”(hj€ih²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj#iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjiubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjæhh²hh³jøhh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjâhh²hh³jøhh´Mubah}”(h]”jÝhah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jøhh´Mhjßhh²hubj )�”}”(hhh]”hï)�”}”(hŒ,releases exclusive access to a reset control”h]”hŒ,releases exclusive access to a reset control”…”�”}”(hjªih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mhj§ih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjßhh²hh³jøhh´Mubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjÂijBjÂijC‰jD‰jE‰uh1j¹h²hhj‰h³Nh´NubjG)�”}”(hX;**Parameters** ``struct reset_control *rstc`` reset control **Description** Releases exclusive access right to a reset control previously obtained by a call to reset_control_acquire(). Until a consumer calls this function, no other consumers will be granted exclusive access. See also: reset_control_acquire()”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÌih]”hŒ Parameters”…”�”}”(hjÎih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjÊiubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MhjÆiubj•)�”}”(hhh]”jš)�”}”(hŒ-``struct reset_control *rstc`` reset control ”h]”(j )�”}”(hŒ``struct reset_control *rstc``”h]”jã)�”}”(hjëih]”hŒstruct reset_control *rstc”…”�”}”(hjíih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjéiubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´Mhjåiubjº)�”}”(hhh]”hï)�”}”(hŒ reset control”h]”hŒ reset control”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jjh´Mhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjåiubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jjh´Mhjâiubah}”(h]”h ]”h"]”h$]”h&]”uh1j”hjÆiubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hj&jh]”hŒ Description”…”�”}”(hj(jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj$jubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:191: ./drivers/reset/core.c”h´MhjÆiubhï)�”}”(hŒÇReleases exclusive access right to a reset control previously obtained by a call to reset_control_acquire(). Until a consumer calls this function, no other consumers will be granted exclusive access.”h]”hŒÇReleases exclusive access right to a reset control previously obtained by a call to reset_control_acquire(). Until a consumer calls this function, no other consumers will be granted exclusive access.”…”�”}”(hj``ops`` a pointer to device specific struct reset_control_ops ”h]”(j )�”}”(hŒ``ops``”h]”jã)�”}”(hj‘rh]”hŒops”…”�”}”(hj“rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj�rubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K$hj‹rubjº)�”}”(hhh]”hï)�”}”(hŒ5a pointer to device specific struct reset_control_ops”h]”hŒ5a pointer to device specific struct reset_control_ops”…”�”}”(hjªrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¦rh´K$hj§rubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj‹rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¦rh´K$hjˆrubjš)�”}”(hŒ7``owner`` kernel module of the reset controller driver ”h]”(j )�”}”(hŒ ``owner``”h]”jã)�”}”(hjÊrh]”hŒowner”…”�”}”(hjÌrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÈrubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K%hjÄrubjº)�”}”(hhh]”hï)�”}”(hŒ,kernel module of the reset controller driver”h]”hŒ,kernel module of the reset controller driver”…”�”}”(hjãrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jßrh´K%hjàrubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÄrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jßrh´K%hjˆrubjš)�”}”(hŒ3``list`` internal list of reset controller devices ”h]”(j )�”}”(hŒ``list``”h]”jã)�”}”(hjsh]”hŒlist”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K&hjýrubjº)�”}”(hhh]”hï)�”}”(hŒ)internal list of reset controller devices”h]”hŒ)internal list of reset controller devices”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jsh´K&hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjýrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jsh´K&hjˆrubjš)�”}”(hŒI``reset_control_head`` head of internal list of requested reset controls ”h]”(j )�”}”(hŒ``reset_control_head``”h]”jã)�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj:subah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K'hj6subjº)�”}”(hhh]”hï)�”}”(hŒ1head of internal list of requested reset controls”h]”hŒ1head of internal list of requested reset controls”…”�”}”(hjUsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jQsh´K'hjRsubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj6subeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jQsh´K'hjˆrubjš)�”}”(hŒ1``dev`` corresponding driver model device struct ”h]”(j )�”}”(hŒ``dev``”h]”jã)�”}”(hjush]”hŒdev”…”�”}”(hjwsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjssubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K(hjosubjº)�”}”(hhh]”hï)�”}”(hŒ(corresponding driver model device struct”h]”hŒ(corresponding driver model device struct”…”�”}”(hjŽsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jŠsh´K(hj‹subah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjosubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jŠsh´K(hjˆrubjš)�”}”(hŒ=``of_node`` corresponding device tree node as phandle target ”h]”(j )�”}”(hŒ ``of_node``”h]”jã)�”}”(hj®sh]”hŒof_node”…”�”}”(hj°sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj¬subah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K)hj¨subjº)�”}”(hhh]”hï)�”}”(hŒ0corresponding device tree node as phandle target”h]”hŒ0corresponding device tree node as phandle target”…”�”}”(hjÇsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÃsh´K)hjÄsubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¨subeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÃsh´K)hjˆrubjš)�”}”(hŒ>``of_reset_n_cells`` number of cells in reset line specifiers ”h]”(j )�”}”(hŒ``of_reset_n_cells``”h]”jã)�”}”(hjçsh]”hŒof_reset_n_cells”…”�”}”(hjésh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjåsubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K*hjásubjº)�”}”(hhh]”hï)�”}”(hŒ(number of cells in reset line specifiers”h]”hŒ(number of cells in reset line specifiers”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jüsh´K*hjýsubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjásubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jüsh´K*hjˆrubjš)�”}”(hŒ‚``of_xlate`` translation function to translate from specifier as found in the device tree to id as given to the reset control ops ”h]”(j )�”}”(hŒ ``of_xlate``”h]”jã)�”}”(hj th]”hŒof_xlate”…”�”}”(hj"th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K,hjtubjº)�”}”(hhh]”hï)�”}”(hŒttranslation function to translate from specifier as found in the device tree to id as given to the reset control ops”h]”hŒttranslation function to translate from specifier as found in the device tree to id as given to the reset control ops”…”�”}”(hj9th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K+hj6tubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j5th´K,hjˆrubjš)�”}”(hŒ5``fwnode`` firmware node associated with this device ”h]”(j )�”}”(hŒ ``fwnode``”h]”jã)�”}”(hjZth]”hŒfwnode”…”�”}”(hj\th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjXtubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K-hjTtubjº)�”}”(hhh]”hï)�”}”(hŒ)firmware node associated with this device”h]”hŒ)firmware node associated with this device”…”�”}”(hjsth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³joth´K-hjptubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjTtubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³joth´K-hjˆrubjš)�”}”(hŒB``fwnode_reset_n_cells`` number of cells in reset line specifiers ”h]”(j )�”}”(hŒ``fwnode_reset_n_cells``”h]”jã)�”}”(hj“th]”hŒfwnode_reset_n_cells”…”�”}”(hj•th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj‘tubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K.hj�tubjº)�”}”(hhh]”hï)�”}”(hŒ(number of cells in reset line specifiers”h]”hŒ(number of cells in reset line specifiers”…”�”}”(hj¬th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¨th´K.hj©tubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj�tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j¨th´K.hjˆrubjš)�”}”(hŒ¤``fwnode_xlate`` translation function to translate from firmware specifier to id as given to the reset control ops, defaults to :c:func:`fwnode_reset_simple_xlate` ”h]”(j )�”}”(hŒ``fwnode_xlate``”h]”jã)�”}”(hjÌth]”hŒ fwnode_xlate”…”�”}”(hjÎth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÊtubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K1hjÆtubjº)�”}”(hhh]”hï)�”}”(hŒ’translation function to translate from firmware specifier to id as given to the reset control ops, defaults to :c:func:`fwnode_reset_simple_xlate`”h]”(hŒotranslation function to translate from firmware specifier to id as given to the reset control ops, defaults to ”…”�”}”(hjåth²hh³Nh´Nubh)�”}”(hŒ#:c:func:`fwnode_reset_simple_xlate`”h]”jã)�”}”(hjïth]”hŒfwnode_reset_simple_xlate()”…”�”}”(hjñth²hh³Nh´Nubah}”(h]”h ]”(jîjïŒc-func”eh"]”h$]”h&]”uh1jâhjítubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jûŒ refdomain”jïŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jw jãojŒfwnode_reset_simple_xlate”uh1hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K/hjåtubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j uh´K/hjâtubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÆtubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³játh´K1hjˆrubjš)�”}”(hŒG``nr_resets`` number of reset controls in this reset controller device ”h]”(j )�”}”(hŒ ``nr_resets``”h]”jã)�”}”(hj%uh]”hŒ nr_resets”…”�”}”(hj'uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj#uubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K2hjuubjº)�”}”(hhh]”hï)�”}”(hŒ8number of reset controls in this reset controller device”h]”hŒ8number of reset controls in this reset controller device”…”�”}”(hj>uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j:uh´K2hj;uubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j:uh´K2hjˆrubjš)�”}”(hŒ?``lock`` protects the reset control list from concurrent access”h]”(j )�”}”(hŒ``lock``”h]”jã)�”}”(hj^uh]”hŒlock”…”�”}”(hj`uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj\uubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K2hjXuubjº)�”}”(hhh]”hï)�”}”(hŒ6protects the reset control list from concurrent access”h]”hŒ6protects the reset control list from concurrent access”…”�”}”(hjwuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/reset:212: ./include/linux/reset-controller.h”h´K3hjtuubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjXuubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jsuh´K2hjˆrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hj@rubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj¬oh²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ&reset_controller_register (C function)”Œc.reset_controller_register”hNt”auh1j¨hj¬oh²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒBint reset_controller_register (struct reset_controller_dev *rcdev)”h]”jÅ)�”}”(hŒAint reset_controller_register(struct reset_controller_dev *rcdev)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hj¸uh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hj´uh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇuh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj´uh²hh³jÆuh´Kubjî)�”}”(hŒreset_controller_register”h]”jô)�”}”(hŒreset_controller_register”h]”hŒreset_controller_register”…”�”}”(hjÙuh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÕuubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhj´uh²hh³jÆuh´Kubj½ )�”}”(hŒ$(struct reset_controller_dev *rcdev)”h]”jà )�”}”(hŒ"struct reset_controller_dev *rcdev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjõuh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjñuubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjñuubh)�”}”(hhh]”jô)�”}”(hŒreset_controller_dev”h]”hŒreset_controller_dev”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jvŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js jÛusbŒc.reset_controller_register”†”asbuh1hhjñuubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(•^@hj3vh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjñuubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjAvh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjñuubjô)�”}”(hŒrcdev”h]”hŒrcdev”…”�”}”(hjNvh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjñuubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjíuubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hj´uh²hh³jÆuh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj°uh²hh³jÆuh´Kubah}”(h]”j«uah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³jÆuh´Khj­uh²hubj )�”}”(hhh]”hï)�”}”(hŒ"register a reset controller device”h]”hŒ"register a reset controller device”…”�”}”(hjxvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´Khjuvh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­uh²hh³jÆuh´Kubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj�vjBj�vjC‰jD‰jE‰uh1j¹h²hhj¬oh³Nh´NubjG)�”}”(hŒm**Parameters** ``struct reset_controller_dev *rcdev`` a pointer to the initialized reset controller device”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjšvh]”hŒ Parameters”…”�”}”(hjœvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj˜vubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´Kƒhj”vubj•)�”}”(hhh]”jš)�”}”(hŒ[``struct reset_controller_dev *rcdev`` a pointer to the initialized reset controller device”h]”(j )�”}”(hŒ&``struct reset_controller_dev *rcdev``”h]”jã)�”}”(hj¹vh]”hŒ"struct reset_controller_dev *rcdev”…”�”}”(hj»vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj·vubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K…hj³vubjº)�”}”(hhh]”hï)�”}”(hŒ4a pointer to the initialized reset controller device”h]”hŒ4a pointer to the initialized reset controller device”…”�”}”(hjÒvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K€hjÏvubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj³vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jÎvh´K…hj°vubah}”(h]”h ]”h"]”h$]”h&]”uh1j”hj”vubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj¬oh²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ(reset_controller_unregister (C function)”Œc.reset_controller_unregister”hNt”auh1j¨hj¬oh²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒEvoid reset_controller_unregister (struct reset_controller_dev *rcdev)”h]”jÅ)�”}”(hŒDvoid reset_controller_unregister(struct reset_controller_dev *rcdev)”h]”(jU )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjwh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K®ubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"wh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjwh²hh³j!wh´K®ubjî)�”}”(hŒreset_controller_unregister”h]”jô)�”}”(hŒreset_controller_unregister”h]”hŒreset_controller_unregister”…”�”}”(hj4wh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj0wubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjwh²hh³j!wh´K®ubj½ )�”}”(hŒ$(struct reset_controller_dev *rcdev)”h]”jà )�”}”(hŒ"struct reset_controller_dev *rcdev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjPwh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjLwubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]wh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjLwubh)�”}”(hhh]”jô)�”}”(hŒreset_controller_dev”h]”hŒreset_controller_dev”…”�”}”(hjnwh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjkwubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jpwŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j6wsbŒc.reset_controller_unregister”†”asbuh1hhjLwubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽwh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjLwubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjœwh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjLwubjô)�”}”(hŒrcdev”h]”hŒrcdev”…”�”}”(hj©wh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjLwubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hjHwubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjwh²hh³j!wh´K®ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhj wh²hh³j!wh´K®ubah}”(h]”jwah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j!wh´K®hjwh²hubj )�”}”(hhh]”hï)�”}”(hŒ$unregister a reset controller device”h]”hŒ$unregister a reset controller device”…”�”}”(hjÓwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K®hjÐwh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwh²hh³j!wh´K®ubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAjëwjBjëwjC‰jD‰jE‰uh1j¹h²hhj¬oh³Nh´NubjG)�”}”(hŒa**Parameters** ``struct reset_controller_dev *rcdev`` a pointer to the reset controller device”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjõwh]”hŒ Parameters”…”�”}”(hj÷wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjówubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K²hjïwubj•)�”}”(hhh]”jš)�”}”(hŒO``struct reset_controller_dev *rcdev`` a pointer to the reset controller device”h]”(j )�”}”(hŒ&``struct reset_controller_dev *rcdev``”h]”jã)�”}”(hjxh]”hŒ"struct reset_controller_dev *rcdev”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K´hjxubjº)�”}”(hhh]”hï)�”}”(hŒ(a pointer to the reset controller device”h]”hŒ(a pointer to the reset controller device”…”�”}”(hj-xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´K¯hj*xubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjxubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j)xh´K´hj xubah}”(h]”h ]”h"]”h$]”h&]”uh1j”hjïwubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj¬oh²hh³Nh´Nubj©)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jµŒ+devm_reset_controller_register (C function)”Œ c.devm_reset_controller_register”hNt”auh1j¨hj¬oh²hh³Nh´Nubjº)�”}”(hhh]”(j¿)�”}”(hŒ[int devm_reset_controller_register (struct device *dev, struct reset_controller_dev *rcdev)”h]”jÅ)�”}”(hŒZint devm_reset_controller_register(struct device *dev, struct reset_controller_dev *rcdev)”h]”(jU )�”}”(hŒint”h]”hŒint”…”�”}”(hjnxh²hh³Nh´Nubah}”(h]”h ]”ja ah"]”h$]”h&]”uh1jT hjjxh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÎubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}xh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjjxh²hh³j|xh´KÎubjî)�”}”(hŒdevm_reset_controller_register”h]”jô)�”}”(hŒdevm_reset_controller_register”h]”hŒdevm_reset_controller_register”…”�”}”(hj�xh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj‹xubah}”(h]”h ]”(jjeh"]”h$]”h&]”hÅhÆuh1jíhjjxh²hh³j|xh´KÎubj½ )�”}”(hŒ8(struct device *dev, struct reset_controller_dev *rcdev)”h]”(jà )�”}”(hŒstruct device *dev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hj«xh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhj§xubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸xh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj§xubh)�”}”(hhh]”jô)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÉxh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjÆxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”jËxŒmodname”NŒ classname”Njw jz )�”}”j} ]”j€ )�”}”js j‘xsbŒ c.devm_reset_controller_register”†”asbuh1hhj§xubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéxh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhj§xubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hj÷xh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hj§xubjô)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj§xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj£xubjà )�”}”(hŒ"struct reset_controller_dev *rcdev”h]”(jË)�”}”(hjÎh]”hŒstruct”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j×ah"]”h$]”h&]”uh1jÊhjyubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*yh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjyubh)�”}”(hhh]”jô)�”}”(hŒreset_controller_dev”h]”hŒreset_controller_dev”…”�”}”(hj;yh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhj8yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jïŒreftype”js Œ reftarget”j=yŒmodname”NŒ classname”Njw jz )�”}”j} ]”jåxŒ c.devm_reset_controller_register”†”asbuh1hhjyubjÝ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYyh²hh³Nh´Nubah}”(h]”h ]”jéah"]”h$]”h&]”uh1jÜhjyubj• )�”}”(hj˜ h]”hŒ*”…”�”}”(hjgyh²hh³Nh´Nubah}”(h]”h ]”j¡ ah"]”h$]”h&]”uh1j” hjyubjô)�”}”(hŒrcdev”h]”hŒrcdev”…”�”}”(hjtyh²hh³Nh´Nubah}”(h]”h ]”jÿah"]”h$]”h&]”uh1jóhjyubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j hj£xubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¼ hjjxh²hh³j|xh´KÎubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjˆuh1jÄjjhjfxh²hh³j|xh´KÎubah}”(h]”jaxah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1j¾h³j|xh´KÎhjcxh²hubj )�”}”(hhh]”hï)�”}”(hŒ,resource managed reset_controller_register()”h]”hŒ,resource managed reset_controller_register()”…”�”}”(hjžyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÎhj›yh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjcxh²hh³j|xh´KÎubeh}”(h]”h ]”(jïŒfunction”eh"]”h$]”h&]”j@jïjAj¶yjBj¶yjC‰jD‰jE‰uh1j¹h²hhj¬oh³Nh´NubjG)�”}”(hX **Parameters** ``struct device *dev`` device that is registering this reset controller ``struct reset_controller_dev *rcdev`` a pointer to the initialized reset controller device **Description** Managed reset_controller_register(). For reset controllers registered by this function, reset_controller_unregister() is automatically called on driver detach. See reset_controller_register() for more information.”h]”(hï)�”}”(hŒ**Parameters**”h]”jQ)�”}”(hjÀyh]”hŒ Parameters”…”�”}”(hjÂyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj¾yubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÒhjºyubj•)�”}”(hhh]”(jš)�”}”(hŒH``struct device *dev`` device that is registering this reset controller ”h]”(j )�”}”(hŒ``struct device *dev``”h]”jã)�”}”(hjßyh]”hŒstruct device *dev”…”�”}”(hjáyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÝyubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÏhjÙyubjº)�”}”(hhh]”hï)�”}”(hŒ0device that is registering this reset controller”h]”hŒ0device that is registering this reset controller”…”�”}”(hjøyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jôyh´KÏhjõyubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÙyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³jôyh´KÏhjÖyubjš)�”}”(hŒ\``struct reset_controller_dev *rcdev`` a pointer to the initialized reset controller device ”h]”(j )�”}”(hŒ&``struct reset_controller_dev *rcdev``”h]”jã)�”}”(hjzh]”hŒ"struct reset_controller_dev *rcdev”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÐhjzubjº)�”}”(hhh]”hï)�”}”(hŒ4a pointer to the initialized reset controller device”h]”hŒ4a pointer to the initialized reset controller device”…”�”}”(hj1zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j-zh´KÐhj.zubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1j™h³j-zh´KÐhjÖyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j”hjºyubhï)�”}”(hŒ**Description**”h]”jQ)�”}”(hjSzh]”hŒ Description”…”�”}”(hjUzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjQzubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÒhjºyubhï)�”}”(hŒÕManaged reset_controller_register(). For reset controllers registered by this function, reset_controller_unregister() is automatically called on driver detach. See reset_controller_register() for more information.”h]”hŒÕManaged reset_controller_register(). For reset controllers registered by this function, reset_controller_unregister() is automatically called on driver detach. See reset_controller_register() for more information.”…”�”}”(hjizh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/reset:215: ./drivers/reset/core.c”h´KÑhjºyubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jFhj¬oh²hh³Nh´Nubeh}”(h]”Œreset-controller-driver-api”ah ]”h"]”Œreset controller driver api”ah$]”h&]”uh1hÈhj@h²hh³hÇh´KÍubeh}”(h]”Œ api-reference”ah ]”h"]”Œ api reference”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K¬ubeh}”(h]”Œreset-controller-api”ah ]”h"]”Œreset controller api”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jºzŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j”zj‘zj)j&j!jj£j j§j¤jÜjÙjjjMjJjtjqj›j˜j=j:j5j2jŒzj‰zj©oj¦oj„zj�zuŒ nametypes”}”(j”z‰j)‰j!‰j£‰j§‰j܉j‰jM‰jt‰j›‰j=‰j5‰jŒz‰j©o‰j„z‰uh}”(j‘zhÊj&hÝjjcj j,j¤jgjÙjªjjßjJjjqjPj˜jwj:j¦j2jÅj‰zj@j¦oj‰j·jÀjRjWj1 j6 jµ jº jMjRj®j³jFjKjíjòjljqjj jejjj j jm"jr"j%j%ju'jz'jå)jê)jU,jZ,j.j„.jÇ0jÌ0j(3j-3j‰5jŽ5j08j58j‘:j–:j8=j==j™?jž?j@BjEBj’Dj—DjóFjøFjšIjŸIjALjFLj¢Nj§NjQjQjªSj¯Sj VjVjlXjqXj[j[jL]jQ]jv_j{_jaj aj´bj¹bjSdjXdjãejèej>gjCgjÝhjâhjmjjrjjÈkjÍkj/nj4nj�zj¬oj pj%pjÕqjÚqj«uj°ujwj wjaxjfxuŒ 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.