€•4Œ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/w1”Œ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/w1”Œ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/w1”Œ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/w1”Œ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/w1”Œ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/w1”Œ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/w1”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒW1: Dallas' 1-wire bus”h]”hŒW1: Dallas’ 1-wire bus”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ;/var/lib/git/docbuild/linux/Documentation/driver-api/w1.rst”h´KubhŒ field_list”“”)�”}”(hhh]”hŒfield”“”)�”}”(hhh]”(hŒ field_name”“”)�”}”(hŒAuthor”h]”hŒAuthor”…”�”}”(hh×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhhÒh³hÊh´KubhŒ field_body”“”)�”}”(hŒ David Fries ”h]”hŒ paragraph”“”)�”}”(hŒ David Fries”h]”hŒ David Fries”…”�”}”(hhíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´Khhçubah}”(h]”h ]”h"]”h$]”h&]”uh1håhhÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÐh³hÊh´KhhÍh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒW1 API internal to the kernel”h]”hŒW1 API internal to the kernel”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒinclude/linux/w1.h”h]”hŒinclude/linux/w1.h”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´K ubhì)�”}”(hŒW1 kernel API functions.”h]”hŒW1 kernel API functions.”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´K hjh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œw1_reg_num (C struct)”Œ c.w1_reg_num”hNt”auh1j=hjh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ w1_reg_num”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct w1_reg_num”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j_hj[h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jqhj[h²hh³jph´KubhŒ desc_name”“”)�”}”(hŒ w1_reg_num”h]”hŒ desc_sig_name”“”)�”}”(hjWh]”hŒ w1_reg_num”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jˆhj„ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j‚hj[h²hh³jph´Kubeh}”(h]”h ]”h"]”h$]”h&]”j j¡Œ add_permalink”ˆuh1jYŒsphinx_line_type”Œ declarator”hjUh²hh³jph´Kubah}”(h]”jLah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jSh³jph´KhjPh²hubhŒ desc_content”“”)�”}”(hhh]”hì)�”}”(hŒbroken out slave device id”h]”hŒbroken out slave device id”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K hj¸h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjPh²hh³jph´Kubeh}”(h]”h ]”(Œc”Œstruct”eh"]”h$]”h&]”Œdomain”jÓŒobjtype”jÔŒdesctype”jÔŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jNh²hhjh³Nh´NubhŒ container”“”)�”}”(hX**Definition**:: struct w1_reg_num { #if defined(__LITTLE_ENDIAN_BITFIELD); __u64 family:8, id:48, crc:8; #elif defined(__BIG_ENDIAN_BITFIELD); __u64 crc:8, id:48, family:8; #else; #error "Please fix "; #endif; }; **Members** ``family`` identifies the type of device ``id`` along with family is the unique device id ``crc`` checksum of the other bytes ``crc`` checksum of the other bytes ``id`` along with family is the unique device id ``family`` identifies the type of device”h]”(hì)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KhjàubhŒ literal_block”“”)�”}”(hŒÝstruct w1_reg_num { #if defined(__LITTLE_ENDIAN_BITFIELD); __u64 family:8, id:48, crc:8; #elif defined(__BIG_ENDIAN_BITFIELD); __u64 crc:8, id:48, family:8; #else; #error "Please fix "; #endif; };”h]”hŒÝstruct w1_reg_num { #if defined(__LITTLE_ENDIAN_BITFIELD); __u64 family:8, id:48, crc:8; #elif defined(__BIG_ENDIAN_BITFIELD); __u64 crc:8, id:48, family:8; #else; #error "Please fix "; #endif; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Khjàubhì)�”}”(hŒ **Members**”h]”jé)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KhjàubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ)``family`` identifies the type of device ”h]”(hŒterm”“”)�”}”(hŒ ``family``”h]”hŒliteral”“”)�”}”(hj;h]”hŒfamily”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Khj3ubhŒ definition”“”)�”}”(hhh]”hì)�”}”(hŒidentifies the type of device”h]”hŒidentifies the type of device”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jRh´KhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jRh´Khj.ubj2)�”}”(hŒ1``id`` along with family is the unique device id ”h]”(j8)�”}”(hŒ``id``”h]”j>)�”}”(hjxh]”hŒid”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KhjrubjT)�”}”(hhh]”hì)�”}”(hŒ)along with family is the unique device id”h]”hŒ)along with family is the unique device id”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j�h´KhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j�h´Khj.ubj2)�”}”(hŒ$``crc`` checksum of the other bytes ”h]”(j8)�”}”(hŒ``crc``”h]”j>)�”}”(hj±h]”hŒcrc”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Khj«ubjT)�”}”(hhh]”hì)�”}”(hŒchecksum of the other bytes”h]”hŒchecksum of the other bytes”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÆh´KhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÆh´Khj.ubj2)�”}”(hŒ$``crc`` checksum of the other bytes ”h]”(j8)�”}”(hŒ``crc``”h]”j>)�”}”(hjêh]”hŒcrc”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjèubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KhjäubjT)�”}”(hhh]”hì)�”}”(hŒchecksum of the other bytes”h]”hŒchecksum of the other bytes”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÿh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjäubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÿh´Khj.ubj2)�”}”(hŒ1``id`` along with family is the unique device id ”h]”(j8)�”}”(hŒ``id``”h]”j>)�”}”(hj#h]”hŒid”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KhjubjT)�”}”(hhh]”hì)�”}”(hŒ)along with family is the unique device id”h]”hŒ)along with family is the unique device id”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j8h´Khj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j8h´Khj.ubj2)�”}”(hŒ(``family`` identifies the type of device”h]”(j8)�”}”(hŒ ``family``”h]”j>)�”}”(hj\h]”hŒfamily”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjZubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KhjVubjT)�”}”(hhh]”hì)�”}”(hŒidentifies the type of device”h]”hŒidentifies the type of device”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Khjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jqh´Khj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjàubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_slave (C struct)”Œ c.w1_slave”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒw1_slave”h]”jZ)�”}”(hŒstruct w1_slave”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj²h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj²h²hh³jÃh´Kubjƒ)�”}”(hŒw1_slave”h]”j‰)�”}”(hj°h]”hŒw1_slave”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÒubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj²h²hh³jÃh´Kubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj®h²hh³jÃh´Kubah}”(h]”j©ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jÃh´Khj«h²hubj·)�”}”(hhh]”hì)�”}”(hŒ&holds a single slave device on the bus”h]”hŒ&holds a single slave device on the bus”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K1hjõh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj«h²hh³jÃh´Kubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙjjÚjjÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubjß)�”}”(hX**Definition**:: struct w1_slave { struct module *owner; unsigned char name[W1_MAXNAMELEN]; struct list_head w1_slave_entry; struct w1_reg_num reg_num; atomic_t refcnt; int ttl; unsigned long flags; struct w1_master *master; struct w1_family *family; void *family_data; struct device dev; struct device *hwmon; }; **Members** ``owner`` Points to the one wire "wire" kernel module. ``name`` Device id is ascii. ``w1_slave_entry`` data for the linked list ``reg_num`` the slave id in binary ``refcnt`` reference count, delete when 0 ``ttl`` decrement per search this slave isn't found, deatch at 0 ``flags`` bit flags for W1_SLAVE_ACTIVE W1_SLAVE_DETACH ``master`` bus which this slave is on ``family`` module for device family type ``family_data`` pointer for use by the family module ``dev`` kernel device identifier ``hwmon`` pointer to hwmon device”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjubhŒ:”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K5hjubj)�”}”(hX¥struct w1_slave { struct module *owner; unsigned char name[W1_MAXNAMELEN]; struct list_head w1_slave_entry; struct w1_reg_num reg_num; atomic_t refcnt; int ttl; unsigned long flags; struct w1_master *master; struct w1_family *family; void *family_data; struct device dev; struct device *hwmon; };”h]”hX¥struct w1_slave { struct module *owner; unsigned char name[W1_MAXNAMELEN]; struct list_head w1_slave_entry; struct w1_reg_num reg_num; atomic_t refcnt; int ttl; unsigned long flags; struct w1_master *master; struct w1_family *family; void *family_data; struct device dev; struct device *hwmon; };”…”�”}”hj5sbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K7hjubhì)�”}”(hŒ **Members**”h]”jé)�”}”(hjFh]”hŒMembers”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KFhjubj-)�”}”(hhh]”(j2)�”}”(hŒ7``owner`` Points to the one wire "wire" kernel module. ”h]”(j8)�”}”(hŒ ``owner``”h]”j>)�”}”(hjeh]”hŒowner”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K4hj_ubjT)�”}”(hhh]”hì)�”}”(hŒ,Points to the one wire "wire" kernel module.”h]”hŒ0Points to the one wire “wireâ€� kernel module.”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jzh´K4hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jzh´K4hj\ubj2)�”}”(hŒ``name`` Device id is ascii. ”h]”(j8)�”}”(hŒ``name``”h]”j>)�”}”(hjžh]”hŒname”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K5hj˜ubjT)�”}”(hhh]”hì)�”}”(hŒDevice id is ascii.”h]”hŒDevice id is ascii.”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j³h´K5hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j³h´K5hj\ubj2)�”}”(hŒ,``w1_slave_entry`` data for the linked list ”h]”(j8)�”}”(hŒ``w1_slave_entry``”h]”j>)�”}”(hj×h]”hŒw1_slave_entry”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K6hjÑubjT)�”}”(hhh]”hì)�”}”(hŒdata for the linked list”h]”hŒdata for the linked list”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jìh´K6hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jìh´K6hj\ubj2)�”}”(hŒ#``reg_num`` the slave id in binary ”h]”(j8)�”}”(hŒ ``reg_num``”h]”j>)�”}”(hjh]”hŒreg_num”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K7hj ubjT)�”}”(hhh]”hì)�”}”(hŒthe slave id in binary”h]”hŒthe slave id in binary”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j%h´K7hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j%h´K7hj\ubj2)�”}”(hŒ*``refcnt`` reference count, delete when 0 ”h]”(j8)�”}”(hŒ ``refcnt``”h]”j>)�”}”(hjIh]”hŒrefcnt”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjGubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K8hjCubjT)�”}”(hhh]”hì)�”}”(hŒreference count, delete when 0”h]”hŒreference count, delete when 0”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j^h´K8hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j^h´K8hj\ubj2)�”}”(hŒA``ttl`` decrement per search this slave isn't found, deatch at 0 ”h]”(j8)�”}”(hŒ``ttl``”h]”j>)�”}”(hj‚h]”hŒttl”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K:hj|ubjT)�”}”(hhh]”hì)�”}”(hŒ8decrement per search this slave isn't found, deatch at 0”h]”hŒ:decrement per search this slave isn’t found, deatch at 0”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j—h´K:hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j—h´K:hj\ubj2)�”}”(hŒ8``flags`` bit flags for W1_SLAVE_ACTIVE W1_SLAVE_DETACH ”h]”(j8)�”}”(hŒ ``flags``”h]”j>)�”}”(hj»h]”hŒflags”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K9hjµubjT)�”}”(hhh]”hì)�”}”(hŒ-bit flags for W1_SLAVE_ACTIVE W1_SLAVE_DETACH”h]”hŒ-bit flags for W1_SLAVE_ACTIVE W1_SLAVE_DETACH”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÐh´K9hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÐh´K9hj\ubj2)�”}”(hŒ&``master`` bus which this slave is on ”h]”(j8)�”}”(hŒ ``master``”h]”j>)�”}”(hjôh]”hŒmaster”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K;hjîubjT)�”}”(hhh]”hì)�”}”(hŒbus which this slave is on”h]”hŒbus which this slave is on”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j h´K;hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j h´K;hj\ubj2)�”}”(hŒ)``family`` module for device family type ”h]”(j8)�”}”(hŒ ``family``”h]”j>)�”}”(hj-h]”hŒfamily”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K)�”}”(hjfh]”hŒ family_data”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K=hj`ubjT)�”}”(hhh]”hì)�”}”(hŒ$pointer for use by the family module”h]”hŒ$pointer for use by the family module”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j{h´K=hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j{h´K=hj\ubj2)�”}”(hŒ!``dev`` kernel device identifier ”h]”(j8)�”}”(hŒ``dev``”h]”j>)�”}”(hjŸh]”hŒdev”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K>hj™ubjT)�”}”(hhh]”hì)�”}”(hŒkernel device identifier”h]”hŒkernel device identifier”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j´h´K>hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j´h´K>hj\ubj2)�”}”(hŒ!``hwmon`` pointer to hwmon device”h]”(j8)�”}”(hŒ ``hwmon``”h]”j>)�”}”(hjØh]”hŒhwmon”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K>hjÒubjT)�”}”(hhh]”hì)�”}”(hŒpointer to hwmon device”h]”hŒpointer to hwmon device”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K?hjîubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jíh´K>hj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_bus_master (C struct)”Œc.w1_bus_master”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ w1_bus_master”h]”jZ)�”}”(hŒstruct w1_bus_master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj.h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KEubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj.h²hh³j?h´KEubjƒ)�”}”(hŒ w1_bus_master”h]”j‰)�”}”(hj,h]”hŒ w1_bus_master”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjNubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj.h²hh³j?h´KEubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj*h²hh³j?h´KEubah}”(h]”j%ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j?h´KEhj'h²hubj·)�”}”(hhh]”hì)�”}”(hŒ$operations available on a bus master”h]”hŒ$operations available on a bus master”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KThjqh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj'h²hh³j?h´KEubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙjŒjÚjŒjÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubjß)�”}”(hXn**Definition**:: struct w1_bus_master { void *data; u8 (*read_bit)(void *); void (*write_bit)(void *, u8); u8 (*touch_bit)(void *, u8); u8 (*read_byte)(void *); void (*write_byte)(void *, u8); u8 (*read_block)(void *, u8 *, int); void (*write_block)(void *, const u8 *, int); u8 (*triplet)(void *, u8); u8 (*reset_bus)(void *); u8 (*set_pullup)(void *, int); void (*search)(void *, struct w1_master *, u8, w1_slave_found_callback); char *dev_id; }; **Members** ``data`` the first parameter in all the functions below ``read_bit`` Sample the line level **return** the level read (0 or 1) ``write_bit`` Sets the line level ``touch_bit`` the lowest-level function for devices that really support the 1-wire protocol. touch_bit(0) = write-0 cycle touch_bit(1) = write-1 / read cycle **return** the bit read (0 or 1) ``read_byte`` Reads a byte. Same as 8 touch_bit(1) calls. **return** the byte read ``write_byte`` Writes a byte. Same as 8 touch_bit(x) calls. ``read_block`` Same as a series of read_byte() calls **return** the number of bytes read ``write_block`` Same as a series of write_byte() calls ``triplet`` Combines two reads and a smart write for ROM searches **return** bit0=Id bit1=comp_id bit2=dir_taken ``reset_bus`` long write-0 with a read for the presence pulse detection **return** -1=Error, 0=Device present, 1=No device present ``set_pullup`` Put out a strong pull-up pulse of the specified duration. **return** -1=Error, 0=completed ``search`` Really nice hardware can handle the different types of ROM search w1_master* is passed to the slave found callback. u8 is search_type, W1_SEARCH or W1_ALARM_SEARCH ``dev_id`` Optional device id string, which w1 slaves could use for creating names, which then give a connection to the w1 master”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KXhj�ubj)�”}”(hXãstruct w1_bus_master { void *data; u8 (*read_bit)(void *); void (*write_bit)(void *, u8); u8 (*touch_bit)(void *, u8); u8 (*read_byte)(void *); void (*write_byte)(void *, u8); u8 (*read_block)(void *, u8 *, int); void (*write_block)(void *, const u8 *, int); u8 (*triplet)(void *, u8); u8 (*reset_bus)(void *); u8 (*set_pullup)(void *, int); void (*search)(void *, struct w1_master *, u8, w1_slave_found_callback); char *dev_id; };”h]”hXãstruct w1_bus_master { void *data; u8 (*read_bit)(void *); void (*write_bit)(void *, u8); u8 (*touch_bit)(void *, u8); u8 (*read_byte)(void *); void (*write_byte)(void *, u8); u8 (*read_block)(void *, u8 *, int); void (*write_block)(void *, const u8 *, int); u8 (*triplet)(void *, u8); u8 (*reset_bus)(void *); u8 (*set_pullup)(void *, int); void (*search)(void *, struct w1_master *, u8, w1_slave_found_callback); char *dev_id; };”…”�”}”hj±sbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KZhj�ubhì)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kjhj�ubj-)�”}”(hhh]”(j2)�”}”(hŒ8``data`` the first parameter in all the functions below ”h]”(j8)�”}”(hŒ``data``”h]”j>)�”}”(hjáh]”hŒdata”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KWhjÛubjT)�”}”(hhh]”hì)�”}”(hŒ.the first parameter in all the functions below”h]”hŒ.the first parameter in all the functions below”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jöh´KWhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jöh´KWhjØubj2)�”}”(hŒF``read_bit`` Sample the line level **return** the level read (0 or 1) ”h]”(j8)�”}”(hŒ ``read_bit``”h]”j>)�”}”(hjh]”hŒread_bit”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KZhjubjT)�”}”(hhh]”hì)�”}”(hŒ8Sample the line level **return** the level read (0 or 1)”h]”(hŒSample the line level ”…”�”}”(hj3h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj3ubhŒ the level read (0 or 1)”…”�”}”(hj3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KYhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j/h´KZhjØubj2)�”}”(hŒ"``write_bit`` Sets the line level ”h]”(j8)�”}”(hŒ ``write_bit``”h]”j>)�”}”(hjfh]”hŒ write_bit”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K\hj`ubjT)�”}”(hhh]”hì)�”}”(hŒSets the line level”h]”hŒSets the line level”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j{h´K\hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j{h´K\hjØubj2)�”}”(hŒ¿``touch_bit`` the lowest-level function for devices that really support the 1-wire protocol. touch_bit(0) = write-0 cycle touch_bit(1) = write-1 / read cycle **return** the bit read (0 or 1) ”h]”(j8)�”}”(hŒ ``touch_bit``”h]”j>)�”}”(hjŸh]”hŒ touch_bit”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kbhj™ubjT)�”}”(hhh]”hì)�”}”(hŒ°the lowest-level function for devices that really support the 1-wire protocol. touch_bit(0) = write-0 cycle touch_bit(1) = write-1 / read cycle **return** the bit read (0 or 1)”h]”(hŒ�the lowest-level function for devices that really support the 1-wire protocol. touch_bit(0) = write-0 cycle touch_bit(1) = write-1 / read cycle ”…”�”}”(hj¸h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj¸ubhŒ the bit read (0 or 1)”…”�”}”(hj¸h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K^hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j´h´KbhjØubj2)�”}”(hŒS``read_byte`` Reads a byte. Same as 8 touch_bit(1) calls. **return** the byte read ”h]”(j8)�”}”(hŒ ``read_byte``”h]”j>)�”}”(hjëh]”hŒ read_byte”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjéubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KehjåubjT)�”}”(hhh]”hì)�”}”(hŒDReads a byte. Same as 8 touch_bit(1) calls. **return** the byte read”h]”(hŒ,Reads a byte. Same as 8 touch_bit(1) calls. ”…”�”}”(hj h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj ubhŒ the byte read”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kdhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjåubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j h´KehjØubj2)�”}”(hŒ<``write_byte`` Writes a byte. Same as 8 touch_bit(x) calls. ”h]”(j8)�”}”(hŒ``write_byte``”h]”j>)�”}”(hj7 h]”hŒ write_byte”…”�”}”(hj9 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj5 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kghj1 ubjT)�”}”(hhh]”hì)�”}”(hŒ,Writes a byte. Same as 8 touch_bit(x) calls.”h]”hŒ,Writes a byte. Same as 8 touch_bit(x) calls.”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jL h´KghjM ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj1 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jL h´KghjØubj2)�”}”(hŒY``read_block`` Same as a series of read_byte() calls **return** the number of bytes read ”h]”(j8)�”}”(hŒ``read_block``”h]”j>)�”}”(hjp h]”hŒ read_block”…”�”}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjn ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kjhjj ubjT)�”}”(hhh]”hì)�”}”(hŒISame as a series of read_byte() calls **return** the number of bytes read”h]”(hŒ&Same as a series of read_byte() calls ”…”�”}”(hj‰ h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj‰ ubhŒ the number of bytes read”…”�”}”(hj‰ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kihj† ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j… h´KjhjØubj2)�”}”(hŒ7``write_block`` Same as a series of write_byte() calls ”h]”(j8)�”}”(hŒ``write_block``”h]”j>)�”}”(hj¼ h]”hŒ write_block”…”�”}”(hj¾ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjº ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Klhj¶ ubjT)�”}”(hhh]”hì)�”}”(hŒ&Same as a series of write_byte() calls”h]”hŒ&Same as a series of write_byte() calls”…”�”}”(hjÕ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÑ h´KlhjÒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¶ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÑ h´KlhjØubj2)�”}”(hŒq``triplet`` Combines two reads and a smart write for ROM searches **return** bit0=Id bit1=comp_id bit2=dir_taken ”h]”(j8)�”}”(hŒ ``triplet``”h]”j>)�”}”(hjõ h]”hŒtriplet”…”�”}”(hj÷ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjó ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kohjï ubjT)�”}”(hhh]”hì)�”}”(hŒdCombines two reads and a smart write for ROM searches **return** bit0=Id bit1=comp_id bit2=dir_taken”h]”(hŒ6Combines two reads and a smart write for ROM searches ”…”�”}”(hj h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj ubhŒ$ bit0=Id bit1=comp_id bit2=dir_taken”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Knhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjï ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j h´KohjØubj2)�”}”(hŒƒ``reset_bus`` long write-0 with a read for the presence pulse detection **return** -1=Error, 0=Device present, 1=No device present ”h]”(j8)�”}”(hŒ ``reset_bus``”h]”j>)�”}”(hjA h]”hŒ reset_bus”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj? ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Krhj; ubjT)�”}”(hhh]”hì)�”}”(hŒtlong write-0 with a read for the presence pulse detection **return** -1=Error, 0=Device present, 1=No device present”h]”(hŒ:long write-0 with a read for the presence pulse detection ”…”�”}”(hjZ h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjZ ubhŒ0 -1=Error, 0=Device present, 1=No device present”…”�”}”(hjZ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KqhjW ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj; ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jV h´KrhjØubj2)�”}”(hŒj``set_pullup`` Put out a strong pull-up pulse of the specified duration. **return** -1=Error, 0=completed ”h]”(j8)�”}”(hŒ``set_pullup``”h]”j>)�”}”(hj� h]”hŒ set_pullup”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj‹ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kuhj‡ ubjT)�”}”(hhh]”hì)�”}”(hŒZPut out a strong pull-up pulse of the specified duration. **return** -1=Error, 0=completed”h]”(hŒ:Put out a strong pull-up pulse of the specified duration. ”…”�”}”(hj¦ h²hh³Nh´Nubjé)�”}”(hŒ **return**”h]”hŒreturn”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj¦ ubhŒ -1=Error, 0=completed”…”�”}”(hj¦ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kthj£ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj‡ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¢ h´KuhjØubj2)�”}”(hŒ¯``search`` Really nice hardware can handle the different types of ROM search w1_master* is passed to the slave found callback. u8 is search_type, W1_SEARCH or W1_ALARM_SEARCH ”h]”(j8)�”}”(hŒ ``search``”h]”j>)�”}”(hjÙ h]”hŒsearch”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj× ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KyhjÓ ubjT)�”}”(hhh]”hì)�”}”(hŒ£Really nice hardware can handle the different types of ROM search w1_master* is passed to the slave found callback. u8 is search_type, W1_SEARCH or W1_ALARM_SEARCH”h]”hŒ£Really nice hardware can handle the different types of ROM search w1_master* is passed to the slave found callback. u8 is search_type, W1_SEARCH or W1_ALARM_SEARCH”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kwhjï ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÓ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jî h´KyhjØubj2)�”}”(hŒ�``dev_id`` Optional device id string, which w1 slaves could use for creating names, which then give a connection to the w1 master”h]”(j8)�”}”(hŒ ``dev_id``”h]”j>)�”}”(hj h]”hŒdev_id”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K{hj ubjT)�”}”(hhh]”hì)�”}”(hŒvOptional device id string, which w1 slaves could use for creating names, which then give a connection to the w1 master”h]”hŒvOptional device id string, which w1 slaves could use for creating names, which then give a connection to the w1 master”…”�”}”(hj, h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j( h´K{hj) ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j( h´K{hjØubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubhì)�”}”(hŒ**Note**”h]”jé)�”}”(hjU h]”hŒNote”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjS ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Khjh²hubhì)�”}”(hŒúread_bit and write_bit are very low level functions and should only be used with hardware that doesn't really support 1-wire operations, like a parallel/serial port. Either define read_bit and write_bit OR define, at minimum, touch_bit and reset_bus.”h]”hŒüread_bit and write_bit are very low level functions and should only be used with hardware that doesn’t really support 1-wire operations, like a parallel/serial port. Either define read_bit and write_bit OR define, at minimum, touch_bit and reset_bus.”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K}hjh²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_master_flags (C enum)”Œc.w1_master_flags”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒw1_master_flags”h]”jZ)�”}”(hŒenum w1_master_flags”h]”(j`)�”}”(hŒenum”h]”hŒenum”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj� h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K†ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj� h²hh³j¡ h´K†ubjƒ)�”}”(hŒw1_master_flags”h]”j‰)�”}”(hj� h]”hŒw1_master_flags”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj° ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj� h²hh³j¡ h´K†ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj‹ h²hh³j¡ h´K†ubah}”(h]”j† ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j¡ h´K†hjˆ h²hubj·)�”}”(hhh]”hì)�”}”(hŒ!bitfields used in w1_master.flags”h]”hŒ!bitfields used in w1_master.flags”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¢hjÓ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjˆ h²hh³j¡ h´K†ubeh}”(h]”h ]”(jÓŒenum”eh"]”h$]”h&]”jØjÓjÙjî jÚjî jÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubjß)�”}”(hŒ�**Constants** ``W1_ABORT_SEARCH`` abort searching early on shutdown ``W1_WARN_MAX_COUNT`` limit warning when the maximum count is reached”h]”(hì)�”}”(hŒ **Constants**”h]”jé)�”}”(hjø h]”hŒ Constants”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjö ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¦hjò ubj-)�”}”(hhh]”(j2)�”}”(hŒ6``W1_ABORT_SEARCH`` abort searching early on shutdown ”h]”(j8)�”}”(hŒ``W1_ABORT_SEARCH``”h]”j>)�”}”(hj h]”hŒW1_ABORT_SEARCH”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K©hj ubjT)�”}”(hhh]”hì)�”}”(hŒ!abort searching early on shutdown”h]”hŒ!abort searching early on shutdown”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j, h´K©hj- ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j, h´K©hj ubj2)�”}”(hŒE``W1_WARN_MAX_COUNT`` limit warning when the maximum count is reached”h]”(j8)�”}”(hŒ``W1_WARN_MAX_COUNT``”h]”j>)�”}”(hjP h]”hŒW1_WARN_MAX_COUNT”…”�”}”(hjR h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjN ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K«hjJ ubjT)�”}”(hhh]”hì)�”}”(hŒ/limit warning when the maximum count is reached”h]”hŒ/limit warning when the maximum count is reached”…”�”}”(hji h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¬hjf ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjJ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³je h´K«hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjò ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_master (C struct)”Œ c.w1_master”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ w1_master”h]”jZ)�”}”(hŒstruct w1_master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¦ h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K±ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¦ h²hh³j· h´K±ubjƒ)�”}”(hŒ w1_master”h]”j‰)�”}”(hj¤ h]”hŒ w1_master”…”�”}”(hjÊ h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÆ ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj¦ h²hh³j· h´K±ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj¢ h²hh³j· h´K±ubah}”(h]”j� ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j· h´K±hjŸ h²hubj·)�”}”(hhh]”hì)�”}”(hŒone per bus master”h]”hŒone per bus master”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¬hjé h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjŸ h²hh³j· h´K±ubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙj jÚj jÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubjß)�”}”(hXá**Definition**:: struct w1_master { struct list_head w1_master_entry; struct module *owner; unsigned char name[W1_MAXNAMELEN]; struct mutex list_mutex; struct list_head slist; struct list_head async_list; int max_slave_count, slave_count; unsigned long attempts; int slave_ttl; int initialized; u32 id; int search_count; u64 search_id; atomic_t refcnt; void *priv; int enable_pullup; int pullup_duration; long flags; struct task_struct *thread; struct mutex mutex; struct mutex bus_mutex; struct device_driver *driver; struct device dev; struct w1_bus_master *bus_master; u32 seq; }; **Members** ``w1_master_entry`` master linked list ``owner`` module owner ``name`` dynamically allocate bus name ``list_mutex`` protect slist and async_list ``slist`` linked list of slaves ``async_list`` linked list of netlink commands to execute ``max_slave_count`` maximum number of slaves to search for at a time ``slave_count`` current number of slaves known ``attempts`` number of searches ran ``slave_ttl`` number of searches before a slave is timed out ``initialized`` prevent init/removal race conditions ``id`` w1 bus number ``search_count`` number of automatic searches to run, -1 unlimited ``search_id`` allows continuing a search ``refcnt`` reference count ``priv`` private data storage ``enable_pullup`` allows a strong pullup ``pullup_duration`` time for the next strong pullup ``flags`` one of w1_master_flags ``thread`` thread for bus search and netlink commands ``mutex`` protect most of w1_master ``bus_mutex`` pretect concurrent bus access ``driver`` sysfs driver ``dev`` sysfs device ``bus_master`` io operations available ``seq`` sequence number used for netlink broadcasts”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K°hj ubj)�”}”(hXstruct w1_master { struct list_head w1_master_entry; struct module *owner; unsigned char name[W1_MAXNAMELEN]; struct mutex list_mutex; struct list_head slist; struct list_head async_list; int max_slave_count, slave_count; unsigned long attempts; int slave_ttl; int initialized; u32 id; int search_count; u64 search_id; atomic_t refcnt; void *priv; int enable_pullup; int pullup_duration; long flags; struct task_struct *thread; struct mutex mutex; struct mutex bus_mutex; struct device_driver *driver; struct device dev; struct w1_bus_master *bus_master; u32 seq; };”h]”hXstruct w1_master { struct list_head w1_master_entry; struct module *owner; unsigned char name[W1_MAXNAMELEN]; struct mutex list_mutex; struct list_head slist; struct list_head async_list; int max_slave_count, slave_count; unsigned long attempts; int slave_ttl; int initialized; u32 id; int search_count; u64 search_id; atomic_t refcnt; void *priv; int enable_pullup; int pullup_duration; long flags; struct task_struct *thread; struct mutex mutex; struct mutex bus_mutex; struct device_driver *driver; struct device dev; struct w1_bus_master *bus_master; u32 seq; };”…”�”}”hj) sbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K²hj ubhì)�”}”(hŒ **Members**”h]”jé)�”}”(hj: h]”hŒMembers”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj8 ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÎhj ubj-)�”}”(hhh]”(j2)�”}”(hŒ'``w1_master_entry`` master linked list ”h]”(j8)�”}”(hŒ``w1_master_entry``”h]”j>)�”}”(hjY h]”hŒw1_master_entry”…”�”}”(hj[ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjW ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K®hjS ubjT)�”}”(hhh]”hì)�”}”(hŒmaster linked list”h]”hŒmaster linked list”…”�”}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jn h´K®hjo ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjS ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jn h´K®hjP ubj2)�”}”(hŒ``owner`` module owner ”h]”(j8)�”}”(hŒ ``owner``”h]”j>)�”}”(hj’ h]”hŒowner”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¯hjŒ ubjT)�”}”(hhh]”hì)�”}”(hŒ module owner”h]”hŒ module owner”…”�”}”(hj« h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j§ h´K¯hj¨ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjŒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j§ h´K¯hjP ubj2)�”}”(hŒ'``name`` dynamically allocate bus name ”h]”(j8)�”}”(hŒ``name``”h]”j>)�”}”(hjË h]”hŒname”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÉ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K°hjÅ ubjT)�”}”(hhh]”hì)�”}”(hŒdynamically allocate bus name”h]”hŒdynamically allocate bus name”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jà h´K°hjá ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÅ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jà h´K°hjP ubj2)�”}”(hŒ,``list_mutex`` protect slist and async_list ”h]”(j8)�”}”(hŒ``list_mutex``”h]”j>)�”}”(hjh]”hŒ list_mutex”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K±hjþ ubjT)�”}”(hhh]”hì)�”}”(hŒprotect slist and async_list”h]”hŒprotect slist and async_list”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jh´K±hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjþ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jh´K±hjP ubj2)�”}”(hŒ ``slist`` linked list of slaves ”h]”(j8)�”}”(hŒ ``slist``”h]”j>)�”}”(hj=h]”hŒslist”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K²hj7ubjT)�”}”(hhh]”hì)�”}”(hŒlinked list of slaves”h]”hŒlinked list of slaves”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jRh´K²hjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jRh´K²hjP ubj2)�”}”(hŒ:``async_list`` linked list of netlink commands to execute ”h]”(j8)�”}”(hŒ``async_list``”h]”j>)�”}”(hjvh]”hŒ async_list”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K³hjpubjT)�”}”(hhh]”hì)�”}”(hŒ*linked list of netlink commands to execute”h]”hŒ*linked list of netlink commands to execute”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j‹h´K³hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j‹h´K³hjP ubj2)�”}”(hŒE``max_slave_count`` maximum number of slaves to search for at a time ”h]”(j8)�”}”(hŒ``max_slave_count``”h]”j>)�”}”(hj¯h]”hŒmax_slave_count”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K´hj©ubjT)�”}”(hhh]”hì)�”}”(hŒ0maximum number of slaves to search for at a time”h]”hŒ0maximum number of slaves to search for at a time”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÄh´K´hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÄh´K´hjP ubj2)�”}”(hŒ/``slave_count`` current number of slaves known ”h]”(j8)�”}”(hŒ``slave_count``”h]”j>)�”}”(hjèh]”hŒ slave_count”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjæubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KµhjâubjT)�”}”(hhh]”hì)�”}”(hŒcurrent number of slaves known”h]”hŒcurrent number of slaves known”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jýh´Kµhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjâubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jýh´KµhjP ubj2)�”}”(hŒ$``attempts`` number of searches ran ”h]”(j8)�”}”(hŒ ``attempts``”h]”j>)�”}”(hj!h]”hŒattempts”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¶hjubjT)�”}”(hhh]”hì)�”}”(hŒnumber of searches ran”h]”hŒnumber of searches ran”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j6h´K¶hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j6h´K¶hjP ubj2)�”}”(hŒ=``slave_ttl`` number of searches before a slave is timed out ”h]”(j8)�”}”(hŒ ``slave_ttl``”h]”j>)�”}”(hjZh]”hŒ slave_ttl”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K·hjTubjT)�”}”(hhh]”hì)�”}”(hŒ.number of searches before a slave is timed out”h]”hŒ.number of searches before a slave is timed out”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³joh´K·hjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³joh´K·hjP ubj2)�”}”(hŒ5``initialized`` prevent init/removal race conditions ”h]”(j8)�”}”(hŒ``initialized``”h]”j>)�”}”(hj“h]”hŒ initialized”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¸hj�ubjT)�”}”(hhh]”hì)�”}”(hŒ$prevent init/removal race conditions”h]”hŒ$prevent init/removal race conditions”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j¨h´K¸hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¨h´K¸hjP ubj2)�”}”(hŒ``id`` w1 bus number ”h]”(j8)�”}”(hŒ``id``”h]”j>)�”}”(hjÌh]”hŒid”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¹hjÆubjT)�”}”(hhh]”hì)�”}”(hŒ w1 bus number”h]”hŒ w1 bus number”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jáh´K¹hjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jáh´K¹hjP ubj2)�”}”(hŒC``search_count`` number of automatic searches to run, -1 unlimited ”h]”(j8)�”}”(hŒ``search_count``”h]”j>)�”}”(hjh]”hŒ search_count”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KºhjÿubjT)�”}”(hhh]”hì)�”}”(hŒ1number of automatic searches to run, -1 unlimited”h]”hŒ1number of automatic searches to run, -1 unlimited”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jh´Kºhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jh´KºhjP ubj2)�”}”(hŒ)``search_id`` allows continuing a search ”h]”(j8)�”}”(hŒ ``search_id``”h]”j>)�”}”(hj>h]”hŒ search_id”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K»hj8ubjT)�”}”(hhh]”hì)�”}”(hŒallows continuing a search”h]”hŒallows continuing a search”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jSh´K»hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jSh´K»hjP ubj2)�”}”(hŒ``refcnt`` reference count ”h]”(j8)�”}”(hŒ ``refcnt``”h]”j>)�”}”(hjwh]”hŒrefcnt”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¼hjqubjT)�”}”(hhh]”hì)�”}”(hŒreference count”h]”hŒreference count”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jŒh´K¼hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jŒh´K¼hjP ubj2)�”}”(hŒ``priv`` private data storage ”h]”(j8)�”}”(hŒ``priv``”h]”j>)�”}”(hj°h]”hŒpriv”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K½hjªubjT)�”}”(hhh]”hì)�”}”(hŒprivate data storage”h]”hŒprivate data storage”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÅh´K½hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjªubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÅh´K½hjP ubj2)�”}”(hŒ)``enable_pullup`` allows a strong pullup ”h]”(j8)�”}”(hŒ``enable_pullup``”h]”j>)�”}”(hjéh]”hŒ enable_pullup”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjçubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¾hjãubjT)�”}”(hhh]”hì)�”}”(hŒallows a strong pullup”h]”hŒallows a strong pullup”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jþh´K¾hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjãubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jþh´K¾hjP ubj2)�”}”(hŒ4``pullup_duration`` time for the next strong pullup ”h]”(j8)�”}”(hŒ``pullup_duration``”h]”j>)�”}”(hj"h]”hŒpullup_duration”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´K¿hjubjT)�”}”(hhh]”hì)�”}”(hŒtime for the next strong pullup”h]”hŒtime for the next strong pullup”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j7h´K¿hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j7h´K¿hjP ubj2)�”}”(hŒ!``flags`` one of w1_master_flags ”h]”(j8)�”}”(hŒ ``flags``”h]”j>)�”}”(hj[h]”hŒflags”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÀhjUubjT)�”}”(hhh]”hì)�”}”(hŒone of w1_master_flags”h]”hŒone of w1_master_flags”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jph´KÀhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jph´KÀhjP ubj2)�”}”(hŒ6``thread`` thread for bus search and netlink commands ”h]”(j8)�”}”(hŒ ``thread``”h]”j>)�”}”(hj”h]”hŒthread”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÁhjŽubjT)�”}”(hhh]”hì)�”}”(hŒ*thread for bus search and netlink commands”h]”hŒ*thread for bus search and netlink commands”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j©h´KÁhjªubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j©h´KÁhjP ubj2)�”}”(hŒ$``mutex`` protect most of w1_master ”h]”(j8)�”}”(hŒ ``mutex``”h]”j>)�”}”(hjÍh]”hŒmutex”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjËubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÂhjÇubjT)�”}”(hhh]”hì)�”}”(hŒprotect most of w1_master”h]”hŒprotect most of w1_master”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jâh´KÂhjãubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jâh´KÂhjP ubj2)�”}”(hŒ,``bus_mutex`` pretect concurrent bus access ”h]”(j8)�”}”(hŒ ``bus_mutex``”h]”j>)�”}”(hjh]”hŒ bus_mutex”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÃhjubjT)�”}”(hhh]”hì)�”}”(hŒpretect concurrent bus access”h]”hŒpretect concurrent bus access”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jh´KÃhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jh´KÃhjP ubj2)�”}”(hŒ``driver`` sysfs driver ”h]”(j8)�”}”(hŒ ``driver``”h]”j>)�”}”(hj?h]”hŒdriver”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÄhj9ubjT)�”}”(hhh]”hì)�”}”(hŒ sysfs driver”h]”hŒ sysfs driver”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jTh´KÄhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jTh´KÄhjP ubj2)�”}”(hŒ``dev`` sysfs device ”h]”(j8)�”}”(hŒ``dev``”h]”j>)�”}”(hjxh]”hŒdev”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÅhjrubjT)�”}”(hhh]”hì)�”}”(hŒ sysfs device”h]”hŒ sysfs device”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j�h´KÅhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j�h´KÅhjP ubj2)�”}”(hŒ'``bus_master`` io operations available ”h]”(j8)�”}”(hŒ``bus_master``”h]”j>)�”}”(hj±h]”hŒ bus_master”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÆhj«ubjT)�”}”(hhh]”hì)�”}”(hŒio operations available”h]”hŒio operations available”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÆh´KÆhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÆh´KÆhjP ubj2)�”}”(hŒ3``seq`` sequence number used for netlink broadcasts”h]”(j8)�”}”(hŒ``seq``”h]”j>)�”}”(hjêh]”hŒseq”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjèubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÆhjäubjT)�”}”(hhh]”hì)�”}”(hŒ+sequence number used for netlink broadcasts”h]”hŒ+sequence number used for netlink broadcasts”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÇhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjäubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÿh´KÆhjP ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_family_ops (C struct)”Œc.w1_family_ops”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ w1_family_ops”h]”jZ)�”}”(hŒstruct w1_family_ops”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj@h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KÍubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj@h²hh³jQh´KÍubjƒ)�”}”(hŒ w1_family_ops”h]”j‰)�”}”(hj>h]”hŒ w1_family_ops”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj`ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj@h²hh³jQh´KÍubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj<h²hh³jQh´KÍubah}”(h]”j7ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jQh´KÍhj9h²hubj·)�”}”(hhh]”hì)�”}”(hŒoperations for a family type”h]”hŒoperations for a family type”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”•h´Køhjƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj9h²hh³jQh´KÍubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙjžjÚjžjÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubjß)�”}”(hX**Definition**:: struct w1_family_ops { int (*add_slave)(struct w1_slave *sl); void (*remove_slave)(struct w1_slave *sl); const struct attribute_group **groups; const struct hwmon_chip_info *chip_info; }; **Members** ``add_slave`` add_slave ``remove_slave`` remove_slave ``groups`` sysfs group ``chip_info`` pointer to struct hwmon_chip_info”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kühj¢ubj)�”}”(hŒËstruct w1_family_ops { int (*add_slave)(struct w1_slave *sl); void (*remove_slave)(struct w1_slave *sl); const struct attribute_group **groups; const struct hwmon_chip_info *chip_info; };”h]”hŒËstruct w1_family_ops { int (*add_slave)(struct w1_slave *sl); void (*remove_slave)(struct w1_slave *sl); const struct attribute_group **groups; const struct hwmon_chip_info *chip_info; };”…”�”}”hjÃsbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kþhj¢ubhì)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mhj¢ubj-)�”}”(hhh]”(j2)�”}”(hŒ``add_slave`` add_slave ”h]”(j8)�”}”(hŒ ``add_slave``”h]”j>)�”}”(hjóh]”hŒ add_slave”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´KúhjíubjT)�”}”(hhh]”hì)�”}”(hŒ add_slave”h]”hŒ add_slave”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jh´Kúhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jh´Kúhjêubj2)�”}”(hŒ``remove_slave`` remove_slave ”h]”(j8)�”}”(hŒ``remove_slave``”h]”j>)�”}”(hj,h]”hŒ remove_slave”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kûhj&ubjT)�”}”(hhh]”hì)�”}”(hŒ remove_slave”h]”hŒ remove_slave”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jAh´KûhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jAh´Kûhjêubj2)�”}”(hŒ``groups`` sysfs group ”h]”(j8)�”}”(hŒ ``groups``”h]”j>)�”}”(hjeh]”hŒgroups”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kühj_ubjT)�”}”(hhh]”hì)�”}”(hŒ sysfs group”h]”hŒ sysfs group”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jzh´Kühj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jzh´Kühjêubj2)�”}”(hŒ/``chip_info`` pointer to struct hwmon_chip_info”h]”(j8)�”}”(hŒ ``chip_info``”h]”j>)�”}”(hjžh]”hŒ chip_info”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kühj˜ubjT)�”}”(hhh]”hì)�”}”(hŒ!pointer to struct hwmon_chip_info”h]”hŒ!pointer to struct hwmon_chip_info”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Kýhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j³h´Kühjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj¢ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_family (C struct)”Œ c.w1_family”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ w1_family”h]”jZ)�”}”(hŒstruct w1_family”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjôh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjôh²hh³jh´Mubjƒ)�”}”(hŒ w1_family”h]”j‰)�”}”(hjòh]”hŒ w1_family”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjôh²hh³jh´Mubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjðh²hh³jh´Mubah}”(h]”jëah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jh´Mhjíh²hubj·)�”}”(hhh]”hì)�”}”(hŒ#reference counted family structure.”h]”hŒ#reference counted family structure.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mhj7h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjíh²hh³jh´Mubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙjRjÚjRjÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubjß)�”}”(hX£**Definition**:: struct w1_family { struct list_head family_entry; u8 fid; const struct w1_family_ops *fops; const struct of_device_id *of_match_table; atomic_t refcnt; }; **Members** ``family_entry`` family linked list ``fid`` 8 bit family identifier ``fops`` operations for this family ``of_match_table`` open firmware match table ``refcnt`` reference counter”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjZubhŒ:”…”�”}”(hjZh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hjVubj)�”}”(hŒµstruct w1_family { struct list_head family_entry; u8 fid; const struct w1_family_ops *fops; const struct of_device_id *of_match_table; atomic_t refcnt; };”h]”hŒµstruct w1_family { struct list_head family_entry; u8 fid; const struct w1_family_ops *fops; const struct of_device_id *of_match_table; atomic_t refcnt; };”…”�”}”hjwsbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hjVubhì)�”}”(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&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´MhjVubj-)�”}”(hhh]”(j2)�”}”(hŒ$``family_entry`` family linked list ”h]”(j8)�”}”(hŒ``family_entry``”h]”j>)�”}”(hj§h]”hŒ family_entry”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mhj¡ubjT)�”}”(hhh]”hì)�”}”(hŒfamily linked list”h]”hŒfamily linked list”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j¼h´Mhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¼h´Mhjžubj2)�”}”(hŒ ``fid`` 8 bit family identifier ”h]”(j8)�”}”(hŒ``fid``”h]”j>)�”}”(hjàh]”hŒfid”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hjÚubjT)�”}”(hhh]”hì)�”}”(hŒ8 bit family identifier”h]”hŒ8 bit family identifier”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jõh´M hjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jõh´M hjžubj2)�”}”(hŒ$``fops`` operations for this family ”h]”(j8)�”}”(hŒ``fops``”h]”j>)�”}”(hjh]”hŒfops”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hjubjT)�”}”(hhh]”hì)�”}”(hŒoperations for this family”h]”hŒoperations for this family”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j.h´M hj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j.h´M hjžubj2)�”}”(hŒ-``of_match_table`` open firmware match table ”h]”(j8)�”}”(hŒ``of_match_table``”h]”j>)�”}”(hjRh]”hŒof_match_table”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hjLubjT)�”}”(hhh]”hì)�”}”(hŒopen firmware match table”h]”hŒopen firmware match table”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jgh´M hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jgh´M hjžubj2)�”}”(hŒ``refcnt`` reference counter”h]”(j8)�”}”(hŒ ``refcnt``”h]”j>)�”}”(hj‹h]”hŒrefcnt”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hj…ubjT)�”}”(hhh]”hì)�”}”(hŒreference counter”h]”hŒreference counter”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j h´M hjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjVubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒmodule_w1_family (C macro)”Œc.module_w1_family”hNt”auh1j=hjh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒmodule_w1_family”h]”jZ)�”}”(hŒmodule_w1_family”h]”jƒ)�”}”(hŒmodule_w1_family”h]”j‰)�”}”(hjßh]”hŒmodule_w1_family”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjåubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjáh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mubah}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjÝh²hh³jüh´Mubah}”(h]”jØah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jüh´MhjÚh²hubj·)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjÚh²hh³jüh´Mubeh}”(h]”h ]”(jÓŒmacro”eh"]”h$]”h&]”jØjÓjÙjjÚjjÛ‰j܉j݉uh1jNh²hhjh³Nh´Nubhì)�”}”(hŒ"``module_w1_family (__w1_family)``”h]”j>)�”}”(hjh]”hŒmodule_w1_family (__w1_family)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mhjh²hubhŒ block_quote”“”)�”}”(hŒ/Helper macro for registering a 1-Wire families ”h]”hì)�”}”(hŒ.Helper macro for registering a 1-Wire families”h]”hŒ.Helper macro for registering a 1-Wire families”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´Mhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jEh´Mhjh²hubjß)�”}”(hX#**Parameters** ``__w1_family`` w1_family struct **Description** Helper macro for 1-Wire families which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit()”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjRh]”hŒ Parameters”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´M hjLubj-)�”}”(hhh]”j2)�”}”(hŒ!``__w1_family`` w1_family struct ”h]”(j8)�”}”(hŒ``__w1_family``”h]”j>)�”}”(hjqh]”hŒ __w1_family”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´MhjkubjT)�”}”(hhh]”hì)�”}”(hŒw1_family struct”h]”hŒw1_family struct”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j†h´Mhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j†h´Mhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjLubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hj¬h]”hŒ Description”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjªubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´MhjLubhì)�”}”(hŒÞHelper macro for 1-Wire families which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit()”h]”hŒÞHelper macro for 1-Wire families which do not do anything special in module init/exit. This eliminates a lot of boilerplate. Each module may only use this macro once, and calling it replaces module_init() and module_exit()”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:15: ./include/linux/w1.h”h´MhjLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjh²hh³Nh´Nubeh}”(h]”Œinclude-linux-w1-h”ah ]”h"]”Œinclude/linux/w1.h”ah$]”h&]”uh1hµhj h²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒdrivers/w1/w1.c”h]”hŒdrivers/w1/w1.c”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjàh²hh³hÊh´Kubhì)�”}”(hŒW1 core functions.”h]”hŒW1 core functions.”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´Khjàh²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_search (C function)”Œ c.w1_search”hNt”auh1j=hjàh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒRvoid w1_search (struct w1_master *dev, u8 search_type, w1_slave_found_callback cb)”h]”jZ)�”}”(hŒQvoid w1_search(struct w1_master *dev, u8 search_type, w1_slave_found_callback cb)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jhjh²hh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÅubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjh²hh³j)h´MÅubjƒ)�”}”(hŒ w1_search”h]”j‰)�”}”(hŒ w1_search”h]”hŒ w1_search”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj8ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjh²hh³j)h´MÅubhŒdesc_parameterlist”“”)�”}”(hŒC(struct w1_master *dev, u8 search_type, w1_slave_found_callback cb)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjXubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjXubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjwubah}”(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�j>sbŒ c.w1_search”†”asbuh1hhjXubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjXubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j°hjXubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjRubjW)�”}”(hŒu8 search_type”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”Nj”j—)�”}”jš]”jžŒ c.w1_search”†”asbuh1hhjÖubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÖubj‰)�”}”(hŒ search_type”h]”hŒ search_type”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÖubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjRubjW)�”}”(hŒw1_slave_found_callback cb”h]”(h)�”}”(hhh]”j‰)�”}”(hŒw1_slave_found_callback”h]”hŒw1_slave_found_callback”…”�”}”(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”Nj”j—)�”}”jš]”jžŒ c.w1_search”†”asbuh1hhjubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjubj‰)�”}”(hŒcb”h]”hŒcb”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjRubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjh²hh³j)h´MÅubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjh²hh³j)h´MÅubah}”(h]”j ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j)h´MÅhj h²hubj·)�”}”(hhh]”hì)�”}”(hŒ4Performs a ROM Search & registers any devices found.”h]”hŒ4Performs a ROM Search & registers any devices found.”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÅhjxh²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݉uh1jNh²hhjàh³Nh´Nubjß)�”}”(hXÚ**Parameters** ``struct w1_master *dev`` The master device to search ``u8 search_type`` W1_SEARCH to search all devices, or W1_ALARM_SEARCH to return only devices in the alarmed state ``w1_slave_found_callback cb`` Function to call when a device is found **Description** The 1-wire search is a simple binary tree search. For each bit of the address, we read two bits and write one bit. The bit written will put to sleep all devies that don't match that bit. When the two reads differ, the direction choice is obvious. When both bits are 0, we must choose a path to take. When we can scan all 64 bits without having to choose a path, we are done. See "Application note 187 1-wire search algorithm" at www.maxim-ic.com”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³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÉhj—ubj-)�”}”(hhh]”(j2)�”}”(hŒ6``struct w1_master *dev`` The master device to search ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj¼h]”hŒstruct w1_master *dev”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÆhj¶ubjT)�”}”(hhh]”hì)�”}”(hŒThe master device to search”h]”hŒThe master device to search”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÑh´MÆhjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÑh´MÆhj³ubj2)�”}”(hŒs``u8 search_type`` W1_SEARCH to search all devices, or W1_ALARM_SEARCH to return only devices in the alarmed state ”h]”(j8)�”}”(hŒ``u8 search_type``”h]”j>)�”}”(hjõh]”hŒu8 search_type”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÈhjïubjT)�”}”(hhh]”hì)�”}”(hŒ_W1_SEARCH to search all devices, or W1_ALARM_SEARCH to return only devices in the alarmed state”h]”hŒ_W1_SEARCH to search all devices, or W1_ALARM_SEARCH to return only devices in the alarmed state”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÇhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjïubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j h´MÈhj³ubj2)�”}”(hŒG``w1_slave_found_callback cb`` Function to call when a device is found ”h]”(j8)�”}”(hŒ``w1_slave_found_callback cb``”h]”j>)�”}”(hj/h]”hŒw1_slave_found_callback cb”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÉhj)ubjT)�”}”(hhh]”hì)�”}”(hŒ'Function to call when a device is found”h]”hŒ'Function to call when a device is found”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jDh´MÉhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jDh´MÉhj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj—ubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjjh]”hŒ Description”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MËhj—ubhì)�”}”(hXvThe 1-wire search is a simple binary tree search. For each bit of the address, we read two bits and write one bit. The bit written will put to sleep all devies that don't match that bit. When the two reads differ, the direction choice is obvious. When both bits are 0, we must choose a path to take. When we can scan all 64 bits without having to choose a path, we are done.”h]”hXxThe 1-wire search is a simple binary tree search. For each bit of the address, we read two bits and write one bit. The bit written will put to sleep all devies that don’t match that bit. When the two reads differ, the direction choice is obvious. When both bits are 0, we must choose a path to take. When we can scan all 64 bits without having to choose a path, we are done.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÊhj—ubhì)�”}”(hŒFSee "Application note 187 1-wire search algorithm" at www.maxim-ic.com”h]”hŒJSee “Application note 187 1-wire search algorithmâ€� at www.maxim-ic.com”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´MÑhj—ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjàh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ!w1_process_callbacks (C function)”Œc.w1_process_callbacks”hNt”auh1j=hjàh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ0int w1_process_callbacks (struct w1_master *dev)”h]”jZ)�”}”(hŒ/int w1_process_callbacks(struct w1_master *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjºh²hh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mcubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjºh²hh³jÌh´Mcubjƒ)�”}”(hŒw1_process_callbacks”h]”j‰)�”}”(hŒw1_process_callbacks”h]”hŒw1_process_callbacks”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÛubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjºh²hh³jÌh´McubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj÷ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj÷ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(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”Nj”j—)�”}”jš]”j�)�”}”j�jásbŒc.w1_process_callbacks”†”asbuh1hhj÷ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj÷ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj÷ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj÷ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjóubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjºh²hh³jÌh´Mcubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj¶h²hh³jÌh´Mcubah}”(h]”j±ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jÌh´Mchj³h²hubj·)�”}”(hhh]”hì)�”}”(hŒ+execute each dev->async_list callback entry”h]”hŒ+execute each dev->async_list callback entry”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mchj{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj³h²hh³jÌh´Mcubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj–jÚj–jÛ‰j܉j݉uh1jNh²hhjàh³Nh´Nubjß)�”}”(hŒ³**Parameters** ``struct w1_master *dev`` w1_master device **Description** The w1 master list_mutex must be held. **Return** 1 if there were commands to executed 0 otherwise”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³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mghjšubj-)�”}”(hhh]”j2)�”}”(hŒ+``struct w1_master *dev`` w1_master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj¿h]”hŒstruct w1_master *dev”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mdhj¹ubjT)�”}”(hhh]”hì)�”}”(hŒw1_master device”h]”hŒw1_master device”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÔh´MdhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÔh´Mdhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjšubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjúh]”hŒ Description”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mfhjšubhì)�”}”(hŒ&The w1 master list_mutex must be held.”h]”hŒ&The w1 master list_mutex must be held.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mehjšubhì)�”}”(hŒ **Return**”h]”jé)�”}”(hj!h]”hŒReturn”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mghjšubhì)�”}”(hŒ01 if there were commands to executed 0 otherwise”h]”hŒ01 if there were commands to executed 0 otherwise”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒM/var/lib/git/docbuild/linux/Documentation/driver-api/w1:23: ./drivers/w1/w1.c”h´Mhhjšubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjàh²hh³Nh´Nubeh}”(h]”Œdrivers-w1-w1-c”ah ]”h"]”Œdrivers/w1/w1.c”ah$]”h&]”uh1hµhj h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒdrivers/w1/w1_family.c”h]”hŒdrivers/w1/w1_family.c”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjUh²hh³hÊh´Kubhì)�”}”(hŒ,Allows registering device family operations.”h]”hŒ,Allows registering device family operations.”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´KhjUh²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_register_family (C function)”Œc.w1_register_family”hNt”auh1j=hjUh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ/int w1_register_family (struct w1_family *newf)”h]”jZ)�”}”(hŒ.int w1_register_family(struct w1_family *newf)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj‰h²hh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´Kubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj‰h²hh³j›h´Kubjƒ)�”}”(hŒw1_register_family”h]”j‰)�”}”(hŒw1_register_family”h]”hŒw1_register_family”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjªubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj‰h²hh³j›h´KubjQ)�”}”(hŒ(struct w1_family *newf)”h]”jW)�”}”(hŒstruct w1_family *newf”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÆubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÆubh)�”}”(hhh]”j‰)�”}”(hŒ w1_family”h]”hŒ w1_family”…”�”}”(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”Nj”j—)�”}”jš]”j�)�”}”j�j°sbŒc.w1_register_family”†”asbuh1hhjÆubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÆubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÆubj‰)�”}”(hŒnewf”h]”hŒnewf”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjÂubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj‰h²hh³j›h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj…h²hh³j›h´Kubah}”(h]”j€ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j›h´Khj‚h²hubj·)�”}”(hhh]”hì)�”}”(hŒregister a device family driver”h]”hŒregister a device family driver”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´KhjJh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj‚h²hh³j›h´Kubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjejÚjejÛ‰j܉j݉uh1jNh²hhjUh³Nh´Nubjß)�”}”(hŒ?**Parameters** ``struct w1_family *newf`` family to register”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjoh]”hŒ Parameters”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjmubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´Khjiubj-)�”}”(hhh]”j2)�”}”(hŒ-``struct w1_family *newf`` family to register”h]”(j8)�”}”(hŒ``struct w1_family *newf``”h]”j>)�”}”(hjŽh]”hŒstruct w1_family *newf”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´KhjˆubjT)�”}”(hhh]”hì)�”}”(hŒfamily to register”h]”hŒfamily to register”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´Khj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j£h´Khj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjiubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjUh²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ!w1_unregister_family (C function)”Œc.w1_unregister_family”hNt”auh1j=hjUh²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ2void w1_unregister_family (struct w1_family *fent)”h]”jZ)�”}”(hŒ1void w1_unregister_family(struct w1_family *fent)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjäh²hh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´K3ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjäh²hh³jöh´K3ubjƒ)�”}”(hŒw1_unregister_family”h]”j‰)�”}”(hŒw1_unregister_family”h]”hŒw1_unregister_family”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjäh²hh³jöh´K3ubjQ)�”}”(hŒ(struct w1_family *fent)”h]”jW)�”}”(hŒstruct w1_family *fent”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj!ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj!ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_family”h]”hŒ w1_family”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jEŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�j sbŒc.w1_unregister_family”†”asbuh1hhj!ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj!ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj!ubj‰)�”}”(hŒfent”h]”hŒfent”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjäh²hh³jöh´K3ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjàh²hh³jöh´K3ubah}”(h]”jÛah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jöh´K3hjÝh²hubj·)�”}”(hhh]”hì)�”}”(hŒ!unregister a device family driver”h]”hŒ!unregister a device family driver”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´K3hj¥h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjÝh²hh³jöh´K3ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjÀjÚjÀjÛ‰j܉j݉uh1jNh²hhjUh³Nh´Nubjß)�”}”(hŒA**Parameters** ``struct w1_family *fent`` family to unregister”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³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´K7hjÄubj-)�”}”(hhh]”j2)�”}”(hŒ/``struct w1_family *fent`` family to unregister”h]”(j8)�”}”(hŒ``struct w1_family *fent``”h]”j>)�”}”(hjéh]”hŒstruct w1_family *fent”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjçubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´K9hjãubjT)�”}”(hhh]”hì)�”}”(hŒfamily to unregister”h]”hŒfamily to unregister”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒT/var/lib/git/docbuild/linux/Documentation/driver-api/w1:31: ./drivers/w1/w1_family.c”h´K4hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjãubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jþh´K9hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjÄubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjUh²hh³Nh´Nubeh}”(h]”Œdrivers-w1-w1-family-c”ah ]”h"]”Œdrivers/w1/w1_family.c”ah$]”h&]”uh1hµhj h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒdrivers/w1/w1_internal.h”h]”hŒdrivers/w1/w1_internal.h”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj2h²hh³hÊh´K#ubhì)�”}”(hŒ.W1 internal initialization for master devices.”h]”hŒ.W1 internal initialization for master devices.”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´K%hj2h²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_async_cmd (C struct)”Œc.w1_async_cmd”hNt”auh1j=hj2h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´NubjO)�”}”(hhh]”(jT)�”}”(hŒ w1_async_cmd”h]”jZ)�”}”(hŒstruct w1_async_cmd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjgh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´Kubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjgh²hh³jxh´Kubjƒ)�”}”(hŒ w1_async_cmd”h]”j‰)�”}”(hjeh]”hŒ w1_async_cmd”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj‡ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjgh²hh³jxh´Kubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjch²hh³jxh´Kubah}”(h]”j]ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jxh´Khj`h²hubj·)�”}”(hhh]”hì)�”}”(hŒ,execute callback from the w1_process kthread”h]”hŒ,execute callback from the w1_process kthread”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´Khjªh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj`h²hh³jxh´Kubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙjÅjÚjÅjÛ‰j܉j݉uh1jNh²hhj2h³j_h´Nubjß)�”}”(hX!**Definition**:: struct w1_async_cmd { struct list_head async_entry; void (*cb)(struct w1_master *dev, struct w1_async_cmd *async_cmd); }; **Members** ``async_entry`` link entry ``cb`` callback function, must list_del and destroy this list before returning”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(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&]”uh1hëh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´KhjÉubj)�”}”(hŒˆstruct w1_async_cmd { struct list_head async_entry; void (*cb)(struct w1_master *dev, struct w1_async_cmd *async_cmd); };”h]”hŒˆstruct w1_async_cmd { struct list_head async_entry; void (*cb)(struct w1_master *dev, struct w1_async_cmd *async_cmd); };”…”�”}”hjêsbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´KhjÉubhì)�”}”(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&]”uh1hëh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´KhjÉubj-)�”}”(hhh]”(j2)�”}”(hŒ``async_entry`` link entry ”h]”(j8)�”}”(hŒ``async_entry``”h]”j>)�”}”(hj h]”hŒ async_entry”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´Khj ubjT)�”}”(hhh]”hì)�”}”(hŒ link entry”h]”hŒ link entry”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j/ h´Khj0 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j/ h´Khj ubj2)�”}”(hŒN``cb`` callback function, must list_del and destroy this list before returning”h]”(j8)�”}”(hŒ``cb``”h]”j>)�”}”(hjS h]”hŒcb”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjQ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´KhjM ubjT)�”}”(hhh]”hì)�”}”(hŒGcallback function, must list_del and destroy this list before returning”h]”hŒGcallback function, must list_del and destroy this list before returning”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jh h´Khji ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjM ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jh h´Khj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjÉubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhj2h²hh³j_h´Nubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hj• h]”hŒ Description”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj“ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´Khj2h²hubhì)�”}”(hŒ‹When inserted into the w1_master async_list, w1_process will execute the callback. Embed this into the structure with the command details.”h]”hŒ‹When inserted into the w1_master async_list, w1_process will execute the callback. Embed this into the structure with the command details.”…”�”}”(hj« h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒV/var/lib/git/docbuild/linux/Documentation/driver-api/w1:39: ./drivers/w1/w1_internal.h”h´Khj2h²hubeh}”(h]”Œdrivers-w1-w1-internal-h”ah ]”h"]”Œdrivers/w1/w1_internal.h”ah$]”h&]”uh1hµhj h²hh³hÊh´K#ubh¶)�”}”(hhh]”(h»)�”}”(hŒdrivers/w1/w1_int.c”h]”hŒdrivers/w1/w1_int.c”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´K+ubhì)�”}”(hŒ.W1 internal initialization for master devices.”h]”hŒ.W1 internal initialization for master devices.”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´K-hj h²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ!w1_add_master_device (C function)”Œc.w1_add_master_device”hNt”auh1j=hj h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ7int w1_add_master_device (struct w1_bus_master *master)”h]”jZ)�”}”(hŒ6int w1_add_master_device(struct w1_bus_master *master)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjö h²hh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KUubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj !h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjö h²hh³j!h´KUubjƒ)�”}”(hŒw1_add_master_device”h]”j‰)�”}”(hŒw1_add_master_device”h]”hŒw1_add_master_device”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj!ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjö h²hh³j!h´KUubjQ)�”}”(hŒ(struct w1_bus_master *master)”h]”jW)�”}”(hŒstruct w1_bus_master *master”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj7!h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj3!ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD!h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj3!ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_bus_master”h]”hŒ w1_bus_master”…”�”}”(hjU!h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjR!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jW!Œmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�j!sbŒc.w1_add_master_device”†”asbuh1hhj3!ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hju!h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj3!ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjƒ!h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj3!ubj‰)�”}”(hŒmaster”h]”hŒmaster”…”�”}”(hj�!h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj3!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj/!ubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjö h²hh³j!h´KUubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjò h²hh³j!h´KUubah}”(h]”jí ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j!h´KUhjï h²hubj·)�”}”(hhh]”hì)�”}”(hŒregisters a new master device”h]”hŒregisters a new master device”…”�”}”(hjº!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KUhj·!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjï h²hh³j!h´KUubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjÒ!jÚjÒ!jÛ‰j܉j݉uh1jNh²hhj h³Nh´Nubjß)�”}”(hŒP**Parameters** ``struct w1_bus_master *master`` master bus device to register”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³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KYhjÖ!ubj-)�”}”(hhh]”j2)�”}”(hŒ>``struct w1_bus_master *master`` master bus device to register”h]”(j8)�”}”(hŒ ``struct w1_bus_master *master``”h]”j>)�”}”(hjû!h]”hŒstruct w1_bus_master *master”…”�”}”(hjý!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjù!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´K[hjõ!ubjT)�”}”(hhh]”hì)�”}”(hŒmaster bus device to register”h]”hŒmaster bus device to register”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KVhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjõ!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j"h´K[hjò!ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjÖ!ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhj h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ$w1_remove_master_device (C function)”Œc.w1_remove_master_device”hNt”auh1j=hj h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ7void w1_remove_master_device (struct w1_bus_master *bm)”h]”jZ)�”}”(hŒ6void w1_remove_master_device(struct w1_bus_master *bm)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjU"h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjQ"h²hh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KØubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjd"h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjQ"h²hh³jc"h´KØubjƒ)�”}”(hŒw1_remove_master_device”h]”j‰)�”}”(hŒw1_remove_master_device”h]”hŒw1_remove_master_device”…”�”}”(hjv"h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjr"ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjQ"h²hh³jc"h´KØubjQ)�”}”(hŒ(struct w1_bus_master *bm)”h]”jW)�”}”(hŒstruct w1_bus_master *bm”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj’"h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjŽ"ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ"h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjŽ"ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_bus_master”h]”hŒ w1_bus_master”…”�”}”(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”Nj”j—)�”}”jš]”j�)�”}”j�jx"sbŒc.w1_remove_master_device”†”asbuh1hhjŽ"ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ"h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjŽ"ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjÞ"h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjŽ"ubj‰)�”}”(hŒbm”h]”hŒbm”…”�”}”(hjë"h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjŽ"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjŠ"ubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjQ"h²hh³jc"h´KØubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjM"h²hh³jc"h´KØubah}”(h]”jH"ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jc"h´KØhjJ"h²hubj·)�”}”(hhh]”hì)�”}”(hŒunregister a master device”h]”hŒunregister a master device”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KØhj#h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjJ"h²hh³jc"h´KØubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj-#jÚj-#jÛ‰j܉j݉uh1jNh²hhj h³Nh´Nubjß)�”}”(hŒJ**Parameters** ``struct w1_bus_master *bm`` master bus device to remove”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hj7#h]”hŒ Parameters”…”�”}”(hj9#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj5#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KÜhj1#ubj-)�”}”(hhh]”j2)�”}”(hŒ8``struct w1_bus_master *bm`` master bus device to remove”h]”(j8)�”}”(hŒ``struct w1_bus_master *bm``”h]”j>)�”}”(hjV#h]”hŒstruct w1_bus_master *bm”…”�”}”(hjX#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjT#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KÞhjP#ubjT)�”}”(hhh]”hì)�”}”(hŒmaster bus device to remove”h]”hŒmaster bus device to remove”…”�”}”(hjo#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/w1:47: ./drivers/w1/w1_int.c”h´KÙhjl#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjP#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jk#h´KÞhjM#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj1#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhj h²hh³Nh´Nubeh}”(h]”Œdrivers-w1-w1-int-c”ah ]”h"]”Œdrivers/w1/w1_int.c”ah$]”h&]”uh1hµhj h²hh³hÊh´K+ubh¶)�”}”(hhh]”(h»)�”}”(hŒdrivers/w1/w1_netlink.h”h]”hŒdrivers/w1/w1_netlink.h”…”�”}”(hj¢#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjŸ#h²hh³hÊh´K3ubhì)�”}”(hŒ0W1 external netlink API structures and commands.”h]”hŒ0W1 external netlink API structures and commands.”…”�”}”(hj°#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´K5hjŸ#h²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_cn_msg_flags (C enum)”Œc.w1_cn_msg_flags”hNt”auh1j=hjŸ#h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´NubjO)�”}”(hhh]”(jT)�”}”(hŒw1_cn_msg_flags”h]”jZ)�”}”(hŒenum w1_cn_msg_flags”h]”(j`)�”}”(hj• h]”hŒenum”…”�”}”(hjØ#h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÔ#h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæ#h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÔ#h²hh³jå#h´Kubjƒ)�”}”(hŒw1_cn_msg_flags”h]”j‰)�”}”(hjÒ#h]”hŒw1_cn_msg_flags”…”�”}”(hjø#h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjô#ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjÔ#h²hh³jå#h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjÐ#h²hh³jå#h´Kubah}”(h]”jÊ#ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jå#h´KhjÍ#h²hubj·)�”}”(hhh]”hì)�”}”(hŒ&bitfield flags for struct cn_msg.flags”h]”hŒ&bitfield flags for struct cn_msg.flags”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Khj$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjÍ#h²hh³jå#h´Kubeh}”(h]”h ]”(jÓŒenum”eh"]”h$]”h&]”jØjÓjÙj2$jÚj2$jÛ‰j܉j݉uh1jNh²hhjŸ#h³jÌ#h´Nubjß)�”}”(hŒÂ**Constants** ``W1_CN_BUNDLE`` Request bundling replies into fewer messagse. Be prepared to handle multiple struct cn_msg, struct w1_netlink_msg, and struct w1_netlink_cmd in one packet.”h]”(hì)�”}”(hŒ **Constants**”h]”jé)�”}”(hj<$h]”hŒ Constants”…”�”}”(hj>$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj:$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Khj6$ubj-)�”}”(hhh]”j2)�”}”(hŒ­``W1_CN_BUNDLE`` Request bundling replies into fewer messagse. Be prepared to handle multiple struct cn_msg, struct w1_netlink_msg, and struct w1_netlink_cmd in one packet.”h]”(j8)�”}”(hŒ``W1_CN_BUNDLE``”h]”j>)�”}”(hj[$h]”hŒ W1_CN_BUNDLE”…”�”}”(hj]$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjY$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KhjU$ubjT)�”}”(hhh]”hì)�”}”(hŒœRequest bundling replies into fewer messagse. Be prepared to handle multiple struct cn_msg, struct w1_netlink_msg, and struct w1_netlink_cmd in one packet.”h]”hŒœRequest bundling replies into fewer messagse. Be prepared to handle multiple struct cn_msg, struct w1_netlink_msg, and struct w1_netlink_cmd in one packet.”…”�”}”(hjt$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Khjq$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjU$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jp$h´KhjR$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj6$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŸ#h²hh³jÌ#h´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ!w1_netlink_message_types (C enum)”Œc.w1_netlink_message_types”hNt”auh1j=hjŸ#h²hh³jÌ#h´NubjO)�”}”(hhh]”(jT)�”}”(hŒw1_netlink_message_types”h]”jZ)�”}”(hŒenum w1_netlink_message_types”h]”(j`)�”}”(hj• h]”hŒenum”…”�”}”(hjµ$h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj±$h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ$h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj±$h²hh³jÂ$h´Kubjƒ)�”}”(hŒw1_netlink_message_types”h]”j‰)�”}”(hj¯$h]”hŒw1_netlink_message_types”…”�”}”(hjÕ$h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÑ$ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj±$h²hh³jÂ$h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj­$h²hh³jÂ$h´Kubah}”(h]”j¨$ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jÂ$h´Khjª$h²hubj·)�”}”(hhh]”hì)�”}”(hŒ message type”h]”hŒ message type”…”�”}”(hj÷$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Khjô$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjª$h²hh³jÂ$h´Kubeh}”(h]”h ]”(jÓŒenum”eh"]”h$]”h&]”jØjÓjÙj%jÚj%jÛ‰j܉j݉uh1jNh²hhjŸ#h³jÌ#h´Nubjß)�”}”(hXó**Constants** ``W1_SLAVE_ADD`` notification that a slave device was added ``W1_SLAVE_REMOVE`` notification that a slave device was removed ``W1_MASTER_ADD`` notification that a new bus master was added ``W1_MASTER_REMOVE`` notification that a bus masterwas removed ``W1_MASTER_CMD`` initiate operations on a specific master ``W1_SLAVE_CMD`` sends reset, selects the slave, then does a read/write/touch operation ``W1_LIST_MASTERS`` used to determine the bus master identifiers”h]”(hì)�”}”(hŒ **Constants**”h]”jé)�”}”(hj%h]”hŒ Constants”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Khj%ubj-)�”}”(hhh]”(j2)�”}”(hŒ<``W1_SLAVE_ADD`` notification that a slave device was added ”h]”(j8)�”}”(hŒ``W1_SLAVE_ADD``”h]”j>)�”}”(hj8%h]”hŒ W1_SLAVE_ADD”…”�”}”(hj:%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj6%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K!hj2%ubjT)�”}”(hhh]”hì)�”}”(hŒ*notification that a slave device was added”h]”hŒ*notification that a slave device was added”…”�”}”(hjQ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jM%h´K!hjN%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj2%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jM%h´K!hj/%ubj2)�”}”(hŒA``W1_SLAVE_REMOVE`` notification that a slave device was removed ”h]”(j8)�”}”(hŒ``W1_SLAVE_REMOVE``”h]”j>)�”}”(hjq%h]”hŒW1_SLAVE_REMOVE”…”�”}”(hjs%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjo%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K$hjk%ubjT)�”}”(hhh]”hì)�”}”(hŒ,notification that a slave device was removed”h]”hŒ,notification that a slave device was removed”…”�”}”(hjŠ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j†%h´K$hj‡%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjk%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j†%h´K$hj/%ubj2)�”}”(hŒ?``W1_MASTER_ADD`` notification that a new bus master was added ”h]”(j8)�”}”(hŒ``W1_MASTER_ADD``”h]”j>)�”}”(hjª%h]”hŒ W1_MASTER_ADD”…”�”}”(hj¬%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¨%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K'hj¤%ubjT)�”}”(hhh]”hì)�”}”(hŒ,notification that a new bus master was added”h]”hŒ,notification that a new bus master was added”…”�”}”(hjÃ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j¿%h´K'hjÀ%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¤%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¿%h´K'hj/%ubj2)�”}”(hŒ?``W1_MASTER_REMOVE`` notification that a bus masterwas removed ”h]”(j8)�”}”(hŒ``W1_MASTER_REMOVE``”h]”j>)�”}”(hjã%h]”hŒW1_MASTER_REMOVE”…”�”}”(hjå%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjá%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K*hjÝ%ubjT)�”}”(hhh]”hì)�”}”(hŒ)notification that a bus masterwas removed”h]”hŒ)notification that a bus masterwas removed”…”�”}”(hjü%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jø%h´K*hjù%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÝ%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jø%h´K*hj/%ubj2)�”}”(hŒ;``W1_MASTER_CMD`` initiate operations on a specific master ”h]”(j8)�”}”(hŒ``W1_MASTER_CMD``”h]”j>)�”}”(hj&h]”hŒ W1_MASTER_CMD”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K-hj&ubjT)�”}”(hhh]”hì)�”}”(hŒ(initiate operations on a specific master”h]”hŒ(initiate operations on a specific master”…”�”}”(hj5&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j1&h´K-hj2&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j1&h´K-hj/%ubj2)�”}”(hŒX``W1_SLAVE_CMD`` sends reset, selects the slave, then does a read/write/touch operation ”h]”(j8)�”}”(hŒ``W1_SLAVE_CMD``”h]”j>)�”}”(hjU&h]”hŒ W1_SLAVE_CMD”…”�”}”(hjW&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjS&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K1hjO&ubjT)�”}”(hhh]”hì)�”}”(hŒFsends reset, selects the slave, then does a read/write/touch operation”h]”hŒFsends reset, selects the slave, then does a read/write/touch operation”…”�”}”(hjn&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K0hjk&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjO&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jj&h´K1hj/%ubj2)�”}”(hŒ@``W1_LIST_MASTERS`` used to determine the bus master identifiers”h]”(j8)�”}”(hŒ``W1_LIST_MASTERS``”h]”j>)�”}”(hj�&h]”hŒW1_LIST_MASTERS”…”�”}”(hj‘&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj�&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K3hj‰&ubjT)�”}”(hhh]”hì)�”}”(hŒ,used to determine the bus master identifiers”h]”hŒ,used to determine the bus master identifiers”…”�”}”(hj¨&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K4hj¥&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj‰&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¤&h´K3hj/%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj%ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŸ#h²hh³jÌ#h´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_netlink_msg (C struct)”Œc.w1_netlink_msg”hNt”auh1j=hjŸ#h²hh³jÌ#h´NubjO)�”}”(hhh]”(jT)�”}”(hŒw1_netlink_msg”h]”jZ)�”}”(hŒstruct w1_netlink_msg”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjé&h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjå&h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K9ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷&h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjå&h²hh³jö&h´K9ubjƒ)�”}”(hŒw1_netlink_msg”h]”j‰)�”}”(hjã&h]”hŒw1_netlink_msg”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj'ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjå&h²hh³jö&h´K9ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjá&h²hh³jö&h´K9ubah}”(h]”jÜ&ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jö&h´K9hjÞ&h²hubj·)�”}”(hhh]”hì)�”}”(hŒ%holds w1 message type, id, and result”h]”hŒ%holds w1 message type, id, and result”…”�”}”(hj+'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K0hj('h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjÞ&h²hh³jö&h´K9ubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙjC'jÚjC'jÛ‰j܉j݉uh1jNh²hhjŸ#h³jÌ#h´Nubjß)�”}”(hXÁ**Definition**:: struct w1_netlink_msg { __u8 type; __u8 status; __u16 len; union { __u8 id[8]; struct w1_mst { __u32 id; __u32 res; } mst; } id; __u8 data[]; }; **Members** ``type`` one of enum w1_netlink_message_types ``status`` kernel feedback for success 0 or errno failure value ``len`` length of data following w1_netlink_msg ``id`` union holding bus master id (msg.id) and slave device id (id[8]). ``id.id`` Slave ID (8 bytes) ``id.mst`` bus master identification ``id.mst.id`` bus master ID ``id.mst.res`` bus master reserved ``data`` start address of any following data”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjO'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjK'ubhŒ:”…”�”}”(hjK'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K4hjG'ubj)�”}”(hŒØstruct w1_netlink_msg { __u8 type; __u8 status; __u16 len; union { __u8 id[8]; struct w1_mst { __u32 id; __u32 res; } mst; } id; __u8 data[]; };”h]”hŒØstruct w1_netlink_msg { __u8 type; __u8 status; __u16 len; union { __u8 id[8]; struct w1_mst { __u32 id; __u32 res; } mst; } id; __u8 data[]; };”…”�”}”hjh'sbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K6hjG'ubhì)�”}”(hŒ **Members**”h]”jé)�”}”(hjy'h]”hŒMembers”…”�”}”(hj{'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjw'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KDhjG'ubj-)�”}”(hhh]”(j2)�”}”(hŒ.``type`` one of enum w1_netlink_message_types ”h]”(j8)�”}”(hŒ``type``”h]”j>)�”}”(hj˜'h]”hŒtype”…”�”}”(hjš'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj–'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K3hj’'ubjT)�”}”(hhh]”hì)�”}”(hŒ$one of enum w1_netlink_message_types”h]”hŒ$one of enum w1_netlink_message_types”…”�”}”(hj±'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j­'h´K3hj®'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj’'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j­'h´K3hj�'ubj2)�”}”(hŒ@``status`` kernel feedback for success 0 or errno failure value ”h]”(j8)�”}”(hŒ ``status``”h]”j>)�”}”(hjÑ'h]”hŒstatus”…”�”}”(hjÓ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÏ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K4hjË'ubjT)�”}”(hhh]”hì)�”}”(hŒ4kernel feedback for success 0 or errno failure value”h]”hŒ4kernel feedback for success 0 or errno failure value”…”�”}”(hjê'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jæ'h´K4hjç'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjË'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jæ'h´K4hj�'ubj2)�”}”(h•Œ0``len`` length of data following w1_netlink_msg ”h]”(j8)�”}”(hŒ``len``”h]”j>)�”}”(hj (h]”hŒlen”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K5hj(ubjT)�”}”(hhh]”hì)�”}”(hŒ'length of data following w1_netlink_msg”h]”hŒ'length of data following w1_netlink_msg”…”�”}”(hj#(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j(h´K5hj (ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j(h´K5hj�'ubj2)�”}”(hŒI``id`` union holding bus master id (msg.id) and slave device id (id[8]). ”h]”(j8)�”}”(hŒ``id``”h]”j>)�”}”(hjC(h]”hŒid”…”�”}”(hjE(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjA(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K6hj=(ubjT)�”}”(hhh]”hì)�”}”(hŒAunion holding bus master id (msg.id) and slave device id (id[8]).”h]”hŒAunion holding bus master id (msg.id) and slave device id (id[8]).”…”�”}”(hj\(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jX(h´K6hjY(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj=(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jX(h´K6hj�'ubj2)�”}”(hŒ``id.id`` Slave ID (8 bytes) ”h]”(j8)�”}”(hŒ ``id.id``”h]”j>)�”}”(hj|(h]”hŒid.id”…”�”}”(hj~(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjz(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K7hjv(ubjT)�”}”(hhh]”hì)�”}”(hŒSlave ID (8 bytes)”h]”hŒSlave ID (8 bytes)”…”�”}”(hj•(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j‘(h´K7hj’(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjv(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j‘(h´K7hj�'ubj2)�”}”(hŒ%``id.mst`` bus master identification ”h]”(j8)�”}”(hŒ ``id.mst``”h]”j>)�”}”(hjµ(h]”hŒid.mst”…”�”}”(hj·(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj³(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K8hj¯(ubjT)�”}”(hhh]”hì)�”}”(hŒbus master identification”h]”hŒbus master identification”…”�”}”(hjÎ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÊ(h´K8hjË(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¯(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÊ(h´K8hj�'ubj2)�”}”(hŒ``id.mst.id`` bus master ID ”h]”(j8)�”}”(hŒ ``id.mst.id``”h]”j>)�”}”(hjî(h]”hŒ id.mst.id”…”�”}”(hjð(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjì(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K9hjè(ubjT)�”}”(hhh]”hì)�”}”(hŒ bus master ID”h]”hŒ bus master ID”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j)h´K9hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjè(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j)h´K9hj�'ubj2)�”}”(hŒ#``id.mst.res`` bus master reserved ”h]”(j8)�”}”(hŒ``id.mst.res``”h]”j>)�”}”(hj')h]”hŒ id.mst.res”…”�”}”(hj))h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj%)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K:hj!)ubjT)�”}”(hhh]”hì)�”}”(hŒbus master reserved”h]”hŒbus master reserved”…”�”}”(hj@)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j<)h´K:hj=)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj!)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j<)h´K:hj�'ubj2)�”}”(hŒ,``data`` start address of any following data”h]”(j8)�”}”(hŒ``data``”h]”j>)�”}”(hj`)h]”hŒdata”…”�”}”(hjb)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj^)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K:hjZ)ubjT)�”}”(hhh]”hì)�”}”(hŒ#start address of any following data”h]”hŒ#start address of any following data”…”�”}”(hjy)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K;hjv)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjZ)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³ju)h´K:hj�'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjG'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŸ#h²hh³jÌ#h´Nubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hj£)h]”hŒ Description”…”�”}”(hj¥)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj¡)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K>hjŸ#h²hubhì)�”}”(hŒÂThe base message structure for w1 messages over netlink. The netlink connector data sequence is, struct nlmsghdr, struct cn_msg, then one or more struct w1_netlink_msg (each with optional data).”h]”hŒÂThe base message structure for w1 messages over netlink. The netlink connector data sequence is, struct nlmsghdr, struct cn_msg, then one or more struct w1_netlink_msg (each with optional data).”…”�”}”(hj¹)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K;hjŸ#h²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_commands (C enum)”Œ c.w1_commands”hNt”auh1j=hjŸ#h²hh³jÌ#h´NubjO)�”}”(hhh]”(jT)�”}”(hŒ w1_commands”h]”jZ)�”}”(hŒenum w1_commands”h]”(j`)�”}”(hj• h]”hŒenum”…”�”}”(hjá)h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÝ)h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KBubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï)h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÝ)h²hh³jî)h´KBubjƒ)�”}”(hŒ w1_commands”h]”j‰)�”}”(hjÛ)h]”hŒ w1_commands”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjý)ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjÝ)h²hh³jî)h´KBubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjÙ)h²hh³jî)h´KBubah}”(h]”jÔ)ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jî)h´KBhjÖ)h²hubj·)�”}”(hhh]”hì)�”}”(hŒ1commands available for master or slave operations”h]”hŒ1commands available for master or slave operations”…”�”}”(hj#*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KPhj *h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjÖ)h²hh³jî)h´KBubeh}”(h]”h ]”(jÓŒenum”eh"]”h$]”h&]”jØjÓjÙj;*jÚj;*jÛ‰j܉j݉uh1jNh²hhjŸ#h³jÌ#h´Nubjß)�”}”(hX—**Constants** ``W1_CMD_READ`` read len bytes ``W1_CMD_WRITE`` write len bytes ``W1_CMD_SEARCH`` initiate a standard search, returns only the slave devices found during that search ``W1_CMD_ALARM_SEARCH`` search for devices that are currently alarming ``W1_CMD_TOUCH`` Touches a series of bytes. ``W1_CMD_RESET`` sends a bus reset on the given master ``W1_CMD_SLAVE_ADD`` adds a slave to the given master, 8 byte slave id at data[0] ``W1_CMD_SLAVE_REMOVE`` removes a slave to the given master, 8 byte slave id at data[0] ``W1_CMD_LIST_SLAVES`` list of slaves registered on this master ``W1_CMD_MAX`` number of available commands”h]”(hì)�”}”(hŒ **Constants**”h]”jé)�”}”(hjE*h]”hŒ Constants”…”�”}”(hjG*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjC*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KThj?*ubj-)�”}”(hhh]”(j2)�”}”(hŒ``W1_CMD_READ`` read len bytes ”h]”(j8)�”}”(hŒ``W1_CMD_READ``”h]”j>)�”}”(hjd*h]”hŒ W1_CMD_READ”…”�”}”(hjf*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjb*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KWhj^*ubjT)�”}”(hhh]”hì)�”}”(hŒread len bytes”h]”hŒread len bytes”…”�”}”(hj}*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jy*h´KWhjz*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj^*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jy*h´KWhj[*ubj2)�”}”(hŒ!``W1_CMD_WRITE`` write len bytes ”h]”(j8)�”}”(hŒ``W1_CMD_WRITE``”h]”j>)�”}”(hj�*h]”hŒ W1_CMD_WRITE”…”�”}”(hjŸ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj›*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KZhj—*ubjT)�”}”(hhh]”hì)�”}”(hŒwrite len bytes”h]”hŒwrite len bytes”…”�”}”(hj¶*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j²*h´KZhj³*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj—*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j²*h´KZhj[*ubj2)�”}”(hŒf``W1_CMD_SEARCH`` initiate a standard search, returns only the slave devices found during that search ”h]”(j8)�”}”(hŒ``W1_CMD_SEARCH``”h]”j>)�”}”(hjÖ*h]”hŒ W1_CMD_SEARCH”…”�”}”(hjØ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÔ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K^hjÐ*ubjT)�”}”(hhh]”hì)�”}”(hŒSinitiate a standard search, returns only the slave devices found during that search”h]”hŒSinitiate a standard search, returns only the slave devices found during that search”…”�”}”(hjï*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K]hjì*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÐ*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jë*h´K^hj[*ubj2)�”}”(hŒG``W1_CMD_ALARM_SEARCH`` search for devices that are currently alarming ”h]”(j8)�”}”(hŒ``W1_CMD_ALARM_SEARCH``”h]”j>)�”}”(hj+h]”hŒW1_CMD_ALARM_SEARCH”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kahj +ubjT)�”}”(hhh]”hì)�”}”(hŒ.search for devices that are currently alarming”h]”hŒ.search for devices that are currently alarming”…”�”}”(hj)+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j%+h´Kahj&+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj +ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j%+h´Kahj[*ubj2)�”}”(hŒ,``W1_CMD_TOUCH`` Touches a series of bytes. ”h]”(j8)�”}”(hŒ``W1_CMD_TOUCH``”h]”j>)�”}”(hjI+h]”hŒ W1_CMD_TOUCH”…”�”}”(hjK+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjG+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KdhjC+ubjT)�”}”(hhh]”hì)�”}”(hŒTouches a series of bytes.”h]”hŒTouches a series of bytes.”…”�”}”(hjb+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j^+h´Kdhj_+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjC+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j^+h´Kdhj[*ubj2)�”}”(hŒ7``W1_CMD_RESET`` sends a bus reset on the given master ”h]”(j8)�”}”(hŒ``W1_CMD_RESET``”h]”j>)�”}”(hj‚+h]”hŒ W1_CMD_RESET”…”�”}”(hj„+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj€+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kghj|+ubjT)�”}”(hhh]”hì)�”}”(hŒ%sends a bus reset on the given master”h]”hŒ%sends a bus reset on the given master”…”�”}”(hj›+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j—+h´Kghj˜+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj|+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j—+h´Kghj[*ubj2)�”}”(hŒR``W1_CMD_SLAVE_ADD`` adds a slave to the given master, 8 byte slave id at data[0] ”h]”(j8)�”}”(hŒ``W1_CMD_SLAVE_ADD``”h]”j>)�”}”(hj»+h]”hŒW1_CMD_SLAVE_ADD”…”�”}”(hj½+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¹+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kkhjµ+ubjT)�”}”(hhh]”hì)�”}”(hŒ)�”}”(hjõ+h]”hŒW1_CMD_SLAVE_REMOVE”…”�”}”(hj÷+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjó+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kohjï+ubjT)�”}”(hhh]”hì)�”}”(hŒ?removes a slave to the given master, 8 byte slave id at data[0]”h]”hŒ?removes a slave to the given master, 8 byte slave id at data[0]”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Knhj ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjï+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j ,h´Kohj[*ubj2)�”}”(hŒ@``W1_CMD_LIST_SLAVES`` list of slaves registered on this master ”h]”(j8)�”}”(hŒ``W1_CMD_LIST_SLAVES``”h]”j>)�”}”(hj/,h]”hŒW1_CMD_LIST_SLAVES”…”�”}”(hj1,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj-,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Krhj),ubjT)�”}”(hhh]”hì)�”}”(hŒ(list of slaves registered on this master”h]”hŒ(list of slaves registered on this master”…”�”}”(hjH,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jD,h´KrhjE,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj),ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jD,h´Krhj[*ubj2)�”}”(hŒ+``W1_CMD_MAX`` number of available commands”h]”(j8)�”}”(hŒ``W1_CMD_MAX``”h]”j>)�”}”(hjh,h]”hŒ W1_CMD_MAX”…”�”}”(hjj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjf,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kthjb,ubjT)�”}”(hhh]”hì)�”}”(hŒnumber of available commands”h]”hŒnumber of available commands”…”�”}”(hj�,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kuhj~,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjb,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j},h´Kthj[*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj?*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŸ#h²hh³jÌ#h´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_netlink_cmd (C struct)”Œc.w1_netlink_cmd”hNt”auh1j=hjŸ#h²hh³jÌ#h´NubjO)�”}”(hhh]”(jT)�”}”(hŒw1_netlink_cmd”h]”jZ)�”}”(hŒstruct w1_netlink_cmd”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÂ,h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¾,h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kzubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ,h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¾,h²hh³jÏ,h´Kzubjƒ)�”}”(hŒw1_netlink_cmd”h]”j‰)�”}”(hj¼,h]”hŒw1_netlink_cmd”…”�”}”(hjâ,h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÞ,ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj¾,h²hh³jÏ,h´Kzubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjº,h²hh³jÏ,h´Kzubah}”(h]”jµ,ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jÏ,h´Kzhj·,h²hubj·)�”}”(hhh]”hì)�”}”(hŒholds the command and data”h]”hŒholds the command and data”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Knhj-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj·,h²hh³jÏ,h´Kzubeh}”(h]”h ]”(jÓŒstruct”eh"]”h$]”h&]”jØjÓjÙj-jÚj-jÛ‰j܉j݉uh1jNh²hhjŸ#h³jÌ#h´Nubjß)�”}”(hX**Definition**:: struct w1_netlink_cmd { __u8 cmd; __u8 res; __u16 len; __u8 data[]; }; **Members** ``cmd`` one of enum w1_commands ``res`` reserved ``len`` length of data following w1_netlink_cmd ``data`` start address of any following data”h]”(hì)�”}”(hŒ**Definition**::”h]”(jé)�”}”(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&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Krhj -ubj)�”}”(hŒVstruct w1_netlink_cmd { __u8 cmd; __u8 res; __u16 len; __u8 data[]; };”h]”hŒVstruct w1_netlink_cmd { __u8 cmd; __u8 res; __u16 len; __u8 data[]; };”…”�”}”hjA-sbah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kthj -ubhì)�”}”(hŒ **Members**”h]”jé)�”}”(hjR-h]”hŒMembers”…”�”}”(hjT-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjP-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´K{hj -ubj-)�”}”(hhh]”(j2)�”}”(hŒ ``cmd`` one of enum w1_commands ”h]”(j8)�”}”(hŒ``cmd``”h]”j>)�”}”(hjq-h]”hŒcmd”…”�”}”(hjs-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjo-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kqhjk-ubjT)�”}”(hhh]”hì)�”}”(hŒone of enum w1_commands”h]”hŒone of enum w1_commands”…”�”}”(hjŠ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j†-h´Kqhj‡-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjk-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j†-h´Kqhjh-ubj2)�”}”(hŒ``res`` reserved ”h]”(j8)�”}”(hŒ``res``”h]”j>)�”}”(hjª-h]”hŒres”…”�”}”(hj¬-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¨-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Krhj¤-ubjT)�”}”(hhh]”hì)�”}”(hŒreserved”h]”hŒreserved”…”�”}”(hjÃ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j¿-h´KrhjÀ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¤-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¿-h´Krhjh-ubj2)�”}”(hŒ0``len`` length of data following w1_netlink_cmd ”h]”(j8)�”}”(hŒ``len``”h]”j>)�”}”(hjã-h]”hŒlen”…”�”}”(hjå-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjá-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KshjÝ-ubjT)�”}”(hhh]”hì)�”}”(hŒ'length of data following w1_netlink_cmd”h]”hŒ'length of data following w1_netlink_cmd”…”�”}”(hjü-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jø-h´Kshjù-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÝ-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jø-h´Kshjh-ubj2)�”}”(hŒ,``data`` start address of any following data”h]”(j8)�”}”(hŒ``data``”h]”j>)�”}”(hj.h]”hŒdata”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kshj.ubjT)�”}”(hhh]”hì)�”}”(hŒ#start address of any following data”h]”hŒ#start address of any following data”…”�”}”(hj5.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´Kthj2.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j1.h´Kshjh-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj -ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŸ#h²hh³jÌ#h´Nubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hj_.h]”hŒ Description”…”�”}”(hja.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj].ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KwhjŸ#h²hubhì)�”}”(hŒdOne or more struct w1_netlink_cmd is placed starting at w1_netlink_msg.data each with optional data.”h]”hŒdOne or more struct w1_netlink_cmd is placed starting at w1_netlink_msg.data each with optional data.”…”�”}”(hju.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒU/var/lib/git/docbuild/linux/Documentation/driver-api/w1:55: ./drivers/w1/w1_netlink.h”h´KthjŸ#h²hubeh}”(h]”Œdrivers-w1-w1-netlink-h”ah ]”h"]”Œdrivers/w1/w1_netlink.h”ah$]”h&]”uh1hµhj h²hh³hÊh´K3ubh¶)�”}”(hhh]”(h»)�”}”(hŒdrivers/w1/w1_io.c”h]”hŒdrivers/w1/w1_io.c”…”�”}”(hj�.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjŒ.h²hh³hÊh´K;ubhì)�”}”(hŒW1 input/output.”h]”hŒW1 input/output.”…”�”}”(hj�.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÊh´K=hjŒ.h²hubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_touch_bit (C function)”Œc.w1_touch_bit”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ0u8 w1_touch_bit (struct w1_master *dev, int bit)”h]”jZ)�”}”(hŒ/u8 w1_touch_bit(struct w1_master *dev, int bit)”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”Nj”j—)�”}”jš]”j�)�”}”j�Œ w1_touch_bit”sbŒc.w1_touch_bit”†”asbuh1hhjÀ.h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K0ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé.h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÀ.h²hh³jè.h´K0ubjƒ)�”}”(hŒ w1_touch_bit”h]”j‰)�”}”(hjå.h]”hŒ w1_touch_bit”…”�”}”(hjû.h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj÷.ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjÀ.h²hh³jè.h´K0ubjQ)�”}”(hŒ (struct w1_master *dev, int bit)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj/ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#/h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj/ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hj4/h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj1/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”j6/Œmodname”NŒ classname”Nj”j—)�”}”jš]”jã.Œc.w1_touch_bit”†”asbuh1hhj/ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR/h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj/ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj`/h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj/ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjm/h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj/ubjW)�”}”(hŒint bit”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj†/h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj‚/ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”/h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj‚/ubj‰)�”}”(hŒbit”h]”hŒbit”…”�”}”(hj¢/h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj‚/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj/ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjÀ.h²hh³jè.h´K0ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj¼.h²hh³jè.h´K0ubah}”(h]”j·.ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jè.h´K0hj¹.h²hubj·)�”}”(hhh]”hì)�”}”(hŒ;Generates a write-0 or write-1 cycle and samples the level.”h]”hŒ;Generates a write-0 or write-1 cycle and samples the level.”…”�”}”(hjÌ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K0hjÉ/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj¹.h²hh³jè.h´K0ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjä/jÚjä/jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒx**Parameters** ``struct w1_master *dev`` the master device ``int bit`` 0 - write a 0, 1 - write a 0 read the level”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³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K4hjè/ubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj 0h]”hŒstruct w1_master *dev”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj 0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K1hj0ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hj&0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j"0h´K1hj#0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j"0h´K1hj0ubj2)�”}”(hŒ7``int bit`` 0 - write a 0, 1 - write a 0 read the level”h]”(j8)�”}”(hŒ ``int bit``”h]”j>)�”}”(hjF0h]”hŒint bit”…”�”}”(hjH0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjD0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K3hj@0ubjT)�”}”(hhh]”hì)�”}”(hŒ+0 - write a 0, 1 - write a 0 read the level”h]”hŒ+0 - write a 0, 1 - write a 0 read the level”…”�”}”(hj_0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K2hj\0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj@0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j[0h´K3hj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjè/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_write_8 (C function)”Œ c.w1_write_8”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ0void w1_write_8 (struct w1_master *dev, u8 byte)”h]”jZ)�”}”(hŒ/void w1_write_8(struct w1_master *dev, u8 byte)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj 0h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjœ0h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K‚ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯0h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjœ0h²hh³j®0h´K‚ubjƒ)�”}”(hŒ w1_write_8”h]”j‰)�”}”(hŒ w1_write_8”h]”hŒ w1_write_8”…”�”}”(hjÁ0h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj½0ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjœ0h²hh³j®0h´K‚ubjQ)�”}”(hŒ (struct w1_master *dev, u8 byte)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÝ0h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÙ0ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê0h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÙ0ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(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”Nj”j—)�”}”jš]”j�)�”}”j�jÃ0sbŒ c.w1_write_8”†”asbuh1hhjÙ0ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÙ0ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj)1h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÙ0ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj61h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÙ0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjÕ0ubjW)�”}”(hŒu8 byte”h]”(h)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjR1h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjO1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jT1Œmodname”NŒ classname”Nj”j—)�”}”jš]”j1Œ c.w1_write_8”†”asbuh1hhjK1ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp1h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjK1ubj‰)�”}”(hŒbyte”h]”hŒbyte”…”�”}”(hj~1h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjK1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjÕ0ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjœ0h²hh³j®0h´K‚ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj˜0h²hh³j®0h´K‚ubah}”(h]”j“0ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j®0h´K‚hj•0h²hubj·)�”}”(hhh]”hì)�”}”(hŒWrites 8 bits.”h]”hŒWrites 8 bits.”…”�”}”(hj¨1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K‚hj¥1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj•0h²hh³j®0h´K‚ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjÀ1jÚjÀ1jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒ^**Parameters** ``struct w1_master *dev`` the master device ``u8 byte`` the byte to write”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjÊ1h]”hŒ Parameters”…”�”}”(hjÌ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjÈ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K†hjÄ1ubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjé1h]”hŒstruct w1_master *dev”…”�”}”(hjë1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjç1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kƒhjã1ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jþ1h´Kƒhjÿ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjã1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jþ1h´Kƒhjà1ubj2)�”}”(hŒ``u8 byte`` the byte to write”h]”(j8)�”}”(hŒ ``u8 byte``”h]”j>)�”}”(hj"2h]”hŒu8 byte”…”�”}”(hj$2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj 2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K…hj2ubjT)�”}”(hhh]”hì)�”}”(hŒthe byte to write”h]”hŒthe byte to write”…”�”}”(hj;2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K„hj82ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j72h´K…hjà1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjÄ1ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_triplet (C function)”Œ c.w1_triplet”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ/u8 w1_triplet (struct w1_master *dev, int bdir)”h]”jZ)�”}”(hŒ.u8 w1_triplet(struct w1_master *dev, int bdir)”h]”(h)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj|2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”j�2Œmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�Œ w1_triplet”sbŒ c.w1_triplet”†”asbuh1hhjx2h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K´ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡2h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjx2h²hh³j 2h´K´ubjƒ)�”}”(hŒ w1_triplet”h]”j‰)�”}”(hj�2h]”hŒ w1_triplet”…”�”}”(hj³2h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj¯2ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjx2h²hh³j 2h´K´ubjQ)�”}”(hŒ!(struct w1_master *dev, int bdir)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÎ2h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÊ2ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ2h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÊ2ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjì2h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjé2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jî2Œmodname”NŒ classname”Nj”j—)�”}”jš]”j›2Œ c.w1_triplet”†”asbuh1hhjÊ2ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj 3h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÊ2ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÊ2ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj%3h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÊ2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjÆ2ubjW)�”}”(hŒint bdir”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj>3h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj:3ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL3h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj:3ubj‰)�”}”(hŒbdir”h]”hŒbdir”…”�”}”(hjZ3h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj:3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjÆ2ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjx2h²hh³j 2h´K´ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjt2h²hh³j 2h´K´ubah}”(h]”jo2ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j 2h´K´hjq2h²hubj·)�”}”(hhh]”hŒ bullet_list”“”)�”}”(hhh]”hŒ list_item”“”)�”}”(hŒ2Does a triplet - used for searching ROM addresses.”h]”hì)�”}”(hj�3h]”hŒ2Does a triplet - used for searching ROM addresses.”…”�”}”(hj�3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K´hj‹3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰3hj†3h²hh³jœ3h´Nubah}”(h]”h ]”h"]”h$]”h&]”Œbullet”j´uh1j„3h³jœ3h´K´hj�3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjq2h²hh³j 2h´K´ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj³3jÚj³3jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hX5**Parameters** ``struct w1_master *dev`` the master device ``int bdir`` the bit to write if both id_bit and comp_bit are 0 **Description** Return bits: bit 0 = id_bit bit 1 = comp_bit bit 2 = dir_taken If both bits 0 & 1 are set, the search should be restarted. **Return** bit fields - see above”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hj½3h]”hŒ Parameters”…”�”}”(hj¿3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj»3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¸hj·3ubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjÜ3h]”hŒstruct w1_master *dev”…”�”}”(hjÞ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÚ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´KµhjÖ3ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjõ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jñ3h´Kµhjò3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÖ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jñ3h´KµhjÓ3ubj2)�”}”(hŒ@``int bdir`` the bit to write if both id_bit and comp_bit are 0 ”h]”(j8)�”}”(hŒ ``int bdir``”h]”j>)�”}”(hj4h]”hŒint bdir”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¶hj4ubjT)�”}”(hhh]”hì)�”}”(hŒ2the bit to write if both id_bit and comp_bit are 0”h]”hŒ2the bit to write if both id_bit and comp_bit are 0”…”�”}”(hj.4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j*4h´K¶hj+4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j*4h´K¶hjÓ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj·3ubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjP4h]”hŒ Description”…”�”}”(hjR4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjN4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¸hj·3ubj-)�”}”(hhh]”j2)�”}”(hŒ?Return bits: bit 0 = id_bit bit 1 = comp_bit bit 2 = dir_taken ”h]”(j8)�”}”(hŒ Return bits:”h]”hŒ Return bits:”…”�”}”(hjm4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kºhji4ubjT)�”}”(hhh]”hì)�”}”(hŒ1bit 0 = id_bit bit 1 = comp_bit bit 2 = dir_taken”h]”hŒ1bit 0 = id_bit bit 1 = comp_bit bit 2 = dir_taken”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¸hj|4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShji4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j{4h´Kºhjf4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj·3ubhì)�”}”(hŒ;If both bits 0 & 1 are set, the search should be restarted.”h]”hŒ;If both bits 0 & 1 are set, the search should be restarted.”…”�”}”(hj 4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¼hj·3ubhì)�”}”(hŒ **Return**”h]”jé)�”}”(hj±4h]”hŒReturn”…”�”}”(hj³4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj¯4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¾hj·3ubhì)�”}”(hŒbit fields - see above”h]”hŒbit fields - see above”…”�”}”(hjÇ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K¿hj·3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_read_8 (C function)”Œ c.w1_read_8”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ$u8 w1_read_8 (struct w1_master *dev)”h]”jZ)�”}”(hŒ#u8 w1_read_8(struct w1_master *dev)”h]”(h)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjù4h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjö4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jû4Œmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�Œ w1_read_8”sbŒ c.w1_read_8”†”asbuh1hhjò4h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kàubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjò4h²hh³j5h´Kàubjƒ)�”}”(hŒ w1_read_8”h]”j‰)�”}”(hj5h]”hŒ w1_read_8”…”�”}”(hj-5h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj)5ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjò4h²hh³j5h´KàubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjH5h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjD5ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU5h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjD5ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjf5h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjc5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jh5Œmodname”NŒ classname”Nj”j—)�”}”jš]”j5Œ c.w1_read_8”†”asbuh1hhjD5ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„5h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjD5ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj’5h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjD5ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjŸ5h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjD5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj@5ubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjò4h²hh³j5h´Kàubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjî4h²hh³j5h´Kàubah}”(h]”jé4ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j5h´Kàhjë4h²hubj·)�”}”(hhh]”hì)�”}”(hŒ Reads 8 bits.”h]”hŒ Reads 8 bits.”…”�”}”(hjÉ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´KàhjÆ5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjë4h²hh³j5h´Kàubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjá5jÚjá5jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒX**Parameters** ``struct w1_master *dev`` the master device **Return** the byte read”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjë5h]”hŒ Parameters”…”�”}”(hjí5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjé5ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kähjå5ubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj 6h]”hŒstruct w1_master *dev”…”�”}”(hj 6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Káhj6ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hj#6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j6h´Káhj 6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j6h´Káhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjå5ubhì)�”}”(hŒ **Return**”h]”jé)�”}”(hjE6h]”hŒReturn”…”�”}”(hjG6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjC6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kãhjå5ubhì)�”}”(hŒ the byte read”h]”hŒ the byte read”…”�”}”(hj[6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kãhjå5ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_write_block (C function)”Œc.w1_write_block”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒCvoid w1_write_block (struct w1_master *dev, const u8 *buf, int len)”h]”jZ)�”}”(hŒBvoid w1_write_block(struct w1_master *dev, const u8 *buf, int len)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjŠ6h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj†6h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kõubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™6h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj†6h²hh³j˜6h´Kõubjƒ)�”}”(hŒw1_write_block”h]”j‰)�”}”(hŒw1_write_block”h]”hŒw1_write_block”…”�”}”(hj«6h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj§6ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj†6h²hh³j˜6h´KõubjQ)�”}”(hŒ/(struct w1_master *dev, const u8 *buf, int len)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÇ6h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjÃ6ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ6h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÃ6ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjå6h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjâ6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jç6Œmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�j­6sbŒc.w1_write_block”†”asbuh1hhjÃ6ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÃ6ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÃ6ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj 7h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÃ6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj¿6ubjW)�”}”(hŒ const u8 *buf”h]”(j`)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj97h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj57ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG7h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj57ubh)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjX7h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjU7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jZ7Œmodname”NŒ classname”Nj”j—)�”}”jš]”j7Œc.w1_write_block”†”asbuh1hhj57ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv7h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj57ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj„7h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj57ubj‰)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj‘7h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj57ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj¿6ubjW)�”}”(hŒint len”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjª7h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj¦7ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸7h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¦7ubj‰)�”}”(hŒlen”h]”hŒlen”…”�”}”(hjÆ7h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj¦7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj¿6ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj†6h²hh³j˜6h´Kõubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj‚6h²hh³j˜6h´Kõubah}”(h]”j}6ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j˜6h´Kõhj6h²hubj·)�”}”(hhh]”hì)�”}”(hŒWrites a series of bytes.”h]”hŒWrites a series of bytes.”…”�”}”(hjð7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kõhjí7h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj6h²hh³j˜6h´Kõubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj8jÚj8jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒ›**Parameters** ``struct w1_master *dev`` the master device ``const u8 *buf`` pointer to the data to write ``int len`` the number of bytes to write”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hj8h]”hŒ Parameters”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kùhj 8ubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj18h]”hŒstruct w1_master *dev”…”�”}”(hj38h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj/8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Köhj+8ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjJ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jF8h´KöhjG8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj+8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jF8h´Köhj(8ubj2)�”}”(hŒ/``const u8 *buf`` pointer to the data to write ”h]”(j8)�”}”(hŒ``const u8 *buf``”h]”j>)�”}”(hjj8h]”hŒ const u8 *buf”…”�”}”(hjl8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjh8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´K÷hjd8ubjT)�”}”(hhh]”hì)�”}”(hŒpointer to the data to write”h]”hŒpointer to the data to write”…”�”}”(hjƒ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j8h´K÷hj€8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjd8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j8h´K÷hj(8ubj2)�”}”(hŒ(``int len`` the number of bytes to write”h]”(j8)�”}”(hŒ ``int len``”h]”j>)�”}”(hj£8h]”hŒint len”…”�”}”(hj¥8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj¡8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Kùhj�8ubjT)�”}”(hhh]”hì)�”}”(hŒthe number of bytes to write”h]”hŒthe number of bytes to write”…”�”}”(hj¼8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Køhj¹8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj�8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j¸8h´Kùhj(8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj 8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_touch_block (C function)”Œc.w1_touch_block”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ=void w1_touch_block (struct w1_master *dev, u8 *buf, int len)”h]”jZ)�”}”(hŒ)�”}”(hjˆ:h]”hŒstruct w1_master *dev”…”�”}”(hjŠ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj†:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M hj‚:ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hj¡:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j�:h´M hjž:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj‚:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j�:h´M hj:ubj2)�”}”(hŒ)``u8 *buf`` pointer to the data to write ”h]”(j8)�”}”(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&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M hj»:ubjT)�”}”(hhh]”hì)�”}”(hŒpointer to the data to write”h]”hŒpointer to the data to write”…”�”}”(hjÚ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÖ:h´M hj×:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj»:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÖ:h´M hj:ubj2)�”}”(hŒ(``int len`` the number of bytes to write”h]”(j8)�”}”(hŒ ``int len``”h]”j>)�”}”(hjú:h]”hŒint len”…”�”}”(hjü:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjø:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Mhjô:ubjT)�”}”(hhh]”hì)�”}”(hŒthe number of bytes to write”h]”hŒthe number of bytes to write”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjô:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j;h´Mhj:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjc:ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_read_block (C function)”Œc.w1_read_block”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ:u8 w1_read_block (struct w1_master *dev, u8 *buf, int len)”h]”jZ)�”}”(hŒ9u8 w1_read_block(struct w1_master *dev, u8 *buf, int len)”h]”(h)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjW;h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjT;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jY;Œmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�Œ w1_read_block”sbŒc.w1_read_block”†”asbuh1hhjP;h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M"ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy;h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjP;h²hh³jx;h´M"ubjƒ)�”}”(hŒ w1_read_block”h]”j‰)�”}”(hju;h]”hŒ w1_read_block”…”�”}”(hj‹;h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj‡;ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjP;h²hh³jx;h´M"ubjQ)�”}”(hŒ)(struct w1_master *dev, u8 *buf, int len)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¦;h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj¢;ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³;h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¢;ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(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”Nj”j—)�”}”jš]”js;Œc.w1_read_block”†”asbuh1hhj¢;ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ;h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¢;ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjð;h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj¢;ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjý;h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj¢;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjž;ubjW)�”}”(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”Nj”j—)�”}”jš]”js;Œc.w1_read_block”†”asbuh1hhj<ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7<h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj<ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjE<h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj<ubj‰)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjR<h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjž;ubjW)�”}”(hŒint len”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjk<h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjg<ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy<h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjg<ubj‰)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj‡<h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjg<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjž;ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjP;h²hh³jx;h´M"ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjL;h²hh³jx;h´M"ubah}”(h]”jG;ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jx;h´M"hjI;h²hubj·)�”}”(hhh]”hì)�”}”(hŒReads a series of bytes.”h]”hŒReads a series of bytes.”…”�”}”(hj±<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M"hj®<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjI;h²hh³jx;h´M"ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjÉ<jÚjÉ<jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒ»**Parameters** ``struct w1_master *dev`` the master device ``u8 *buf`` pointer to the buffer to fill ``int len`` the number of bytes to read **Return** the number of bytes read”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³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M&hjÍ<ubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjò<h]”hŒstruct w1_master *dev”…”�”}”(hjô<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjð<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M#hjì<ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hj =h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j=h´M#hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjì<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j=h´M#hjé<ubj2)�”}”(hŒ*``u8 *buf`` pointer to the buffer to fill ”h]”(j8)�”}”(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&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M$hj%=ubjT)�”}”(hhh]”hì)�”}”(hŒpointer to the buffer to fill”h]”hŒpointer to the buffer to fill”…”�”}”(hjD=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j@=h´M$hjA=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj%=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j@=h´M$hjé<ubj2)�”}”(hŒ(``int len`` the number of bytes to read ”h]”(j8)�”}”(hŒ ``int len``”h]”j>)�”}”(hjd=h]”hŒint len”…”�”}”(hjf=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjb=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M%hj^=ubjT)�”}”(hhh]”hì)�”}”(hŒthe number of bytes to read”h]”hŒthe number of bytes to read”…”�”}”(hj}=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jy=h´M%hjz=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj^=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jy=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³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M'hjÍ<ubhì)�”}”(hŒthe number of bytes read”h]”hŒthe number of bytes read”…”�”}”(hjµ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M&hjÍ<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_reset_bus (C function)”Œc.w1_reset_bus”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ(int w1_reset_bus (struct w1_master *dev)”h]”jZ)�”}”(hŒ'int w1_reset_bus(struct w1_master *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjä=h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjà=h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M:ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjó=h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjà=h²hh³jò=h´M:ubjƒ)�”}”(hŒ w1_reset_bus”h]”j‰)�”}”(hŒ w1_reset_bus”h]”hŒ w1_reset_bus”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj>ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hjà=h²hh³jò=h´M:ubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj!>h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj>ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.>h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj>ubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hj?>h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj<>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jA>Œmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�j>sbŒc.w1_reset_bus”†”asbuh1hhj>ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_>h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj>ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjm>h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj>ubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjz>h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj>ubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhjà=h²hh³jò=h´M:ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjÜ=h²hh³jò=h´M:ubah}”(h]”j×=ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jò=h´M:hjÙ=h²hubj·)�”}”(hhh]”hì)�”}”(hŒIssues a reset bus sequence.”h]”hŒIssues a reset bus sequence.”…”�”}”(hj¤>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.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݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒy**Parameters** ``struct w1_master *dev`` the master device **Return** 0=Device present, 1=No device present or 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³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M>hjÀ>ubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjå>h]”hŒstruct w1_master *dev”…”�”}”(hjç>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjã>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M;hjß>ubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjþ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jú>h´M;hjû>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjß>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³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³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M=hjÀ>ubhì)�”}”(hŒ.0=Device present, 1=No device present or error”h]”hŒ.0=Device present, 1=No device present or error”…”�”}”(hj6?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”•:œh´M<hjÀ>ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ"w1_reset_select_slave (C function)”Œc.w1_reset_select_slave”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ/int w1_reset_select_slave (struct w1_slave *sl)”h]”jZ)�”}”(hŒ.int w1_reset_select_slave(struct w1_slave *sl)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hje?h²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhja?h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Myubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt?h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhja?h²hh³js?h´Myubjƒ)�”}”(hŒw1_reset_select_slave”h]”j‰)�”}”(hŒw1_reset_select_slave”h]”hŒw1_reset_select_slave”…”�”}”(hj†?h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj‚?ubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hja?h²hh³js?h´MyubjQ)�”}”(hŒ(struct w1_slave *sl)”h]”jW)�”}”(hŒstruct w1_slave *sl”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hj¢?h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjž?ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯?h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjž?ubh)�”}”(hhh]”j‰)�”}”(hŒw1_slave”h]”hŒw1_slave”…”�”}”(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”Nj”j—)�”}”jš]”j�)�”}”j�jˆ?sbŒc.w1_reset_select_slave”†”asbuh1hhjž?ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà?h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjž?ubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjî?h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjž?ubj‰)�”}”(hŒsl”h]”hŒsl”…”�”}”(hjû?h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjž?ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjš?ubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhja?h²hh³js?h´Myubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj]?h²hh³js?h´Myubah}”(h]”jX?ah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³js?h´MyhjZ?h²hubj·)�”}”(hhh]”hì)�”}”(hŒreset and select a slave”h]”hŒreset and select a slave”…”�”}”(hj%@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Myhj"@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjZ?h²hh³js?h´Myubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj=@jÚj=@jÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hX<**Parameters** ``struct w1_slave *sl`` the slave to select **Description** Resets the bus and then selects the slave by sending either a skip rom or a rom match. A skip rom is issued if there is only one device registered on the bus. The w1 master lock must be held. **Return** 0=success, anything else=error”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjG@h]”hŒ Parameters”…”�”}”(hjI@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjE@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M}hjA@ubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_slave *sl`` the slave to select ”h]”(j8)�”}”(hŒ``struct w1_slave *sl``”h]”j>)�”}”(hjf@h]”hŒstruct w1_slave *sl”…”�”}”(hjh@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjd@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Mzhj`@ubjT)�”}”(hhh]”hì)�”}”(hŒthe slave to select”h]”hŒthe slave to select”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j{@h´Mzhj|@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj`@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j{@h´Mzhj]@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjA@ubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hj¡@h]”hŒ Description”…”�”}”(hj£@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjŸ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M|hjA@ubhì)�”}”(hŒÀResets the bus and then selects the slave by sending either a skip rom or a rom match. A skip rom is issued if there is only one device registered on the bus. The w1 master lock must be held.”h]”hŒÀResets the bus and then selects the slave by sending either a skip rom or a rom match. A skip rom is issued if there is only one device registered on the bus. The w1 master lock must be held.”…”�”}”(hj·@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M{hjA@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³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M€hjA@ubhì)�”}”(hŒ0=success, anything else=error”h]”hŒ0=success, anything else=error”…”�”}”(hjÞ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M�hjA@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ$w1_reset_resume_command (C function)”Œc.w1_reset_resume_command”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ3int w1_reset_resume_command (struct w1_master *dev)”h]”jZ)�”}”(hŒ2int w1_reset_resume_command(struct w1_master *dev)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj Ah²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M–ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj Ah²hh³jAh´M–ubjƒ)�”}”(hŒw1_reset_resume_command”h]”j‰)�”}”(hŒw1_reset_resume_command”h]”hŒw1_reset_resume_command”…”�”}”(hj.Ah²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj*Aubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj Ah²hh³jAh´M–ubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjJAh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjFAubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWAh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjFAubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjhAh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjeAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jjAŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�j0AsbŒc.w1_reset_resume_command”†”asbuh1hhjFAubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆAh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjFAubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj–Ah²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjFAubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj£Ah²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjFAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjBAubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj Ah²hh³jAh´M–ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjAh²hh³jAh´M–ubah}”(h]”jAah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jAh´M–hjAh²hubj·)�”}”(hhh]”hì)�”}”(hŒ#resume instead of another match ROM”h]”hŒ#resume instead of another match ROM”…”�”}”(hjÍAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M–hjÊAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hjAh²hh³jAh´M–ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjåAjÚjåAjÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hX‡**Parameters** ``struct w1_master *dev`` the master device **Description** When the workflow with a slave amongst many requires several successive commands a reset between each, this function is similar to doing a reset then a match ROM for the last matched ROM. The advantage being that the matched ROM step is skipped in favor of the resume command. The slave must support the command of course. If the bus has only one slave, traditionnaly the match ROM is skipped and a "SKIP ROM" is done for efficiency. On multi-slave busses, this doesn't work of course, but the resume command is the next best thing. The w1 master lock must be held.”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjïAh]”hŒ Parameters”…”�”}”(hjñAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjíAubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´MšhjéAubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjBh]”hŒstruct w1_master *dev”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj Bubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M—hjBubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hj'Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j#Bh´M—hj$Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j#Bh´M—hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjéAubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjIBh]”hŒ Description”…”�”}”(hjKBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjGBubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M™hjéAubhì)�”}”(hXBWhen the workflow with a slave amongst many requires several successive commands a reset between each, this function is similar to doing a reset then a match ROM for the last matched ROM. The advantage being that the matched ROM step is skipped in favor of the resume command. The slave must support the command of course.”h]”hXBWhen the workflow with a slave amongst many requires several successive commands a reset between each, this function is similar to doing a reset then a match ROM for the last matched ROM. The advantage being that the matched ROM step is skipped in favor of the resume command. The slave must support the command of course.”…”�”}”(hj_Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M˜hjéAubhì)�”}”(hŒÑIf the bus has only one slave, traditionnaly the match ROM is skipped and a "SKIP ROM" is done for efficiency. On multi-slave busses, this doesn't work of course, but the resume command is the next best thing.”h]”hŒ×If the bus has only one slave, traditionnaly the match ROM is skipped and a “SKIP ROMâ€� is done for efficiency. On multi-slave busses, this doesn’t work of course, but the resume command is the next best thing.”…”�”}”(hjnBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´MžhjéAubhì)�”}”(hŒ The w1 master lock must be held.”h]”hŒ The w1 master lock must be held.”…”�”}”(hj}Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M¢hjéAubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_next_pullup (C function)”Œc.w1_next_pullup”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ6void w1_next_pullup (struct w1_master *dev, int delay)”h]”jZ)�”}”(hŒ5void w1_next_pullup(struct w1_master *dev, int delay)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¬Bh²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj¨Bh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M°ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»Bh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¨Bh²hh³jºBh´M°ubjƒ)�”}”(hŒw1_next_pullup”h]”j‰)�”}”(hŒw1_next_pullup”h]”hŒw1_next_pullup”…”�”}”(hjÍBh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÉBubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj¨Bh²hh³jºBh´M°ubjQ)�”}”(hŒ"(struct w1_master *dev, int delay)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjéBh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjåBubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöBh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjåBubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjCubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”j CŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�jÏBsbŒc.w1_next_pullup”†”asbuh1hhjåBubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Ch²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjåBubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj5Ch²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjåBubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjBCh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjåBubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjáBubjW)�”}”(hŒ int delay”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj[Ch²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjWCubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiCh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjWCubj‰)�”}”(hŒdelay”h]”hŒdelay”…”�”}”(hjwCh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjWCubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjáBubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj¨Bh²hh³jºBh´M°ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj¤Bh²hh³jºBh´M°ubah}”(h]”jŸBah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jºBh´M°hj¡Bh²hubj·)�”}”(hhh]”hì)�”}”(hŒregister for a strong pullup”h]”hŒregister for a strong pullup”…”�”}”(hj¡Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M°hjžCh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj¡Bh²hh³jºBh´M°ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj¹CjÚj¹CjÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hX**Parameters** ``struct w1_master *dev`` the master device ``int delay`` time in milliseconds **Description** Put out a strong pull-up of the specified duration after the next write operation. Not all hardware supports strong pullups. Hardware that doesn't support strong pullups will sleep for the given time after the write operation without a strong pullup. This is a one shot request for the next write, specifying zero will clear a previous request. The w1 master lock must be held. **Return** 0=success, anything else=error”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjÃCh]”hŒ Parameters”…”�”}”(hjÅCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjÁCubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M´hj½Cubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjâCh]”hŒstruct w1_master *dev”…”�”}”(hjäCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjàCubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M±hjÜCubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjûCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j÷Ch´M±hjøCubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÜCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j÷Ch´M±hjÙCubj2)�”}”(hŒ#``int delay`` time in milliseconds ”h]”(j8)�”}”(hŒ ``int delay``”h]”j>)�”}”(hjDh]”hŒ int delay”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M²hjDubjT)�”}”(hhh]”hì)�”}”(hŒtime in milliseconds”h]”hŒtime in milliseconds”…”�”}”(hj4Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j0Dh´M²hj1Dubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j0Dh´M²hjÙCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hj½Cubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjVDh]”hŒ Description”…”�”}”(hjXDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjTDubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M´hj½Cubhì)�”}”(hX|Put out a strong pull-up of the specified duration after the next write operation. Not all hardware supports strong pullups. Hardware that doesn't support strong pullups will sleep for the given time after the write operation without a strong pullup. This is a one shot request for the next write, specifying zero will clear a previous request. The w1 master lock must be held.”h]”hX~Put out a strong pull-up of the specified duration after the next write operation. Not all hardware supports strong pullups. Hardware that doesn’t support strong pullups will sleep for the given time after the write operation without a strong pullup. This is a one shot request for the next write, specifying zero will clear a previous request. The w1 master lock must be held.”…”�”}”(hjlDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M³hj½Cubhì)�”}”(hŒ **Return**”h]”jé)�”}”(hj}Dh]”hŒReturn”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj{Dubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´Mºhj½Cubhì)�”}”(hŒ0=success, anything else=error”h]”hŒ0=success, anything else=error”…”�”}”(hj“Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:63: ./drivers/w1/w1_io.c”h´M»hj½Cubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_write_bit (C function)”Œc.w1_write_bit”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ2void w1_write_bit (struct w1_master *dev, int bit)”h]”jZ)�”}”(hŒ1void w1_write_bit(struct w1_master *dev, int bit)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÂDh²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj¾Dh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KBubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑDh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¾Dh²hh³jÐDh´KBubjƒ)�”}”(hŒ w1_write_bit”h]”j‰)�”}”(hŒ w1_write_bit”h]”hŒ w1_write_bit”…”�”}”(hjãDh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjßDubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj¾Dh²hh³jÐDh´KBubjQ)�”}”(hŒ (struct w1_master *dev, int bit)”h]”(jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjÿDh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjûDubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Eh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjûDubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjEubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jEŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�jåDsbŒc.w1_write_bit”†”asbuh1hhjûDubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=Eh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjûDubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjKEh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjûDubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjXEh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjûDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj÷DubjW)�”}”(hŒint bit”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjqEh²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhjmEubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjmEubj‰)�”}”(hŒbit”h]”hŒbit”…”�”}”(hj�Eh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjmEubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhj÷Dubeh}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj¾Dh²hh³jÐDh´KBubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhjºDh²hh³jÐDh´KBubah}”(h]”jµDah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³jÐDh´KBhj·Dh²hubj·)�”}”(hhh]”hì)�”}”(hŒ%Generates a write-0 or write-1 cycle.”h]”hŒ%Generates a write-0 or write-1 cycle.”…”�”}”(hj·Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KBhj´Eh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj·Dh²hh³jÐDh´KBubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjÏEjÚjÏEjÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒ›**Parameters** ``struct w1_master *dev`` the master device ``int bit`` bit to write **Description** Only call if dev->bus_master->touch_bit is NULL”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjÙEh]”hŒ Parameters”…”�”}”(hjÛEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj×Eubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KFhjÓEubj-)�”}”(hhh]”(j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjøEh]”hŒstruct w1_master *dev”…”�”}”(hjúEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjöEubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KChjòEubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j Fh´KChjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjòEubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³j Fh´KChjïEubj2)�”}”(hŒ``int bit`` bit to write ”h]”(j8)�”}”(hŒ ``int bit``”h]”j>)�”}”(hj1Fh]”hŒint bit”…”�”}”(hj3Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj/Fubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KDhj+FubjT)�”}”(hhh]”hì)�”}”(hŒ bit to write”h]”hŒ bit to write”…”�”}”(hjJFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jFFh´KDhjGFubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj+Fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jFFh´KDhjïEubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,hjÓEubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjlFh]”hŒ Description”…”�”}”(hjnFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjjFubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KFhjÓEubhì)�”}”(hŒ/Only call if dev->bus_master->touch_bit is NULL”h]”hŒ/Only call if dev->bus_master->touch_bit is NULL”…”�”}”(hj‚Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KEhjÓEubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_pre_write (C function)”Œc.w1_pre_write”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ)void w1_pre_write (struct w1_master *dev)”h]”jZ)�”}”(hŒ(void w1_pre_write(struct w1_master *dev)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj±Fh²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj­Fh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´K^ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀFh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj­Fh²hh³j¿Fh´K^ubjƒ)�”}”(hŒ w1_pre_write”h]”j‰)�”}”(hŒ w1_pre_write”h]”hŒ w1_pre_write”…”�”}”(hjÒFh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjÎFubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj­Fh²hh³j¿Fh´K^ubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjîFh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjêFubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûFh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjêFubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hj Gh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj Gubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”jGŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�jÔFsbŒc.w1_pre_write”†”asbuh1hhjêFubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Gh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjêFubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj:Gh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjêFubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjGGh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjêFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjæFubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj­Fh²hh³j¿Fh´K^ubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj©Fh²hh³j¿Fh´K^ubah}”(h]”j¤Fah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j¿Fh´K^hj¦Fh²hubj·)�”}”(hhh]”hì)�”}”(hŒpre-write operations”h]”hŒpre-write operations”…”�”}”(hjqGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´K^hjnGh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj¦Fh²hh³j¿Fh´K^ubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj‰GjÚj‰GjÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒð**Parameters** ``struct w1_master *dev`` the master device **Description** Pre-write operation, currently only supporting strong pullups. Program the hardware for a strong pullup, if one has been requested and the hardware supports it.”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hj“Gh]”hŒ Parameters”…”�”}”(hj•Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj‘Gubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Kbhj�Gubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj²Gh]”hŒstruct w1_master *dev”…”�”}”(hj´Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj°Gubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´K_hj¬GubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjËGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÇGh´K_hjÈGubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¬Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÇGh´K_hj©Gubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj�Gubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjíGh]”hŒ Description”…”�”}”(hjïGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjëGubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Kahj�Gubhì)�”}”(hŒ Pre-write operation, currently only supporting strong pullups. Program the hardware for a strong pullup, if one has been requested and the hardware supports it.”h]”hŒ Pre-write operation, currently only supporting strong pullups. Program the hardware for a strong pullup, if one has been requested and the hardware supports it.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´K`hj�Gubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_post_write (C function)”Œc.w1_post_write”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ*void w1_post_write (struct w1_master *dev)”h]”jZ)�”}”(hŒ)void w1_post_write(struct w1_master *dev)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj2Hh²hh³Nh´Nubah}”(h]”h ]”j%ah"]”h$]”h&]”uh1jhj.Hh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Koubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAHh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj.Hh²hh³j@Hh´Koubjƒ)�”}”(hŒ w1_post_write”h]”j‰)�”}”(hŒ w1_post_write”h]”hŒ w1_post_write”…”�”}”(hjSHh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjOHubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj.Hh²hh³j@Hh´KoubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjoHh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjkHubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Hh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjkHubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hj�Hh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjŠHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”j�HŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�jUHsbŒc.w1_post_write”†”asbuh1hhjkHubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­Hh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjkHubj±)�”}”(hj´h]”hŒ*”…”�”}”(hj»Hh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjkHubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÈHh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjkHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjgHubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj.Hh²hh³j@Hh´Koubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj*Hh²hh³j@Hh´Koubah}”(h]”j%Hah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j@Hh´Kohj'Hh²hubj·)�”}”(hhh]”hì)�”}”(hŒpost-write options”h]”hŒpost-write options”…”�”}”(hjòHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KohjïHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj'Hh²hh³j@Hh´Koubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙj IjÚj IjÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hX**Parameters** ``struct w1_master *dev`` the master device **Description** Post-write operation, currently only supporting strong pullups. If a strong pullup was requested, clear it if the hardware supports them, or execute the delay otherwise, in either case clear the request.”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hjIh]”hŒ Parameters”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KshjIubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hj3Ih]”hŒstruct w1_master *dev”…”�”}”(hj5Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj1Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Kphj-IubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjLIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jHIh´KphjIIubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj-Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jHIh´Kphj*Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hjIubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjnIh]”hŒ Description”…”�”}”(hjpIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjlIubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KrhjIubhì)�”}”(hŒËPost-write operation, currently only supporting strong pullups. If a strong pullup was requested, clear it if the hardware supports them, or execute the delay otherwise, in either case clear the request.”h]”hŒËPost-write operation, currently only supporting strong pullups. If a strong pullup was requested, clear it if the hardware supports them, or execute the delay otherwise, in either case clear the request.”…”�”}”(hj„Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KqhjIubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒw1_read_bit (C function)”Œ c.w1_read_bit”hNt”auh1j=hjŒ.h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ&u8 w1_read_bit (struct w1_master *dev)”h]”jZ)�”}”(hŒ%u8 w1_read_bit(struct w1_master *dev)”h]”(h)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj¶Ih²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj³Iubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”j¸IŒmodname”NŒ classname”Nj”j—)�”}”jš]”j�)�”}”j�Œ w1_read_bit”sbŒ c.w1_read_bit”†”asbuh1hhj¯Ih²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Kšubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØIh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¯Ih²hh³j×Ih´Kšubjƒ)�”}”(hŒ w1_read_bit”h]”j‰)�”}”(hjÔIh]”hŒ w1_read_bit”…”�”}”(hjêIh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjæIubah}”(h]”h ]”(j›jœeh"]”h$]”h&]”j j¡uh1j‚hj¯Ih²hh³j×Ih´KšubjQ)�”}”(hŒ(struct w1_master *dev)”h]”jW)�”}”(hŒstruct w1_master *dev”h]”(j`)�”}”(hjch]”hŒstruct”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hjJubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjJubh)�”}”(hhh]”j‰)�”}”(hŒ w1_master”h]”hŒ w1_master”…”�”}”(hj#Jh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhj Jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jÓŒreftype”j�Œ reftarget”j%JŒmodname”NŒ classname”Nj”j—)�”}”jš]”jÒIŒ c.w1_read_bit”†”asbuh1hhjJubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAJh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjJubj±)�”}”(hj´h]”hŒ*”…”�”}”(hjOJh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjJubj‰)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj\Jh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1jˆhjJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj j¡uh1jVhjýIubah}”(h]”h ]”h"]”h$]”h&]”j j¡uh1jPhj¯Ih²hh³j×Ih´Kšubeh}”(h]”h ]”h"]”h$]”h&]”j j¡j¨ˆuh1jYj©jªhj«Ih²hh³j×Ih´Kšubah}”(h]”j¦Iah ]”(j®j¯eh"]”h$]”h&]”j³ˆj´)jµhuh1jSh³j×Ih´Kšhj¨Ih²hubj·)�”}”(hhh]”hì)�”}”(hŒ0Generates a write-1 cycle and samples the level.”h]”hŒ0Generates a write-1 cycle and samples the level.”…”�”}”(hj†Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´KšhjƒJh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¶hj¨Ih²hh³j×Ih´Kšubeh}”(h]”h ]”(jÓŒfunction”eh"]”h$]”h&]”jØjÓjÙjžJjÚjžJjÛ‰j܉j݉uh1jNh²hhjŒ.h³Nh´Nubjß)�”}”(hŒ**Parameters** ``struct w1_master *dev`` the master device **Description** Only call if dev->bus_master->touch_bit is NULL”h]”(hì)�”}”(hŒ**Parameters**”h]”jé)�”}”(hj¨Jh]”hŒ Parameters”…”�”}”(hjªJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhj¦Jubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Kžhj¢Jubj-)�”}”(hhh]”j2)�”}”(hŒ,``struct w1_master *dev`` the master device ”h]”(j8)�”}”(hŒ``struct w1_master *dev``”h]”j>)�”}”(hjÇJh]”hŒstruct w1_master *dev”…”�”}”(hjÉJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjÅJubah}”(h]”h ]”h"]”h$]”h&]”uh1j7h³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´K›hjÁJubjT)�”}”(hhh]”hì)�”}”(hŒthe master device”h]”hŒthe master device”…”�”}”(hjàJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jÜJh´K›hjÝJubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÁJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jÜJh´K›hj¾Jubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj¢Jubhì)�”}”(hŒ**Description**”h]”jé)�”}”(hjKh]”hŒ Description”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjKubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´K�hj¢Jubhì)�”}”(hŒ/Only call if dev->bus_master->touch_bit is NULL”h]”hŒ/Only call if dev->bus_master->touch_bit is NULL”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/w1:66: ./drivers/w1/w1_io.c”h´Kœhj¢Jubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÞhjŒ.h²hh³Nh´Nubeh}”(h]”Œdrivers-w1-w1-io-c”ah ]”h"]”Œdrivers/w1/w1_io.c”ah$]”h&]”uh1hµhj h²hh³hÊh´K;ubeh}”(h]”Œw1-api-internal-to-the-kernel”ah ]”h"]”Œw1 api internal to the kernel”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubeh}”(h]”Œw1-dallas-1-wire-bus”ah ]”h"]”Œw1: dallas' 1-wire bus”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”jiKŒ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”}”(jCKj@Kj;Kj8KjÝjÚjRjOj/j,j¿ j¼ jœ#j™#j‰.j†.j3Kj0KuŒ nametypes”}”(jCK‰j;K‰j݉jR‰j/‰j¿ ‰jœ#‰j‰.‰j3K‰uh}”(j@Kh·j8Kj jÚjjLjUj©j®j%j*j† j‹ j� j¢ j7j<jëjðjØjÝjOjàj jj±j¶j,jUj€j…jÛjàj¼ j2j]jcj™#j jí jò jH"jM"j†.jŸ#jÊ#jÐ#j¨$j­$jÜ&já&jÔ)jÙ)jµ,jº,j0KjŒ.j·.j¼.j“0j˜0jo2jt2jé4jî4j}6j‚6jð8jõ8jG;jL;j×=jÜ=jX?j]?jAjAjŸBj¤BjµDjºDj¤Fj©Fj%Hj*Hj¦Ij«IuŒ 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.