€•Œ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”Œ1/translations/zh_CN/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/zh_TW/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/it_IT/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/ja_JP/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/ko_KR/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/pt_BR/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/sp_SP/driver-api/mei/mei-client-bus”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒK/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ.Intel(R) Management Engine (ME) Client bus API”h]”hŒ.Intel(R) Management Engine (ME) Client bus API”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Rationale”h]”hŒ Rationale”…”�”}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´K ubhŒ paragraph”“”)�”}”(hX+The MEI character device is useful for dedicated applications to send and receive data to the many FW appliance found in Intel's ME from the user space. However, for some of the ME functionalities it makes sense to leverage existing software stack and expose them through existing kernel subsystems.”h]”hX-The MEI character device is useful for dedicated applications to send and receive data to the many FW appliance found in Intel’s ME from the user space. However, for some of the ME functionalities it makes sense to leverage existing software stack and expose them through existing kernel subsystems.”…”�”}”(hhðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hhÝh²hubhï)�”}”(hXuIn order to plug seamlessly into the kernel device driver model we add kernel virtual bus abstraction on top of the MEI driver. This allows implementing Linux kernel drivers for the various MEI features as a stand alone entities found in their respective subsystem. Existing device drivers can even potentially be re-used by adding an MEI CL bus layer to the existing code.”h]”hXuIn order to plug seamlessly into the kernel device driver model we add kernel virtual bus abstraction on top of the MEI driver. This allows implementing Linux kernel drivers for the various MEI features as a stand alone entities found in their respective subsystem. Existing device drivers can even potentially be re-used by adding an MEI CL bus layer to the existing code.”…”�”}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KhhÝh²hubeh}”(h]”Œ rationale”ah ]”h"]”Œ rationale”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒMEI CL bus API”h]”hŒMEI CL bus API”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´Kubhï)�”}”(hŒúA driver implementation for an MEI Client is very similar to any other existing bus based device drivers. The driver registers itself as an MEI CL bus driver through the ``struct mei_cl_driver`` structure defined in :file:`include/linux/mei_cl_bus.c`”h]”(hŒªA driver implementation for an MEI Client is very similar to any other existing bus based device drivers. The driver registers itself as an MEI CL bus driver through the ”…”�”}”(hj%h²hh³Nh´NubhŒliteral”“”)�”}”(hŒ``struct mei_cl_driver``”h]”hŒstruct mei_cl_driver”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj%ubhŒ structure defined in ”…”�”}”(hj%h²hh³Nh´Nubj.)�”}”(hŒ":file:`include/linux/mei_cl_bus.c`”h]”hŒinclude/linux/mei_cl_bus.c”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j-hj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjh²hubhŒ literal_block”“”)�”}”(hX struct mei_cl_driver { struct device_driver driver; const char *name; const struct mei_cl_device_id *id_table; int (*probe)(struct mei_cl_device *dev, const struct mei_cl_id *id); int (*remove)(struct mei_cl_device *dev); };”h]”hX struct mei_cl_driver { struct device_driver driver; const char *name; const struct mei_cl_device_id *id_table; int (*probe)(struct mei_cl_device *dev, const struct mei_cl_id *id); int (*remove)(struct mei_cl_device *dev); };”…”�”}”hjZsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒforce”‰Œlanguage”ŒC”Œhighlight_args”}”uh1jXh³hÇh´Khjh²hubhï)�”}”(hŒ‡The mei_cl_device_id structure defined in :file:`include/linux/mod_devicetable.h` allows a driver to bind itself against a device name.”h]”(hŒ*The mei_cl_device_id structure defined in ”…”�”}”(hjmh²hh³Nh´Nubj.)�”}”(hŒ':file:`include/linux/mod_devicetable.h`”h]”hŒinclude/linux/mod_devicetable.h”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j-hjmubhŒ6 allows a driver to bind itself against a device name.”…”�”}”(hjmh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K,hjh²hubjY)�”}”(hŒ”struct mei_cl_device_id { char name[MEI_CL_NAME_SIZE]; uuid_le uuid; __u8 version; kernel_ulong_t driver_info; };”h]”hŒ”struct mei_cl_device_id { char name[MEI_CL_NAME_SIZE]; uuid_le uuid; __u8 version; kernel_ulong_t driver_info; };”…”�”}”hj�sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆjh‰jijjjk}”uh1jXh³hÇh´K/hjh²hubhï)�”}”(hŒ�To actually register a driver on the ME Client bus one must call the :c:func:`mei_cl_add_driver` API. This is typically called at module initialization time.”h]”(hŒETo actually register a driver on the ME Client bus one must call the ”…”�”}”(hjŸh²hh³Nh´Nubh)�”}”(hŒ:c:func:`mei_cl_add_driver`”h]”j.)�”}”(hj©h]”hŒmei_cl_add_driver()”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œc”Œc-func”eh"]”h$]”h&]”uh1j-hj§ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdriver-api/mei/mei-client-bus”Œ refdomain”j¶Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰Œ reftarget”Œmei_cl_add_driver”uh1hh³hÇh´K8hjŸubhŒ= API. This is typically called at module initialization time.”…”�”}”(hjŸh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K8hjh²hubhï)�”}”(hXOnce the driver is registered and bound to the device, a driver will typically try to do some I/O on this bus and this should be done through the :c:func:`mei_cl_send` and :c:func:`mei_cl_recv` functions. More detailed information is in :ref:`api` section.”h]”(hŒ’Once the driver is registered and bound to the device, a driver will typically try to do some I/O on this bus and this should be done through the ”…”�”}”(hjÔh²hh³Nh´Nubh)�”}”(hŒ:c:func:`mei_cl_send`”h]”j.)�”}”(hjÞh]”hŒ mei_cl_send()”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”(jµj¶Œc-func”eh"]”h$]”h&]”uh1j-hjÜubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”j¶Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jÈŒ mei_cl_send”uh1hh³hÇh´K;hjÔubhŒ and ”…”�”}”(hjÔh²hh³Nh´Nubh)�”}”(hŒ:c:func:`mei_cl_recv`”h]”j.)�”}”(hjh]”hŒ mei_cl_recv()”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jµj¶Œc-func”eh"]”h$]”h&]”uh1j-hjÿubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”j¶Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jÈŒ mei_cl_recv”uh1hh³hÇh´K;hjÔubhŒ, functions. More detailed information is in ”…”�”}”(hjÔh²hh³Nh´Nubh)�”}”(hŒ :ref:`api`”h]”hŒinline”“”)�”}”(hj$h]”hŒapi”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”(jµŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j&hj"ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”j2Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjÈŒapi”uh1hh³hÇh´K;hjÔubhŒ section.”…”�”}”(hjÔh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K;hjh²hubhï)�”}”(hŒÖIn order for a driver to be notified about pending traffic or event, the driver should register a callback via :c:func:`mei_cl_devev_register_rx_cb` and :c:func:`mei_cldev_register_notify_cb` function respectively.”h]”(hŒoIn order for a driver to be notified about pending traffic or event, the driver should register a callback via ”…”�”}”(hjNh²hh³Nh´Nubh)�”}”(hŒ%:c:func:`mei_cl_devev_register_rx_cb`”h]”j.)�”}”(hjXh]”hŒmei_cl_devev_register_rx_cb()”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”(jµj¶Œc-func”eh"]”h$]”h&]”uh1j-hjVubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”j¶Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jÈŒmei_cl_devev_register_rx_cb”uh1hh³hÇh´K?hjNubhŒ and ”…”�”}”(hjNh²hh³Nh´Nubh)�”}”(hŒ&:c:func:`mei_cldev_register_notify_cb`”h]”j.)�”}”(hj{h]”hŒmei_cldev_register_notify_cb()”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”(jµj¶Œc-func”eh"]”h$]”h&]”uh1j-hjyubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”j¶Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jÈŒmei_cldev_register_notify_cb”uh1hh³hÇh´K?hjNubhŒ function respectively.”…”�”}”(hjNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K?hjh²hubhŒtarget”“”)�”}”(hŒ.. _api:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œapi”uh1j¢h´KChjh²hh³hÇubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒAPI:”h]”hŒAPI:”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj°h²hh³hÇh´KFubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ mei_cldev_send_vtag (C function)”Œc.mei_cldev_send_vtag”hNt”auh1jÁhj°h²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ`ssize_t mei_cldev_send_vtag (struct mei_cl_device *cldev, const u8 *buf, size_t length, u8 vtag)”h]”hŒdesc_signature_line”“”)�”}”(hŒ_ssize_t mei_cldev_send_vtag(struct mei_cl_device *cldev, const u8 *buf, size_t length, u8 vtag)”h]”(h)�”}”(hhh]”hŒ desc_sig_name”“”)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jæhjãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”Œ identifier”Œ reftarget”jêŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jŒ ASTIdentifier”“”)�”}”jÿŒmei_cldev_send_vtag”sbŒc.mei_cldev_send_vtag”†”asbuh1hhjßh²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jhjßh²hh³jh´MubhŒ desc_name”“”)�”}”(hŒmei_cldev_send_vtag”h]”jç)�”}”(hjh]”hŒmei_cldev_send_vtag”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj&ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j$hjßh²hh³jh´MubhŒdesc_parameterlist”“”)�”}”(hŒD(struct mei_cl_device *cldev, const u8 *buf, size_t length, u8 vtag)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct mei_cl_device *cldev”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jKhjGubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjGubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”joŒmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_vtag”†”asbuh1hhjGubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjGubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j™hjGubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjAubjF)�”}”(hŒ const u8 *buf”h]”(jL)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj¿ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¿ubh)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jäŒmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_vtag”†”asbuh1hhj¿ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¿ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj¿ubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjAubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j9Œmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_vtag”†”asbuh1hhj0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj0ubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjAubjF)�”}”(hŒu8 vtag”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j�Œmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_vtag”†”asbuh1hhjxubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjxubjç)�”}”(hŒvtag”h]”hŒvtag”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjAubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjßh²hh³jh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jÝŒsphinx_line_type”Œ declarator”hjÙh²hh³jh´Mubah}”(h]”jÐah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j×h³jh´MhjÔh²hubhŒ desc_content”“”)�”}”(hhh]”hï)�”}”(hŒ me device send with vtag (write)”h]”hŒ me device send with vtag (write)”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MhjÜh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÔh²hh³jh´Mubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”Œdomain”j¶Œobjtype”j÷Œdesctype”j÷Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jÒh²hhj°h³Nh´NubhŒ container”“”)�”}”(hŒØ**Parameters** ``struct mei_cl_device *cldev`` me client device ``const u8 *buf`` buffer to send ``size_t length`` buffer length ``u8 vtag`` virtual tag **Return** * written size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hj h]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hjubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(hŒterm”“”)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hj0h]”hŒstruct mei_cl_device *cldev”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mhj(ubhŒ definition”“”)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jEh´MhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jEh´Mhj#ubj')�”}”(hŒ!``const u8 *buf`` buffer to send ”h]”(j-)�”}”(hŒ``const u8 *buf``”h]”j.)�”}”(hjkh]”hŒ const u8 *buf”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MhjeubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to send”h]”hŒbuffer to send”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€h´Mhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j€h´Mhj#ubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hj¤h]”hŒ size_t length”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hjžubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¹h´M hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j¹h´M hj#ubj')�”}”(hŒ``u8 vtag`` virtual tag ”h]”(j-)�”}”(hŒ ``u8 vtag``”h]”j.)�”}”(hjÝh]”hŒu8 vtag”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hj×ubjG)�”}”(hhh]”hï)�”}”(hŒ virtual tag”h]”hŒ virtual tag”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jòh´M hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jòh´M hj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hjubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒwritten size in bytes”h]”hï)�”}”(hj7h]”hŒwritten size in bytes”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj0ubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hjOh]”hŒ < 0 on error”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj0ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”j�uh1j.h³jFh´M hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ(mei_cldev_send_vtag_timeout (C function)”Œc.mei_cldev_send_vtag_timeout”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒssize_t mei_cldev_send_vtag_timeout (struct mei_cl_device *cldev, const u8 *buf, size_t length, u8 vtag, unsigned long timeout)”h]”jÞ)�”}”(hŒ~ssize_t mei_cldev_send_vtag_timeout(struct mei_cl_device *cldev, const u8 *buf, size_t length, u8 vtag, unsigned long timeout)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjŒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j‘Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_send_vtag_timeout”sbŒc.mei_cldev_send_vtag_timeout”†”asbuh1hhjˆh²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjˆh²hh³j°h´Mubj%)�”}”(hŒmei_cldev_send_vtag_timeout”h]”jç)�”}”(hj­h]”hŒmei_cldev_send_vtag_timeout”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¿ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjˆh²hh³j°h´Mubj@)�”}”(hŒ[(struct mei_cl_device *cldev, const u8 *buf, size_t length, u8 vtag, unsigned long timeout)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjÚubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÚubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jþŒmodname”NŒ classname”Njj)�”}”j ]”j«Œc.mei_cldev_send_vtag_timeout”†”asbuh1hhjÚubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÚubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÚubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÖubjF)�”}”(hŒ const u8 *buf”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjJubh)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jnŒmodname”NŒ classname”Njj)�”}”j ]”j«Œc.mei_cldev_send_vtag_timeout”†”asbuh1hhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjJubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjJubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÖubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¾ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jÃŒmodname”NŒ classname”Njj)�”}”j ]”j«Œc.mei_cldev_send_vtag_timeout”†”asbuh1hhjºubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjºubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÖubjF)�”}”(hŒu8 vtag”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j Œmodname”NŒ classname”Njj)�”}”j ]”j«Œc.mei_cldev_send_vtag_timeout”†”asbuh1hhjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjubjç)�”}”(hŒvtag”h]”hŒvtag”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÖubjF)�”}”(hŒunsigned long timeout”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jNhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjJubjO)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjJubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjJubjç)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÖubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjˆh²hh³j°h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj„h²hh³j°h´Mubah}”(h]”jah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j°h´Mhj�h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ,me device send with vtag and timeout (write)”h]”hŒ,me device send with vtag and timeout (write)”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mhj°h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj�h²hh³j°h´Mubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjËjýjËjþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hX***Parameters** ``struct mei_cl_device *cldev`` me client device ``const u8 *buf`` buffer to send ``size_t length`` buffer length ``u8 vtag`` virtual tag ``unsigned long timeout`` send timeout in milliseconds, 0 for infinite timeout **Return** * written size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjÕh]”hŒ Parameters”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MhjÏubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjôh]”hŒstruct mei_cl_device *cldev”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MhjîubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j h´Mhjëubj')�”}”(hŒ!``const u8 *buf`` buffer to send ”h]”(j-)�”}”(hŒ``const u8 *buf``”h]”j.)�”}”(hj- h]”hŒ const u8 *buf”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj+ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mhj' ubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to send”h]”hŒbuffer to send”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jB h´MhjC ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj' ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jB h´Mhjëubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hjf h]”hŒ size_t length”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjd ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mhj` ubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j{ h´Mhj| ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj` ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j{ h´Mhjëubj')�”}”(hŒ``u8 vtag`` virtual tag ”h]”(j-)�”}”(hŒ ``u8 vtag``”h]”j.)�”}”(hjŸ h]”hŒu8 vtag”…”�”}”(hj¡ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M hj™ ubjG)�”}”(hhh]”hï)�”}”(hŒ virtual tag”h]”hŒ virtual tag”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j´ h´M hjµ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj™ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j´ h´M hjëubj')�”}”(hŒO``unsigned long timeout`` send timeout in milliseconds, 0 for infinite timeout ”h]”(j-)�”}”(hŒ``unsigned long timeout``”h]”j.)�”}”(hjØ h]”hŒunsigned long timeout”…”�”}”(hjÚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjÖ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M!hjÒ ubjG)�”}”(hhh]”hï)�”}”(hŒ4send timeout in milliseconds, 0 for infinite timeout”h]”hŒ4send timeout in milliseconds, 0 for infinite timeout”…”�”}”(hjñ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jí h´M!hjî ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjÒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jí h´M!hjëubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjÏubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj h]”hŒReturn”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M#hjÏubj/)�”}”(hhh]”(j4)�”}”(hŒwritten size in bytes”h]”hï)�”}”(hj. h]”hŒwritten size in bytes”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M#hj, ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj) ubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hjF h]”hŒ < 0 on error”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M$hjD ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj) ubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³j= h´M#hjÏubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ mei_cldev_recv_vtag (C function)”Œc.mei_cldev_recv_vtag”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ[ssize_t mei_cldev_recv_vtag (struct mei_cl_device *cldev, u8 *buf, size_t length, u8 *vtag)”h]”jÞ)�”}”(hŒZssize_t mei_cldev_recv_vtag(struct mei_cl_device *cldev, u8 *buf, size_t length, u8 *vtag)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj‚ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j‡ Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_recv_vtag”sbŒc.mei_cldev_recv_vtag”†”asbuh1hhj~ h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M2ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj~ h²hh³j¦ h´M2ubj%)�”}”(hŒmei_cldev_recv_vtag”h]”jç)�”}”(hj£ h]”hŒmei_cldev_recv_vtag”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjµ ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj~ h²hh³j¦ h´M2ubj@)�”}”(hŒ?(struct mei_cl_device *cldev, u8 *buf, size_t length, u8 *vtag)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjÐ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÐ ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjï ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jô Œmodname”NŒ classname”Njj)�”}”j ]”j¡ Œc.mei_cldev_recv_vtag”†”asbuh1hhjÐ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÐ ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÐ ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÐ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÌ ubjF)�”}”(hŒu8 *buf”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjD ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jI Œmodname”NŒ classname”Njj)�”}”j ]”j¡ Œc.mei_cldev_recv_vtag”†”asbuh1hhj@ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hje h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj@ ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj@ ubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj@ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÌ ubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjœ h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj™ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jž Œmodname”NŒ classname”Njj)�”}”j ]”j¡ Œc.mei_cldev_recv_vtag”†”asbuh1hhj• ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj• ubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj• ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÌ ubjF)�”}”(hŒu8 *vtag”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjá ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jæ Œmodname”NŒ classname”Njj)�”}”j ]”j¡ Œc.mei_cldev_recv_vtag”†”asbuh1hhjÝ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÝ ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÝ ubjç)�”}”(hŒvtag”h]”hŒvtag”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÝ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjÌ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj~ h²hh³j¦ h´M2ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjz h²hh³j¦ h´M2ubah}”(h]”ju ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j¦ h´M2hjw h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒclient receive with vtag (read)”h]”hŒclient receive with vtag (read)”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M2hjD h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjw h²hh³j¦ h´M2ubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj_ jýj_ jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒÔ**Parameters** ``struct mei_cl_device *cldev`` me client device ``u8 *buf`` buffer to receive ``size_t length`` buffer length ``u8 *vtag`` virtual tag **Return** * read size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hji h]”hŒ Parameters”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjg ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M6hjc ubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjˆ h]”hŒstruct mei_cl_device *cldev”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj† ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M4hj‚ ubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj¡ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j� h´M4hjž ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj‚ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j� h´M4hj ubj')�”}”(hŒ``u8 *buf`` buffer to receive ”h]”(j-)�”}”(hŒ ``u8 *buf``”h]”j.)�”}”(hjÁ h]”hŒu8 *buf”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj¿ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M5hj» ubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to receive”h]”hŒbuffer to receive”…”�”}”(hjÚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÖ h´M5hj× ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj» ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jÖ h´M5hj ubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hjú h]”hŒ size_t length”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjø ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M6hjô ubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´M6hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjô ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j h´M6hj ubj')�”}”(hŒ``u8 *vtag`` virtual tag ”h]”(j-)�”}”(hŒ ``u8 *vtag``”h]”j.)�”}”(hj3 h]”hŒu8 *vtag”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj1 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M7hj- ubjG)�”}”(hhh]”hï)�”}”(hŒ virtual tag”h]”hŒ virtual tag”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jH h´M7hjI ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj- ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jH h´M7hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjc ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjn h]”hŒReturn”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M9hjc ubj/)�”}”(hhh]”(j4)�”}”(hŒread size in bytes”h]”hï)�”}”(hj‰ h]”hŒread size in bytes”…”�”}”(hj‹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M9hj‡ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj„ ubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hj¡ h]”hŒ < 0 on error”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M:hjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj„ ubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³j˜ h´M9hjc ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ#mei_cldev_recv_timeout (C function)”Œc.mei_cldev_recv_timeout”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒkssize_t mei_cldev_recv_timeout (struct mei_cl_device *cldev, u8 *buf, size_t length, unsigned long timeout)”h]”jÞ)�”}”(hŒjssize_t mei_cldev_recv_timeout(struct mei_cl_device *cldev, u8 *buf, size_t length, unsigned long timeout)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÝ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jâ Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_recv_timeout”sbŒc.mei_cldev_recv_timeout”†”asbuh1hhjÙ h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MHubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÙ h²hh³jh´MHubj%)�”}”(hŒmei_cldev_recv_timeout”h]”jç)�”}”(hjþ h]”hŒmei_cldev_recv_timeout”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjÙ h²hh³jh´MHubj@)�”}”(hŒL(struct mei_cl_device *cldev, u8 *buf, size_t length, unsigned long timeout)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj+ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj+ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jOŒmodname”NŒ classname”Njj)�”}”j ]”jü Œc.mei_cldev_recv_timeout”†”asbuh1hhj+ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj+ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj+ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj'ubjF)�”}”(hŒu8 *buf”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j¤Œmodname”NŒ classname”Njj)�”}”j ]”jü Œc.mei_cldev_recv_timeout”†”asbuh1hhj›ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj›ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj›ubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj'ubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjôubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jùŒmodname”NŒ classname”Njj)�”}”j ]”jü Œc.mei_cldev_recv_timeout”†”asbuh1hhjðubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjðubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj'ubjF)�”}”(hŒunsigned long timeout”h]”(jO)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj8ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj8ubjO)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj8ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj8ubjç)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj'ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjÙ h²hh³jh´MHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjÕ h²hh³jh´MHubah}”(h]”jÐ ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jh´MHhjÒ h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ"client receive with timeout (read)”h]”hŒ"client receive with timeout (read)”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MHhj›h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÒ h²hh³jh´MHubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj¶jýj¶jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hX **Parameters** ``struct mei_cl_device *cldev`` me client device ``u8 *buf`` buffer to receive ``size_t length`` buffer length ``unsigned long timeout`` send timeout in milliseconds, 0 for infinite timeout **Return** * read size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjÀh]”hŒ Parameters”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MLhjºubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjßh]”hŒstruct mei_cl_device *cldev”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MJhjÙubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jôh´MJhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jôh´MJhjÖubj')�”}”(hŒ``u8 *buf`` buffer to receive ”h]”(j-)�”}”(hŒ ``u8 *buf``”h]”j.)�”}”(hjh]”hŒu8 *buf”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MKhjubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to receive”h]”hŒbuffer to receive”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j-h´MKhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j-h´MKhjÖubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hjQh]”hŒ size_t length”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MLhjKubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jfh´MLhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jfh´MLhjÖubj')�”}”(hŒO``unsigned long timeout`` send timeout in milliseconds, 0 for infinite timeout ”h]”(j-)�”}”(hŒ``unsigned long timeout``”h]”j.)�”}”(hjŠh]”hŒunsigned long timeout”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MMhj„ubjG)�”}”(hhh]”hï)�”}”(hŒ4send timeout in milliseconds, 0 for infinite timeout”h]”hŒ4send timeout in milliseconds, 0 for infinite timeout”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jŸh´MMhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jŸh´MMhjÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjºubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjÅh]”hŒReturn”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MOhjºubj/)�”}”(hhh]”(j4)�”}”(hŒread size in bytes”h]”hï)�”}”(hjàh]”hŒread size in bytes”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MOhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjÛubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hjøh]”hŒ < 0 on error”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MPhjöubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjÛubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³jïh´MOhjºubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ(mei_cldev_recv_vtag_timeout (C function)”Œc.mei_cldev_recv_vtag_timeout”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒzssize_t mei_cldev_recv_vtag_timeout (struct mei_cl_device *cldev, u8 *buf, size_t length, u8 *vtag, unsigned long timeout)”h]”jÞ)�”}”(hŒyssize_t mei_cldev_recv_vtag_timeout(struct mei_cl_device *cldev, u8 *buf, size_t length, u8 *vtag, unsigned long timeout)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j9Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_recv_vtag_timeout”sbŒc.mei_cldev_recv_vtag_timeout”†”asbuh1hhj0h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M[ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj0h²hh³jXh´M[ubj%)�”}”(hŒmei_cldev_recv_vtag_timeout”h]”jç)�”}”(hjUh]”hŒmei_cldev_recv_vtag_timeout”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjgubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj0h²hh³jXh´M[ubj@)�”}”(hŒV(struct mei_cl_device *cldev, u8 *buf, size_t length, u8 *vtag, unsigned long timeout)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj‚ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj‚ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j¦Œmodname”NŒ classname”Njj)�”}”j ]”jSŒc.mei_cldev_recv_vtag_timeout”†”asbuh1hhj‚ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj‚ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj‚ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj~ubjF)�”}”(hŒu8 *buf”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjöubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jûŒmodname”NŒ classname”Njj)�”}”j ]”jSŒc.mei_cldev_recv_vtag_timeout”†”asbuh1hhjòubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjòubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjòubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj~ubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jPŒmodname”NŒ classname”Njj)�”}”j ]”jSŒc.mei_cldev_recv_vtag_timeout”†”asbuh1hhjGubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjGubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj~ubjF)�”}”(hŒu8 *vtag”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj“ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j˜Œmodname”NŒ classname”Njj)�”}”j ]”jSŒc.mei_cldev_recv_vtag_timeout”†”asbuh1hhj�ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj�ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj�ubjç)�”}”(hŒvtag”h]”hŒvtag”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj~ubjF)�”}”(hŒunsigned long timeout”h]”(jO)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjäubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjäubjO)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjäubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjäubjç)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjäubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj~ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj0h²hh³jXh´M[ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj,h²hh³jXh´M[ubah}”(h]”j'ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jXh´M[hj)h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒclient receive with vtag (read)”h]”hŒclient receive with vtag (read)”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M[hjGh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj)h²hh³jXh´M[ubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjbjýjbjþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hX&**Parameters** ``struct mei_cl_device *cldev`` me client device ``u8 *buf`` buffer to receive ``size_t length`` buffer length ``u8 *vtag`` virtual tag ``unsigned long timeout`` recv timeout in milliseconds, 0 for infinite timeout **Return** * read size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjlh]”hŒ Parameters”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M_hjfubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hj‹h]”hŒstruct mei_cl_device *cldev”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M]hj…ubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´M]hj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j h´M]hj‚ubj')�”}”(hŒ``u8 *buf`` buffer to receive ”h]”(j-)�”}”(hŒ ``u8 *buf``”h]”j.)�”}”(hjÄh]”hŒu8 *buf”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M^hj¾ubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to receive”h]”hŒbuffer to receive”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÙh´M^hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jÙh´M^hj‚ubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hjýh]”hŒ size_t length”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M_hj÷ubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh´M_hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jh´M_hj‚ubj')�”}”(hŒ``u8 *vtag`` virtual tag ”h]”(j-)�”}”(hŒ ``u8 *vtag``”h]”j.)�”}”(hj6h]”hŒu8 *vtag”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M`hj0ubjG)�”}”(hhh]”hï)�”}”(hŒ virtual tag”h]”hŒ virtual tag”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jKh´M`hjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jKh´M`hj‚ubj')�”}”(hŒO``unsigned long timeout`` recv timeout in milliseconds, 0 for infinite timeout ”h]”(j-)�”}”(hŒ``unsigned long timeout``”h]”j.)�”}”(hjoh]”hŒunsigned long timeout”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MahjiubjG)�”}”(hhh]”hï)�”}”(hŒ4recv timeout in milliseconds, 0 for infinite timeout”h]”hŒ4recv timeout in milliseconds, 0 for infinite timeout”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j„h´Mahj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjiubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j„h´Mahj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjfubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjªh]”hŒReturn”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mchjfubj/)�”}”(hhh]”(j4)�”}”(hŒread size in bytes”h]”hï)�”}”(hjÅh]”hŒread size in bytes”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MchjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjÀubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hjÝh]”hŒ < 0 on error”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MdhjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjÀubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³jÔh´Mchjfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_send (C function)”Œc.mei_cldev_send”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒRssize_t mei_cldev_send (struct mei_cl_device *cldev, const u8 *buf, size_t length)”h]”jÞ)�”}”(hŒQssize_t mei_cldev_send(struct mei_cl_device *cldev, const u8 *buf, size_t length)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jŒmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_send”sbŒc.mei_cldev_send”†”asbuh1hhjh²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mrubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjh²hh³j=h´Mrubj%)�”}”(hŒmei_cldev_send”h]”jç)�”}”(hj:h]”hŒmei_cldev_send”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjLubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjh²hh³j=h´Mrubj@)�”}”(hŒ;(struct mei_cl_device *cldev, const u8 *buf, size_t length)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjgubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjgubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj†ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j‹Œmodname”NŒ classname”Njj)�”}”j ]”j8Œc.mei_cldev_send”†”asbuh1hhjgubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjgubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjgubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjcubjF)�”}”(hŒ const u8 *buf”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj×ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj×ubh)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjöubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jûŒmodname”NŒ classname”Njj)�”}”j ]”j8Œc.mei_cldev_send”†”asbuh1hhj×ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj×ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj×ubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjcubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jPŒmodname”NŒ classname”Njj)�”}”j ]”j8Œc.mei_cldev_send”†”asbuh1hhjGubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjGubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjGubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjcubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjh²hh³j=h´Mrubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjh²hh³j=h´Mrubah}”(h]”j ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j=h´Mrhjh²hubjÛ)�”}”(hhh]”hï)�”}”(hŒme device send (write)”h]”hŒme device send (write)”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mrhj¡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjh²hh³j=h´Mrubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj¼jýj¼jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒ½**Parameters** ``struct mei_cl_device *cldev`` me client device ``const u8 *buf`` buffer to send ``size_t length`` buffer length **Return** * written size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjÆh]”hŒ Parameters”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MvhjÀubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjåh]”hŒstruct mei_cl_device *cldev”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MthjßubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³júh´Mthjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³júh´MthjÜubj')�”}”(hŒ!``const u8 *buf`` buffer to send ”h]”(j-)�”}”(hŒ``const u8 *buf``”h]”j.)�”}”(hjh]”hŒ const u8 *buf”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MuhjubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to send”h]”hŒbuffer to send”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j3h´Muhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j3h´MuhjÜubj')�”}”(hŒ ``size_t length`` buffer length ”h•]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hjWh]”hŒ size_t length”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MvhjQubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jlh´Mvhjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jlh´MvhjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjÀubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj’h]”hŒReturn”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MxhjÀubj/)�”}”(hhh]”(j4)�”}”(hŒwritten size in bytes”h]”hï)�”}”(hj­h]”hŒwritten size in bytes”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mxhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj¨ubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hjÅh]”hŒ < 0 on error”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MyhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj¨ubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³j¼h´MxhjÀubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ#mei_cldev_send_timeout (C function)”Œc.mei_cldev_send_timeout”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒqssize_t mei_cldev_send_timeout (struct mei_cl_device *cldev, const u8 *buf, size_t length, unsigned long timeout)”h]”jÞ)�”}”(hŒpssize_t mei_cldev_send_timeout(struct mei_cl_device *cldev, const u8 *buf, size_t length, unsigned long timeout)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jŒmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_send_timeout”sbŒc.mei_cldev_send_timeout”†”asbuh1hhjýh²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mƒubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjýh²hh³j%h´Mƒubj%)�”}”(hŒmei_cldev_send_timeout”h]”jç)�”}”(hj"h]”hŒmei_cldev_send_timeout”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj4ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjýh²hh³j%h´Mƒubj@)�”}”(hŒR(struct mei_cl_device *cldev, const u8 *buf, size_t length, unsigned long timeout)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjOubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjOubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jsŒmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_timeout”†”asbuh1hhjOubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjOubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjOubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjKubjF)�”}”(hŒ const u8 *buf”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj¿ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¿ubh)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÞubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jãŒmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_timeout”†”asbuh1hhj¿ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¿ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj¿ubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjKubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j8Œmodname”NŒ classname”Njj)�”}”j ]”j Œc.mei_cldev_send_timeout”†”asbuh1hhj/ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj/ubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjKubjF)�”}”(hŒunsigned long timeout”h]”(jO)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjwubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjwubjO)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjwubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjwubjç)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjwubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjKubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjýh²hh³j%h´Mƒubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjùh²hh³j%h´Mƒubah}”(h]”jôah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j%h´Mƒhjöh²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ#me device send with timeout (write)”h]”hŒ#me device send with timeout (write)”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MƒhjÚh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjöh²hh³j%h´Mƒubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjõjýjõjþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hX**Parameters** ``struct mei_cl_device *cldev`` me client device ``const u8 *buf`` buffer to send ``size_t length`` buffer length ``unsigned long timeout`` send timeout in milliseconds, 0 for infinite timeout **Return** * written size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjÿh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‡hjùubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjh]”hŒstruct mei_cl_device *cldev”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M…hjubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j3h´M…hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j3h´M…hjubj')�”}”(hŒ!``const u8 *buf`` buffer to send ”h]”(j-)�”}”(hŒ``const u8 *buf``”h]”j.)�”}”(hjWh]”hŒ const u8 *buf”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M†hjQubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to send”h]”hŒbuffer to send”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jlh´M†hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jlh´M†hjubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hj�h]”hŒ size_t length”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‡hjŠubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¥h´M‡hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j¥h´M‡hjubj')�”}”(hŒO``unsigned long timeout`` send timeout in milliseconds, 0 for infinite timeout ”h]”(j-)�”}”(hŒ``unsigned long timeout``”h]”j.)�”}”(hjÉh]”hŒunsigned long timeout”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MˆhjÃubjG)�”}”(hhh]”hï)�”}”(hŒ4send timeout in milliseconds, 0 for infinite timeout”h]”hŒ4send timeout in milliseconds, 0 for infinite timeout”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÞh´Mˆhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jÞh´Mˆhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjùubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MŠhjùubj/)�”}”(hhh]”(j4)�”}”(hŒwritten size in bytes”h]”hï)�”}”(hjh]”hŒwritten size in bytes”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MŠhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hj7h]”hŒ < 0 on error”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‹hj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³j.h´MŠhjùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_recv (C function)”Œc.mei_cldev_recv”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒLssize_t mei_cldev_recv (struct mei_cl_device *cldev, u8 *buf, size_t length)”h]”jÞ)�”}”(hŒKssize_t mei_cldev_recv(struct mei_cl_device *cldev, u8 *buf, size_t length)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjsubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jxŒmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_recv”sbŒc.mei_cldev_recv”†”asbuh1hhjoh²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M–ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjoh²hh³j—h´M–ubj%)�”}”(hŒmei_cldev_recv”h]”jç)�”}”(hj”h]”hŒmei_cldev_recv”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¦ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjoh²hh³j—h´M–ubj@)�”}”(hŒ5(struct mei_cl_device *cldev, u8 *buf, size_t length)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjÁubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÁubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjàubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jåŒmodname”NŒ classname”Njj)�”}”j ]”j’Œc.mei_cldev_recv”†”asbuh1hhjÁubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÁubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÁubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÁubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj½ubjF)�”}”(hŒu8 *buf”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j:Œmodname”NŒ classname”Njj)�”}”j ]”j’Œc.mei_cldev_recv”†”asbuh1hhj1ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj1ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj1ubjç)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj½ubjF)�”}”(hŒ size_t length”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j�Œmodname”NŒ classname”Njj)�”}”j ]”j’Œc.mei_cldev_recv”†”asbuh1hhj†ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj†ubjç)�”}”(hŒlength”h]”hŒlength”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj½ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjoh²hh³j—h´M–ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjkh²hh³j—h´M–ubah}”(h]”jfah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j—h´M–hjhh²hubjÛ)�”}”(hhh]”hï)�”}”(hŒclient receive (read)”h]”hŒclient receive (read)”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M–hjàh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjhh²hh³j—h´M–ubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjûjýjûjþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒ¶**Parameters** ``struct mei_cl_device *cldev`` me client device ``u8 *buf`` buffer to receive ``size_t length`` buffer length **Return** read size in bytes of < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mšhjÿubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hj$h]”hŒstruct mei_cl_device *cldev”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M˜hjubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j9h´M˜hj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j9h´M˜hjubj')�”}”(hŒ``u8 *buf`` buffer to receive ”h]”(j-)�”}”(hŒ ``u8 *buf``”h]”j.)�”}”(hj]h]”hŒu8 *buf”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M™hjWubjG)�”}”(hhh]”hï)�”}”(hŒbuffer to receive”h]”hŒbuffer to receive”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jrh´M™hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjWubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jrh´M™hjubj')�”}”(hŒ ``size_t length`` buffer length ”h]”(j-)�”}”(hŒ``size_t length``”h]”j.)�”}”(hj–h]”hŒ size_t length”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mšhj�ubjG)�”}”(hhh]”hï)�”}”(hŒ buffer length”h]”hŒ buffer length”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j«h´Mšhj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j«h´Mšhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjÿubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjÑh]”hŒReturn”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mœhjÿubhï)�”}”(hŒ"read size in bytes of < 0 on error”h]”hŒ"read size in bytes of < 0 on error”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mœhjÿubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ%mei_cldev_register_rx_cb (C function)”Œc.mei_cldev_register_rx_cb”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒPint mei_cldev_register_rx_cb (struct mei_cl_device *cldev, mei_cldev_cb_t rx_cb)”h]”jÞ)�”}”(hŒOint mei_cldev_register_rx_cb(struct mei_cl_device *cldev, mei_cldev_cb_t rx_cb)”h]”(jO)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjh²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Møubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjh²hh³j$h´Møubj%)�”}”(hŒmei_cldev_register_rx_cb”h]”jç)�”}”(hŒmei_cldev_register_rx_cb”h]”hŒmei_cldev_register_rx_cb”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj3ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjh²hh³j$h´Møubj@)�”}”(hŒ3(struct mei_cl_device *cldev, mei_cldev_cb_t rx_cb)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjOubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjOubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jsŒmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿj9sbŒc.mei_cldev_register_rx_cb”†”asbuh1hhjOubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjOubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjOubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjKubjF)�”}”(hŒmei_cldev_cb_t rx_cb”h]”(h)�”}”(hhh]”jç)�”}”(hŒmei_cldev_cb_t”h]”hŒmei_cldev_cb_t”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÅubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jÊŒmodname”NŒ classname”Njj)�”}”j ]”j�Œc.mei_cldev_register_rx_cb”†”asbuh1hhjÁubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÁubjç)�”}”(hŒrx_cb”h]”hŒrx_cb”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÁubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjKubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjh²hh³j$h´Møubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjh²hh³j$h´Møubah}”(h]”j ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j$h´Møhj h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒregister Rx event callback”h]”hŒregister Rx event callback”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Møhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj h²hh³j$h´Møubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj6jýj6jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒÍ**Parameters** ``struct mei_cl_device *cldev`` me client devices ``mei_cldev_cb_t rx_cb`` callback function **Return** 0 on success -EALREADY if an callback is already registered <0 on other errors”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hj@h]”hŒ Parameters”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mühj:ubj")�”}”(hhh]”(j')�”}”(hŒ2``struct mei_cl_device *cldev`` me client devices ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hj_h]”hŒstruct mei_cl_device *cldev”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MúhjYubjG)�”}”(hhh]”hï)�”}”(hŒme client devices”h]”hŒme client devices”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jth´Múhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jth´MúhjVubj')�”}”(hŒ+``mei_cldev_cb_t rx_cb`` callback function ”h]”(j-)�”}”(hŒ``mei_cldev_cb_t rx_cb``”h]”j.)�”}”(hj˜h]”hŒmei_cldev_cb_t rx_cb”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mûhj’ubjG)�”}”(hhh]”hï)�”}”(hŒcallback function”h]”hŒcallback function”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j­h´Mûhj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j­h´MûhjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hj:ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjÓh]”hŒReturn”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mýhj:ubhï)�”}”(hŒN0 on success -EALREADY if an callback is already registered <0 on other errors”h]”hŒN0 on success -EALREADY if an callback is already registered <0 on other errors”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mýhj:ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ(mei_cldev_register_notif_cb (C function)”Œc.mei_cldev_register_notif_cb”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒVint mei_cldev_register_notif_cb (struct mei_cl_device *cldev, mei_cldev_cb_t notif_cb)”h]”jÞ)�”}”(hŒUint mei_cldev_register_notif_cb(struct mei_cl_device *cldev, mei_cldev_cb_t notif_cb)”h]”(jO)�”}”(hŒint”h]”hŒint”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj h²hh³j& h´Mubj%)�”}”(hŒmei_cldev_register_notif_cb”h]”jç)�”}”(hŒmei_cldev_register_notif_cb”h]”hŒmei_cldev_register_notif_cb”…”�”}”(hj9 h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj5 ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj h²hh³j& h´Mubj@)�”}”(hŒ6(struct mei_cl_device *cldev, mei_cldev_cb_t notif_cb)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjQ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjQ ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjp ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”ju Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿj; sbŒc.mei_cldev_register_notif_cb”†”asbuh1hhjQ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjQ ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj¡ h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjQ ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjQ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjM ubjF)�”}”(hŒmei_cldev_cb_t notif_cb”h]”(h)�”}”(hhh]”jç)�”}”(hŒmei_cldev_cb_t”h]”hŒmei_cldev_cb_t”…”�”}”(hjÊ h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÇ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jÌ Œmodname”NŒ classname”Njj)�”}”j ]”j� Œc.mei_cldev_register_notif_cb”†”asbuh1hhjà ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjà ubjç)�”}”(hŒnotif_cb”h]”hŒnotif_cb”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjà ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjM ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj h²hh³j& h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj h²hh³j& h´Mubah}”(h]”j ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j& h´Mhj h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ'register FW notification event callback”h]”hŒ'register FW notification event callback”…”�”}”(hj !h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mhj!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj h²hh³j& h´Mubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj8!jýj8!jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒÐ**Parameters** ``struct mei_cl_device *cldev`` me client devices ``mei_cldev_cb_t notif_cb`` callback function **Return** 0 on success -EALREADY if an callback is already registered <0 on other errors”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjB!h]”hŒ Parameters”…”�”}”(hjD!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj@!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M#hjvoid *mei_cldev_get_drvdata(const struct mei_cl_device *cldev)”h]”(jO)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj"h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MEubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj"h²hh³j("h´MEubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj7"h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj"h²hh³j("h´MEubj%)�”}”(hŒmei_cldev_get_drvdata”h]”jç)�”}”(hŒmei_cldev_get_drvdata”h]”hŒmei_cldev_get_drvdata”…”�”}”(hjH"h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjD"ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj"h²hh³j("h´MEubj@)�”}”(hŒ#(const struct mei_cl_device *cldev)”h]”jF)�”}”(hŒ!const struct mei_cl_device *cldev”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hjd"h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj`"ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj`"ubjL)�”}”(hjOh]”hŒstruct”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj`"ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj`"ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hj�"h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjš"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jŸ"Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿjJ"sbŒc.mei_cldev_get_drvdata”†”asbuh1hhj`"ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj`"ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjË"h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj`"ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjØ"h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj`"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj\"ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj"h²hh³j("h´MEubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj"h²hh³j("h´MEubah}”(h]”j "ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j("h´MEhj"h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒdriver data getter”h]”hŒdriver data getter”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MEhjÿ"h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj"h²hh³j("h´MEubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj#jýj#jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒj**Parameters** ``const struct mei_cl_device *cldev`` mei client device **Return** driver private data”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hj$#h]”hŒ Parameters”…”�”}”(hj&#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj"#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MIhj#ubj")�”}”(hhh]”j')�”}”(hŒ8``const struct mei_cl_device *cldev`` mei client device ”h]”(j-)�”}”(hŒ%``const struct mei_cl_device *cldev``”h]”j.)�”}”(hjC#h]”hŒ!const struct mei_cl_device *cldev”…”�”}”(hjE#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjA#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MGhj=#ubjG)�”}”(hhh]”hï)�”}”(hŒmei client device”h]”hŒmei client device”…”�”}”(hj\#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jX#h´MGhjY#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj=#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jX#h´MGhj:#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hj#ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj~#h]”hŒReturn”…”�”}”(hj€#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj|#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MIhj#ubhï)�”}”(hŒdriver private data”h]”hŒdriver private data”…”�”}”(hj”#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MIhj#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ"mei_cldev_set_drvdata (C function)”Œc.mei_cldev_set_drvdata”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒDvoid mei_cldev_set_drvdata (struct mei_cl_device *cldev, void *data)”h]”jÞ)�”}”(hŒCvoid mei_cldev_set_drvdata(struct mei_cl_device *cldev, void *data)”h]”(jO)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÃ#h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhj¿#h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MRubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ#h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¿#h²hh³jÑ#h´MRubj%)�”}”(hŒmei_cldev_set_drvdata”h]”jç)�”}”(hŒmei_cldev_set_drvdata”h]”hŒmei_cldev_set_drvdata”…”�”}”(hjä#h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjà#ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj¿#h²hh³jÑ#h´MRubj@)�”}”(hŒ)(struct mei_cl_device *cldev, void *data)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjü#ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj $h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjü#ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j $Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿjæ#sbŒc.mei_cldev_set_drvdata”†”asbuh1hhjü#ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>$h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjü#ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjL$h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjü#ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjY$h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjü#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjø#ubjF)�”}”(hŒ void *data”h]”(jO)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjr$h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjn$ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€$h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjn$ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjŽ$h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjn$ubjç)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj›$h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjn$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjø#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj¿#h²hh³jÑ#h´MRubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj»#h²hh³jÑ#h´MRubah}”(h]”j¶#ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jÑ#h´MRhj¸#h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒdriver data setter”h]”hŒdriver data setter”…”�”}”(hjÅ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MRhjÂ$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj¸#h²hh³jÑ#h´MRubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjÝ$jýjÝ$jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒc**Parameters** ``struct mei_cl_device *cldev`` mei client device ``void *data`` data to store”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjç$h]”hŒ Parameters”…”�”}”(hjé$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjå$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MVhjá$ubj")�”}”(hhh]”(j')�”}”(hŒ2``struct mei_cl_device *cldev`` mei client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hj%h]”hŒstruct mei_cl_device *cldev”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MThj%ubjG)�”}”(hhh]”hï)�”}”(hŒmei client device”h]”hŒmei client device”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j%h´MThj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j%h´MThjý$ubj')�”}”(hŒ``void *data`` data to store”h]”(j-)�”}”(hŒ``void *data``”h]”j.)�”}”(hj?%h]”hŒ void *data”…”�”}”(hjA%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj=%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MVhj9%ubjG)�”}”(hhh]”hï)�”}”(hŒ data to store”h]”hŒ data to store”…”�”}”(hjX%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MUhjU%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj9%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jT%h´MVhjý$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hjá$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_uuid (C function)”Œc.mei_cldev_uuid”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒBconst uuid_le * mei_cldev_uuid (const struct mei_cl_device *cldev)”h]”jÞ)�”}”(hŒ@const uuid_le *mei_cldev_uuid(const struct mei_cl_device *cldev)”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hj™%h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj•%h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M^ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§%h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj•%h²hh³j¦%h´M^ubh)�”}”(hhh]”jç)�”}”(hŒuuid_le”h]”hŒuuid_le”…”�”}”(hj¸%h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjµ%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jº%Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_uuid”sbŒc.mei_cldev_uuid”†”asbuh1hhj•%h²hh³j¦%h´M^ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙ%h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj•%h²hh³j¦%h´M^ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjç%h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj•%h²hh³j¦%h´M^ubj%)�”}”(hŒmei_cldev_uuid”h]”jç)�”}”(hjÖ%h]”hŒmei_cldev_uuid”…”�”}”(hjø%h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjô%ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj•%h²hh³j¦%h´M^ubj@)�”}”(hŒ#(const struct mei_cl_device *cldev)”h]”jF)�”}”(hŒ!const struct mei_cl_device *cldev”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj&ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj &h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj&ubjL)�”}”(hjOh]”hŒstruct”…”�”}”(hj.&h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj&ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;&h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj&ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjL&h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjI&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jN&Œmodname”NŒ classname”Njj)�”}”j ]”jÔ%Œc.mei_cldev_uuid”†”asbuh1hhj&ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj&h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj&ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjx&h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj&ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj…&h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj &ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj•%h²hh³j¦%h´M^ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj‘%h²hh³j¦%h´M^ubah}”(h]”jŒ%ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j¦%h´M^hjŽ%h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ'return uuid of the underlying me client”h]”hŒ'return uuid of the underlying me client”…”�”}”(hj¯&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M^hj¬&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjŽ%h²hh³j¦%h´M^ubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjÇ&jýjÇ&jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒe**Parameters** ``const struct mei_cl_device *cldev`` mei client device **Return** me client uuid”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjÑ&h]”hŒ Parameters”…”�”}”(hjÓ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÏ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MbhjË&ubj")�”}”(hhh]”j')�”}”(hŒ8``const struct mei_cl_device *cldev`` mei client device ”h]”(j-)�”}”(hŒ%``const struct mei_cl_device *cldev``”h]”j.)�”}”(hjð&h]”hŒ!const struct mei_cl_device *cldev”…”�”}”(hjò&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjî&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M`hjê&ubjG)�”}”(hhh]”hï)�”}”(hŒmei client device”h]”hŒmei client device”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j'h´M`hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjê&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j'h´M`hjç&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hjË&ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj+'h]”hŒReturn”…”�”}”(hj-'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj)'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MbhjË&ubhï)�”}”(hŒme client uuid”h]”hŒme client uuid”…”�”}”(hjA'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MbhjË&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_ver (C function)”Œc.mei_cldev_ver”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ4u8 mei_cldev_ver (const struct mei_cl_device *cldev)”h]”jÞ)�”}”(hŒ3u8 mei_cldev_ver(const struct mei_cl_device *cldev)”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjs'h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjp'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”ju'Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒ mei_cldev_ver”sbŒc.mei_cldev_ver”†”asbuh1hhjl'h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mkubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•'h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjl'h²hh³j”'h´Mkubj%)�”}”(hŒ mei_cldev_ver”h]”jç)�”}”(hj‘'h]”hŒ mei_cldev_ver”…”�”}”(hj§'h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj£'ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjl'h²hh³j”'h´Mkubj@)�”}”(hŒ#(const struct mei_cl_device *cldev)”h]”jF)�”}”(hŒ!const struct mei_cl_device *cldev”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hjÂ'h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj¾'ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏ'h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¾'ubjL)�”}”(hjOh]”hŒstruct”…”�”}”(hjÝ'h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj¾'ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê'h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¾'ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjû'h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjø'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jý'Œmodname”NŒ classname”Njj)�”}”j ]”j�'Œc.mei_cldev_ver”†”asbuh1hhj¾'ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj¾'ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj'(h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj¾'ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj4(h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj¾'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjº'ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjl'h²hh³j”'h´Mkubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjh'h²hh³j”'h´Mkubah}”(h]”jc'ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j”'h´Mkhje'h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ3return protocol version of the underlying me client”h]”hŒ3return protocol version of the underlying me client”…”�”}”(hj^(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mkhj[(h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhje'h²hh³j”'h´Mkubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjv(jýjv(jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒq**Parameters** ``const struct mei_cl_device *cldev`` mei client device **Return** me client protocol version”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hj€(h]”hŒ Parameters”…”�”}”(hj‚(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj~(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mohjz(ubj")�”}”(hhh]”j')�”}”(hŒ8``const struct mei_cl_device *cldev`` mei client device ”h]”(j-)�”}”(hŒ%``const struct mei_cl_device *cldev``”h]”j.)�”}”(hjŸ(h]”hŒ!const struct mei_cl_device *cldev”…”�”}”(hj¡(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj�(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mmhj™(ubjG)�”}”(hhh]”hï)�”}”(hŒmei client device”h]”hŒmei client device”…”�”}”(hj¸(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j´(h´Mmhjµ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj™(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j´(h´Mmhj–(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hjz(ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hjÚ(h]”hŒReturn”…”�”}”(hjÜ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjØ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mohjz(ubhï)�”}”(hŒme client protocol version”h]”hŒme client protocol version”…”�”}”(hjð(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mohjz(ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_mtu (C function)”Œc.mei_cldev_mtu”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ8size_t mei_cldev_mtu (const struct mei_cl_device *cldev)”h]”jÞ)�”}”(hŒ7size_t mei_cldev_mtu(const struct mei_cl_device *cldev)”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj")h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j$)Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒ mei_cldev_mtu”sbŒc.mei_cldev_mtu”†”asbuh1hhj)h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mxubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD)h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj)h²hh³jC)h´Mxubj%)�”}”(hŒ mei_cldev_mtu”h]”jç)�”}”(hj@)h]”hŒ mei_cldev_mtu”…”�”}”(hjV)h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjR)ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hj)h²hh³jC)h´Mxubj@)�”}”(hŒ#(const struct mei_cl_device *cldev)”h]”jF)�”}”(hŒ!const struct mei_cl_device *cldev”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hjq)h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjm)ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~)h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjm)ubjL)�”}”(hjOh]”hŒstruct”…”�”}”(hjŒ)h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjm)ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™)h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjm)ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjª)h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj§)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j¬)Œmodname”NŒ classname”Njj)�”}”j ]”j>)Œc.mei_cldev_mtu”†”asbuh1hhjm)ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈ)h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjm)ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjÖ)h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjm)ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hjã)h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjm)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhji)ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hj)h²hh³jC)h´Mxubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhj)h²hh³jC)h´Mxubah}”(h]”j)ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jC)h´Mxhj)h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ,max message that client can send and receive”h]”hŒ,max message that client can send and receive”…”�”}”(hj *h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mxhj *h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj)h²hh³jC)h´Mxubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj%*jýj%*jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒz**Parameters** ``const struct mei_cl_device *cldev`` mei client device **Return** mtu or 0 if client is not connected”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hj/*h]”hŒ Parameters”…”�”}”(hj1*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj-*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M|hj)*ubj")�”}”(hhh]”j')�”}”(hŒ8``const struct mei_cl_device *cldev`` mei client device ”h]”(j-)�”}”(hŒ%``const struct mei_cl_device *cldev``”h]”j.)�”}”(hjN*h]”hŒ!const struct mei_cl_device *cldev”…”�”}”(hjP*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjL*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MzhjH*ubjG)�”}”(hhh]”hï)�”}”(hŒmei client device”h]”hŒmei client device”…”�”}”(hjg*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jc*h´Mzhjd*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjH*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jc*h´MzhjE*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hj)*ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj‰*h]”hŒReturn”…”�”}”(hj‹*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj‡*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M|hj)*ubhï)�”}”(hŒ#mtu or 0 if client is not connected”h]”hŒ#mtu or 0 if client is not connected”…”�”}”(hjŸ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M|hj)*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_enabled (C function)”Œc.mei_cldev_enabled”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ:bool mei_cldev_enabled (const struct mei_cl_device *cldev)”h]”jÞ)�”}”(hŒ9bool mei_cldev_enabled(const struct mei_cl_device *cldev)”h]”(jO)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjÎ*h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjÊ*h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M…ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝ*h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjÊ*h²hh³jÜ*h´M…ubj%)�”}”(hŒmei_cldev_enabled”h]”jç)�”}”(hŒmei_cldev_enabled”h]”hŒmei_cldev_enabled”…”�”}”(hjï*h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjë*ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjÊ*h²hh³jÜ*h´M…ubj@)�”}”(hŒ#(const struct mei_cl_device *cldev)”h]”jF)�”}”(hŒ!const struct mei_cl_device *cldev”h]”(jL)�”}”(hjÅh]”hŒconst”…”�”}”(hj +h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj+ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj+ubjL)�”}”(hjOh]”hŒstruct”…”�”}”(hj&+h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj+ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj+ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjD+h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjA+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jF+Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿjñ*sbŒc.mei_cldev_enabled”†”asbuh1hhj+ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjd+h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj+ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjr+h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj+ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj+ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjÊ*h²hh³jÜ*h´M…ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjÆ*h²hh³jÜ*h´M…ubah}”(h]”jÁ*ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jÜ*h´M…hjÃ*h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ#check whether the device is enabled”h]”hŒ#check whether the device is enabled”…”�”}”(hj©+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M…hj¦+h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjÃ*h²hh³jÜ*h´M…ubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjÁ+jýjÁ+jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒ…**Parameters** ``const struct mei_cl_device *cldev`` mei client device **Return** true if me client is initialized and connected”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjË+h]”hŒ Parameters”…”�”}”(hjÍ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjÉ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‰hjÅ+ubj")�”}”(hhh]”j')�”}”(hŒ8``const struct mei_cl_device *cldev`` mei client device ”h]”(j-)�”}”(hŒ%``const struct mei_cl_device *cldev``”h]”j.)�”}”(hjê+h]”hŒ!const struct mei_cl_device *cldev”…”�”}”(hjì+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjè+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‡hjä+ubjG)�”}”(hhh]”hï)�”}”(hŒmei client device”h]”hŒmei client device”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÿ+h´M‡hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjä+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jÿ+h´M‡hjá+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hjÅ+ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj%,h]”hŒReturn”…”�”}”(hj',h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj#,ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‰hjÅ+ubhï)�”}”(hŒ.true if me client is initialized and connected”h]”hŒ.true if me client is initialized and connected”…”�”}”(hj;,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M‰hjÅ+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_enable (C function)”Œc.mei_cldev_enable”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ2int mei_cldev_enable (struct mei_cl_device *cldev)”h]”jÞ)�”}”(hŒ1int mei_cldev_enable(struct mei_cl_device *cldev)”h]”(jO)�”}”(hŒint”h]”hŒint”…”�”}”(hjj,h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjf,h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M#ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy,h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjf,h²hh³jx,h´M#ubj%)�”}”(hŒmei_cldev_enable”h]”jç)�”}”(hŒmei_cldev_enable”h]”hŒmei_cldev_enable”…”�”}”(hj‹,h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj‡,ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjf,h²hh³jx,h´M#ubj@)�”}”(hŒ(struct mei_cl_device *cldev)”h]”jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj§,h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj£,ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´,h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj£,ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjÅ,h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÂ,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jÇ,Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿj�,sbŒc.mei_cldev_enable”†”asbuh1hhj£,ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå,h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj£,ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjó,h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj£,ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj£,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhjŸ,ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjf,h²hh³jx,h´M#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjb,h²hh³jx,h´M#ubah}”(h]”j],ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jx,h´M#hj_,h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒ8enable me client device create connection with me client”h]”hŒ8enable me client device create connection with me client”…”�”}”(hj*-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M#hj'-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhj_,h²hh³jx,h´M#ubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjB-jýjB-jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒm**Parameters** ``struct mei_cl_device *cldev`` me client device **Return** 0 on success and < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjL-h]”hŒ Parameters”…”�”}”(hjN-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjJ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M'hjF-ubj")�”}”(hhh]”j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjk-h]”hŒstruct mei_cl_device *cldev”…”�”}”(hjm-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hji-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M&hje-ubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj„-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€-h´M&hj�-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhje-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j€-h´M&hjb-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hjF-ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj¦-h]”hŒReturn”…”�”}”(hj¨-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj¤-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M(hjF-ubhï)�”}”(hŒ0 on success and < 0 on error”h]”hŒ0 on success and < 0 on error”…”�”}”(hj¼-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M(hjF-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒmei_cldev_disable (C function)”Œc.mei_cldev_disable”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ3int mei_cldev_disable (struct mei_cl_device *cldev)”h]”jÞ)�”}”(hŒ2int mei_cldev_disable(struct mei_cl_device *cldev)”h]”(jO)�”}”(hŒint”h]”hŒint”…”�”}”(hjë-h²hh³Nh´Nubah}”(h]”h ]”j[ah"]”h$]”h&]”uh1jNhjç-h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mnubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú-h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjç-h²hh³jù-h´Mnubj%)�”}”(hŒmei_cldev_disable”h]”jç)�”}”(hŒmei_cldev_disable”h]”hŒmei_cldev_disable”…”�”}”(hj .h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj.ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjç-h²hh³jù-h´Mnubj@)�”}”(hŒ(struct mei_cl_device *cldev)”h]”jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj(.h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhj$.ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5.h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj$.ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjF.h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjC.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jH.Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿj.sbŒc.mei_cldev_disable”†”asbuh1hhj$.ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf.h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj$.ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjt.h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj$.ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj�.h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj$.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj .ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjç-h²hh³jù-h´Mnubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjã-h²hh³jù-h´Mnubah}”(h]”jÞ-ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³jù-h´Mnhjà-h²•8^hubjÛ)�”}”(hhh]”hï)�”}”(hŒ6disable me client device disconnect form the me client”h]”hŒ6disable me client device disconnect form the me client”…”�”}”(hj«.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mnhj¨.h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhjà-h²hh³jù-h´Mnubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüjÃ.jýjÃ.jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hŒm**Parameters** ``struct mei_cl_device *cldev`` me client device **Return** 0 on success and < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hjÍ.h]”hŒ Parameters”…”�”}”(hjÏ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjË.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MrhjÇ.ubj")�”}”(hhh]”j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hjì.h]”hŒstruct mei_cl_device *cldev”…”�”}”(hjî.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjê.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´Mqhjæ.ubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j/h´Mqhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjæ.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j/h´Mqhjã.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!hjÇ.ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj'/h]”hŒReturn”…”�”}”(hj)/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj%/ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MshjÇ.ubhï)�”}”(hŒ0 on success and < 0 on error”h]”hŒ0 on success and < 0 on error”…”�”}”(hj=/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MshjÇ.ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´NubjÂ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jÎŒ'mei_cldev_send_gsc_command (C function)”Œc.mei_cldev_send_gsc_command”hNt”auh1jÁhj°h²hh³Nh´NubjÓ)�”}”(hhh]”(jØ)�”}”(hŒ¨ssize_t mei_cldev_send_gsc_command (struct mei_cl_device *cldev, u8 client_id, u32 fence_id, struct scatterlist *sg_in, size_t total_in_len, struct scatterlist *sg_out)”h]”jÞ)�”}”(hŒ§ssize_t mei_cldev_send_gsc_command(struct mei_cl_device *cldev, u8 client_id, u32 fence_id, struct scatterlist *sg_in, size_t total_in_len, struct scatterlist *sg_out)”h]”(h)�”}”(hhh]”jç)�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjo/h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjl/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jq/Œmodname”NŒ classname”Njj)�”}”j ]”j )�”}”jÿŒmei_cldev_send_gsc_command”sbŒc.mei_cldev_send_gsc_command”†”asbuh1hhjh/h²hh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MŸubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjh/h²hh³j�/h´MŸubj%)�”}”(hŒmei_cldev_send_gsc_command”h]”jç)�”}”(hj�/h]”hŒmei_cldev_send_gsc_command”…”�”}”(hj£/h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjŸ/ubah}”(h]”h ]”(j:j;eh"]”h$]”h&]”hÅhÆuh1j$hjh/h²hh³j�/h´MŸubj@)�”}”(hŒ…(struct mei_cl_device *cldev, u8 client_id, u32 fence_id, struct scatterlist *sg_in, size_t total_in_len, struct scatterlist *sg_out)”h]”(jF)�”}”(hŒstruct mei_cl_device *cldev”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj¾/h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjº/ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjº/ubh)�”}”(hhh]”jç)�”}”(hŒ mei_cl_device”h]”hŒ mei_cl_device”…”�”}”(hjÜ/h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÙ/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jÞ/Œmodname”NŒ classname”Njj)�”}”j ]”j‹/Œc.mei_cldev_send_gsc_command”†”asbuh1hhjº/ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú/h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjº/ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjº/ubjç)�”}”(hŒcldev”h]”hŒcldev”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjº/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj¶/ubjF)�”}”(hŒ u8 client_id”h]”(h)�”}”(hhh]”jç)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj10h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj.0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j30Œmodname”NŒ classname”Njj)�”}”j ]”j‹/Œc.mei_cldev_send_gsc_command”†”asbuh1hhj*0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO0h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj*0ubjç)�”}”(hŒ client_id”h]”hŒ client_id”…”�”}”(hj]0h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj*0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj¶/ubjF)�”}”(hŒ u32 fence_id”h]”(h)�”}”(hhh]”jç)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjy0h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjv0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j{0Œmodname”NŒ classname”Njj)�”}”j ]”j‹/Œc.mei_cldev_send_gsc_command”†”asbuh1hhjr0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—0h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjr0ubjç)�”}”(hŒfence_id”h]”hŒfence_id”…”�”}”(hj¥0h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjr0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj¶/ubjF)�”}”(hŒstruct scatterlist *sg_in”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hj¾0h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjº0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË0h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjº0ubh)�”}”(hhh]”jç)�”}”(hŒ scatterlist”h]”hŒ scatterlist”…”�”}”(hjÜ0h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjÙ0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”jÞ0Œmodname”NŒ classname”Njj)�”}”j ]”j‹/Œc.mei_cldev_send_gsc_command”†”asbuh1hhjº0ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú0h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjº0ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjº0ubjç)�”}”(hŒsg_in”h]”hŒsg_in”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjº0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj¶/ubjF)�”}”(hŒsize_t total_in_len”h]”(h)�”}”(hhh]”jç)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj11h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj.1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j31Œmodname”NŒ classname”Njj)�”}”j ]”j‹/Œc.mei_cldev_send_gsc_command”†”asbuh1hhj*1ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO1h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhj*1ubjç)�”}”(hŒ total_in_len”h]”hŒ total_in_len”…”�”}”(hj]1h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj*1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj¶/ubjF)�”}”(hŒstruct scatterlist *sg_out”h]”(jL)�”}”(hjOh]”hŒstruct”…”�”}”(hjv1h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jKhjr1ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ1h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjr1ubh)�”}”(hhh]”jç)�”}”(hŒ scatterlist”h]”hŒ scatterlist”…”�”}”(hj”1h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhj‘1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¶Œreftype”jÿŒ reftarget”j–1Œmodname”NŒ classname”Njj)�”}”j ]”j‹/Œc.mei_cldev_send_gsc_command”†”asbuh1hhjr1ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²1h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1jhjr1ubjš)�”}”(hj�h]”hŒ*”…”�”}”(hjÀ1h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjr1ubjç)�”}”(hŒsg_out”h]”hŒsg_out”…”�”}”(hjÍ1h²hh³Nh´Nubah}”(h]”h ]”jóah"]”h$]”h&]”uh1jæhjr1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jEhj¶/ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j?hjh/h²hh³j�/h´MŸubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj̈uh1jÝjÍjÎhjd/h²hh³j�/h´MŸubah}”(h]”j_/ah ]”(jÒjÓeh"]”h$]”h&]”j׈jØ)jÙhuh1j×h³j�/h´MŸhja/h²hubjÛ)�”}”(hhh]”hï)�”}”(hŒUsends a gsc command, by sending a gsl mei message to gsc and receiving reply from gsc”h]”hŒUsends a gsc command, by sending a gsl mei message to gsc and receiving reply from gsc”…”�”}”(hj÷1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MŸhjô1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jÚhja/h²hh³j�/h´MŸubeh}”(h]”h ]”(j¶Œfunction”eh"]”h$]”h&]”jûj¶jüj2jýj2jþ‰jÿ‰j‰uh1jÒh²hhj°h³Nh´Nubj)�”}”(hX**Parameters** ``struct mei_cl_device *cldev`` me client device ``u8 client_id`` client id to send the command to ``u32 fence_id`` fence id to send the command to ``struct scatterlist *sg_in`` scatter gather list containing addresses for rx message buffer ``size_t total_in_len`` total length of data in 'in' sg, can be less than the sum of buffers sizes ``struct scatterlist *sg_out`` scatter gather list containing addresses for tx message buffer **Return** * written size in bytes * < 0 on error”h]”(hï)�”}”(hŒ**Parameters**”h]”j )�”}”(hj2h]”hŒ Parameters”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M£hj2ubj")�”}”(hhh]”(j')�”}”(hŒ1``struct mei_cl_device *cldev`` me client device ”h]”(j-)�”}”(hŒ``struct mei_cl_device *cldev``”h]”j.)�”}”(hj82h]”hŒstruct mei_cl_device *cldev”…”�”}”(hj:2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj62ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M¢hj22ubjG)�”}”(hhh]”hï)�”}”(hŒme client device”h]”hŒme client device”…”�”}”(hjQ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jM2h´M¢hjN2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj22ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jM2h´M¢hj/2ubj')�”}”(hŒ2``u8 client_id`` client id to send the command to ”h]”(j-)�”}”(hŒ``u8 client_id``”h]”j.)�”}”(hjq2h]”hŒ u8 client_id”…”�”}”(hjs2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjo2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M£hjk2ubjG)�”}”(hhh]”hï)�”}”(hŒ client id to send the command to”h]”hŒ client id to send the command to”…”�”}”(hjŠ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j†2h´M£hj‡2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjk2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j†2h´M£hj/2ubj')�”}”(hŒ1``u32 fence_id`` fence id to send the command to ”h]”(j-)�”}”(hŒ``u32 fence_id``”h]”j.)�”}”(hjª2h]”hŒ u32 fence_id”…”�”}”(hj¬2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj¨2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M¤hj¤2ubjG)�”}”(hhh]”hï)�”}”(hŒfence id to send the command to”h]”hŒfence id to send the command to”…”�”}”(hjÃ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¿2h´M¤hjÀ2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj¤2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j¿2h´M¤hj/2ubj')�”}”(hŒ]``struct scatterlist *sg_in`` scatter gather list containing addresses for rx message buffer ”h]”(j-)�”}”(hŒ``struct scatterlist *sg_in``”h]”j.)�”}”(hjã2h]”hŒstruct scatterlist *sg_in”…”�”}”(hjå2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjá2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M¥hjÝ2ubjG)�”}”(hhh]”hï)�”}”(hŒ>scatter gather list containing addresses for rx message buffer”h]”hŒ>scatter gather list containing addresses for rx message buffer”…”�”}”(hjü2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jø2h´M¥hjù2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjÝ2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jø2h´M¥hj/2ubj')�”}”(hŒc``size_t total_in_len`` total length of data in 'in' sg, can be less than the sum of buffers sizes ”h]”(j-)�”}”(hŒ``size_t total_in_len``”h]”j.)�”}”(hj3h]”hŒsize_t total_in_len”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M¦hj3ubjG)�”}”(hhh]”hï)�”}”(hŒJtotal length of data in 'in' sg, can be less than the sum of buffers sizes”h]”hŒNtotal length of data in ‘in’ sg, can be less than the sum of buffers sizes”…”�”}”(hj53h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j13h´M¦hj23ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³j13h´M¦hj/2ubj')�”}”(hŒ^``struct scatterlist *sg_out`` scatter gather list containing addresses for tx message buffer ”h]”(j-)�”}”(hŒ``struct scatterlist *sg_out``”h]”j.)�”}”(hjU3h]”hŒstruct scatterlist *sg_out”…”�”}”(hjW3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hjS3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,h³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M§hjO3ubjG)�”}”(hhh]”hï)�”}”(hŒ>scatter gather list containing addresses for tx message buffer”h]”hŒ>scatter gather list containing addresses for tx message buffer”…”�”}”(hjn3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jj3h´M§hjk3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjO3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j&h³jj3h´M§hj/2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j!hj2ubhï)�”}”(hŒ **Return**”h]”j )�”}”(hj�3h]”hŒReturn”…”�”}”(hj’3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjŽ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M©hj2ubj/)�”}”(hhh]”(j4)�”}”(hŒwritten size in bytes”h]”hï)�”}”(hj«3h]”hŒwritten size in bytes”…”�”}”(hj­3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´M©hj©3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj¦3ubj4)�”}”(hŒ < 0 on error”h]”hï)�”}”(hjÃ3h]”hŒ < 0 on error”…”�”}”(hjÅ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³Œd/var/lib/git/docbuild/linux/Documentation/driver-api/mei/mei-client-bus:71: ./drivers/misc/mei/bus.c”h´MªhjÁ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj¦3ubeh}”(h]”h ]”h"]”h$]”h&]”jkj�uh1j.h³jº3h´M©hj2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jhj°h²hh³Nh´Nubeh}”(h]”(j¯Œid1”eh ]”h"]”(Œapi:”Œapi”eh$]”h&]”uh1hÈhjh²hh³hÇh´KFŒexpect_referenced_by_name”}”jì3j¤sŒexpect_referenced_by_id”}”j¯j¤subeh}”(h]”Œmei-cl-bus-api”ah ]”h"]”Œmei cl bus api”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjþ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjû3h²hh³hÇh´KMubhï)�”}”(hŒ�As a theoretical example let's pretend the ME comes with a "contact" NFC IP. The driver init and exit routines for this device would look like:”h]”hŒ•As a theoretical example let’s pretend the ME comes with a “contactâ€� NFC IP. The driver init and exit routines for this device would look like:”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KOhjû3h²hubjY)�”}”(hX6#define CONTACT_DRIVER_NAME "contact" static struct mei_cl_device_id contact_mei_cl_tbl[] = { { CONTACT_DRIVER_NAME, }, /* required last entry */ { } }; MODULE_DEVICE_TABLE(mei_cl, contact_mei_cl_tbl); static struct mei_cl_driver contact_driver = { .id_table = contact_mei_tbl, .name = CONTACT_DRIVER_NAME, .probe = contact_probe, .remove = contact_remove, }; static int contact_init(void) { int r; r = mei_cl_driver_register(&contact_driver); if (r) { pr_err(CONTACT_DRIVER_NAME ": driver registration failed\n"); return r; } return 0; } static void __exit contact_exit(void) { mei_cl_driver_unregister(&contact_driver); } module_init(contact_init); module_exit(contact_exit);”h]”hX6#define CONTACT_DRIVER_NAME "contact" static struct mei_cl_device_id contact_mei_cl_tbl[] = { { CONTACT_DRIVER_NAME, }, /* required last entry */ { } }; MODULE_DEVICE_TABLE(mei_cl, contact_mei_cl_tbl); static struct mei_cl_driver contact_driver = { .id_table = contact_mei_tbl, .name = CONTACT_DRIVER_NAME, .probe = contact_probe, .remove = contact_remove, }; static int contact_init(void) { int r; r = mei_cl_driver_register(&contact_driver); if (r) { pr_err(CONTACT_DRIVER_NAME ": driver registration failed\n"); return r; } return 0; } static void __exit contact_exit(void) { mei_cl_driver_unregister(&contact_driver); } module_init(contact_init); module_exit(contact_exit);”…”�”}”hj4sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆjh‰jijjjk}”uh1jXh³hÇh´KRhjû3h²hubhï)�”}”(hŒ?And the driver's simplified probe routine would look like that:”h]”hŒAAnd the driver’s simplified probe routine would look like that:”…”�”}”(hj)4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K{hjû3h²hubjY)�”}”(hŒÄint contact_probe(struct mei_cl_device *dev, struct mei_cl_device_id *id) { [...] mei_cldev_enable(dev); mei_cldev_register_rx_cb(dev, contact_rx_cb); return 0; }”h]”hŒÄint contact_probe(struct mei_cl_device *dev, struct mei_cl_device_id *id) { [...] mei_cldev_enable(dev); mei_cldev_register_rx_cb(dev, contact_rx_cb); return 0; }”…”�”}”hj74sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆjh‰jijjjk}”uh1jXh³hÇh´K}hjû3h²hubhï)�”}”(hX In the probe routine the driver first enable the MEI device and then registers an rx handler which is as close as it can get to registering a threaded IRQ handler. The handler implementation will typically call :c:func:`mei_cldev_recv` and then process received data.”h]”(hŒÓIn the probe routine the driver first enable the MEI device and then registers an rx handler which is as close as it can get to registering a threaded IRQ handler. The handler implementation will typically call ”…”�”}”(hjF4h²hh³Nh´Nubh)�”}”(hŒ:c:func:`mei_cldev_recv`”h]”j.)�”}”(hjP4h]”hŒmei_cldev_recv()”…”�”}”(hjR4h²hh³Nh´Nubah}”(h]”h ]”(jµj¶Œc-func”eh"]”h$]”h&]”uh1j-hjN4ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”j¶Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jj)�”}”j ]”sbjÈŒmei_cldev_recv”uh1hh³hÇh´K‰hjF4ubhŒ and then process received data.”…”�”}”(hjF4h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K‰hjû3h²hubjY)�”}”(hX”#define MAX_PAYLOAD 128 #define HDR_SIZE 4 static void conntact_rx_cb(struct mei_cl_device *cldev) { struct contact *c = mei_cldev_get_drvdata(cldev); unsigned char payload[MAX_PAYLOAD]; ssize_t payload_sz; payload_sz = mei_cldev_recv(cldev, payload, MAX_PAYLOAD) if (reply_size < HDR_SIZE) { return; } c->process_rx(payload); }”h]”hX”#define MAX_PAYLOAD 128 #define HDR_SIZE 4 static void conntact_rx_cb(struct mei_cl_device *cldev) { struct contact *c = mei_cldev_get_drvdata(cldev); unsigned char payload[MAX_PAYLOAD]; ssize_t payload_sz; payload_sz = mei_cldev_recv(cldev, payload, MAX_PAYLOAD) if (reply_size < HDR_SIZE) { return; } c->process_rx(payload); }”…”�”}”hjz4sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆjh‰jijjjk}”uh1jXh³hÇh´KŽhjû3h²hubeh}”(h]”Œexample”ah ]”h"]”Œexample”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KMubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒMEI Client Bus Drivers”h]”hŒMEI Client Bus Drivers”…”�”}”(hj”4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj‘4h²hh³hÇh´K¢ubhŒcompound”“”)�”}”(hhh]”hŒtoctree”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”hjÂŒentries”]”(NŒdriver-api/mei/hdcp”†”NŒdriver-api/mei/nfc”†”eŒ includefiles”]”(j´4j¶4eŒmaxdepth”KŒcaption”NŒglob”‰Œhidden”‰Œ includehidden”‰Œnumbered”KŒ titlesonly”‰Œ rawentries”]”uh1j§4h³hÇh´K¤hj¤4ubah}”(h]”h ]”Œtoctree-wrapper”ah"]”h$]”h&]”uh1j¢4hj‘4h²hh³hÇh´Nubeh}”(h]”Œmei-client-bus-drivers”ah ]”h"]”Œmei client bus drivers”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K¢ubeh}”(h]”Œ+intel-r-management-engine-me-client-bus-api”ah ]”h"]”Œ.intel(r) management engine (me) client bus 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ý4Œ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”}”j¯]”j¤asŒnameids”}”(j×4jÔ4jjjø3jõ3jì3j¯jë3jè3jŽ4j‹4jÏ4jÌ4uŒ nametypes”}”(j×4‰j‰jø3‰jì3ˆjë3‰jŽ4‰jÏ4‰uh}”(jÔ4hÊjhÝjõ3jj¯j°jè3j°jÐjÙjj„ju jz jÐ jÕ j'j,j jjôjùjfjkj jj j j "j"j¶#j»#jŒ%j‘%jc'jh'j)j)jÁ*jÆ*j],jb,jÞ-jã-j_/jd/j‹4jû3jÌ4j‘4uŒ 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”“”}”j 5Ks…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)�”}”(hhh]”hï)�”}”(hhh]”hŒ)Hyperlink target "api" is not referenced.”…”�”}”hjg5sbah}”(h]”h ]”h"]”h$]”h&]”uh1hîhjd5ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”KCuh1jb5ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.