vZsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget#/translations/zh_CN/spi/spi-lm70llpmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget#/translations/zh_TW/spi/spi-lm70llpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget#/translations/it_IT/spi/spi-lm70llpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget#/translations/ja_JP/spi/spi-lm70llpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget#/translations/ko_KR/spi/spi-lm70llpmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget#/translations/sp_SP/spi/spi-lm70llpmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h.spi_lm70llp : LM70-LLP parport-to-SPI adapterh]h.spi_lm70llp : LM70-LLP parport-to-SPI adapter}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh=/var/lib/git/docbuild/linux/Documentation/spi/spi-lm70llp.rsthKubh paragraph)}(hSupported board/chip:h]hSupported board/chip:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(ha* National Semiconductor LM70 LLP evaluation board Datasheet: https://www.ti.com/lit/gpn/lm70 h]h bullet_list)}(hhh]h list_item)}(h]National Semiconductor LM70 LLP evaluation board Datasheet: https://www.ti.com/lit/gpn/lm70 h](h)}(h0National Semiconductor LM70 LLP evaluation boardh]h0National Semiconductor LM70 LLP evaluation board}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubh)}(h*Datasheet: https://www.ti.com/lit/gpn/lm70h](h Datasheet: }(hhhhhNhNubh reference)}(hhttps://www.ti.com/lit/gpn/lm70h]hhttps://www.ti.com/lit/gpn/lm70}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurihuh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubeh}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]bullet*uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhdefinition_list)}(hhh]hdefinition_list_item)}(h9Author: Kaiwan N Billimoria h](hterm)}(hAuthor:h]hAuthor:}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1j$hhhK hj ubh definition)}(hhh]h)}(h0Kaiwan N Billimoria h](hKaiwan N Billimoria <}(hj9hhhNhNubh)}(hkaiwan@designergraphix.comh]hkaiwan@designergraphix.com}(hjAhhhNhNubah}(h]h ]h"]h$]h&]refuri!mailto:kaiwan@designergraphix.comuh1hhj9ubh>}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hj6ubah}(h]h ]h"]h$]h&]uh1j4hj ubeh}(h]h ]h"]h$]h&]uh1jhhhK hjubah}(h]h ]h"]h$]h&]uh1jhhhhhhhNubh)}(hhh](h)}(h Descriptionh]h Description}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhhhhhKubh)}(hThis driver provides glue code connecting a National Semiconductor LM70 LLP temperature sensor evaluation board to the kernel's SPI core subsystem.h]hThis driver provides glue code connecting a National Semiconductor LM70 LLP temperature sensor evaluation board to the kernel’s SPI core subsystem.}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjmhhubh)}(hXEThis is a SPI master controller driver. It can be used in conjunction with (layered under) the LM70 logical driver (a "SPI protocol driver"). In effect, this driver turns the parallel port interface on the eval board into a SPI bus with a single device, which will be driven by the generic LM70 driver (drivers/hwmon/lm70.c).h]hXIThis is a SPI master controller driver. It can be used in conjunction with (layered under) the LM70 logical driver (a “SPI protocol driver”). In effect, this driver turns the parallel port interface on the eval board into a SPI bus with a single device, which will be driven by the generic LM70 driver (drivers/hwmon/lm70.c).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjmhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hHardware Interfacingh]hHardware Interfacing}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hYThe schematic for this particular board (the LM70EVAL-LLP) is available (on page 4) here:h]hYThe schematic for this particular board (the LM70EVAL-LLP) is available (on page 4) here:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hWhttps://download.datasheets.com/pdfs/documentation/nat/kit&board/lm70llpevalmanual.pdf h]h)}(hVhttps://download.datasheets.com/pdfs/documentation/nat/kit&board/lm70llpevalmanual.pdfh]h)}(hjh]hVhttps://download.datasheets.com/pdfs/documentation/nat/kit&board/lm70llpevalmanual.pdf}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hBThe hardware interfacing on the LM70 LLP eval board is as follows:h]hBThe hardware interfacing on the LM70 LLP eval board is as follows:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjhhubh)}(hX======== == ========= ========== Parallel LM70 LLP Port . Direction JP2 Header ======== == ========= ========== D0 2 - - D1 3 --> V+ 5 D2 4 --> V+ 5 D3 5 --> V+ 5 D4 6 --> V+ 5 D5 7 --> nCS 8 D6 8 --> SCLK 3 D7 9 --> SI/O 5 GND 25 - GND 7 Select 13 <-- SI/O 1 ======== == ========= ========== h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubhthead)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hParallelh]hParallel}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hj5ubah}(h]h ]h"]h$]h&]uh1j3hj0ubj4)}(hhh]h}(h]h ]h"]h$]h&]uh1j3hj0ubj4)}(hhh]h}(h]h ]h"]h$]h&]uh1j3hj0ubj4)}(hhh]h)}(hLM70 LLPh]hLM70 LLP}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hj^ubah}(h]h ]h"]h$]h&]uh1j3hj0ubeh}(h]h ]h"]h$]h&]uh1j.hj+ubj/)}(hhh](j4)}(hhh]h)}(hPorth]hPort}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hj~ubah}(h]h ]h"]h$]h&]uh1j3hj{ubj4)}(hhh]h)}(h.h]h.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1j3hj{ubj4)}(hhh]h)}(h Directionh]h Direction}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1j3hj{ubj4)}(hhh]h)}(h JP2 Headerh]h JP2 Header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1j3hj{ubeh}(h]h ]h"]h$]h&]uh1j.hj+ubeh}(h]h ]h"]h$]h&]uh1j)hjubhtbody)}(hhh](j/)}(hhh](j4)}(hhh]h)}(hD0h]hD0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hhh]h)}(hhh]h}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]j-uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hhh]h)}(hhh]h}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]jj1uh1hhhhK'hj8ubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD1h]hD1}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hj\ubah}(h]h ]h"]h$]h&]uh1j3hjYubj4)}(hhh]h)}(h3h]h3}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjsubah}(h]h ]h"]h$]h&]uh1j3hjYubj4)}(hhh]h)}(h-->h]h-->}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1j3hjYubj4)}(hhh]h)}(hV+ 5h]hV+ 5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1j3hjYubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD2h]hD2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h4h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h-->h]h-->}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hV+ 5h]hV+ 5}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD3h]hD3}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hj&ubah}(h]h ]h"]h$]h&]uh1j3hj#ubj4)}(hhh]h)}(h5h]h5}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hj=ubah}(h]h ]h"]h$]h&]uh1j3hj#ubj4)}(hhh]h)}(h-->h]h-->}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjTubah}(h]h ]h"]h$]h&]uh1j3hj#ubj4)}(hhh]h)}(hV+ 5h]hV+ 5}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjkubah}(h]h ]h"]h$]h&]uh1j3hj#ubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD4h]hD4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h6h]h6}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h-->h]h-->}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hV+ 5h]hV+ 5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD5h]hD5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h7h]h7}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h-->h]h-->}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hnCS 8h]hnCS 8}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hj5ubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD6h]hD6}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjUubah}(h]h ]h"]h$]h&]uh1j3hjRubj4)}(hhh]h)}(h8h]h8}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjlubah}(h]h ]h"]h$]h&]uh1j3hjRubj4)}(hhh]h)}(h-->h]h-->}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1j3hjRubj4)}(hhh]h)}(hSCLK 3h]hSCLK 3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1j3hjRubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hD7h]hD7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h9h]h9}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h-->h]h-->}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hSI/O 5h]hSI/O 5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hGNDh]hGND}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h25h]h25}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hj6ubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hhh]h)}(hhh]h}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]jj1uh1hhhhK/hjMubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hGND 7h]hGND 7}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjhubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubj/)}(hhh](j4)}(hhh]h)}(hSelecth]hSelect}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h13h]h13}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(h<--h]h<--}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1j3hjubj4)}(hhh]h)}(hSI/O 1h]hSI/O 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1j.hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK#hjhhubh)}(hXBNote that since the LM70 uses a "3-wire" variant of SPI, the SI/SO pin is connected to both pin D7 (as Master Out) and Select (as Master In) using an arrangement that lets either the parport or the LM70 pull the pin low. This can't be shared with true SPI devices, but other 3-wire devices might share the same SI/SO pin.h]hXHNote that since the LM70 uses a “3-wire” variant of SPI, the SI/SO pin is connected to both pin D7 (as Master Out) and Select (as Master In) using an arrangement that lets either the parport or the LM70 pull the pin low. This can’t be shared with true SPI devices, but other 3-wire devices might share the same SI/SO pin.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjhhubh)}(hX=The bitbanger routine in this driver (lm70_txrx) is called back from the bound "hwmon/lm70" protocol driver through its sysfs hook, using a spi_write_then_read() call. It performs Mode 0 (SPI/Microwire) bitbanging. The lm70 driver then interprets the resulting digital temperature value and exports it through sysfs.h]hXAThe bitbanger routine in this driver (lm70_txrx) is called back from the bound “hwmon/lm70” protocol driver through its sysfs hook, using a spi_write_then_read() call. It performs Mode 0 (SPI/Microwire) bitbanging. The lm70 driver then interprets the resulting digital temperature value and exports it through sysfs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjhhubh)}(hA "gotcha": National Semiconductor's LM70 LLP eval board circuit schematic shows that the SI/O line from the LM70 chip is connected to the base of a transistor Q1 (and also a pullup, and a zener diode to D7); while the collector is tied to VCC.h]hA “gotcha”: National Semiconductor’s LM70 LLP eval board circuit schematic shows that the SI/O line from the LM70 chip is connected to the base of a transistor Q1 (and also a pullup, and a zener diode to D7); while the collector is tied to VCC.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjhhubh)}(hXInterpreting this circuit, when the LM70 SI/O line is High (or tristate and not grounded by the host via D7), the transistor conducts and switches the collector to zero, which is reflected on pin 13 of the DB25 parport connector. When SI/O is Low (driven by the LM70 or the host) on the other hand, the transistor is cut off and the voltage tied to its collector is reflected on pin 13 as a High level.h]hXInterpreting this circuit, when the LM70 SI/O line is High (or tristate and not grounded by the host via D7), the transistor conducts and switches the collector to zero, which is reflected on pin 13 of the DB25 parport connector. When SI/O is Low (driven by the LM70 or the host) on the other hand, the transistor is cut off and the voltage tied to its collector is reflected on pin 13 as a High level.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubh)}(hoSo: the getmiso inline routine in this driver takes this fact into account, inverting the value read at pin 13.h]hoSo: the getmiso inline routine in this driver takes this fact into account, inverting the value read at pin 13.}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjhhubeh}(h]hardware-interfacingah ]h"]hardware interfacingah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Thanks toh]h Thanks to}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhhhhhKPubh)}(hhh](h)}(h=David Brownell for mentoring the SPI-side driver development.h]h)}(hjgh]h=David Brownell for mentoring the SPI-side driver development.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjeubah}(h]h ]h"]h$]h&]uh1hhjbhhhhhNubh)}(hGDr.Craig Hollabaugh for the (early) "manual" bitbanging driver version.h]h)}(hj~h]hKDr.Craig Hollabaugh for the (early) “manual” bitbanging driver version.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj|ubah}(h]h ]h"]h$]h&]uh1hhjbhhhhhNubh)}(h=Nadir Billimoria for help interpreting the circuit schematic.h]h)}(hjh]h=Nadir Billimoria for help interpreting the circuit schematic.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1hhjbhhhhhNubeh}(h]h ]h"]h$]h&]jj1uh1hhhhKRhjQhhubeh}(h] thanks-toah ]h"] thanks toah$]h&]uh1hhhhhhhhKPubeh}(h]+spi-lm70llp-lm70-llp-parport-to-spi-adapterah ]h"]-spi_lm70llp : lm70-llp parport-to-spi adapterah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj3footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjjjNjKjju nametypes}(jjjNjuh}(jhjjmjKjjjQu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]hsystem_message)}(hhh]h)}(heUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h]hgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]levelKtypeINFOlineK&sourcehuh1jDhjubatransform_messages] transformerN include_log] decorationNhhub.