€•ÝŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ-/translations/zh_CN/driver-api/media/v4l2-cci”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/zh_TW/driver-api/media/v4l2-cci”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/it_IT/driver-api/media/v4l2-cci”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/ja_JP/driver-api/media/v4l2-cci”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/ko_KR/driver-api/media/v4l2-cci”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/pt_BR/driver-api/media/v4l2-cci”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ-/translations/sp_SP/driver-api/media/v4l2-cci”Œ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³ŒG/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ V4L2 CCI kAPI”h]”hŒ V4L2 CCI kAPI”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œcci_reg_sequence (C struct)”Œc.cci_reg_sequence”hNt”auh1hÝhhÊh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒcci_reg_sequence”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct cci_reg_sequence”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1hÿhhûh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jhhûh²hh³jh´KubhŒ desc_name”“”)�”}”(hŒcci_reg_sequence”h]”hŒ desc_sig_name”“”)�”}”(hh÷h]”hŒcci_reg_sequence”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j(hj$ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j"hhûh²hh³jh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1hùŒsphinx_line_type”Œ declarator”hhõh²hh³jh´Kubah}”(h]”hìah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1hóh³jh´Khhðh²hubhŒ desc_content”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒ1An individual write from a sequence of CCI writes”h]”hŒ1An individual write from a sequence of CCI writes”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KhjVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThhðh²hh³jh´Kubeh}”(h]”h ]”(Œc”Œstruct”eh"]”h$]”h&]”Œdomain”jsŒobjtype”jtŒdesctype”jtŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1hîh²hhhÊh³Nh´NubhŒ container”“”)�”}”(hŒ¾**Definition**:: struct cci_reg_sequence { u32 reg; u64 val; }; **Members** ``reg`` Register address, use CCI_REG#() macros to encode reg width ``val`` Register value”h]”(jZ)�”}”(hŒ**Definition**::”h]”(hŒstrong”“”)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhj„ubhŒ:”…”�”}”(hj„h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Khj€ubhŒ literal_block”“”)�”}”(hŒ6struct cci_reg_sequence { u32 reg; u64 val; };”h]”hŒ6struct cci_reg_sequence { u32 reg; u64 val; };”…”�”}”hj¥sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j£h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Khj€ubjZ)�”}”(hŒ **Members**”h]”j‰)�”}”(hj¶h]”hŒMembers”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Khj€ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒD``reg`` Register address, use CCI_REG#() macros to encode reg width ”h]”(hŒterm”“”)�”}”(hŒ``reg``”h]”hŒliteral”“”)�”}”(hjÛh]”hŒreg”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KhjÓubhŒ definition”“”)�”}”(hhh]”jZ)�”}”(hŒ;Register address, use CCI_REG#() macros to encode reg width”h]”hŒ;Register address, use CCI_REG#() macros to encode reg width”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jòh´Khjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jòh´KhjÎubjÒ)�”}”(hŒ``val`` Register value”h]”(jØ)�”}”(hŒ``val``”h]”jÞ)�”}”(hjh]”hŒval”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Khjubjô)�”}”(hhh]”jZ)�”}”(hŒRegister value”h]”hŒRegister value”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Khj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j-h´KhjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌhj€ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubjZ)�”}”(hŒ**Description**”h]”j‰)�”}”(hj[h]”hŒ Description”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KhhÊh²hubjZ)�”}”(hŒ-Register/value pairs for sequences of writes.”h]”hŒ-Register/value pairs for sequences of writes.”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KhhÊh²hubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒcci_read (C function)”Œ c.cci_read”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ>int cci_read (struct regmap *map, u32 reg, u64 *val, int *err)”h]”hú)�”}”(hŒ=int cci_read(struct regmap *map, u32 reg, u64 *val, int *err)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j™hj•h²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K;ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj•h²hh³jªh´K;ubj#)�”}”(hŒcci_read”h]”j))�”}”(hŒcci_read”h]”hŒcci_read”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj¹ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hj•h²hh³jªh´K;ubhŒdesc_parameterlist”“”)�”}”(hŒ1(struct regmap *map, u32 reg, u64 *val, int *err)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct regmap *map”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÙubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÙubh)�”}”(hhh]”j))�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjøubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”Œ identifier”Œ reftarget”jýŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jŒ ASTIdentifier”“”)�”}”jj¿sbŒ c.cci_read”†”asbuh1hhjÙubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÙubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j1hjÙubj))�”}”(hŒmap”h]”hŒmap”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÙubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjÓubjØ)�”}”(hŒu32 reg”h]”(h)�”}”(hhh]”j))�”}”(hŒu32”h]”hŒu32”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”j`Œmodname”NŒ classname”Njj)�”}”j]”jŒ c.cci_read”†”asbuh1hhjWubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjWubj))�”}”(hŒreg”h]”hŒreg”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjÓubjØ)�”}”(hŒu64 *val”h]”(h)�”}”(hhh]”j))�”}”(hŒu64”h]”hŒu64”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”j¨Œmodname”NŒ classname”Njj)�”}”j]”jŒ c.cci_read”†”asbuh1hhjŸubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸubj2)�”}”(hj5h]”hŒ*”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjŸubj))�”}”(hŒval”h]”hŒval”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjÓubjØ)�”}”(hŒint *err”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjôubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjôubj2)�”}”(hj5h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjôubj))�”}”(hŒerr”h]”hŒerr”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjÓubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÑhj•h²hh³jªh´K;ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhj‘h²hh³jªh´K;ubah}”(h]”jŒah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³jªh´K;hjŽh²hubjU)�”}”(hhh]”jZ)�”}”(hŒ'Read a value from a single CCI register”h]”hŒ'Read a value from a single CCI register”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K;hjHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjŽh²hh³jªh´K;ubeh}”(h]”h ]”(jsŒfunction”eh"]”h$]”h&]”jxjsjyjcjzjcj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hXq**Parameters** ``struct regmap *map`` Register map to read from ``u32 reg`` Register address to read, use CCI_REG#() macros to encode reg width ``u64 *val`` Pointer to store read value ``int *err`` Optional pointer to store errors, if a previous error is set then the read will be skipped **Return** ``0`` on success or a negative error code on failure.”h]”(jZ)�”}”(hŒ**Parameters**”h]”j‰)�”}”(hjmh]”hŒ Parameters”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhjkubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K?hjgubjÍ)�”}”(hhh]”(jÒ)�”}”(hŒ1``struct regmap *map`` Register map to read from ”h]”(jØ)�”}”(hŒ``struct regmap *map``”h]”jÞ)�”}”(hjŒh]”hŒstruct regmap *map”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K=hj†ubjô)�”}”(hhh]”jZ)�”}”(hŒRegister map to read from”h]”hŒRegister map to read from”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j¡h´K=hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j¡h´K=hjƒubjÒ)�”}”(hŒP``u32 reg`` Register address to read, use CCI_REG#() macros to encode reg width ”h]”(jØ)�”}”(hŒ ``u32 reg``”h]”jÞ)�”}”(hjÅh]”hŒu32 reg”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K>hj¿ubjô)�”}”(hhh]”jZ)�”}”(hŒCRegister address to read, use CCI_REG#() macros to encode reg width”h]”hŒCRegister address to read, use CCI_REG#() macros to encode reg width”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jÚh´K>hjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jÚh´K>hjƒubjÒ)�”}”(hŒ)``u64 *val`` Pointer to store read value ”h]”(jØ)�”}”(hŒ ``u64 *val``”h]”jÞ)�”}”(hjþh]”hŒu64 *val”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjüubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K?hjøubjô)�”}”(hhh]”jZ)�”}”(hŒPointer to store read value”h]”hŒPointer to store read value”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jh´K?hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjøubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jh´K?hjƒubjÒ)�”}”(hŒh``int *err`` Optional pointer to store errors, if a previous error is set then the read will be skipped ”h]”(jØ)�”}”(hŒ ``int *err``”h]”jÞ)�”}”(hj7h]”hŒint *err”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KAhj1ubjô)�”}”(hhh]”jZ)�”}”(hŒZOptional pointer to store errors, if a previous error is set then the read will be skipped”h]”hŒZOptional pointer to store errors, if a previous error is set then the read will be skipped”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K@hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jLh´KAhjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌhjgubjZ)�”}”(hŒ **Return**”h]”j‰)�”}”(hjsh]”hŒReturn”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KChjgubjZ)�”}”(hŒ5``0`` on success or a negative error code on failure.”h]”(jÞ)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj‰ubhŒ0 on success or a negative error code on failure.”…”�”}”(hj‰h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KChjgubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒcci_write (C function)”Œ c.cci_write”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ>int cci_write (struct regmap *map, u32 reg, u64 val, int *err)”h]”hú)�”}”(hŒ=int cci_write(struct regmap *map, u32 reg, u64 val, int *err)”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÂh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KHubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÂh²hh³jÔh´KHubj#)�”}”(hŒ cci_write”h]”j))�”}”(hŒ cci_write”h]”hŒ cci_write”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjãubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hjÂh²hh³jÔh´KHubjÒ)�”}”(hŒ0(struct regmap *map, u32 reg, u64 val, int *err)”h]”(jØ)�”}”(hŒstruct regmap *map”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÿubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿubh)�”}”(hhh]”j))�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”j#Œmodname”NŒ classname”Njj)�”}”j]”j)�”}”jjésbŒ c.cci_write”†”asbuh1hhjÿubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÿubj2)�”}”(hj5h]”hŒ*”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjÿubj))�”}”(hŒmap”h]”hŒmap”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÿubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjûubjØ)�”}”(hŒu32 reg”h]”(h)�”}”(hhh]”j))�”}”(hŒu32”h]”hŒu32”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjuubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”jzŒmodname”NŒ classname”Njj)�”}”j]”j=Œ c.cci_write”†”asbuh1hhjqubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjqubj))�”}”(hŒreg”h]”hŒreg”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjqubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjûubjØ)�”}”(hŒu64 val”h]”(h)�”}”(hhh]”j))�”}”(hŒu64”h]”hŒu64”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”jÂŒmodname”NŒ classname”Njj)�”}”j]”j=Œ c.cci_write”†”asbuh1hhj¹ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¹ubj))�”}”(hŒval”h]”hŒval”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjûubjØ)�”}”(hŒint *err”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj2)�”}”(hj5h]”hŒ*”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjubj))�”}”(hŒerr”h]”hŒerr”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjûubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÑhjÂh²hh³jÔh´KHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhj¾h²hh³jÔh´KHubah}”(h]”j¹ah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³jÔh´KHhj»h²hubjU)�”}”(hhh]”jZ)�”}”(hŒ&Write a value to a single CCI register”h]”hŒ&Write a value to a single CCI register”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KHhjUh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThj»h²hh³jÔh´KHubeh}”(h]”h ]”(jsŒfunction”eh"]”h$]”h&]”jxjsjyjpjzjpj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hXi**Parameters** ``struct regmap *map`` Register map to write to ``u32 reg`` Register address to write, use CCI_REG#() macros to encode reg width ``u64 val`` Value to be written ``int *err`` Optional pointer to store errors, if a previous error is set then the write will be skipped **Return** ``0`` on success or a negative error code on failure.”h]”(jZ)�”}”(hŒ**Parameters**”h]”j‰)�”}”(hjzh]”hŒ Parameters”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KLhjtubjÍ)�”}”(hhh]”(jÒ)�”}”(hŒ0``struct regmap *map`` Register map to write to ”h]”(jØ)�”}”(hŒ``struct regmap *map``”h]”jÞ)�”}”(hj™h]”hŒstruct regmap *map”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KJhj“ubjô)�”}”(hhh]”jZ)�”}”(hŒRegister map to write to”h]”hŒRegister map to write to”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j®h´KJhj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j®h´KJhj�ubjÒ)�”}”(hŒQ``u32 reg`` Register address to write, use CCI_REG#() macros to encode reg width ”h]”(jØ)�”}”(hŒ ``u32 reg``”h]”jÞ)�”}”(hjÒh]”hŒu32 reg”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KKhjÌubjô)�”}”(hhh]”jZ)�”}”(hŒDRegister address to write, use CCI_REG#() macros to encode reg width”h]”hŒDRegister address to write, use CCI_REG#() macros to encode reg width”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jçh´KKhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jçh´KKhj�ubjÒ)�”}”(hŒ ``u64 val`` Value to be written ”h]”(jØ)�”}”(hŒ ``u64 val``”h]”jÞ)�”}”(hj h]”hŒu64 val”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KLhjubjô)�”}”(hhh]”jZ)�”}”(hŒValue to be written”h]”hŒValue to be written”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j h´KLhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j h´KLhj�ubjÒ)�”}”(hŒi``int *err`` Optional pointer to store errors, if a previous error is set then the write will be skipped ”h]”(jØ)�”}”(hŒ ``int *err``”h]”jÞ)�”}”(hjDh]”hŒint *err”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KNhj>ubjô)�”}”(hhh]”jZ)�”}”(hŒ[Optional pointer to store errors, if a previous error is set then the write will be skipped”h]”hŒ[Optional pointer to store errors, if a previous error is set then the write will be skipped”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KMhjZubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jYh´KNhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌhjtubjZ)�”}”(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&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KPhjtubjZ)�”}”(hŒ5``0`` on success or a negative error code on failure.”h]”(jÞ)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj–ubhŒ0 on success or a negative error code on failure.”…”�”}”(hj–h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KPhjtubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒcci_update_bits (C function)”Œc.cci_update_bits”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒNint cci_update_bits (struct regmap *map, u32 reg, u64 mask, u64 val, int *err)”h]”hú)�”}”(hŒMint cci_update_bits(struct regmap *map, u32 reg, u64 mask, u64 val, int *err)”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÏh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KUubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÏh²hh³jáh´KUubj#)�”}”(hŒcci_update_bits”h]”j))�”}”(hŒcci_update_bits”h]”hŒcci_update_bits”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjðubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hjÏh²hh³jáh´KUubjÒ)�”}”(hŒ:(struct regmap *map, u32 reg, u64 mask, u64 val, int *err)”h]”(jØ)�”}”(hŒstruct regmap *map”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubh)�”}”(hhh]”j))�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj+ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”j0 Œmodname”NŒ classname”Njj)�”}”j]”j)�”}”jjösbŒc.cci_update_bits”†”asbuh1hhj ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubj2)�”}”(hj5h]”hŒ*”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hj ubj))�”}”(hŒmap”h]”hŒmap”…”�”}”(hji h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj ubjØ)�”}”(hŒu32 reg”h]”(h)�”}”(hhh]”j))�”}”(hŒu32”h]”hŒu32”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj‚ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”j‡ Œmodname”NŒ classname”Njj)�”}”j]”jJ Œc.cci_update_bits”†”asbuh1hhj~ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj~ ubj))�”}”(hŒreg”h]”hŒreg”…”�”}”(hj± h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj~ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj ubjØ)�”}”(hŒu64 mask”h]”(h)�”}”(hhh]”j))�”}”(hŒu64”h]”hŒu64”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÊ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”jÏ Œmodname”NŒ classname”Njj)�”}”j]”jJ Œc.cci_update_bits”†”asbuh1hhjÆ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÆ ubj))�”}”(hŒmask”h]”hŒmask”…”�”}”(hjù h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÆ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj ubjØ)�”}”(hŒu64 val”h]”(h)�”}”(hhh]”j))�”}”(hŒu64”h]”hŒu64”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”j Œmodname”NŒ classname”Njj)�”}”j]”jJ Œc.cci_update_bits”†”asbuh1hhj ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubj))�”}”(hŒval”h]”hŒval”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj ubjØ)�”}”(hŒint *err”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjV ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjV ubj2)�”}”(hj5h]”hŒ*”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjV ubj))�”}”(hŒerr”h]”hŒerr”…”�”}”(hjƒ h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjV ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÑhjÏh²hh³jáh´KUubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhjËh²hh³jáh´KUubah}”(h]”jÆah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³jáh´KUhjÈh²hubjU)�”}”(hhh]”jZ)�”}”(hŒ:Perform a read/modify/write cycle on a single CCI register”h]”hŒ:Perform a read/modify/write cycle on a single CCI register”…”�”}”(hj­ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KUhjª h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjÈh²hh³jáh´KUubeh}”(h]”h ]”(jsŒfunction”eh"]”h$]”h&]”jxjsjyjÅ jzjÅ j{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hX)**Parameters** ``struct regmap *map`` Register map to update ``u32 reg`` Register address to update, use CCI_REG#() macros to encode reg width ``u64 mask`` Bitmask to change ``u64 val`` New value for bitmask ``int *err`` Optional pointer to store errors, if a previous error is set then the update will be skipped **Description** Note this uses read-modify-write to update the bits, atomicity with regards to other cci_*() register access functions is NOT guaranteed. **Return** ``0`` on success or a negative error code on failure.”h]”(jZ)�”}”(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&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KYhjÉ ubjÍ)�”}”(hhh]”(jÒ)�”}”(hŒ.``struct regmap *map`` Register map to update ”h]”(jØ)�”}”(hŒ``struct regmap *map``”h]”jÞ)�”}”(hjî h]”hŒstruct regmap *map”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjì ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KXhjè ubjô)�”}”(hhh]”jZ)�”}”(hŒRegister map to update”h]”hŒRegister map to update”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j h´KXhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjè ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j h´KXhjå ubjÒ)�”}”(hŒR``u32 reg`` Register address to update, use CCI_REG#() macros to encode reg width ”h]”(jØ)�”}”(hŒ ``u32 reg``”h]”jÞ)�”}”(hj' h]”hŒu32 reg”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj% ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KYhj! ubjô)�”}”(hhh]”jZ)�”}”(hŒERegister address to update, use CCI_REG#() macros to encode reg width”h]”hŒERegister address to update, use CCI_REG#() macros to encode reg width”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j< h´KYhj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj! ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j< h´KYhjå ubjÒ)�”}”(hŒ``u64 mask`` Bitmask to change ”h]”(jØ)�”}”(hŒ ``u64 mask``”h]”jÞ)�”}”(hj` h]”hŒu64 mask”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj^ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KZhjZ ubjô)�”}”(hhh]”jZ)�”}”(hŒBitmask to change”h]”hŒBitmask to change”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³ju h´KZhjv ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjZ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³ju h´KZhjå ubjÒ)�”}”(hŒ"``u64 val`` New value for bitmask ”h]”(jØ)�”}”(hŒ ``u64 val``”h]”jÞ)�”}”(hj™ h]”hŒu64 val”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj— ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K[hj“ ubjô)�”}”(hhh]”jZ)�”}”(hŒNew value for bitmask”h]”hŒNew value for bitmask”…”�”}”(hj² h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j® h´K[hj¯ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj“ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j® h´K[hjå ubjÒ)�”}”(hŒj``int *err`` Optional pointer to store errors, if a previous error is set then the update will be skipped ”h]”(jØ)�”}”(hŒ ``int *err``”h]”jÞ)�”}”(hjÒ h]”hŒint *err”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjÐ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K]hjÌ ubjô)�”}”(hhh]”jZ)�”}”(hŒ\Optional pointer to store errors, if a previous error is set then the update will be skipped”h]”hŒ\Optional pointer to store errors, if a previous error is set then the update will be skipped”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K\hjè ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjÌ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jç h´K]hjå ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌhjÉ ubjZ)�”}”(hŒ**Description**”h]”j‰)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K_hjÉ ubjZ)�”}”(hŒ‰Note this uses read-modify-write to update the bits, atomicity with regards to other cci_*() register access functions is NOT guaranteed.”h]”hŒ‰Note this uses read-modify-write to update the bits, atomicity with regards to other cci_*() register access functions is NOT guaranteed.”…”�”}”(hj$ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K^hjÉ ubjZ)�”}”(hŒ **Return**”h]”j‰)�”}”(hj5 h]”hŒReturn”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhj3 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KahjÉ ubjZ)�”}”(hŒ5``0`` on success or a negative error code on failure.”h]”(jÞ)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjK ubhŒ0 on success or a negative error code on failure.”…”�”}”(hjK h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KbhjÉ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒ cci_multi_reg_write (C function)”Œc.cci_multi_reg_write”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒrint cci_multi_reg_write (struct regmap *map, const struct cci_reg_sequence *regs, unsigned int num_regs, int *err)”h]”hú)�”}”(hŒqint cci_multi_reg_write(struct regmap *map, const struct cci_reg_sequence *regs, unsigned int num_regs, int *err)”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj„ h²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kgubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj„ h²hh³j– h´Kgubj#)�”}”(hŒcci_multi_reg_write”h]”j))�”}”(hŒcci_multi_reg_write”h]”hŒcci_multi_reg_write”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj¥ ubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hj„ h²hh³j– h´KgubjÒ)�”}”(hŒZ(struct regmap *map, const struct cci_reg_sequence *regs, unsigned int num_regs, int *err)”h]”(jØ)�”}”(hŒstruct regmap *map”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÁ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÁ ubh)�”}”(hhh]”j))�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjà ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”jå Œmodname”NŒ classname”Njj)�”}”j]”j)�”}”jj« sbŒc.cci_multi_reg_write”†”asbuh1hhjÁ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÁ ubj2)�”}”(hj5h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjÁ ubj))�”}”(hŒmap”h]”hŒmap”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjÁ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj½ ubjØ)�”}”(hŒ#const struct cci_reg_sequence *regs”h]”(j)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj3 ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3 ubj)�”}”(hjh]”hŒstruct”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj3 ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3 ubh)�”}”(hhh]”j))�”}”(hŒcci_reg_sequence”h]”hŒcci_reg_sequence”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjn ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”js Œmodname”NŒ classname”Njj)�”}”j]”jÿ Œc.cci_multi_reg_write”†”asbuh1hhj3 ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3 ubj2)�”}”(hj5h]”hŒ*”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hj3 ubj))�”}”(hŒregs”h]”hŒregs”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj3 ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj½ ubjØ)�”}”(hŒunsigned int num_regs”h]”(jš)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj¿ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿ ubjš)�”}”(hŒint”h]”hŒint”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj¿ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿ ubj))�”}”(hŒnum_regs”h]”hŒnum_regs”…”�”}”(hjû h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj¿ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj½ ubjØ)�”}”(hŒint *err”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj2)�”}”(hj5h]”hŒ*”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjubj))�”}”(hŒerr”h]”hŒerr”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hj½ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÑhj„ h²hh³j– h´Kgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhj€ h²hh³j– h´Kgubah}”(h]”j{ ah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³j– h´Kghj} h²hubjU)�”}”(hhh]”jZ)�”}”(hŒ&Write multiple registers to the device”h]”hŒ&Write multiple registers to the device”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kghjdh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThj} h²hh³j– h´Kgubeh}”(h]”h ]”(jsŒfunction”eh"]”h$]”h&]”jxjsjyjjzjj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hX=**Parameters** ``struct regmap *map`` Register map to write to ``const struct cci_reg_sequence *regs`` Array of structures containing register-address, -value pairs to be written, register-addresses use CCI_REG#() macros to encode reg width ``unsigned int num_regs`` Number of registers to write ``int *err`` Optional pointer to store errors, if a previous error is set then the write will be skipped **Description** Write multiple registers to the device where the set of register, value pairs are supplied in any order, possibly not all in a single range. Use of the CCI_REG#() macros to encode reg width is mandatory. For raw lists of register-address, -value pairs with only 8 bit wide writes regmap_multi_reg_write() can be used instead. **Return** ``0`` on success or a negative error code on failure.”h]”(jZ)�”}”(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&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KkhjƒubjÍ)�”}”(hhh]”(jÒ)�”}”(hŒ0``struct regmap *map`` Register map to write to ”h]”(jØ)�”}”(hŒ``struct regmap *map``”h]”jÞ)�”}”(hj¨h]”hŒstruct regmap *map”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kihj¢ubjô)�”}”(hhh]”jZ)�”}”(hŒRegister map to write to”h]”hŒRegister map to write to”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j½h´Kihj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j½h´KihjŸubjÒ)�”}”(hŒ²``const struct cci_reg_sequence *regs`` Array of structures containing register-address, -value pairs to be written, register-addresses use CCI_REG#() macros to encode reg width ”h]”(jØ)�”}”(hŒ'``const struct cci_reg_sequence *regs``”h]”jÞ)�”}”(hjáh]”hŒ#const struct cci_reg_sequence *regs”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KkhjÛubjô)�”}”(hhh]”jZ)�”}”(hŒ‰Array of structures containing register-address, -value pairs to be written, register-addresses use CCI_REG#() macros to encode reg width”h]”hŒ‰Array of structures containing register-address, -value pairs to be written, register-addresses use CCI_REG#() macros to encode reg width”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kjhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jöh´KkhjŸubjÒ)�”}”(hŒ7``unsigned int num_regs`` Number of registers to write ”h]”(jØ)�”}”(hŒ``unsigned int num_regs``”h]”jÞ)�”}”(hjh]”hŒunsigned int num_regs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Klhjubjô)�”}”(hhh]”jZ)�”}”(hŒNumber of registers to write”h]”hŒNumber of registers to write”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j0h´Klhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j0h´KlhjŸubjÒ)�”}”(hŒi``int *err`` Optional pointer to store errors, if a previous error is set then the write will be skipped ”h]”(jØ)�”}”(hŒ ``int *err``”h]”jÞ)�”}”(hjTh]”hŒint *err”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KnhjNubjô)�”}”(hhh]”jZ)�”}”(hŒ[Optional pointer to store errors, if a previous error is set then the write will be skipped”h]”hŒ[Optional pointer to store errors, if a previous error is set then the write will be skipped”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kmhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jih´KnhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌhjƒubjZ)�”}”(hŒ**Description**”h]”j‰)�”}”(hj�h]”hŒ Description”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KphjƒubjZ)�”}”(hŒŒWrite multiple registers to the device where the set of register, value pairs are supplied in any order, possibly not all in a single range.”h]”hŒŒWrite multiple registers to the device where the set of register, value pairs are supplied in any order, possibly not all in a single range.”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KohjƒubjZ)�”}”(hŒ>Use of the CCI_REG#() macros to encode reg width is mandatory.”h]”hŒ>Use of the CCI_REG#() macros to encode reg width is mandatory.”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KrhjƒubjZ)�”}”(hŒyFor raw lists of register-address, -value pairs with only 8 bit wide writes regmap_multi_reg_write() can be used instead.”h]”hŒyFor raw lists of register-address, -value pairs with only 8 bit wide writes regmap_multi_reg_write() can be used instead.”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KthjƒubjZ)�”}”(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&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KwhjƒubjZ)�”}”(hŒ5``0`` on success or a negative error code on failure.”h]”(jÞ)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjëubhŒ0 on success or a negative error code on failure.”…”�”}”(hjëh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kxhjƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒ%devm_cci_regmap_init_i2c (C function)”Œc.devm_cci_regmap_init_i2c”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒWstruct regmap * devm_cci_regmap_init_i2c (struct i2c_client *client, int reg_addr_bits)”h]”hú)�”}”(hŒUstruct regmap *devm_cci_regmap_init_i2c(struct i2c_client *client, int reg_addr_bits)”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj$h²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj$h²hh³j5h´Kubh)�”}”(hhh]”j))�”}”(hŒregmap”h]”hŒregmap”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjDubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”jIŒmodname”NŒ classname”Njj)�”}”j]”j)�”}”jŒdevm_cci_regmap_init_i2c”sbŒc.devm_cci_regmap_init_i2c”†”asbuh1hhj$h²hh³j5h´Kubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj$h²hh³j5h´Kubj2)�”}”(hj5h]”hŒ*”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hj$h²hh³j5h´Kubj#)�”}”(hŒdevm_cci_regmap_init_i2c”h]”j))�”}”(hjeh]”hŒdevm_cci_regmap_init_i2c”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjƒubah}”(h]”h ]”(j;j<eh"]”h$]”h&]”hÅhÆuh1j"hj$h²hh³j5h´KubjÒ)�”}”(hŒ.(struct i2c_client *client, int reg_addr_bits)”h]”(jØ)�”}”(hŒstruct i2c_client *client”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjžubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjžubh)�”}”(hhh]”j))�”}”(hŒ i2c_client”h]”hŒ i2c_client”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hj½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jsŒreftype”jŒ reftarget”jÂŒmodname”NŒ classname”Njj)�”}”j]”jcŒc.devm_cci_regmap_init_i2c”†”asbuh1hhjžubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjžubj2)�”}”(hj5h]”hŒ*”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”j>ah"]”h$]”h&]”uh1j1hjžubj))�”}”(hŒclient”h]”hŒclient”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjžubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjšubjØ)�”}”(hŒint reg_addr_bits”h]”(jš)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj))�”}”(hŒ reg_addr_bits”h]”hŒ reg_addr_bits”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”j4ah"]”h$]”h&]”uh1j(hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j×hjšubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÑhj$h²hh³j5h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjFˆuh1hùjGjHhj h²hh³j5h´Kubah}”(h]”jah ]”(jLjMeh"]”h$]”h&]”jQˆjR)jShuh1hóh³j5h´Khjh²hubjU)�”}”(hhh]”jZ)�”}”(hŒ;Create regmap to use with cci_*() register access functions”h]”hŒ;Create regmap to use with cci_*() register access functions”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KhjUh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjh²hh³j5h´Kubeh}”(h]”h ]”(jsŒfunction”eh"]”h$]”h&]”jxjsjyjpjzjpj{‰j|‰j}‰uh1hîh²hhhÊh³Nh´Nubj)�”}”(hX7**Parameters** ``struct i2c_client *client`` i2c_client to create the regmap for ``int reg_addr_bits`` register address width to use (8 or 16) **Description** Note the memory for the created regmap is devm() managed, tied to the client. **Return** ``0`` on success or a negative error code on failure.”h]”(jZ)�”}”(hŒ**Parameters**”h]”j‰)�”}”(hjzh]”hŒ Parameters”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KƒhjtubjÍ)�”}”(hhh]”(jÒ)�”}”(hŒB``struct i2c_client *client`` i2c_client to create the regmap for ”h]”(jØ)�”}”(hŒ``struct i2c_client *client``”h]”jÞ)�”}”(hj™h]”hŒstruct i2c_client *client”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K‚hj“ubjô)�”}”(hhh]”jZ)�”}”(hŒ#i2c_client to create the regmap for”h]”hŒ#i2c_client to create the regmap for”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³j®h´K‚hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³j®h´K‚hj�ubjÒ)�”}”(hŒ>``int reg_addr_bits`` register address width to use (8 or 16) ”h]”(jØ)�”}”(hŒ``int reg_addr_bits``”h]”jÞ)�”}”(hjÒh]”hŒint reg_addr_bits”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j×h³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´KƒhjÌubjô)�”}”(hhh]”jZ)�”}”(hŒ'register address width to use (8 or 16)”h]”hŒ'register address width to use (8 or 16)”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³jçh´Kƒhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑh³jçh´Kƒhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÌhjtubjZ)�”}”(hŒ**Description**”h]”j‰)�”}”(hj h]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K…hjtubjZ)�”}”(hŒMNote the memory for the created regmap is devm() managed, tied to the client.”h]”hŒMNote the memory for the created regmap is devm() managed, tied to the client.”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K„hjtubjZ)�”}”(hŒ **Return**”h]”j‰)�”}”(hj4h]”hŒReturn”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jˆhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K†hjtubjZ)�”}”(hŒ5``0`` on success or a negative error code on failure.”h]”(jÞ)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjJubhŒ0 on success or a negative error code on failure.”…”�”}”(hjJh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jYh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-cci:5: ./include/media/v4l2-cci.h”h´K‡hjtubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j~hhÊh²hh³Nh´Nubeh}”(h]”Œ v4l2-cci-kapi”ah ]”h"]”Œ v4l2 cci kapi”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™Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”jsjpsŒ nametypes”}”js‰sh}”(jphÊhìhõjŒj‘j¹j¾jÆjËj{ j€ jj uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.