€•DŒ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/vme”Œ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/vme”Œ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/vme”Œ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/vme”Œ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/vme”Œ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/vme”Œ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/vme”Œ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ŒVME Device Drivers”h]”hŒVME Device Drivers”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ` must be provided to the registration function. Along with the maximum number of devices your driver is able to support.”h]”(hŒ!A pointer to a structure of type ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ(:c:type:`struct vme_driver `”h]”hë)�”}”(hjh]”hŒstruct vme_driver”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-type”eh"]”h$]”h&]”uh1hêhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j Œ vme_driver”uh1hh³hÊh´K hjubhŒx must be provided to the registration function. Along with the maximum number of devices your driver is able to support.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K hhËh²hubhÝ)�”}”(hŒÏAt the minimum, the '.name', '.match' and '.probe' elements of :c:type:`struct vme_driver ` should be correctly set. The '.name' element is a pointer to a string holding the device driver's name.”h]”(hŒKAt the minimum, the ‘.name’, ‘.match’ and ‘.probe’ elements of ”…”�”}”(hjFh²hh³Nh´Nubh)�”}”(hŒ(:c:type:`struct vme_driver `”h]”hë)�”}”(hjPh]”hŒstruct vme_driver”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-type”eh"]”h$]”h&]”uh1hêhjNubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j Œ vme_driver”uh1hh³hÊh´KhjFubhŒn should be correctly set. The ‘.name’ element is a pointer to a string holding the device driver’s name.”…”�”}”(hjFh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhhËh²hubhÝ)�”}”(hX The '.match' function allows control over which VME devices should be registered with the driver. The match function should return 1 if a device should be probed and 0 otherwise. This example match function (from vme_user.c) limits the number of devices probed to one:”h]”hXThe ‘.match’ function allows control over which VME devices should be registered with the driver. The match function should return 1 if a device should be probed and 0 otherwise. This example match function (from vme_user.c) limits the number of devices probed to one:”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhhËh²hubhŒ literal_block”“”)�”}”(hŒ§#define USER_BUS_MAX 1 ... static int vme_user_match(struct vme_dev *vdev) { if (vdev->id.num >= USER_BUS_MAX) return 0; return 1; }”h]”hŒ§#define USER_BUS_MAX 1 ... static int vme_user_match(struct vme_dev *vdev) { if (vdev->id.num >= USER_BUS_MAX) return 0; return 1; }”…”�”}”hj‡sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”Œforce”‰Œlanguage”h÷Œhighlight_args”}”uh1j…h³hÊh´KhhËh²hubhÝ)�”}”(hŒœThe '.probe' element should contain a pointer to the probe routine. The probe routine is passed a :c:type:`struct vme_dev ` pointer as an argument.”h]”(hŒfThe ‘.probe’ element should contain a pointer to the probe routine. The probe routine is passed a ”…”�”}”(hj›h²hh³Nh´Nubh)�”}”(hŒ":c:type:`struct vme_dev `”h]”hë)�”}”(hj¥h]”hŒstruct vme_dev”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-type”eh"]”h$]”h&]”uh1hêhj£ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j Œvme_dev”uh1hh³hÊh´K#hj›ubhŒ pointer as an argument.”…”�”}”(hj›h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K#hhËh²hubhÝ)�”}”(hŒœHere, the 'num' field refers to the sequential device ID for this specific driver. The bridge number (or bus number) can be accessed using dev->bridge->num.”h]”hŒ Here, the ‘num’ field refers to the sequential device ID for this specific driver. The bridge number (or bus number) can be accessed using dev->bridge->num.”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K'hhËh²hubhÝ)�”}”(hŒ±A function is also provided to unregister the driver from the VME core called :c:func:`vme_unregister_driver` and should usually be called from the device driver's exit routine.”h]”(hŒNA function is also provided to unregister the driver from the VME core called ”…”�”}”(hjÚh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_unregister_driver`”h]”hë)�”}”(hjäh]”hŒvme_unregister_driver()”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjâubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_unregister_driver”uh1hh³hÊh´K+hjÚubhŒF and should usually be called from the device driver’s exit routine.”…”�”}”(hjÚh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K+hhËh²hubeh}”(h]”Œdriver-registration”ah ]”h"]”Œdriver registration”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒResource management”h]”hŒResource management”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´K1ubhÝ)�”}”(hXÜOnce a driver has registered with the VME core the provided match routine will be called the number of times specified during the registration. If a match succeeds, a non-zero value should be returned. A zero return value indicates failure. For all successful matches, the probe routine of the corresponding driver is called. The probe routine is passed a pointer to the devices device structure. This pointer should be saved, it will be required for requesting VME resources.”h]”hXÜOnce a driver has registered with the VME core the provided match routine will be called the number of times specified during the registration. If a match succeeds, a non-zero value should be returned. A zero return value indicates failure. For all successful matches, the probe routine of the corresponding driver is called. The probe routine is passed a pointer to the devices device structure. This pointer should be saved, it will be required for requesting VME resources.”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K3hjh²hubhÝ)�”}”(hXJThe driver can request ownership of one or more master windows (:c:func:`vme_master_request`), slave windows (:c:func:`vme_slave_request`) and/or dma channels (:c:func:`vme_dma_request`). Rather than allowing the device driver to request a specific window or DMA channel (which may be used by a different driver) the API allows a resource to be assigned based on the required attributes of the driver in question. For slave windows these attributes are split into the VME address spaces that need to be accessed in 'aspace' and VME bus cycle types required in 'cycle'. Master windows add a further set of attributes in 'width' specifying the required data transfer widths. These attributes are defined as bitmasks and as such any combination of the attributes can be requested for a single window, the core will assign a window that meets the requirements, returning a pointer of type vme_resource that should be used to identify the allocated resource when it is used. For DMA controllers, the request function requires the potential direction of any transfers to be provided in the route attributes. This is typically VME-to-MEM and/or MEM-to-VME, though some hardware can support VME-to-VME and MEM-to-MEM transfers as well as test pattern generation. If an unallocated window fitting the requirements can not be found a NULL pointer will be returned.”h]”(hŒ@The driver can request ownership of one or more master windows (”…”�”}”(hj2h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_request`”h]”hë)�”}”(hj<h]”hŒvme_master_request()”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj:ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_request”uh1hh³hÊh´K;hj2ubhŒ), slave windows (”…”�”}”(hj2h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_slave_request`”h]”hë)�”}”(hj_h]”hŒvme_slave_request()”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj]ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_slave_request”uh1hh³hÊh´K;hj2ubhŒ) and/or dma channels (”…”�”}”(hj2h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_request`”h]”hë)�”}”(hj‚h]”hŒvme_dma_request()”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj€ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_request”uh1hh³hÊh´K;hj2ubhX�). Rather than allowing the device driver to request a specific window or DMA channel (which may be used by a different driver) the API allows a resource to be assigned based on the required attributes of the driver in question. For slave windows these attributes are split into the VME address spaces that need to be accessed in ‘aspace’ and VME bus cycle types required in ‘cycle’. Master windows add a further set of attributes in ‘width’ specifying the required data transfer widths. These attributes are defined as bitmasks and as such any combination of the attributes can be requested for a single window, the core will assign a window that meets the requirements, returning a pointer of type vme_resource that should be used to identify the allocated resource when it is used. For DMA controllers, the request function requires the potential direction of any transfers to be provided in the route attributes. This is typically VME-to-MEM and/or MEM-to-VME, though some hardware can support VME-to-VME and MEM-to-MEM transfers as well as test pattern generation. If an unallocated window fitting the requirements can not be found a NULL pointer will be returned.”…”�”}”(hj2h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K;hjh²hubhÝ)�”}”(hX Functions are also provided to free window allocations once they are no longer required. These functions (:c:func:`vme_master_free`, :c:func:`vme_slave_free` and :c:func:`vme_dma_free`) should be passed the pointer to the resource provided during resource allocation.”h]”(hŒjFunctions are also provided to free window allocations once they are no longer required. These functions (”…”�”}”(hj©h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_free`”h]”hë)�”}”(hj³h]”hŒvme_master_free()”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj±ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_free”uh1hh³hÊh´KNhj©ubhŒ, ”…”�”}”(hj©h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_slave_free`”h]”hë)�”}”(hjÖh]”hŒvme_slave_free()”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjÔubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_slave_free”uh1hh³hÊh´KNhj©ubhŒ and ”…”�”}”(hj©h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_free`”h]”hë)�”}”(hjùh]”hŒvme_dma_free()”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj÷ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_dma_free”uh1hh³hÊh´KNhj©ubhŒS) should be passed the pointer to the resource provided during resource allocation.”…”�”}”(hj©h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KNhjh²hubeh}”(h]”Œresource-management”ah ]”h"]”Œresource management”ah$]”h&]”uh1hµhh·h²hh³hÊh´K1ubh¶)�”}”(hhh]”(h»)�”}”(hŒMaster windows”h]”hŒMaster windows”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj(h²hh³hÊh´KUubhÝ)�”}”(hŒéMaster windows provide access from the local processor[s] out onto the VME bus. The number of windows available and the available access modes is dependent on the underlying chipset. A window must be configured before it can be used.”h]”hŒéMaster windows provide access from the local processor[s] out onto the VME bus. The number of windows available and the available access modes is dependent on the underlying chipset. A window must be configured before it can be used.”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KWhj(h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒMaster window configuration”h]”hŒMaster window configuration”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjGh²hh³hÊh´K]ubhÝ)�”}”(hXmOnce a master window has been assigned :c:func:`vme_master_set` can be used to configure it and :c:func:`vme_master_get` to retrieve the current settings. The address spaces, transfer widths and cycle types are the same as described under resource management, however some of the options are mutually exclusive. For example, only one address space may be specified.”h]”(hŒ'Once a master window has been assigned ”…”�”}”(hjXh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_set`”h]”hë)�”}”(hjbh]”hŒvme_master_set()”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj`ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_set”uh1hh³hÊh´K_hjXubhŒ! can be used to configure it and ”…”�”}”(hjXh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_get`”h]”hë)�”}”(hj…h]”hŒvme_master_get()”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjƒubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_get”uh1hh³hÊh´K_hjXubhŒõ to retrieve the current settings. The address spaces, transfer widths and cycle types are the same as described under resource management, however some of the options are mutually exclusive. For example, only one address space may be specified.”…”�”}”(hjXh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K_hjGh²hubeh}”(h]”Œmaster-window-configuration”ah ]”h"]”Œmaster window configuration”ah$]”h&]”uh1hµhj(h²hh³hÊh´K]ubh¶)�”}”(hhh]”(h»)�”}”(hŒMaster window access”h]”hŒMaster window access”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj´h²hh³hÊh´KgubhÝ)�”}”(hŒŠThe function :c:func:`vme_master_read` can be used to read from and :c:func:`vme_master_write` used to write to configured master windows.”h]”(hŒ The function ”…”�”}”(hjÅh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_read`”h]”hë)�”}”(hjÏh]”hŒvme_master_read()”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjÍubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_read”uh1hh³hÊh´KihjÅubhŒ can be used to read from and ”…”�”}”(hjÅh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_write`”h]”hë)�”}”(hjòh]”hŒvme_master_write()”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjðubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_write”uh1hh³hÊh´KihjÅubhŒ, used to write to configured master windows.”…”�”}”(hjÅh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kihj´h²hubhÝ)�”}”(hŒÜIn addition to simple reads and writes, :c:func:`vme_master_rmw` is provided to do a read-modify-write transaction. Parts of a VME window can also be mapped into user space memory using :c:func:`vme_master_mmap_prepare`.”h]”(hŒ(In addition to simple reads and writes, ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_master_rmw`”h]”hë)�”}”(hj#h]”hŒvme_master_rmw()”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj!ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_rmw”uh1hh³hÊh´KlhjubhŒz is provided to do a read-modify-write transaction. Parts of a VME window can also be mapped into user space memory using ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ!:c:func:`vme_master_mmap_prepare`”h]”hë)�”}”(hjFh]”hŒvme_master_mmap_prepare()”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjDubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_master_mmap_prepare”uh1hh³hÊh´KlhjubhŒ.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Klhj´h²hubeh}”(h]”Œmaster-window-access”ah ]”h"]”Œmaster window access”ah$]”h&]”uh1hµhj(h²hh³hÊh´Kgubeh}”(h]”Œmaster-windows”ah ]”h"]”Œmaster windows”ah$]”h&]”uh1hµhh·h²hh³hÊh´KUubh¶)�”}”(hhh]”(h»)�”}”(hŒ Slave windows”h]”hŒ Slave windows”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj}h²hh³hÊh´KrubhÝ)�”}”(hŒþSlave windows provide devices on the VME bus access into mapped portions of the local memory. The number of windows available and the access modes that can be used is dependent on the underlying chipset. A window must be configured before it can be used.”h]”hŒþSlave windows provide devices on the VME bus access into mapped portions of the local memory. The number of windows available and the access modes that can be used is dependent on the underlying chipset. A window must be configured before it can be used.”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kthj}h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒSlave window configuration”h]”hŒSlave window configuration”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjœh²hh³hÊh´K{ubhÝ)�”}”(hŒ—Once a slave window has been assigned :c:func:`vme_slave_set` can be used to configure it and :c:func:`vme_slave_get` to retrieve the current settings.”h]”(hŒ&Once a slave window has been assigned ”…”�”}”(hj­h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_slave_set`”h]”hë)�”}”(hj·h]”hŒvme_slave_set()”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjµubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_slave_set”uh1hh³hÊh´K}hj­ubhŒ! can be used to configure it and ”…”�”}”(hj­h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_slave_get`”h]”hë)�”}”(hjÚh]”hŒvme_slave_get()”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjØubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_slave_get”uh1hh³hÊh´K}hj­ubhŒ" to retrieve the current settings.”…”�”}”(hj­h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K}hjœh²hubhÝ)�”}”(hŒÒThe address spaces, transfer widths and cycle types are the same as described under resource management, however some of the options are mutually exclusive. For example, only one address space may be specified.”h]”hŒÒThe address spaces, transfer widths and cycle types are the same as described under resource management, however some of the options are mutually exclusive. For example, only one address space may be specified.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K€hjœh²hubeh}”(h]”Œslave-window-configuration”ah ]”h"]”Œslave window configuration”ah$]”h&]”uh1hµhj}h²hh³hÊh´K{ubh¶)�”}”(hhh]”(h»)�”}”(hŒSlave window buffer allocation”h]”hŒSlave window buffer allocation”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´K†ubhÝ)�”}”(hXtFunctions are provided to allow the user to allocate (:c:func:`vme_alloc_consistent`) and free (:c:func:`vme_free_consistent`) contiguous buffers which will be accessible by the VME bridge. These functions do not have to be used, other methods can be used to allocate a buffer, though care must be taken to ensure that they are contiguous and accessible by the VME bridge.”h]”(hŒ6Functions are provided to allow the user to allocate (”…”�”}”(hj(h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_alloc_consistent`”h]”hë)�”}”(hj2h]”hŒvme_alloc_consistent()”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj0ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_alloc_consistent”uh1hh³hÊh´Kˆhj(ubhŒ ) and free (”…”�”}”(hj(h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_free_consistent`”h]”hë)�”}”(hjUh]”hŒvme_free_consistent()”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjSubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_free_consistent”uh1hh³hÊh´Kˆhj(ubhŒ÷) contiguous buffers which will be accessible by the VME bridge. These functions do not have to be used, other methods can be used to allocate a buffer, though care must be taken to ensure that they are contiguous and accessible by the VME bridge.”…”�”}”(hj(h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kˆhjh²hubeh}”(h]”Œslave-window-buffer-allocation”ah ]”h"]”Œslave window buffer allocation”ah$]”h&]”uh1hµhj}h²hh³hÊh´K†ubh¶)�”}”(hhh]”(h»)�”}”(hŒSlave window access”h]”hŒSlave window access”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj„h²hh³hÊh´K‘ubhÝ)�”}”(hŒjSlave windows map local memory onto the VME bus, the standard methods for accessing memory should be used.”h]”hŒjSlave windows map local memory onto the VME bus, the standard methods for accessing memory should be used.”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K“hj„h²hubeh}”(h]”Œslave-window-access”ah ]”h"]”Œslave window access”ah$]”h&]”uh1hµhj}h²hh³hÊh´K‘ubeh}”(h]”Œ slave-windows”ah ]”h"]”Œ slave windows”ah$]”h&]”uh1hµhh·h²hh³hÊh´Krubh¶)�”}”(hhh]”(h»)�”}”(hŒ DMA channels”h]”hŒ DMA channels”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj³h²hh³hÊh´K˜ubhÝ)�”}”(hXThe VME DMA transfer provides the ability to run link-list DMA transfers. The API introduces the concept of DMA lists. Each DMA list is a link-list which can be passed to a DMA controller. Multiple lists can be created, extended, executed, reused and destroyed.”h]”hXThe VME DMA transfer provides the ability to run link-list DMA transfers. The API introduces the concept of DMA lists. Each DMA list is a link-list which can be passed to a DMA controller. Multiple lists can be created, extended, executed, reused and destroyed.”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kšhj³h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒList Management”h]”hŒList Management”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÒh²hh³hÊh´K¡ubhÝ)�”}”(hŒèThe function :c:func:`vme_new_dma_list` is provided to create and :c:func:`vme_dma_list_free` to destroy DMA lists. Execution of a list will not automatically destroy the list, thus enabling a list to be reused for repetitive tasks.”h]”(hŒ The function ”…”�”}”(hjãh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_new_dma_list`”h]”hë)�”}”(hjíh]”hŒvme_new_dma_list()”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjëubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_new_dma_list”uh1hh³hÊh´K£hjãubhŒ is provided to create and ”…”�”}”(hjãh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_list_free`”h]”hë)�”}”(hjh]”hŒvme_dma_list_free()”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_list_free”uh1hh³hÊh´K£hjãubhŒ‹ to destroy DMA lists. Execution of a list will not automatically destroy the list, thus enabling a list to be reused for repetitive tasks.”…”�”}”(hjãh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K£hjÒh²hubeh}”(h]”Œlist-management”ah ]”h"]”Œlist management”ah$]”h&]”uh1hµhj³h²hh³hÊh´K¡ubh¶)�”}”(hhh]”(h»)�”}”(hŒList Population”h]”hŒList Population”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj?h²hh³hÊh´KªubhÝ)�”}”(hŒÅAn item can be added to a list using :c:func:`vme_dma_list_add` (the source and destination attributes need to be created before calling this function, this is covered under "Transfer Attributes").”h]”(hŒ%An item can be added to a list using ”…”�”}”(hjPh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_list_add`”h]”hë)�”}”(hjZh]”hŒvme_dma_list_add()”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjXubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_list_add”uh1hh³hÊh´K¬hjPubhŒŠ (the source and destination attributes need to be created before calling this function, this is covered under “Transfer Attributesâ€�).”…”�”}”(hjPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K¬hj?h²hubhŒnote”“”)�”}”(hXuThe detailed attributes of the transfers source and destination are not checked until an entry is added to a DMA list, the request for a DMA channel purely checks the directions in which the controller is expected to transfer data. As a result it is possible for this call to return an error, for example if the source or destination is in an unsupported VME address space.”h]”hÝ)�”}”(hXuThe detailed attributes of the transfers source and destination are not checked until an entry is added to a DMA list, the request for a DMA channel purely checks the directions in which the controller is expected to transfer data. As a result it is possible for this call to return an error, for example if the source or destination is in an unsupported VME address space.”h]”hXuThe detailed attributes of the transfers source and destination are not checked until an entry is added to a DMA list, the request for a DMA channel purely checks the directions in which the controller is expected to transfer data. As a result it is possible for this call to return an error, for example if the source or destination is in an unsupported VME address space.”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K²hjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj?h²hh³hÊh´Nubeh}”(h]”Œlist-population”ah ]”h"]”Œlist population”ah$]”h&]”uh1hµhj³h²hh³hÊh´Kªubh¶)�”}”(hhh]”(h»)�”}”(hŒTransfer Attributes”h]”hŒTransfer Attributes”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj£h²hh³hÊh´KºubhÝ)�”}”(hX+The attributes for the source and destination are handled separately from adding an item to a list. This is due to the diverse attributes required for each type of source and destination. There are functions to create attributes for PCI, VME and pattern sources and destinations (where appropriate):”h]”hX+The attributes for the source and destination are handled separately from adding an item to a list. This is due to the diverse attributes required for each type of source and destination. There are functions to create attributes for PCI, VME and pattern sources and destinations (where appropriate):”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K¼hj£h²hubhŒ block_quote”“”)�”}”(hŒ°- PCI source or destination: :c:func:`vme_dma_pci_attribute` - VME source or destination: :c:func:`vme_dma_vme_attribute` - Pattern source: :c:func:`vme_dma_pattern_attribute` ”h]”hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ:PCI source or destination: :c:func:`vme_dma_pci_attribute`”h]”hÝ)�”}”(hjÑh]”(hŒPCI source or destination: ”…”�”}”(hjÓh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_pci_attribute`”h]”hë)�”}”(hjÜh]”hŒvme_dma_pci_attribute()”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjÚubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_pci_attribute”uh1hh³hÊh´KÁhjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÁhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jÍhjÊubjÎ)�”}”(hŒ:VME source or destination: :c:func:`vme_dma_vme_attribute`”h]”hÝ)�”}”(hjh]”(hŒVME source or destination: ”…”�”}”(hj h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_vme_attribute`”h]”hë)�”}”(hjh]”hŒvme_dma_vme_attribute()”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_vme_attribute”uh1hh³hÊh´KÂhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÂhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÍhjÊubjÎ)�”}”(hŒ4Pattern source: :c:func:`vme_dma_pattern_attribute` ”h]”hÝ)�”}”(hŒ3Pattern source: :c:func:`vme_dma_pattern_attribute`”h]”(hŒPattern source: ”…”�”}”(hj?h²hh³Nh´Nubh)�”}”(hŒ#:c:func:`vme_dma_pattern_attribute`”h]”hë)�”}”(hjIh]”hŒvme_dma_pattern_attribute()”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjGubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_pattern_attribute”uh1hh³hÊh´KÃhj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÃhj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÍhjÊubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jÈh³hÊh´KÁhjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jÂh³hÊh´KÁhj£h²hubhÝ)�”}”(hŒRThe function :c:func:`vme_dma_free_attribute` should be used to free an attribute.”h]”(hŒ The function ”…”�”}”(hj€h²hh³Nh´Nubh)�”}”(hŒ :c:func:`vme_dma_free_attribute`”h]”hë)�”}”(hjŠh]”hŒvme_dma_free_attribute()”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjˆubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_free_attribute”uh1hh³hÊh´KÅhj€ubhŒ% should be used to free an attribute.”…”�”}”(hj€h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÅhj£h²hubeh}”(h]”Œtransfer-attributes”ah ]”h"]”Œtransfer attributes”ah$]”h&]”uh1hµhj³h²hh³hÊh´Kºubh¶)�”}”(hhh]”(h»)�”}”(hŒList Execution”h]”hŒList Execution”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj¹h²hh³hÊh´KÊubhÝ)�”}”(hŒuThe function :c:func:`vme_dma_list_exec` queues a list for execution and will return once the list has been executed.”h]”(hŒ The function ”…”�”}”(hjÊh²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_dma_list_exec`”h]”hë)�”}”(hjÔh]”hŒvme_dma_list_exec()”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjÒubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_dma_list_exec”uh1hh³hÊh´KÌhjÊubhŒM queues a list for execution and will return once the list has been executed.”…”�”}”(hjÊh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÌhj¹h²hubeh}”(h]”Œlist-execution”ah ]”h"]”Œlist execution”ah$]”h&]”uh1hµhj³h²hh³hÊh´KÊubeh}”(h]”Œ dma-channels”ah ]”h"]”Œ dma channels”ah$]”h&]”uh1hµhh·h²hh³hÊh´K˜ubh¶)�”}”(hhh]”(h»)�”}”(hŒ Interrupts”h]”hŒ Interrupts”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´KÑubhÝ)�”}”(hŒ¿The VME API provides functions to attach and detach callbacks to specific VME level and status ID combinations and for the generation of VME interrupts with specific VME level and status IDs.”h]”hŒ¿The VME API provides functions to attach and detach callbacks to specific VME level and status ID combinations and for the generation of VME interrupts with specific VME level and status IDs.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÓhj h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒAttaching Interrupt Handlers”h]”hŒAttaching Interrupt Handlers”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj*h²hh³hÊh´KÙubhÝ)�”}”(hXæThe function :c:func:`vme_irq_request` can be used to attach and :c:func:`vme_irq_free` to free a specific VME level and status ID combination. Any given combination can only be assigned a single callback function. A void pointer parameter is provided, the value of which is passed to the callback function, the use of this pointer is user undefined. The callback parameters are as follows. Care must be taken in writing a callback function, callback functions run in interrupt context:”h]”(hŒ The function ”…”�”}”(hj;h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_irq_request`”h]”hë)�”}”(hjEh]”hŒvme_irq_request()”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjCubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_irq_request”uh1hh³hÊh´KÛhj;ubhŒ can be used to attach and ”…”�”}”(hj;h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_irq_free`”h]”hë)�”}”(hjhh]”hŒvme_irq_free()”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjfubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_irq_free”uh1hh³hÊh´KÛhj;ubhX� to free a specific VME level and status ID combination. Any given combination can only be assigned a single callback function. A void pointer parameter is provided, the value of which is passed to the callback function, the use of this pointer is user undefined. The callback parameters are as follows. Care must be taken in writing a callback function, callback functions run in interrupt context:”…”�”}”(hj;h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KÛhj*h²hubj†)�”}”(hŒ1void callback(int level, int statid, void *priv);”h]”hŒ1void callback(int level, int statid, void *priv);”…”�”}”hj�sbah}”(h]”h ]”h"]”h$]”h&]”j•j–j—‰j˜h÷j™}”uh1j…h³hÊh´Kãhj*h²hubeh}”(h]”Œattaching-interrupt-handlers”ah ]”h"]”Œattaching interrupt handlers”ah$]”h&]”uh1hµhj h²hh³hÊh´KÙubh¶)�”}”(hhh]”(h»)�”}”(hŒInterrupt Generation”h]”hŒInterrupt Generation”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj¦h²hh³hÊh´KéubhÝ)�”}”(hŒwThe function :c:func:`vme_irq_generate` can be used to generate a VME interrupt at a given VME level and VME status ID.”h]”(hŒ The function ”…”�”}”(hj·h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_irq_generate`”h]”hë)�”}”(hjÁh]”hŒvme_irq_generate()”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj¿ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_irq_generate”uh1hh³hÊh´Këhj·ubhŒP can be used to generate a VME interrupt at a given VME level and VME status ID.”…”�”}”(hj·h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Këhj¦h²hubeh}”(h]”Œinterrupt-generation”ah ]”h"]”Œinterrupt generation”ah$]”h&]”uh1hµhj h²hh³hÊh´Kéubeh}”(h]”Œ interrupts”ah ]”h"]”Œ interrupts”ah$]”h&]”uh1hµhh·h²hh³hÊh´KÑubh¶)�”}”(hhh]”(h»)�”}”(hŒLocation monitors”h]”hŒLocation monitors”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjøh²hh³hÊh´KðubhÝ)�”}”(hŒSThe VME API provides the following functionality to configure the location monitor.”h]”hŒSThe VME API provides the following functionality to configure the location monitor.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kòhjøh²hubh¶)�”}”(hhh]”(h»)�”}”(hŒLocation Monitor Management”h]”hŒLocation Monitor Management”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´K÷ubhÝ)�”}”(hXaThe function :c:func:`vme_lm_request` is provided to request the use of a block of location monitors and :c:func:`vme_lm_free` to free them after they are no longer required. Each block may provide a number of location monitors, monitoring adjacent locations. The function :c:func:`vme_lm_count` can be used to determine how many locations are provided.”h]”(hŒ The function ”…”�”}”(hj( h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_request`”h]”hë)�”}”(hj2 h]”hŒvme_lm_request()”…”�”}”(hj4 h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj0 ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œvme_lm_request”uh1hh³hÊh´Kùhj( ubhŒD is provided to request the use of a block of location monitors and ”…”�”}”(hj( h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_free`”h]”hë)�”}”(hjU h]”hŒ vme_lm_free()”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjS ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_lm_free”uh1hh³hÊh´Kùhj( ubhŒ“ to free them after they are no longer required. Each block may provide a number of location monitors, monitoring adjacent locations. The function ”…”�”}”(hj( h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_count`”h]”hë)�”}”(hjx h]”hŒvme_lm_count()”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjv ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_lm_count”uh1hh³hÊh´Kùhj( ubhŒ: can be used to determine how many locations are provided.”…”�”}”(hj( h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kùhj h²hubeh}”(h]”Œlocation-monitor-management”ah ]”h"]”Œlocation monitor management”ah$]”h&]”uh1hµhjøh²hh³hÊh´K÷ubh¶)�”}”(hhh]”(h»)�”}”(hŒLocation Monitor Configuration”h]”hŒLocation Monitor Configuration”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj§ h²hh³hÊh´MubhÝ)�”}”(hŒëOnce a bank of location monitors has been allocated, the function :c:func:`vme_lm_set` is provided to configure the location and mode of the location monitor. The function :c:func:`vme_lm_get` can be used to retrieve existing settings.”h]”(hŒBOnce a bank of location monitors has been allocated, the function ”…”�”}”(hj¸ h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_set`”h]”hë)�”}”(hj h]”hŒ vme_lm_set()”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjÀ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_lm_set”uh1hh³hÊh´Mhj¸ ubhŒV is provided to configure the location and mode of the location monitor. The function ”…”�”}”(hj¸ h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_get`”h]”hë)�”}”(hjå h]”hŒ vme_lm_get()”…”�”}”(hjç h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjã ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_lm_get”uh1hh³hÊh´Mhj¸ ubhŒ+ can be used to retrieve existing settings.”…”�”}”(hj¸ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj§ h²hubeh}”(h]”Œlocation-monitor-configuration”ah ]”h"]”Œlocation monitor configuration”ah$]”h&]”uh1hµhjøh²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒLocation Monitor Use”h]”hŒLocation Monitor Use”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´M ubhÝ)�”}”(hXThe function :c:func:`vme_lm_attach` enables a callback to be attached and :c:func:`vme_lm_detach` allows on to be detached from each location monitor location. Each location monitor can monitor a number of adjacent locations. The callback function is declared as follows.”h]”(hŒ The function ”…”�”}”(hj% h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_attach`”h]”hë)�”}”(hj/ h]”hŒvme_lm_attach()”…”�”}”(hj1 h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj- ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_lm_attach”uh1hh³hÊh´M hj% ubhŒ' enables a callback to be attached and ”…”�”}”(hj% h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_lm_detach`”h]”hë)�”}”(hjR h]”hŒvme_lm_detach()”…”�”}”(hjT h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjP ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_lm_detach”uh1hh³hÊh´M hj% ubhŒ® allows on to be detached from each location monitor location. Each location monitor can monitor a number of adjacent locations. The callback function is declared as follows.”…”�”}”(hj% h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´M hj h²hubj†)�”}”(hŒvoid callback(void *data);”h]”hŒvoid callback(void *data);”…”�”}”hjy sbah}”(h]”h ]”h"]”h$]”h&]”j•j–j—‰j˜h÷j™}”uh1j…h³hÊh´Mhj h²hubeh}”(h]”Œlocation-monitor-use”ah ]”h"]”Œlocation monitor use”ah$]”h&]”uh1hµhjøh²hh³hÊh´M ubeh}”(h]”Œlocation-monitors”ah ]”h"]”Œlocation monitors”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kðubh¶)�”}”(hhh]”(h»)�”}”(hŒSlot Detection”h]”hŒSlot Detection”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj˜ h²hh³hÊh´MubhÝ)�”}”(hŒOThe function :c:func:`vme_slot_num` returns the slot ID of the provided bridge.”h]”(hŒ The function ”…”�”}”(hj© h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_slot_num`”h]”hë)�”}”(hj³ h]”hŒvme_slot_num()”…”�”}”(hjµ h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhj± ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_slot_num”uh1hh³hÊh´Mhj© ubhŒ, returns the slot ID of the provided bridge.”…”�”}”(hj© h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhj˜ h²hubeh}”(h]”Œslot-detection”ah ]”h"]”Œslot detection”ah$]”h&]”uh1hµhh·h²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒ Bus Detection”h]”hŒ Bus Detection”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjâ h²hh³hÊh´MubhÝ)�”}”(hŒMThe function :c:func:`vme_bus_num` returns the bus ID of the provided bridge.”h]”(hŒ The function ”…”�”}”(hjó h²hh³Nh´Nubh)�”}”(hŒ:c:func:`vme_bus_num`”h]”hë)�”}”(hjý h]”hŒ vme_bus_num()”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”(höh÷Œc-func”eh"]”h$]”h&]”uh1hêhjû ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”h÷Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰j Œ vme_bus_num”uh1hh³hÊh´Mhjó ubhŒ+ returns the bus ID of the provided bridge.”…”�”}”(hjó h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Mhjâ h²hubeh}”(h]”Œ bus-detection”ah ]”h"]”Œ bus detection”ah$]”h&]”uh1hµhh·h²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒVME API”h]”hŒVME API”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj, h²hh³hÊh´M#ubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œvme_dev (C struct)”Œ c.vme_dev”hNt”auh1j= hj, h²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒvme_dev”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct vme_dev”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j_ hj[ h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jq hj[ h²hh³jp h´KubhŒ desc_name”“”)�”}”(hŒvme_dev”h]”hŒ desc_sig_name”“”)�”}”(hjW h]”hŒvme_dev”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jˆ hj„ ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”j•j–uh1j‚ hj[ h²hh³jp h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j•j–Œ add_permalink”ˆuh1jY Œsphinx_line_type”Œ declarator”hjU h²hh³jp h´Kubah}”(h]”jL ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jS h³jp h´KhjP h²hubhŒ desc_content”“”)�”}”(hhh]”hÝ)�”}”(hŒ#Structure representing a VME device”h]”hŒ#Structure representing a VME device”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kahj¶ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjP h²hh³jp h´Kubeh}”(h]”h ]”(h÷Œstruct”eh"]”h$]”h&]”Œdomain”h÷Œobjtype”jÑ Œdesctype”jÑ Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jN h²hhj, h³Nh´NubhŒ container”“”)�”}”(hX **Definition**:: struct vme_dev { int num; struct vme_bridge *bridge; struct device dev; struct list_head drv_list; struct list_head bridge_list; }; **Members** ``num`` The device number ``bridge`` Pointer to the bridge device this device is on ``dev`` Internal device structure ``drv_list`` List of devices (per driver) ``bridge_list`` List of devices (per bridge)”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KehjÝ ubj†)�”}”(hŒ—struct vme_dev { int num; struct vme_bridge *bridge; struct device dev; struct list_head drv_list; struct list_head bridge_list; };”h]”hŒ—struct vme_dev { int num; struct vme_bridge *bridge; struct device dev; struct list_head drv_list; struct list_head bridge_list; };”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1j…h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KghjÝ 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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KohjÝ ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ``num`` The device number ”h]”(hŒterm”“”)�”}”(hŒ``num``”h]”hë)�”}”(hj6 h]”hŒnum”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj4 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kchj. ubhŒ definition”“”)�”}”(hhh]”hÝ)�”}”(hŒThe device number”h]”hŒThe device number”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jK h´KchjN ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj. ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jK h´Kchj) ubj- )�”}”(hŒ:``bridge`` Pointer to the bridge device this device is on ”h]”(j3 )�”}”(hŒ ``bridge``”h]”hë)�”}”(hjq h]”hŒbridge”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjo ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kdhjk ubjM )�”}”(hhh]”hÝ)�”}”(hŒ.Pointer to the bridge device this device is on”h]”hŒ.Pointer to the bridge device this device is on”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j† h´Kdhj‡ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjk ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j† h´Kdhj) ubj- )�”}”(hŒ"``dev`` Internal device structure ”h]”(j3 )�”}”(hŒ``dev``”h]”hë)�”}”(hjª h]”hŒdev”…”�”}”(hj¬ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj¨ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kehj¤ ubjM )�”}”(hhh]”hÝ)�”}”(hŒInternal device structure”h]”hŒInternal device structure”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j¿ h´KehjÀ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj¤ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j¿ h´Kehj) ubj- )�”}”(hŒ*``drv_list`` List of devices (per driver) ”h]”(j3 )�”}”(hŒ ``drv_list``”h]”hë)�”}”(hjã h]”hŒdrv_list”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjá ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KfhjÝ ubjM )�”}”(hhh]”hÝ)�”}”(hŒList of devices (per driver)”h]”hŒList of devices (per driver)”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jø h´Kfhjù ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÝ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jø h´Kfhj) ubj- )�”}”(hŒ,``bridge_list`` List of devices (per bridge)”h]”(j3 )�”}”(hŒ``bridge_list``”h]”hë)�”}”(hj h]”hŒ bridge_list”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kfhj ubjM )�”}”(hhh]”hÝ)�”}”(hŒList of devices (per bridge)”h]”hŒList of devices (per bridge)”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kghj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j1 h´Kfhj) ubeh}”(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 Œvme_driver (C struct)”Œ c.vme_driver”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ vme_driver”h]”jZ )�”}”(hŒstruct vme_driver”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjr h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kmubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjr h²hh³jƒ h´Kmubjƒ )�”}”(hŒ vme_driver”h]”j‰ )�”}”(hjp h]”hŒ vme_driver”…”�”}”(hj– h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj’ ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjr h²hh³jƒ h´Kmubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjn h²hh³jƒ h´Kmubah}”(h]”ji ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jƒ h´Kmhjk h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ#Structure representing a VME driver”h]”hŒ#Structure representing a VME driver”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kqhjµ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjk h²hh³jƒ h´Kmubeh}”(h]”h ]”(h÷Œstruct”eh"]”h$]”h&]”jÕ h÷jÖ jÐ j× jÐ jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXË**Definition**:: struct vme_driver { const char *name; int (*match)(struct vme_dev *vdev); int (*probe)(struct vme_dev *vdev); void (*remove)(struct vme_dev *vdev); struct device_driver driver; struct list_head devices; }; **Members** ``name`` Driver name, should be unique among VME drivers and usually the same as the module name. ``match`` Callback used to determine whether probe should be run. ``probe`` Callback for device binding, called when new device is detected. ``remove`` Callback, called on device removal. ``driver`` Underlying generic device driver structure. ``devices`` List of VME devices (struct vme_dev) associated with this driver.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KuhjÔ ubj†)�”}”(hŒåstruct vme_driver { const char *name; int (*match)(struct vme_dev *vdev); int (*probe)(struct vme_dev *vdev); void (*remove)(struct vme_dev *vdev); struct device_driver driver; struct list_head devices; };”h]”hŒåstruct vme_driver { const char *name; int (*match)(struct vme_dev *vdev); int (*probe)(struct vme_dev *vdev); void (*remove)(struct vme_dev *vdev); struct device_driver driver; struct list_head devices; };”…”�”}”hjõ sbah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1j…h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KwhjÔ 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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´K€hjÔ ubj( )�”}”(hhh]”(j- )�”}”(hŒb``name`` Driver name, should be unique among VME drivers and usually the same as the module name. ”h]”(j3 )�”}”(hŒ``name``”h]”hë)�”}”(hj%h]”hŒname”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KthjubjM )�”}”(hhh]”hÝ)�”}”(hŒXDriver name, should be unique among VME drivers and usually the same as the module name.”h]”hŒXDriver name, should be unique among VME drivers and usually the same as the module name.”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kshj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j:h´Kthjubj- )�”}”(hŒB``match`` Callback used to determine whether probe should be run. ”h]”(j3 )�”}”(hŒ ``match``”h]”hë)�”}”(hj_h]”hŒmatch”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KuhjYubjM )�”}”(hhh]”hÝ)�”}”(hŒ7Callback used to determine whether probe should be run.”h]”hŒ7Callback used to determine whether probe should be run.”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jth´Kuhjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jth´Kuhjubj- )�”}”(hŒK``probe`` Callback for device binding, called when new device is detected. ”h]”(j3 )�”}”(hŒ ``probe``”h]”hë)�”}”(hj˜h]”hŒprobe”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kvhj’ubjM )�”}”(hhh]”hÝ)�”}”(hŒ@Callback for device binding, called when new device is detected.”h]”hŒ@Callback for device binding, called when new device is detected.”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j­h´Kvhj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j­h´Kvhjubj- )�”}”(hŒ/``remove`` Callback, called on device removal. ”h]”(j3 )�”}”(hŒ ``remove``”h]”hë)�”}”(hjÑh]”hŒremove”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KwhjËubjM )�”}”(hhh]”hÝ)�”}”(hŒ#Callback, called on device removal.”h]”hŒ#Callback, called on device removal.”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jæh´Kwhjçubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjËubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jæh´Kwhjubj- )�”}”(hŒ7``driver`` Underlying generic device driver structure. ”h]”(j3 )�”}”(hŒ ``driver``”h]”hë)�”}”(hj h]”hŒdriver”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KxhjubjM )�”}”(hhh]”hÝ)�”}”(hŒ+Underlying generic device driver structure.”h]”hŒ+Underlying generic device driver structure.”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jh´Kxhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jh´Kxhjubj- )�”}”(hŒM``devices`` List of VME devices (struct vme_dev) associated with this driver.”h]”(j3 )�”}”(hŒ ``devices``”h]”hë)�”}”(hjCh]”hŒdevices”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´Kxhj=ubjM )�”}”(hhh]”hÝ)�”}”(hŒAList of VME devices (struct vme_dev) associated with this driver.”h]”hŒAList of VME devices (struct vme_dev) associated with this driver.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:293: ./drivers/staging/vme_user/vme.h”h´KyhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jXh´Kxhjubeh}”(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 Œ!vme_alloc_consistent (C function)”Œc.vme_alloc_consistent”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒYvoid * vme_alloc_consistent (struct vme_resource *resource, size_t size, dma_addr_t *dma)”h]”jZ )�”}”(hŒWvoid *vme_alloc_consistent(struct vme_resource *resource, size_t size, dma_addr_t *dma)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j�hj™h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KFubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj™h²hh³j®h´KFubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j½hj™h²hh³j®h´KFubjƒ )�”}”(hŒvme_alloc_consistent”h]”j‰ )�”}”(hŒvme_alloc_consistent”h]”hŒvme_alloc_consistent”…”�”}”(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´KFubhŒdesc_parameterlist”“”)�”}”(hŒ=(struct vme_resource *resource, size_t size, dma_addr_t *dma)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjîubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjîubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”Œ identifier”Œ reftarget”jŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”j+Œ ASTIdentifier”“”)�”}”j&jÔsbŒc.vme_alloc_consistent”†”asbuh1hhjîubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjîubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjîubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjîubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjèubjí)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjlubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jqŒmodname”NŒ classname”Nj*j-)�”}”j0]”j4Œc.vme_alloc_consistent”†”asbuh1hhjhubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjhubj‰ )�”}”(hŒsize”h]”hŒsize”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjèubjí)�”}”(hŒdma_addr_t *dma”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj´ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j¹Œmodname”NŒ classname”Nj*j-)�”}”j0]”j4Œc.vme_alloc_consistent”†”asbuh1hhj°ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj°ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj°ubj‰ )�”}”(hŒdma”h]”hŒdma”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj°ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjèubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj™h²hh³j®h´KFubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj•h²hh³j®h´KFubah}”(h]”j�ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j®h´KFhj’h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒAllocate contiguous memory.”h]”hŒAllocate contiguous memory.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KFhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj’h²hh³j®h´KFubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j2j× j2jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX¡**Parameters** ``struct vme_resource *resource`` Pointer to VME resource. ``size_t size`` Size of allocation required. ``dma_addr_t *dma`` Pointer to variable to store physical address of allocation. **Description** Allocate a contiguous block of memory for use by the driver. This is used to create the buffers for the slave windows. **Return** Virtual address of allocation on success, NULL on failure.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KJhj6ubj( )�”}”(hhh]”(j- )�”}”(hŒ;``struct vme_resource *resource`` Pointer to VME resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj[h]”hŒstruct vme_resource *resource”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KGhjUubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME resource.”h]”hŒPointer to VME resource.”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jph´KGhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jph´KGhjRubj- )�”}”(hŒ-``size_t size`` Size of allocation required. ”h]”(j3 )�”}”(hŒ``size_t size``”h]”hë)�”}”(hj”h]”hŒ size_t size”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KHhjŽubjM )�”}”(hhh]”hÝ)�”}”(hŒSize of allocation required.”h]”hŒSize of allocation required.”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j©h´KHhjªubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j©h´KHhjRubj- )�”}”(hŒQ``dma_addr_t *dma`` Pointer to variable to store physical address of allocation. ”• h]”(j3 )�”}”(hŒ``dma_addr_t *dma``”h]”hë)�”}”(hjÍh]”hŒdma_addr_t *dma”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KIhjÇubjM )�”}”(hhh]”hÝ)�”}”(hŒ )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ vme_free_consistent (C function)”Œc.vme_free_consistent”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒbvoid vme_free_consistent (struct vme_resource *resource, size_t size, void *vaddr, dma_addr_t dma)”h]”jZ )�”}”(hŒavoid vme_free_consistent(struct vme_resource *resource, size_t size, void *vaddr, dma_addr_t dma)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjph²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kaubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjph²hh³j‚h´Kaubjƒ )�”}”(hŒvme_free_consistent”h]”j‰ )�”}”(hŒvme_free_consistent”h]”hŒvme_free_consistent”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj‘ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjph²hh³j‚h´Kaubjç)�”}”(hŒI(struct vme_resource *resource, size_t size, void *vaddr, dma_addr_t dma)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj­ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj­ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÌubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÑŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j—sbŒc.vme_free_consistent”†”asbuh1hhj­ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj­ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj­ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj­ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj©ubjí)�”}”(hŒ size_t size”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j(Œmodname”NŒ classname”Nj*j-)�”}”j0]”jëŒc.vme_free_consistent”†”asbuh1hhjubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjubj‰ )�”}”(hŒsize”h]”hŒsize”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj©ubjí)�”}”(hŒ void *vaddr”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjgubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjgubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjgubj‰ )�”}”(hŒvaddr”h]”hŒvaddr”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj©ubjí)�”}”(hŒdma_addr_t dma”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj­ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j²Œmodname”NŒ classname”Nj*j-)�”}”j0]”jëŒc.vme_free_consistent”†”asbuh1hhj©ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj©ubj‰ )�”}”(hŒdma”h]”hŒdma”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj©ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjph²hh³j‚h´Kaubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjlh²hh³j‚h´Kaubah}”(h]”jgah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j‚h´Kahjih²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ!Free previously allocated memory.”h]”hŒ!Free previously allocated memory.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kahjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjih²hh³j‚h´Kaubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jj× jjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX+**Parameters** ``struct vme_resource *resource`` Pointer to VME resource. ``size_t size`` Size of allocation to free. ``void *vaddr`` Virtual address of allocation. ``dma_addr_t dma`` Physical address of allocation. **Description** Free previously allocated block of contiguous memory.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kehj"ubj( )�”}”(hhh]”(j- )�”}”(hŒ;``struct vme_resource *resource`` Pointer to VME resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjGh]”hŒstruct vme_resource *resource”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KbhjAubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME resource.”h]”hŒPointer to VME resource.”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j\h´Kbhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j\h´Kbhj>ubj- )�”}”(hŒ,``size_t size`` Size of allocation to free. ”h]”(j3 )�”}”(hŒ``size_t size``”h]”hë)�”}”(hj€h]”hŒ size_t size”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KchjzubjM )�”}”(hhh]”hÝ)�”}”(hŒSize of allocation to free.”h]”hŒSize of allocation to free.”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j•h´Kchj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j•h´Kchj>ubj- )�”}”(hŒ/``void *vaddr`` Virtual address of allocation. ”h]”(j3 )�”}”(hŒ``void *vaddr``”h]”hë)�”}”(hj¹h]”hŒ void *vaddr”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kdhj³ubjM )�”}”(hhh]”hÝ)�”}”(hŒVirtual address of allocation.”h]”hŒVirtual address of allocation.”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jÎh´KdhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jÎh´Kdhj>ubj- )�”}”(hŒ3``dma_addr_t dma`` Physical address of allocation. ”h]”(j3 )�”}”(hŒ``dma_addr_t dma``”h]”hë)�”}”(hjòh]”hŒdma_addr_t dma”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjðubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KehjìubjM )�”}”(hhh]”hÝ)�”}”(hŒPhysical address of allocation.”h]”hŒPhysical address of allocation.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jh´Kehjubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jh´Kehj>ubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kghj"ubhÝ)�”}”(hŒ5Free previously allocated block of contiguous memory.”h]”hŒ5Free previously allocated block of contiguous memory.”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kfhj"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_get_size (C function)”Œc.vme_get_size”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ3size_t vme_get_size (struct vme_resource *resource)”h]”jZ )�”}”(hŒ2size_t vme_get_size(struct vme_resource *resource)”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjrubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jwŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œ vme_get_size”sbŒc.vme_get_size”†”asbuh1hhjnh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kzubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjnh²hh³j–h´Kzubjƒ )�”}”(hŒ vme_get_size”h]”j‰ )�”}”(hj“h]”hŒ vme_get_size”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¥ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjnh²hh³j–h´Kzubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjÀubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÀubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jäŒmodname”NŒ classname”Nj*j-)�”}”j0]”j‘Œc.vme_get_size”†”asbuh1hhjÀubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÀubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjÀubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¼ubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjnh²hh³j–h´Kzubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjjh²hh³j–h´Kzubah}”(h]”jeah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j–h´Kzhjgh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ.Helper function returning size of a VME window”h]”hŒ.Helper function returning size of a VME window”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KzhjBh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjgh²hh³j–h´Kzubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j]j× j]jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXc**Parameters** ``struct vme_resource *resource`` Pointer to VME slave or master resource. **Description** Determine the size of the VME window provided. This is a helper function, wrappering the call to vme_master_get or vme_slave_get depending on the type of window resource handed to it. **Return** Size of the window on success, zero on failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjgh]”hŒ Parameters”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´K~hjaubj( )�”}”(hhh]”j- )�”}”(hŒK``struct vme_resource *resource`` Pointer to VME slave or master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj†h]”hŒstruct vme_resource *resource”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´K{hj€ubjM )�”}”(hhh]”hÝ)�”}”(hŒ(Pointer to VME slave or master resource.”h]”hŒ(Pointer to VME slave or master resource.”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j›h´K{hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j›h´K{hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjaubhÝ)�”}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´K}hjaubhÝ)�”}”(hŒ·Determine the size of the VME window provided. This is a helper function, wrappering the call to vme_master_get or vme_slave_get depending on the type of window resource handed to it.”h]”hŒ·Determine the size of the VME window provided. This is a helper function, wrappering the call to vme_master_get or vme_slave_get depending on the type of window resource handed to it.”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´K|hjaubhÝ)�”}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´K€hjaubhÝ)�”}”(hŒ/Size of the window on success, zero on failure.”h]”hŒ/Size of the window on success, zero on failure.”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´K�hjaubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_slave_request (C function)”Œc.vme_slave_request”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒVstruct vme_resource * vme_slave_request (struct vme_dev *vdev, u32 address, u32 cycle)”h]”jZ )�”}”(hŒTstruct vme_resource *vme_slave_request(struct vme_dev *vdev, u32 address, u32 cycle)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj)h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kñubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj)h²hh³j:h´Kñubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjIubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jNŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_slave_request”sbŒc.vme_slave_request”†”asbuh1hhj)h²hh³j:h´Kñubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj)h²hh³j:h´Kñubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj)h²hh³j:h´Kñubjƒ )�”}”(hŒvme_slave_request”h]”j‰ )�”}”(hjjh]”hŒvme_slave_request”…”�”}”(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ñubjç)�”}”(hŒ.(struct vme_dev *vdev, u32 address, u32 cycle)”h]”(jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj£ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj£ubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÂubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÇŒmodname”NŒ classname”Nj*j-)�”}”j0]”jhŒc.vme_slave_request”†”asbuh1hhj£ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj£ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj£ubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjŸubjí)�”}”(hŒ u32 address”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jŒmodname”NŒ classname”Nj*j-)�”}”j0]”jhŒc.vme_slave_request”†”asbuh1hhjubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjubj‰ )�”}”(hŒaddress”h]”hŒaddress”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjŸubjí)�”}”(hŒ u32 cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jdŒmodname”NŒ classname”Nj*j-)�”}”j0]”jhŒc.vme_slave_request”†”asbuh1hhj[ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj[ubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjŸubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj)h²hh³j:h´Kñubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj%h²hh³j:h´Kñubah}”(h]”j ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j:h´Kñhj"h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ$Request a VME slave window resource.”h]”hŒ$Request a VME slave window resource.”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kñhjµh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj"h²hh³j:h´Kñubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÐj× jÐjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXš**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ``u32 address`` Required VME address space. ``u32 cycle`` Required VME data transfer cycle type. **Description** Request use of a VME window resource capable of being set for the requested address space and data transfer cycle. **Return** Pointer to VME resource on success, NULL on failure.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KõhjÔubj( )�”}”(hhh]”(j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hjùh]”hŒstruct vme_dev *vdev”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KòhjóubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jh´Kòhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jh´Kòhjðubj- )�”}”(hŒ,``u32 address`` Required VME address space. ”h]”(j3 )�”}”(hŒ``u32 address``”h]”hë)�”}”(hj2h]”hŒ u32 address”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kóhj,ubjM )�”}”(hhh]”hÝ)�”}”(hŒRequired VME address space.”h]”hŒRequired VME address space.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jGh´KóhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jGh´Kóhjðubj- )�”}”(hŒ5``u32 cycle`` Required VME data transfer cycle type. ”h]”(j3 )�”}”(hŒ ``u32 cycle``”h]”hë)�”}”(hjkh]”hŒ u32 cycle”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KôhjeubjM )�”}”(hhh]”hÝ)�”}”(hŒ&Required VME data transfer cycle type.”h]”hŒ&Required VME data transfer cycle type.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j€h´Kôhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j€h´Kôhjðubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KöhjÔubhÝ)�”}”(hŒrRequest use of a VME window resource capable of being set for the requested address space and data transfer cycle.”h]”hŒrRequest use of a VME window resource capable of being set for the requested address space and data transfer cycle.”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Kõ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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KøhjÔubhÝ)�”}”(hŒ4Pointer to VME resource on success, NULL on failure.”h]”hŒ4Pointer to VME resource on success, NULL on failure.”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´KùhjÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_slave_set (C function)”Œc.vme_slave_set”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ int vme_slave_set (struct vme_resource *resource, int enabled, unsigned long long vme_base, unsigned long long size, dma_addr_t buf_base, u32 aspace, u32 cycle)”h]”jZ )�”}”(hŒŸint vme_slave_set(struct vme_resource *resource, int enabled, unsigned long long vme_base, unsigned long long size, dma_addr_t buf_base, u32 aspace, u32 cycle)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M7ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjh²hh³j h´M7ubjƒ )�”}”(hŒ vme_slave_set”h]”j‰ )�”}”(hŒ vme_slave_set”h]”hŒ vme_slave_set”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj/ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjh²hh³j h´M7ubjç)�”}”(hŒŽ(struct vme_resource *resource, int enabled, unsigned long long vme_base, unsigned long long size, dma_addr_t buf_base, u32 aspace, u32 cycle)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjKubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjKubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”joŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j5sbŒc.vme_slave_set”†”asbuh1hhjKubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjKubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjKubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjKubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubjí)�”}”(hŒ int enabled”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj½ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj½ubj‰ )�”}”(hŒenabled”h]”hŒenabled”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubjí)�”}”(hŒunsigned long long vme_base”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjòubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjòubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjòubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjòubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjòubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjòubj‰ )�”}”(hŒvme_base”h]”hŒvme_base”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubjí)�”}”(hŒunsigned long long size”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj_ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj_ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj_ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj_ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj_ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj_ubj‰ )�”}”(hŒsize”h]”hŒsize”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubjí)�”}”(hŒdma_addr_t buf_base”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÐubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÕŒmodname”NŒ classname”Nj*j-)�”}”j0]”j‰Œc.vme_slave_set”†”asbuh1hhjÌubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÌubj‰ )�”}”(hŒbuf_base”h]”hŒbuf_base”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÌubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubjí)�”}”(hŒ u32 aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jŒmodname”NŒ classname”Nj*j-)�”}”j0]”j‰Œc.vme_slave_set”†”asbuh1hhjubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubjí)�”}”(hŒ u32 cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jeŒmodname”NŒ classname”Nj*j-)�”}”j0]”j‰Œc.vme_slave_set”†”asbuh1hhj\ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj\ubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjGubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjh²hh³j h´M7ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj h²hh³j h´M7ubah}”(h]”jah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j h´M7hjh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ#Set VME slave window configuration.”h]”hŒ#Set VME slave window configuration.”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M7hj¶h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjh²hh³j h´M7ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÑj× jÑjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXö**Parameters** ``struct vme_resource *resource`` Pointer to VME slave resource. ``int enabled`` State to which the window should be configured. ``unsigned long long vme_base`` Base address for the window. ``unsigned long long size`` Size of the VME window. ``dma_addr_t buf_base`` Based address of buffer used to provide VME slave window storage. ``u32 aspace`` VME address space for the VME window. ``u32 cycle`` VME data transfer cycle type for the VME window. **Description** Set configuration for provided VME slave window. **Return** Zero on success, -EINVAL if operation is not supported on this device, if an invalid resource has been provided or invalid attributes are provided. Hardware specific errors may also be returned.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M;hjÕubj( )�”}”(hhh]”(j- )�”}”(hŒA``struct vme_resource *resource`` Pointer to VME slave resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjúh]”hŒstruct vme_resource *resource”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M8hjôubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME slave resource.”h]”hŒPointer to VME slave resource.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jh´M8hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jh´M8hjñubj- )�”}”(hŒ@``int enabled`` State to which the window should be configured. ”h]”(j3 )�”}”(hŒ``int enabled``”h]”hë)�”}”(hj3h]”hŒ int enabled”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M9hj-ubjM )�”}”(hhh]”hÝ)�”}”(hŒ/State to which the window should be configured.”h]”hŒ/State to which the window should be configured.”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jHh´M9hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jHh´M9hjñubj- )�”}”(hŒ=``unsigned long long vme_base`` Base address for the window. ”h]”(j3 )�”}”(hŒ``unsigned long long vme_base``”h]”hë)�”}”(hjlh]”hŒunsigned long long vme_base”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M:hjfubjM )�”}”(hhh]”hÝ)�”}”(hŒBase address for the window.”h]”hŒBase address for the window.”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j�h´M:hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j�h´M:hjñubj- )�”}”(hŒ4``unsigned long long size`` Size of the VME window. ”h]”(j3 )�”}”(hŒ``unsigned long long size``”h]”hë)�”}”(hj¥h]”hŒunsigned long long size”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M;hjŸubjM )�”}”(hhh]”hÝ)�”}”(hŒSize of the VME window.”h]”hŒSize of the VME window.”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jºh´M;hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jºh´M;hjñubj- )�”}”(hŒZ``dma_addr_t buf_base`` Based address of buffer used to provide VME slave window storage. ”h]”(j3 )�”}”(hŒ``dma_addr_t buf_base``”h]”hë)�”}”(hjÞh]”hŒdma_addr_t buf_base”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M<hjØubjM )�”}”(hhh]”hÝ)�”}”(hŒABased address of buffer used to provide VME slave window storage.”h]”hŒABased address of buffer used to provide VME slave window storage.”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jóh´M<hjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjØubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jóh´M<hjñubj- )�”}”(hŒ5``u32 aspace`` VME address space for the VME window. ”h]”(j3 )�”}”(hŒ``u32 aspace``”h]”hë)�”}”(hjh]”hŒ u32 aspace”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M=hjubjM )�”}”(hhh]”hÝ)�”}”(hŒ%VME address space for the VME window.”h]”hŒ%VME address space for the VME window.”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j,h´M=hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j,h´M=hjñubj- )�”}”(hŒ?``u32 cycle`` VME data transfer cycle type for the VME window. ”h]”(j3 )�”}”(hŒ ``u32 cycle``”h]”hë)�”}”(hjPh]”hŒ u32 cycle”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M>hjJubjM )�”}”(hhh]”hÝ)�”}”(hŒ0VME data transfer cycle type for the VME window.”h]”hŒ0VME data transfer cycle type for the VME window.”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jeh´M>hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jeh´M>hjñubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M@hjÕubhÝ)�”}”(hŒ0Set configuration for provided VME slave window.”h]”hŒ0Set configuration for provided VME slave window.”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M?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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MAhjÕubhÝ)�”}”(hŒÂZero on success, -EINVAL if operation is not supported on this device, if an invalid resource has been provided or invalid attributes are provided. Hardware specific errors may also be returned.”h]”hŒÂZero on success, -EINVAL if operation is not supported on this device, if an invalid resource has been provided or invalid attributes are provided. Hardware specific errors may also be returned.”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MBhjÕubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_slave_get (C function)”Œc.vme_slave_get”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ¦int vme_slave_get (struct vme_resource *resource, int *enabled, unsigned long long *vme_base, unsigned long long *size, dma_addr_t *buf_base, u32 *aspace, u32 *cycle)”h]”jZ )�”}”(hŒ¥int vme_slave_get(struct vme_resource *resource, int *enabled, unsigned long long *vme_base, unsigned long long *size, dma_addr_t *buf_base, u32 *aspace, u32 *cycle)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjóh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mkubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjóh²hh³jh´Mkubjƒ )�”}”(hŒ vme_slave_get”h]”j‰ )�”}”(hŒ vme_slave_get”h]”hŒ vme_slave_get”…”�”}”(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´Mkubjç)�”}”(hŒ”(struct vme_resource *resource, int *enabled, unsigned long long *vme_base, unsigned long long *size, dma_addr_t *buf_base, u32 *aspace, u32 *cycle)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj0ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj0ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jTŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jsbŒc.vme_slave_get”†”asbuh1hhj0ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj0ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj0ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubjí)�”}”(hŒ int *enabled”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj¢ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¢ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj¢ubj‰ )�”}”(hŒenabled”h]”hŒenabled”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubjí)�”}”(hŒunsigned long long *vme_base”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjäubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjäubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjäubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjäubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjäubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjäubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjäubj‰ )�”}”(hŒvme_base”h]”hŒvme_base”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjäubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubjí)�”}”(hŒunsigned long long *size”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj^ ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj^ ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj^ ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj^ ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjš h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj^ ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj^ ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj¶ h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj^ ubj‰ )�”}”(hŒsize”h]”hŒsize”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj^ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubjí)�”}”(hŒdma_addr_t *buf_base”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÜ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”já Œmodname”NŒ classname”Nj*j-)�”}”j0]”jnŒc.vme_slave_get”†”asbuh1hhjØ ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjØ ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj !h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjØ ubj‰ )�”}”(hŒbuf_base”h]”hŒbuf_base”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjØ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubjí)�”}”(hŒ u32 *aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj4!h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj1!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j6!Œmodname”NŒ classname”Nj*j-)�”}”j0]”jnŒc.vme_slave_get”†”asbuh1hhj-!ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR!h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj-!ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj`!h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj-!ubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hjm!h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj-!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubjí)�”}”(hŒ u32 *cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj‰!h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj†!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j‹!Œmodname”NŒ classname”Nj*j-)�”}”j0]”jnŒc.vme_slave_get”†”asbuh1hhj‚!ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§!h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj‚!ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjµ!h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj‚!ubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjÂ!h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj‚!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj,ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjóh²hh³jh´Mkubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjïh²hh³jh´Mkubah}”(h]”jêah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jh´Mkhjìh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ(Retrieve VME slave window configuration.”h]”hŒ(Retrieve VME slave window configuration.”…”�”}”(hjì!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mkhjé!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjìh²hh³jh´Mkubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j"j× j"jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXæ**Parameters** ``struct vme_resource *resource`` Pointer to VME slave resource. ``int *enabled`` Pointer to variable for storing state. ``unsigned long long *vme_base`` Pointer to variable for storing window base address. ``unsigned long long *size`` Pointer to variable for storing window size. ``dma_addr_t *buf_base`` Pointer to variable for storing slave buffer base address. ``u32 *aspace`` Pointer to variable for storing VME address space. ``u32 *cycle`` Pointer to variable for storing VME data transfer cycle type. **Description** Return configuration for provided VME slave window. **Return** Zero on success, -EINVAL if operation is not supported on this device or if an invalid resource has been provided.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mohj"ubj( )�”}”(hhh]”(j- )�”}”(hŒA``struct vme_resource *resource`` Pointer to VME slave resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj-"h]”hŒstruct vme_resource *resource”…”�”}”(hj/"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj+"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mlhj'"ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME slave resource.”h]”hŒPointer to VME slave resource.”…”�”}”(hjF"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jB"h´MlhjC"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj'"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jB"h´Mlhj$"ubj- )�”}”(hŒ8``int *enabled`` Pointer to variable for storing state. ”h]”(j3 )�”}”(hŒ``int *enabled``”h]”hë)�”}”(hjf"h]”hŒ int *enabled”…”�”}”(hjh"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjd"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mmhj`"ubjM )�”}”(hhh]”hÝ)�”}”(hŒ&Pointer to variable for storing state.”h]”hŒ&Pointer to variable for storing state.”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j{"h´Mmhj|"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj`"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j{"h´Mmhj$"ubj- )�”}”(hŒV``unsigned long long *vme_base`` Pointer to variable for storing window base address. ”h]”(j3 )�”}”(hŒ ``unsigned long long *vme_base``”h]”hë)�”}”(hjŸ"h]”hŒunsigned long long *vme_base”…”�”}”(hj¡"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj�"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mnhj™"ubjM )�”}”(hhh]”hÝ)�”}”(hŒ4Pointer to variable for storing window base address.”h]”hŒ4Pointer to variable for storing window base address.”…”�”}”(hj¸"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j´"h´Mnhjµ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj™"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j´"h´Mnhj$"ubj- )�”}”(hŒJ``unsigned long long *size`` Pointer to variable for storing window size. ”h]”(j3 )�”}”(hŒ``unsigned long long *size``”h]”hë)�”}”(hjØ"h]”hŒunsigned long long *size”…”�”}”(hjÚ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÖ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MohjÒ"ubjM )�”}”(hhh]”hÝ)�”}”(hŒ,Pointer to variable for storing window size.”h]”hŒ,Pointer to variable for storing window size.”…”�”}”(hjñ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jí"h´Mohjî"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÒ"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jí"h´Mohj$"ubj- )�”}”(hŒT``dma_addr_t *buf_base`` Pointer to variable for storing slave buffer base address. ”h]”(j3 )�”}”(hŒ``dma_addr_t *buf_base``”h]”hë)�”}”(hj#h]”hŒdma_addr_t *buf_base”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mphj #ubjM )�”}”(hhh]”hÝ)�”}”(hŒ:Pointer to variable for storing slave buffer base address.”h]”hŒ:Pointer to variable for storing slave buffer base address.”…”�”}”(hj*#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j&#h´Mphj'#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj #ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j&#h´Mphj$"ubj- )�”}”(hŒC``u32 *aspace`` Pointer to variable for storing VME address space. ”h]”(j3 )�”}”(hŒ``u32 *aspace``”h]”hë)�”}”(hjJ#h]”hŒ u32 *aspace”…”�”}”(hjL#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjH#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MqhjD#ubjM )�”}”(hhh]”hÝ)�”}”(hŒ2Pointer to variable for storing VME address space.”h]”hŒ2Pointer to variable for storing VME address space.”…”�”}”(hjc#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j_#h´Mqhj`#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjD#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j_#h´Mqhj$"ubj- )�”}”(hŒM``u32 *cycle`` Pointer to variable for storing VME data transfer cycle type. ”h]”(j3 )�”}”(hŒ``u32 *cycle``”h]”hë)�”}”(hjƒ#h]”hŒ u32 *cycle”…”�”}”(hj…#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj�#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mrhj}#ubjM )�”}”(hhh]”hÝ)�”}”(hŒ=Pointer to variable for storing VME data transfer cycle type.”h]”hŒ=Pointer to variable for storing VME data transfer cycle type.”…”�”}”(hjœ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j˜#h´Mrhj™#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj}#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j˜#h´Mrhj$"ubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mthj"ubhÝ)�”}”(hŒ3Return configuration for provided VME slave window.”h]”hŒ3Return configuration for provided VME slave window.”…”�”}”(hjÔ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mshj"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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Muhj"ubhÝ)�”}”(hŒrZero on success, -EINVAL if operation is not supported on this device or if an invalid resource has been provided.”h]”hŒrZero on success, -EINVAL if operation is not supported on this device or if an invalid resource has been provided.”…”�”}”(hjû#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mvhj"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_slave_free (C function)”Œc.vme_slave_free”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ3void vme_slave_free (struct vme_resource *resource)”h]”jZ )�”}”(hŒ2void vme_slave_free(struct vme_resource *resource)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj*$h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj&$h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M’ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9$h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj&$h²hh³j8$h´M’ubjƒ )�”}”(hŒvme_slave_free”h]”j‰ )�”}”(hŒvme_slave_free”h]”hŒvme_slave_free”…”�”}”(hjK$h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjG$ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj&$h²hh³j8$h´M’ubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjg$h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjc$ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt$h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjc$ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj…$h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj‚$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j‡$Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jM$sbŒc.vme_slave_free”†”asbuh1hhjc$ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥$h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjc$ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj³$h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjc$ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjÀ$h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjc$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj_$ubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj&$h²hh³j8$h´M’ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj"$h²hh³j8$h´M’ubah}”(h]”j$ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j8$h´M’hj$h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒFree VME slave window”h]”hŒFree VME slave window”…”�”}”(hjê$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M’hjç$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj$h²hh³j8$h´M’ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j%j× j%jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hŒ¤**Parameters** ``struct vme_resource *resource`` Pointer to VME slave resource. **Description** Free the provided slave resource so that it may be reallocated.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M–hj%ubj( )�”}”(hhh]”j- )�”}”(hŒA``struct vme_resource *resource`` Pointer to VME slave resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj+%h]”hŒstruct vme_resource *resource”…”�”}”(hj-%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj)%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M“hj%%ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME slave resource.”h]”hŒPointer to VME slave resource.”…”�”}”(hjD%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j@%h´M“hjA%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj%%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j@%h´M“hj"%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hj%ubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjf%h]”hŒ Description”…”�”}”(hjh%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjd%ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M•hj%ubhÝ)�”}”(hŒ?Free the provided slave resource so that it may be reallocated.”h]”hŒ?Free the provided slave resource so that it may be reallocated.”…”�”}”(hj|%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.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 Œvme_master_request (C function)”Œc.vme_master_request”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒcstruct vme_resource * vme_master_request (struct vme_dev *vdev, u32 address, u32 cycle, u32 dwidth)”h]”jZ )�”}”(hŒastruct vme_resource *vme_master_request(struct vme_dev *vdev, u32 address, u32 cycle, u32 dwidth)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj«%h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj§%h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M²ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹%h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj§%h²hh³j¸%h´M²ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjÊ%h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÇ%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÌ%Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_master_request”sbŒc.vme_master_request”†”asbuh1hhj§%h²hh³j¸%h´M²ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë%h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj§%h²hh³j¸%h´M²ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjù%h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj§%h²hh³j¸%h´M²ubjƒ )�”}”(hŒvme_master_request”h]”j‰ )�”}”(hjè%h]”hŒvme_master_request”…”�”}”(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²ubjç)�”}”(hŒ:(struct vme_dev *vdev, u32 address, u32 cycle, u32 dwidth)”h]”(jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj%&h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj!&ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2&h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj!&ubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjC&h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj@&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jE&Œmodname”NŒ classname”Nj*j-)�”}”j0]”jæ%Œc.vme_master_request”†”asbuh1hhj!&ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hja&h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj!&ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjo&h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj!&ubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hj|&h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj!&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj&ubjí)�”}”(hŒ u32 address”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj˜&h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj•&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jš&Œmodname”NŒ classname”Nj*j-)�”}”j0]”jæ%Œc.vme_master_request”†”asbuh1hhj‘&ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶&h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj‘&ubj‰ )�”}”(hŒaddress”h]”hŒaddress”…”�”}”(hjÄ&h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj‘&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj&ubjí)�”}”(hŒ u32 cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjà&h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÝ&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jâ&Œmodname”NŒ classname”Nj*j-)�”}”j0]”jæ%Œc.vme_master_request”†”asbuh1hhjÙ&ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþ&h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÙ&ubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hj 'h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÙ&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj&ubjí)�”}”(hŒ u32 dwidth”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj('h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj%'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j*'Œmodname”NŒ classname”Nj*j-)�”}”j0]”jæ%Œc.vme_master_request”†”asbuh1hhj!'ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjF'h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj!'ubj‰ )�”}”(hŒdwidth”h]”hŒdwidth”…”�”}”(hjT'h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj!'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj&ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj§%h²hh³j¸%h´M²ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj£%h²hh³j¸%h´M²ubah}”(h]”jž%ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j¸%h´M²hj %h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ%Request a VME master window resource.”h]”hŒ%Request a VME master window resource.”…”�”}”(hj~'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M²hj{'h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj %h²hh³j¸%h´M²ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j–'j× j–'jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXÕ**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ``u32 address`` Required VME address space. ``u32 cycle`` Required VME data transfer cycle type. ``u32 dwidth`` Required VME data transfer width. **Description** Request use of a VME window resource capable of being set for the requested address space, data transfer cycle and width. **Return** Pointer to VME resource on success, NULL on failure.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¶hjš'ubj( )�”}”(hhh]”(j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hj¿'h]”hŒstruct vme_dev *vdev”…”�”}”(hjÁ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj½'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M³hj¹'ubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hjØ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jÔ'h´M³hjÕ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj¹'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jÔ'h´M³hj¶'ubj- )�”}”(hŒ,``u32 address`` Required VME address space. ”h]”(j3 )�”}”(hŒ``u32 address``”h]”hë)�”}”(hjø'h]”hŒ u32 address”…”�”}”(hjú'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjö'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M´hjò'ubjM )�”}”(hhh]”hÝ)�”}”(hŒRequired VME address space.”h]”hŒRequired VME address space.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j (h´M´hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjò'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j (h´M´hj¶'ubj- )�”}”(hŒ5``u32 cycle`` Required VME data transfer cycle type. ”h]”(j3 )�”}”(hŒ ``u32 cycle``”h]”hë)�”}”(hj1(h]”hŒ u32 cycle”…”�”•}”(hj3(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj/(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mµhj+(ubjM )�”}”(hhh]”hÝ)�”}”(hŒ&Required VME data transfer cycle type.”h]”hŒ&Required VME data transfer cycle type.”…”�”}”(hjJ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jF(h´MµhjG(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj+(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jF(h´Mµhj¶'ubj- )�”}”(hŒ1``u32 dwidth`` Required VME data transfer width. ”h]”(j3 )�”}”(hŒ``u32 dwidth``”h]”hë)�”}”(hjj(h]”hŒ u32 dwidth”…”�”}”(hjl(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjh(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¶hjd(ubjM )�”}”(hhh]”hÝ)�”}”(hŒ!Required VME data transfer width.”h]”hŒ!Required VME data transfer width.”…”�”}”(hjƒ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j(h´M¶hj€(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjd(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j(h´M¶hj¶'ubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¸hjš'ubhÝ)�”}”(hŒyRequest use of a VME window resource capable of being set for the requested address space, data transfer cycle and width.”h]”hŒyRequest use of a VME window resource capable of being set for the requested address space, data transfer cycle and width.”…”�”}”(hj»(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M·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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mºhjš'ubhÝ)�”}”(hŒ4Pointer to VME resource on success, NULL on failure.”h]”hŒ4Pointer to VME resource on success, NULL on failure.”…”�”}”(hjâ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.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 Œvme_master_set (C function)”Œc.vme_master_set”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ˜int vme_master_set (struct vme_resource *resource, int enabled, unsigned long long vme_base, unsigned long long size, u32 aspace, u32 cycle, u32 dwidth)”h]”jZ )�”}”(hŒ—int vme_master_set(struct vme_resource *resource, int enabled, unsigned long long vme_base, unsigned long long size, u32 aspace, u32 cycle, u32 dwidth)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj )h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Müubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj )h²hh³j)h´Müubjƒ )�”}”(hŒvme_master_set”h]”j‰ )�”}”(hŒvme_master_set”h]”hŒvme_master_set”…”�”}”(hj2)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üubjç)�”}”(hŒ…(struct vme_resource *resource, int enabled, unsigned long long vme_base, unsigned long long size, u32 aspace, u32 cycle, u32 dwidth)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjN)h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjJ)ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[)h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJ)ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjl)h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hji)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jn)Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j4)sbŒc.vme_master_set”†”asbuh1hhjJ)ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ)h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJ)ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjš)h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjJ)ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj§)h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjJ)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubjí)�”}”(hŒ int enabled”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjÀ)h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj¼)ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ)h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¼)ubj‰ )�”}”(hŒenabled”h]”hŒenabled”…”�”}”(hjÜ)h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¼)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubjí)�”}”(hŒunsigned long long vme_base”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjõ)h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjñ)ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjñ)ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjñ)ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjñ)ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj-*h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjñ)ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjñ)ubj‰ )�”}”(hŒvme_base”h]”hŒvme_base”…”�”}”(hjI*h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjñ)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubjí)�”}”(hŒunsigned long long size”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjb*h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj^*ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj^*ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj~*h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj^*ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj^*ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjš*h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj^*ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj^*ubj‰ )�”}”(hŒsize”h]”hŒsize”…”�”}”(hj¶*h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj^*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubjí)�”}”(hŒ u32 aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjÒ*h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÏ*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÔ*Œmodname”NŒ classname”Nj*j-)�”}”j0]”jˆ)Œc.vme_master_set”†”asbuh1hhjË*ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð*h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjË*ubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hjþ*h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjË*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubjí)�”}”(hŒ u32 cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j+Œmodname”NŒ classname”Nj*j-)�”}”j0]”jˆ)Œc.vme_master_set”†”asbuh1hhj+ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8+h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj+ubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjF+h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubjí)�”}”(hŒ u32 dwidth”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjb+h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj_+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jd+Œmodname”NŒ classname”Nj*j-)�”}”j0]”jˆ)Œc.vme_master_set”†”asbuh1hhj[+ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€+h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj[+ubj‰ )�”}”(hŒdwidth”h]”hŒdwidth”…”�”}”(hjŽ+h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj[+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjF)ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj )h²hh³j)h´Müubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj )h²hh³j)h´Müubah}”(h]”j)ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j)h´Mühj)h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ$Set VME master window configuration.”h]”hŒ$Set VME master window configuration.”…”�”}”(hj¸+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mühjµ+h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj)h²hh³j)h´Müubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÐ+j× jÐ+jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXÙ**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. ``int enabled`` State to which the window should be configured. ``unsigned long long vme_base`` Base address for the window. ``unsigned long long size`` Size of the VME window. ``u32 aspace`` VME address space for the VME window. ``u32 cycle`` VME data transfer cycle type for the VME window. ``u32 dwidth`` VME data transfer width for the VME window. **Description** Set configuration for provided VME master window. **Return** Zero on success, -EINVAL if operation is not supported on this device, if an invalid resource has been provided or invalid attributes are provided. Hardware specific errors may also be returned.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjÔ+ubj( )�”}”(hhh]”(j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjù+h]”hŒstruct vme_resource *resource”…”�”}”(hjû+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj÷+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mýhjó+ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j,h´Mýhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjó+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j,h´Mýhjð+ubj- )�”}”(hŒ@``int enabled`` State to which the window should be configured. ”h]”(j3 )�”}”(hŒ``int enabled``”h]”hë)�”}”(hj2,h]”hŒ int enabled”…”�”}”(hj4,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj0,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mþhj,,ubjM )�”}”(hhh]”hÝ)�”}”(hŒ/State to which the window should be configured.”h]”hŒ/State to which the window should be configured.”…”�”}”(hjK,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jG,h´MþhjH,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj,,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jG,h´Mþhjð+ubj- )�”}”(hŒ=``unsigned long long vme_base`` Base address for the window. ”h]”(j3 )�”}”(hŒ``unsigned long long vme_base``”h]”hë)�”}”(hjk,h]”hŒunsigned long long vme_base”…”�”}”(hjm,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhji,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mÿhje,ubjM )�”}”(hhh]”hÝ)�”}”(hŒBase address for the window.”h]”hŒBase address for the window.”…”�”}”(hj„,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j€,h´Mÿhj�,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hje,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j€,h´Mÿhjð+ubj- )�”}”(hŒ4``unsigned long long size`` Size of the VME window. ”h]”(j3 )�”}”(hŒ``unsigned long long size``”h]”hë)�”}”(hj¤,h]”hŒunsigned long long size”…”�”}”(hj¦,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj¢,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhjž,ubjM )�”}”(hhh]”hÝ)�”}”(hŒSize of the VME window.”h]”hŒSize of the VME window.”…”�”}”(hj½,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j¹,h´Mhjº,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjž,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j¹,h´Mhjð+ubj- )�”}”(hŒ5``u32 aspace`` VME address space for the VME window. ”h]”(j3 )�”}”(hŒ``u32 aspace``”h]”hë)�”}”(hjÝ,h]”hŒ u32 aspace”…”�”}”(hjß,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÛ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj×,ubjM )�”}”(hhh]”hÝ)�”}”(hŒ%VME address space for the VME window.”h]”hŒ%VME address space for the VME window.”…”�”}”(hjö,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jò,h´Mhjó,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj×,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jò,h´Mhjð+ubj- )�”}”(hŒ?``u32 cycle`` VME data transfer cycle type for the VME window. ”h]”(j3 )�”}”(hŒ ``u32 cycle``”h]”hë)�”}”(hj-h]”hŒ u32 cycle”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj-ubjM )�”}”(hhh]”hÝ)�”}”(hŒ0VME data transfer cycle type for the VME window.”h]”hŒ0VME data transfer cycle type for the VME window.”…”�”}”(hj/-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j+-h´Mhj,-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j+-h´Mhjð+ubj- )�”}”(hŒ;``u32 dwidth`` VME data transfer width for the VME window. ”h]”(j3 )�”}”(hŒ``u32 dwidth``”h]”hë)�”}”(hjO-h]”hŒ u32 dwidth”…”�”}”(hjQ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjM-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjI-ubjM )�”}”(hhh]”hÝ)�”}”(hŒ+VME data transfer width for the VME window.”h]”hŒ+VME data transfer width for the VME window.”…”�”}”(hjh-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jd-h´Mhje-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjI-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jd-h´Mhjð+ubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjÔ+ubhÝ)�”}”(hŒ1Set configuration for provided VME master window.”h]”hŒ1Set configuration for provided VME master window.”…”�”}”(hj -h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjÔ+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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjÔ+ubhÝ)�”}”(hŒÂZero on success, -EINVAL if operation is not supported on this device, if an invalid resource has been provided or invalid attributes are provided. Hardware specific errors may also be returned.”h]”hŒÂZero on success, -EINVAL if operation is not supported on this device, if an invalid resource has been provided or invalid attributes are provided. Hardware specific errors may also be returned.”…”�”}”(hjÇ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjÔ+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_master_get (C function)”Œc.vme_master_get”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒžint vme_master_get (struct vme_resource *resource, int *enabled, unsigned long long *vme_base, unsigned long long *size, u32 *aspace, u32 *cycle, u32 *dwidth)”h]”jZ )�”}”(hŒ�int vme_master_get(struct vme_resource *resource, int *enabled, unsigned long long *vme_base, unsigned long long *size, u32 *aspace, u32 *cycle, u32 *dwidth)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjö-h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjò-h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M1ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjò-h²hh³j.h´M1ubjƒ )�”}”(hŒvme_master_get”h]”j‰ )�”}”(hŒvme_master_get”h]”hŒvme_master_get”…”�”}”(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´M1ubjç)�”}”(hŒ‹(struct vme_resource *resource, int *enabled, unsigned long long *vme_base, unsigned long long *size, u32 *aspace, u32 *cycle, u32 *dwidth)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj3.h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj/.ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@.h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj/.ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjQ.h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjN.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jS.Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j.sbŒc.vme_master_get”†”asbuh1hhj/.ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq.h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj/.ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj/.ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjŒ.h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj/.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubjí)�”}”(hŒ int *enabled”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj¥.h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj¡.ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³.h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¡.ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÁ.h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj¡.ubj‰ )�”}”(hŒenabled”h]”hŒenabled”…”�”}”(hjÎ.h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¡.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubjí)�”}”(hŒunsigned long long *vme_base”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjç.h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjã.ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ.h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjã.ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjã.ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjã.ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjã.ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-/h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjã.ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj;/h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjã.ubj‰ )�”}”(hŒvme_base”h]”hŒvme_base”…”�”}”(hjH/h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjã.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubjí)�”}”(hŒunsigned long long *size”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hja/h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj]/ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo/h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj]/ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj}/h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj]/ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹/h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj]/ubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj™/h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj]/ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§/h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj]/ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjµ/h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj]/ubj‰ )�”}”(hŒsize”h]”hŒsize”…”�”}”(hjÂ/h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj]/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubjí)�”}”(hŒ u32 *aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjÞ/h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÛ/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jà/Œmodname”NŒ classname”Nj*j-)�”}”j0]”jm.Œc.vme_master_get”†”asbuh1hhj×/ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü/h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj×/ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj 0h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj×/ubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj×/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubjí)�”}”(hŒ u32 *cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj30h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj00ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j50Œmodname”NŒ classname”Nj*j-)�”}”j0]”jm.Œc.vme_master_get”†”asbuh1hhj,0ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ0h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj,0ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj_0h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj,0ubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjl0h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj,0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubjí)�”}”(hŒ u32 *dwidth”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjˆ0h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj…0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jŠ0Œmodname”NŒ classname”Nj*j-)�”}”j0]”jm.Œc.vme_master_get”†”asbuh1hhj�0ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦0h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj�0ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj´0h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj�0ubj‰ )�”}”(hŒdwidth”h]”hŒdwidth”…”�”}”(hjÁ0h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj�0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj+.ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjò-h²hh³j.h´M1ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjî-h²hh³j.h´M1ubah}”(h]”jé-ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j.h´M1hjë-h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ)Retrieve VME master window configuration.”h]”hŒ)Retrieve VME master window configuration.”…”�”}”(hjë0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M1hjè0h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjë-h²hh³j.h´M1ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j1j× j1jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXÝ**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. ``int *enabled`` Pointer to variable for storing state. ``unsigned long long *vme_base`` Pointer to variable for storing window base address. ``unsigned long long *size`` Pointer to variable for storing window size. ``u32 *aspace`` Pointer to variable for storing VME address space. ``u32 *cycle`` Pointer to variable for storing VME data transfer cycle type. ``u32 *dwidth`` Pointer to variable for storing VME data transfer width. **Description** Return configuration for provided VME master window. **Return** Zero on success, -EINVAL if operation is not supported on this device or if an invalid resource has been provided.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj 1h]”hŒ Parameters”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj 1ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M5hj1ubj( )�”}”(hhh]”(j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj,1h]”hŒstruct vme_resource *resource”…”�”}”(hj.1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj*1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M2hj&1ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hjE1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jA1h´M2hjB1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj&1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jA1h´M2hj#1ubj- )�”}”(hŒ8``int *enabled`` Pointer to variable for storing state. ”h]”(j3 )�”}”(hŒ``int *enabled``”h]”hë)�”}”(hje1h]”hŒ int *enabled”…”�”}”(hjg1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjc1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M3hj_1ubjM )�”}”(hhh]”hÝ)�”}”(hŒ&Pointer to variable for storing state.”h]”hŒ&Pointer to variable for storing state.”…”�”}”(hj~1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jz1h´M3hj{1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj_1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jz1h´M3hj#1ubj- )�”}”(hŒV``unsigned long long *vme_base`` Pointer to variable for storing window base address. ”h]”(j3 )�”}”(hŒ ``unsigned long long *vme_base``”h]”hë)�”}”(hjž1h]”hŒunsigned long long *vme_base”…”�”}”(hj 1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjœ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M4hj˜1ubjM )�”}”(hhh]”hÝ)�”}”(hŒ4Pointer to variable for storing window base address.”h]”hŒ4Pointer to variable for storing window base address.”…”�”}”(hj·1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j³1h´M4hj´1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj˜1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j³1h´M4hj#1ubj- )�”}”(hŒJ``unsigned long long *size`` Pointer to variable for storing window size. ”h]”(j3 )�”}”(hŒ``unsigned long long *size``”h]”hë)�”}”(hj×1h]”hŒunsigned long long *size”…”�”}”(hjÙ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÕ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M5hjÑ1ubjM )�”}”(hhh]”hÝ)�”}”(hŒ,Pointer to variable for storing window size.”h]”hŒ,Pointer to variable for storing window size.”…”�”}”(hjð1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jì1h´M5hjí1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÑ1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jì1h´M5hj#1ubj- )�”}”(hŒC``u32 *aspace`` Pointer to variable for storing VME address space. ”h]”(j3 )�”}”(hŒ``u32 *aspace``”h]”hë)�”}”(hj2h]”hŒ u32 *aspace”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M6hj 2ubjM )�”}”(hhh]”hÝ)�”}”(hŒ2Pointer to variable for storing VME address space.”h]”hŒ2Pointer to variable for storing VME address space.”…”�”}”(hj)2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j%2h´M6hj&2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj 2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j%2h´M6hj#1ubj- )�”}”(hŒM``u32 *cycle`` Pointer to variable for storing VME data transfer cycle type. ”h]”(j3 )�”}”(hŒ``u32 *cycle``”h]”hë)�”}”(hjI2h]”hŒ u32 *cycle”…”�”}”(hjK2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjG2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M7hjC2ubjM )�”}”(hhh]”hÝ)�”}”(hŒ=Pointer to variable for storing VME data transfer cycle type.”h]”hŒ=Pointer to variable for storing VME data transfer cycle type.”…”�”}”(hjb2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j^2h´M7hj_2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjC2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j^2h´M7hj#1ubj- )�”}”(hŒI``u32 *dwidth`` Pointer to variable for storing VME data transfer width. ”h]”(j3 )�”}”(hŒ``u32 *dwidth``”h]”hë)�”}”(hj‚2h]”hŒ u32 *dwidth”…”�”}”(hj„2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj€2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M8hj|2ubjM )�”}”(hhh]”hÝ)�”}”(hŒ8Pointer to variable for storing VME data transfer width.”h]”hŒ8Pointer to variable for storing VME data transfer width.”…”�”}”(hj›2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j—2h´M8hj˜2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj|2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j—2h´M8hj#1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hj1ubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj½2h]”hŒ Description”…”�”}”(hj¿2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj»2ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M:hj1ubhÝ)�”}”(hŒ4Return configuration for provided VME master window.”h]”hŒ4Return configuration for provided VME master window.”…”�”}”(hjÓ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M9hj1ubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjä2h]”hŒReturn”…”�”}”(hjæ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjâ2ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M;hj1ubhÝ)�”}”(hŒrZero on success, -EINVAL if operation is not supported on this device or if an invalid resource has been provided.”h]”hŒrZero on success, -EINVAL if operation is not supported on this device or if an invalid resource has been provided.”…”�”}”(hjú2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M<hj1ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_master_read (C function)”Œc.vme_master_read”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ_ssize_t vme_master_read (struct vme_resource *resource, void *buf, size_t count, loff_t offset)”h]”jZ )�”}”(hŒ^ssize_t vme_master_read(struct vme_resource *resource, void *buf, size_t count, loff_t offset)”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hj,3h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj)3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j.3Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_master_read”sbŒc.vme_master_read”†”asbuh1hhj%3h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MXubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN3h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj%3h²hh³jM3h´MXubjƒ )�”}”(hŒvme_master_read”h]”j‰ )�”}”(hjJ3h]”hŒvme_master_read”…”�”}”(hj`3h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj\3ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj%3h²hh³jM3h´MXubjç)�”}”(hŒG(struct vme_resource *resource, void *buf, size_t count, loff_t offset)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj{3h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjw3ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ3h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjw3ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj™3h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj–3ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j›3Œmodname”NŒ classname”Nj*j-)�”}”j0]”jH3Œc.vme_master_read”†”asbuh1hhjw3ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·3h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjw3ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÅ3h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjw3ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjÒ3h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjw3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjs3ubjí)�”}”(hŒ void *buf”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjë3h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjç3ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù3h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjç3ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjç3ubj‰ )�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjç3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjs3ubjí)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj04h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj-4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j24Œmodname”NŒ classname”Nj*j-)�”}”j0]”jH3Œc.vme_master_read”†”asbuh1hhj)4ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN4h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj)4ubj‰ )�”}”(hŒcount”h]”hŒcount”…”�”}”(hj\4h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj)4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjs3ubjí)�”}”(hŒ loff_t offset”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒloff_t”h]”hŒloff_t”…”�”}”(hjx4h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hju4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jz4Œmodname”NŒ classname”Nj*j-)�”}”j0]”jH3Œc.vme_master_read”†”asbuh1hhjq4ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–4h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjq4ubj‰ )�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj¤4h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjq4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjs3ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj%3h²hh³jM3h´MXubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj!3h²hh³jM3h´MXubah}”(h]”j3ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jM3h´MXhj3h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ'Read data from VME space into a buffer.”h]”hŒ'Read data from VME space into a buffer.”…”�”}”(hjÎ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MXhjË4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj3h²hh³jM3h´MXubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jæ4j× jæ4jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXv**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. ``void *buf`` Pointer to buffer where data should be transferred. ``size_t count`` Number of bytes to transfer. ``loff_t offset`` Offset into VME master window at which to start transfer. **Description** Perform read of count bytes of data from location on VME bus which maps into the VME master window at offset to buf. **Return** Number of bytes read, -EINVAL if resource is not a VME master resource or read operation is not supported. -EFAULT returned if invalid offset is provided. Hardware specific errors may also be returned.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjð4h]”hŒ Parameters”…”�”}”(hjò4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjî4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M\hjê4ubj( )�”}”(hhh]”(j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj5h]”hŒstruct vme_resource *resource”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj 5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MYhj 5ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hj(5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j$5h´MYhj%5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj 5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j$5h´MYhj5ubj- )�”}”(hŒB``void *buf`` Pointer to buffer where data should be transferred. ”h]”(j3 )�”}”(hŒ ``void *buf``”h]”hë)�”}”(hjH5h]”hŒ void *buf”…”�”}”(hjJ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjF5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MZhjB5ubjM )�”}”(hhh]”hÝ)�”}”(hŒ3Pointer to buffer where data should be transferred.”h]”hŒ3Pointer to buffer where data should be transferred.”…”�”}”(hja5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j]5h´MZhj^5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjB5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j]5h´MZhj5ubj- )�”}”(hŒ.``size_t count`` Number of bytes to transfer. ”h]”(j3 )�”}”(hŒ``size_t count``”h]”hë)�”}”(hj�5h]”hŒ size_t count”…”�”}”(hjƒ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M[hj{5ubjM )�”}”(hhh]”hÝ)�”}”(hŒNumber of bytes to transfer.”h]”hŒNumber of bytes to transfer.”…”�”}”(hjš5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j–5h´M[hj—5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj{5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j–5h´M[hj5ubj- )�”}”(hŒL``loff_t offset`` Offset into VME master window at which to start transfer. ”h]”(j3 )�”}”(hŒ``loff_t offset``”h]”hë)�”}”(hjº5h]”hŒ loff_t offset”…”�”}”(hj¼5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj¸5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M\hj´5ubjM )�”}”(hhh]”hÝ)�”}”(hŒ9Offset into VME master window at which to start transfer.”h]”hŒ9Offset into VME master window at which to start transfer.”…”�”}”(hjÓ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jÏ5h´M\hjÐ5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj´5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jÏ5h´M\hj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjê4ubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjõ5h]”hŒ Description”…”�”}”(hj÷5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjó5ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M^hjê4ubhÝ)�”}”(hŒtPerform read of count bytes of data from location on VME bus which maps into the VME master window at offset to buf.”h]”hŒtPerform read of count bytes of data from location on VME bus which maps into the VME master window at offset to buf.”…”�”}”(hj 6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M]hjê4ubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hj6h]”hŒReturn”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M`hjê4ubhÝ)�”}”(hŒÉNumber of bytes read, -EINVAL if resource is not a VME master resource or read operation is not supported. -EFAULT returned if invalid offset is provided. Hardware specific errors may also be returned.”h]”hŒÉNumber of bytes read, -EINVAL if resource is not a VME master resource or read operation is not supported. -EFAULT returned if invalid offset is provided. Hardware specific errors may also be returned.”…”�”}”(hj26h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mahjê4ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_master_write (C function)”Œc.vme_master_write”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ`ssize_t vme_master_write (struct vme_resource *resource, void *buf, size_t count, loff_t offset)”h]”jZ )�”}”(hŒ_ssize_t vme_master_write(struct vme_resource *resource, void *buf, size_t count, loff_t offset)”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒssize_t”h]”hŒssize_t”…”�”}”(hjd6h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hja6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jf6Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_master_write”sbŒc.vme_master_write”†”asbuh1hhj]6h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‰ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†6h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj]6h²hh³j…6h´M‰ubjƒ )�”}”(hŒvme_master_write”h]”j‰ )�”}”(hj‚6h]”hŒvme_master_write”…”�”}”(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´M‰ubjç)�”}”(hŒG(struct vme_resource *resource, void *buf, size_t count, loff_t offset)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj³6h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj¯6ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ6h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¯6ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjÑ6h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÎ6ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÓ6Œmodname”NŒ classname”Nj*j-)�”}”j0]”j€6Œc.vme_master_write”†”asbuh1hhj¯6ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï6h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¯6ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjý6h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj¯6ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj 7h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¯6ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj«6ubjí)�”}”(hŒ void *buf”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj#7h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj7ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj17h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj7ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj?7h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj7ubj‰ )�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjL7h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj«6ubjí)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjh7h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hje7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jj7Œmodname”NŒ classname”Nj*j-)�”}”j0]”j€6Œc.vme_master_write”†”asbuh1hhja7ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†7h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hja7ubj‰ )�”}”(hŒcount”h]”hŒcount”…”�”}”(hj”7h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hja7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj«6ubjí)�”}”(hŒ loff_t offset”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒloff_t”h]”hŒloff_t”…”�”}”(hj°7h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj­7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j²7Œmodname”NŒ classname”Nj*j-)�”}”j0]”j€6Œc.vme_master_write”†”asbuh1hhj©7ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ7h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj©7ubj‰ )�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hjÜ7h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj©7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj«6ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj]6h²hh³j…6h´M‰ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjY6h²hh³j…6h´M‰ubah}”(h]”jT6ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j…6h´M‰hjV6h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ*Write data out to VME space from a buffer.”h]”hŒ*Write data out to VME space from a buffer.”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‰hj8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjV6h²hh³j…6h´M‰ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j8j× j8jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXs**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. ``void *buf`` Pointer to buffer holding data to transfer. ``size_t count`` Number of bytes to transfer. ``loff_t offset`` Offset into VME master window at which to start transfer. **Description** Perform write of count bytes of data from buf to location on VME bus which maps into the VME master window at offset. **Return** Number of bytes written, -EINVAL if resource is not a VME master resource or write operation is not supported. -EFAULT returned if invalid offset is provided. Hardware specific errors may also be returned.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj(8h]”hŒ Parameters”…”�”}”(hj*8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj&8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj"8ubj( )�”}”(hhh]”(j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjG8h]”hŒstruct vme_resource *resource”…”�”}”(hjI8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjE8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŠhjA8ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hj`8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j\8h´MŠhj]8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjA8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j\8h´MŠhj>8ubj- )�”}”(hŒ:``void *buf`` Pointer to buffer holding data to transfer. ”h]”(j3 )�”}”(hŒ ``void *buf``”h]”hë)�”}”(hj€8h]”hŒ void *buf”…”�”}”(hj‚8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj~8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‹hjz8ubjM )�”}”(hhh]”hÝ)�”}”(hŒ+Pointer to buffer holding data to transfer.”h]”hŒ+Pointer to buffer holding data to transfer.”…”�”}”(hj™8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j•8h´M‹hj–8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjz8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j•8h´M‹hj>8ubj- )�”}”(hŒ.``size_t count`` Number of bytes to transfer. ”h]”(j3 )�”}”(hŒ``size_t count``”h]”hë)�”}”(hj¹8h]”hŒ size_t count”…”�”}”(hj»8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj·8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŒhj³8ubjM )�”}”(hhh]”hÝ)�”}”(hŒNumber of bytes to transfer.”h]”hŒNumber of bytes to transfer.”…”�”}”(hjÒ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jÎ8h´MŒhjÏ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj³8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jÎ8h´MŒhj>8ubj- )�”}”(hŒL``loff_t offset`` Offset into VME master window at which to start transfer. ”h]”(j3 )�”}”(hŒ``loff_t offset``”h]”hë)�”}”(hjò8h]”hŒ loff_t offset”…”�”}”(hjô8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjð8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hjì8ubjM )�”}”(hhh]”hÝ)�”}”(hŒ9Offset into VME master window at which to start transfer.”h]”hŒ9Offset into VME master window at which to start transfer.”…”�”}”(hj 9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j9h´M�hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjì8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j9h´M�hj>8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hj"8ubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj-9h]”hŒ Description”…”�”}”(hj/9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj+9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj"8ubhÝ)�”}”(hŒuPerform write of count bytes of data from buf to location on VME bus which maps into the VME master window at offset.”h]”hŒuPerform write of count bytes of data from buf to location on VME bus which maps into the VME master window at offset.”…”�”}”(hjC9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŽhj"8ubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjT9h]”hŒReturn”…”�”}”(hjV9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjR9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‘hj"8ubhÝ)�”}”(hŒÍNumber of bytes written, -EINVAL if resource is not a VME master resource or write operation is not supported. -EFAULT returned if invalid offset is provided. Hardware specific errors may also be returned.”h]”hŒÍNumber of bytes written, -EINVAL if resource is not a VME master resource or write operation is not supported. -EFAULT returned if invalid offset is provided. Hardware specific errors may also be returned.”…”�”}”(hjj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M’hj"8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_master_rmw (C function)”Œc.vme_master_rmw”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ†unsigned int vme_master_rmw (struct vme_resource *resource, unsigned int mask, unsigned int compare, unsigned int swap, loff_t offset)”h]”jZ )�”}”(hŒ…unsigned int vme_master_rmw(struct vme_resource *resource, unsigned int mask, unsigned int compare, unsigned int swap, loff_t offset)”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj™9h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj•9h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¹ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨9h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj•9h²hh³j§9h´M¹ubjž)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶9h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj•9h²hh³j§9h´M¹ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ9h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj•9h²hh³j§9h´M¹ubjƒ )�”}”(hŒvme_master_rmw”h]”j‰ )�”}”(hŒvme_master_rmw”h]”hŒvme_master_rmw”…”�”}”(hjÖ9h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÒ9ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj•9h²hh³j§9h´M¹ubjç)�”}”(hŒj(struct vme_resource *resource, unsigned int mask, unsigned int compare, unsigned int swap, loff_t offset)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjò9h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjî9ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ9h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjî9ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj :ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j:Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jØ9sbŒc.vme_master_rmw”†”asbuh1hhjî9ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0:h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjî9ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj>:h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjî9ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjK:h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjî9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjê9ubjí)�”}”(hŒunsigned int mask”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjd:h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj`:ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr:h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj`:ubjž)�”}”(hŒint”h]”hŒint”…”�”}”(hj€:h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj`:ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ:h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj`:ubj‰ )�”}”(hŒmask”h]”hŒmask”…”�”}”(hjœ:h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj`:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjê9ubjí)�”}”(hŒunsigned int compare”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjµ:h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj±:ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ:h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj±:ubjž)�”}”(hŒint”h]”hŒint”…”�”}”(hjÑ:h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj±:ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß:h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj±:ubj‰ )�”}”(hŒcompare”h]”hŒcompare”…”�”}”(hjí:h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj±:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjê9ubjí)�”}”(hŒunsigned int swap”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj;ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj;ubjž)�”}”(hŒint”h]”hŒint”…”�”}”(hj";h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj;ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0;h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj;ubj‰ )�”}”(hŒswap”h]”hŒswap”…”�”}”(hj>;h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjê9ubjí)�”}”(hŒ loff_t offset”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒloff_t”h]”hŒloff_t”…”�”}”(hjZ;h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjW;ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j\;Œmodname”NŒ classname”Nj*j-)�”}”j0]”j,:Œc.vme_master_rmw”†”asbuh1hhjS;ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx;h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjS;ubj‰ )�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj†;h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjS;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjê9ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj•9h²hh³j§9h´M¹ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj‘9h²hh³j§9h´M¹ubah}”(h]”jŒ9ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j§9h´M¹hjŽ9h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ Perform read-modify-write cycle.”h]”hŒ Perform read-modify-write cycle.”…”�”}”(hj°;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¹hj­;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjŽ9h²hh³j§9h´M¹ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÈ;j× jÈ;jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXM**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. ``unsigned int mask`` Bits to be compared and swapped in operation. ``unsigned int compare`` Bits to be compared with data read from offset. ``unsigned int swap`` Bits to be swapped in data read from offset. ``loff_t offset`` Offset into VME master window at which to perform operation. **Description** Perform read-modify-write cycle on provided location: - Location on VME bus is read. - Bits selected by mask are compared with compare. - Where a selected bit matches that in compare and are selected in swap, the bit is swapped. - Result written back to location on VME bus. **Return** Bytes written on success, -EINVAL if resource is not a VME master resource or RMW operation is not supported. Hardware specific errors may also be returned.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M½hjÌ;ubj( )�”}”(hhh]”(j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjñ;h]”hŒstruct vme_resource *resource”…”�”}”(hjó;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjï;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mºhjë;ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hj <h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j<h´Mºhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjë;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j<h´Mºhjè;ubj- )�”}”(hŒD``unsigned int mask`` Bits to be compared and swapped in operation. ”h]”(j3 )�”}”(hŒ``unsigned int mask``”h]”hë)�”}”(hj*<h]”hŒunsigned int mask”…”�”}”(hj,<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj(<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M»hj$<ubjM )�”}”(hhh]”hÝ)�”}”(hŒ-Bits to be compared and swapped in operation.”h]”hŒ-Bits to be compared and swapped in operation.”…”�”}”(hjC<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j?<h´M»hj@<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj$<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j?<h´M»hjè;ubj- )�”}”(hŒI``unsigned int compare`` Bits to be compared with data read from offset. ”h]”(j3 )�”}”(hŒ``unsigned int compare``”h]”hë)�”}”(hjc<h]”hŒunsigned int compare”…”�”}”(hje<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhja<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¼hj]<ubjM )�”}”(hhh]”hÝ)�”}”(hŒ/Bits to be compared with data read from offset.”h]”hŒ/Bits to be compared with data read from offset.”…”�”}”(hj|<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jx<h´M¼hjy<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj]<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jx<h´M¼hjè;ubj- )�”}”(hŒC``unsigned int swap`` Bits to be swapped in data read from offset. ”h]”(j3 )�”}”(hŒ``unsigned int swap``”h]”hë)�”}”(hjœ<h]”hŒunsigned int swap”…”�”}”(hjž<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjš<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M½hj–<ubjM )�”}”(hhh]”hÝ)�”}”(hŒ,Bits to be swapped in data read from offset.”h]”hŒ,Bits to be swapped in data read from offset.”…”�”}”(hjµ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j±<h´M½hj²<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj–<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j±<h´M½hjè;ubj- )�”}”(hŒO``loff_t offset`` Offset into VME master window at which to perform operation. ”h]”(j3 )�”}”(hŒ``loff_t offset``”h]”hë)�”}”(hjÕ<h]”hŒ loff_t offset”…”�”}”(hj×<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÓ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¾hjÏ<ubjM )�”}”(hhh]”hÝ)�”}”(hŒ )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ$vme_master_mmap_prepare (C function)”Œc.vme_master_mmap_prepare”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒVint vme_master_mmap_prepare (struct vme_resource *resource, struct vm_area_desc *desc)”h]”jZ )�”}”(hŒUint vme_master_mmap_prepare(struct vme_resource *resource, struct vm_area_desc *desc)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj|=h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjx=h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mâubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹=h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjx=h²hh³jŠ=h´Mâubjƒ )�”}”(hŒvme_master_mmap_prepare”h]”j‰ )�”}”(hŒvme_master_mmap_prepare”h]”hŒvme_master_mmap_prepare”…”�”}”(hj�=h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj™=ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjx=h²hh³jŠ=h´Mâubjç)�”}”(hŒ:(struct vme_resource *resource, struct vm_area_desc *desc)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj¹=h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjµ=ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ=h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjµ=ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj×=h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÔ=ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÙ=Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jŸ=sbŒc.vme_master_mmap_prepare”†”asbuh1hhjµ=ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷=h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjµ=ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjµ=ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j” a•!h"]”h$]”h&]”uh1jˆ hjµ=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj±=ubjí)�”}”(hŒstruct vm_area_desc *desc”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj+>h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj'>ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8>h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj'>ubh)�”}”(hhh]”j‰ )�”}”(hŒ vm_area_desc”h]”hŒ vm_area_desc”…”�”}”(hjI>h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjF>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jK>Œmodname”NŒ classname”Nj*j-)�”}”j0]”jó=Œc.vme_master_mmap_prepare”†”asbuh1hhj'>ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjg>h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj'>ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hju>h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj'>ubj‰ )�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj‚>h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj'>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj±=ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjx=h²hh³jŠ=h´Mâubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjt=h²hh³jŠ=h´Mâubah}”(h]”jo=ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jŠ=h´Mâhjq=h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ!Mmap region of VME master window.”h]”hŒ!Mmap region of VME master window.”…”�”}”(hj¬>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mâhj©>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjq=h²hh³jŠ=h´Mâubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÄ>j× jÄ>jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX‘**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. ``struct vm_area_desc *desc`` Pointer to descriptor of user mapping. **Description** Memory map a region of the VME master window into user space. **Return** Zero on success, -EINVAL if resource is not a VME master resource or -EFAULT if map exceeds window size. Other generic mmap errors may also be returned.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MæhjÈ>ubj( )�”}”(hhh]”(j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjí>h]”hŒstruct vme_resource *resource”…”�”}”(hjï>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjë>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mãhjç>ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j?h´Mãhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjç>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j?h´Mãhjä>ubj- )�”}”(hŒE``struct vm_area_desc *desc`` Pointer to descriptor of user mapping. ”h]”(j3 )�”}”(hŒ``struct vm_area_desc *desc``”h]”hë)�”}”(hj&?h]”hŒstruct vm_area_desc *desc”…”�”}”(hj(?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj$?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mähj ?ubjM )�”}”(hhh]”hÝ)�”}”(hŒ&Pointer to descriptor of user mapping.”h]”hŒ&Pointer to descriptor of user mapping.”…”�”}”(hj??h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j;?h´Mähjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjÈ>ubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hja?h]”hŒ Description”…”�”}”(hjc?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj_?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MæhjÈ>ubhÝ)�”}”(hŒ=Memory map a region of the VME master window into user space.”h]”hŒ=Memory map a region of the VME master window into user space.”…”�”}”(hjw?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Må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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MçhjÈ>ubhÝ)�”}”(hŒ˜Zero on success, -EINVAL if resource is not a VME master resource or -EFAULT if map exceeds window size. Other generic mmap errors may also be returned.”h]”hŒ˜Zero on success, -EINVAL if resource is not a VME master resource or -EFAULT if map exceeds window size. Other generic mmap errors may also be returned.”…”�”}”(hjž?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.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 Œvme_master_free (C function)”Œc.vme_master_free”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ4void vme_master_free (struct vme_resource *resource)”h]”jZ )�”}”(hŒ3void vme_master_free(struct vme_resource *resource)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÍ?h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjÉ?h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜ?h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÉ?h²hh³jÛ?h´Mubjƒ )�”}”(hŒvme_master_free”h]”j‰ )�”}”(hŒvme_master_free”h]”hŒvme_master_free”…”�”}”(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´Mubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj@ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj@ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj(@h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj%@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j*@Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jð?sbŒc.vme_master_free”†”asbuh1hhj@ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjH@h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj@ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjV@h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj@ubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjc@h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj@ubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjÉ?h²hh³jÛ?h´Mubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjÅ?h²hh³jÛ?h´Mubah}”(h]”jÀ?ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jÛ?h´MhjÂ?h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒFree VME master window”h]”hŒFree VME master window”…”�”}”(hj�@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjŠ@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjÂ?h²hh³jÛ?h´Mubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j¥@j× j¥@jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hŒ¦**Parameters** ``struct vme_resource *resource`` Pointer to VME master resource. **Description** Free the provided master resource so that it may be reallocated.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hj©@ubj( )�”}”(hhh]”j- )�”}”(hŒB``struct vme_resource *resource`` Pointer to VME master resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjÎ@h]”hŒstruct vme_resource *resource”…”�”}”(hjÐ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÌ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hjÈ@ubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME master resource.”h]”hŒPointer to VME master resource.”…”�”}”(hjç@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jã@h´M hjä@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÈ@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jã@h´M hjÅ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hj©@ubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj Ah]”hŒ Description”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hj©@ubhÝ)�”}”(hŒ@Free the provided master resource so that it may be reallocated.”h]”hŒ@Free the provided master resource so that it may be reallocated.”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.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 Œvme_dma_request (C function)”Œc.vme_dma_request”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒGstruct vme_resource * vme_dma_request (struct vme_dev *vdev, u32 route)”h]”jZ )�”}”(hŒEstruct vme_resource *vme_dma_request(struct vme_dev *vdev, u32 route)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjNAh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjJAh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M(ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\Ah²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJAh²hh³j[Ah´M(ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjmAh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjjAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”joAŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_dma_request”sbŒc.vme_dma_request”†”asbuh1hhjJAh²hh³j[Ah´M(ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽAh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJAh²hh³j[Ah´M(ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjœAh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjJAh²hh³j[Ah´M(ubjƒ )�”}”(hŒvme_dma_request”h]”j‰ )�”}”(hj‹Ah]”hŒvme_dma_request”…”�”}”(hj­Ah²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj©Aubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjJAh²hh³j[Ah´M(ubjç)�”}”(hŒ!(struct vme_dev *vdev, u32 route)”h]”(jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÈAh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjÄAubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕAh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÄAubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjæAh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjãAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jèAŒmodname”NŒ classname”Nj*j-)�”}”j0]”j‰AŒc.vme_dma_request”†”asbuh1hhjÄAubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÄAubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjÄAubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÄAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÀAubjí)�”}”(hŒ u32 route”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj;Bh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj8Bubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j=BŒmodname”NŒ classname”Nj*j-)�”}”j0]”j‰AŒc.vme_dma_request”†”asbuh1hhj4Bubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYBh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj4Bubj‰ )�”}”(hŒroute”h]”hŒroute”…”�”}”(hjgBh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj4Bubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÀAubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjJAh²hh³j[Ah´M(ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjFAh²hh³j[Ah´M(ubah}”(h]”jAAah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j[Ah´M(hjCAh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒRequest a DMA controller.”h]”hŒRequest a DMA controller.”…”�”}”(hj‘Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M(hjŽBh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjCAh²hh³j[Ah´M(ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j©Bj× j©BjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXo**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ``u32 route`` Required src/destination combination. **Description** Request a VME DMA controller with capability to perform transfers between requested source/destination combination. **Return** Pointer to VME DMA resource on success, NULL on failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj³Bh]”hŒ Parameters”…”�”}”(hjµBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj±Bubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M,hj­Bubj( )�”}”(hhh]”(j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hjÒBh]”hŒstruct vme_dev *vdev”…”�”}”(hjÔBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÐBubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M)hjÌBubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hjëBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jçBh´M)hjèBubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÌBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jçBh´M)hjÉBubj- )�”}”(hŒ4``u32 route`` Required src/destination combination. ”h]”(j3 )�”}”(hŒ ``u32 route``”h]”hë)�”}”(hj Ch]”hŒ u32 route”…”�”}”(hj Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj Cubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M*hjCubjM )�”}”(hhh]”hÝ)�”}”(hŒ%Required src/destination combination.”h]”hŒ%Required src/destination combination.”…”�”}”(hj$Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j Ch´M*hj!Cubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j Ch´M*hjÉBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hj­BubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjFCh]”hŒ Description”…”�”}”(hjHCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjDCubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M,hj­BubhÝ)�”}”(hŒsRequest a VME DMA controller with capability to perform transfers between requested source/destination combination.”h]”hŒsRequest a VME DMA controller with capability to perform transfers between requested source/destination combination.”…”�”}”(hj\Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M+hj­BubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjmCh]”hŒReturn”…”�”}”(hjoCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjkCubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M.hj­BubhÝ)�”}”(hŒ8Pointer to VME DMA resource on success, NULL on failure.”h]”hŒ8Pointer to VME DMA resource on success, NULL on failure.”…”�”}”(hjƒCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M/hj­Bubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_new_dma_list (C function)”Œc.vme_new_dma_list”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒFstruct vme_dma_list * vme_new_dma_list (struct vme_resource *resource)”h]”jZ )�”}”(hŒDstruct vme_dma_list *vme_new_dma_list(struct vme_resource *resource)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj²Ch²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj®Ch²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mnubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀCh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj®Ch²hh³j¿Ch´Mnubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_list”h]”hŒ vme_dma_list”…”�”}”(hjÑCh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÎCubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÓCŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_new_dma_list”sbŒc.vme_new_dma_list”†”asbuh1hhj®Ch²hh³j¿Ch´Mnubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòCh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj®Ch²hh³j¿Ch´Mnubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj®Ch²hh³j¿Ch´Mnubjƒ )�”}”(hŒvme_new_dma_list”h]”j‰ )�”}”(hjïCh]”hŒvme_new_dma_list”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj Dubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj®Ch²hh³j¿Ch´Mnubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj,Dh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj(Dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9Dh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj(Dubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjJDh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjGDubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jLDŒmodname”NŒ classname”Nj*j-)�”}”j0]”jíCŒc.vme_new_dma_list”†”asbuh1hhj(Dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhDh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj(Dubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjvDh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj(Dubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjƒDh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj(Dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj$Dubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj®Ch²hh³j¿Ch´Mnubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjªCh²hh³j¿Ch´Mnubah}”(h]”j¥Cah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j¿Ch´Mnhj§Ch²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒCreate new VME DMA list.”h]”hŒCreate new VME DMA list.”…”�”}”(hj­Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MnhjªDh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj§Ch²hh³j¿Ch´Mnubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÅDj× jÅDjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXM**Parameters** ``struct vme_resource *resource`` Pointer to VME DMA resource. **Description** Create a new VME DMA list. It is the responsibility of the user to free the list once it is no longer required with vme_dma_list_free(). **Return** Pointer to new VME DMA list, NULL on allocation failure or invalid VME DMA resource.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjÏDh]”hŒ Parameters”…”�”}”(hjÑDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÍDubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MrhjÉDubj( )�”}”(hhh]”j- )�”}”(hŒ?``struct vme_resource *resource`` Pointer to VME DMA resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjîDh]”hŒstruct vme_resource *resource”…”�”}”(hjðDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjìDubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MohjèDubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME DMA resource.”h]”hŒPointer to VME DMA resource.”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jEh´MohjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjèDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jEh´MohjåDubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjÉDubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj)Eh]”hŒ Description”…”�”}”(hj+Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj'Eubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MqhjÉDubhÝ)�”}”(hŒˆCreate a new VME DMA list. It is the responsibility of the user to free the list once it is no longer required with vme_dma_list_free().”h]”hŒˆCreate a new VME DMA list. It is the responsibility of the user to free the list once it is no longer required with vme_dma_list_free().”…”�”}”(hj?Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MphjÉDubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjPEh]”hŒReturn”…”�”}”(hjREh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjNEubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MshjÉDubhÝ)�”}”(hŒTPointer to new VME DMA list, NULL on allocation failure or invalid VME DMA resource.”h]”hŒTPointer to new VME DMA list, NULL on allocation failure or invalid VME DMA resource.”…”�”}”(hjfEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MthjÉDubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ&vme_dma_pattern_attribute (C function)”Œc.vme_dma_pattern_attribute”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒGstruct vme_dma_attr * vme_dma_pattern_attribute (u32 pattern, u32 type)”h]”jZ )�”}”(hŒEstruct vme_dma_attr *vme_dma_pattern_attribute(u32 pattern, u32 type)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj•Eh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj‘Eh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£Eh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj‘Eh²hh³j¢Eh´M�ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_attr”h]”hŒ vme_dma_attr”…”�”}”(hj´Eh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj±Eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j¶EŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_dma_pattern_attribute”sbŒc.vme_dma_pattern_attribute”†”asbuh1hhj‘Eh²hh³j¢Eh´M�ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕEh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj‘Eh²hh³j¢Eh´M�ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjãEh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj‘Eh²hh³j¢Eh´M�ubjƒ )�”}”(hŒvme_dma_pattern_attribute”h]”j‰ )�”}”(hjÒEh]”hŒvme_dma_pattern_attribute”…”�”}”(hjôEh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjðEubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj‘Eh²hh³j¢Eh´M�ubjç)�”}”(hŒ(u32 pattern, u32 type)”h]”(jí)�”}”(hŒ u32 pattern”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jFŒmodname”NŒ classname”Nj*j-)�”}”j0]”jÐEŒc.vme_dma_pattern_attribute”†”asbuh1hhj Fubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Fh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj Fubj‰ )�”}”(hŒpattern”h]”hŒpattern”…”�”}”(hj>Fh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj Fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjFubjí)�”}”(hŒu32 type”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjZFh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjWFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j\FŒmodname”NŒ classname”Nj*j-)�”}”j0]”jÐEŒc.vme_dma_pattern_attribute”†”asbuh1hhjSFubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxFh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjSFubj‰ )�”}”(hŒtype”h]”hŒtype”…”�”}”(hj†Fh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjSFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjFubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj‘Eh²hh³j¢Eh´M�ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj�Eh²hh³j¢Eh´M�ubah}”(h]”jˆEah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j¢Eh´M�hjŠEh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ-Create "Pattern" type VME DMA list attribute.”h]”hŒ1Create “Patternâ€� type VME DMA list attribute.”…”�”}”(hj°Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj­Fh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjŠEh²hh³j¢Eh´M�ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÈFj× jÈFjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXN**Parameters** ``u32 pattern`` Value to use used as pattern ``u32 type`` Type of pattern to be written. **Description** Create VME DMA list attribute for pattern generation. It is the responsibility of the user to free used attributes using vme_dma_free_attribute(). **Return** Pointer to VME DMA attribute, NULL on failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjÒFh]”hŒ Parameters”…”�”}”(hjÔFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÐFubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M”hjÌFubj( )�”}”(hhh]”(j- )�”}”(hŒ-``u32 pattern`` Value to use used as pattern ”h]”(j3 )�”}”(hŒ``u32 pattern``”h]”hë)�”}”(hjñFh]”hŒ u32 pattern”…”�”}”(hjóFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjïFubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‘hjëFubjM )�”}”(hhh]”hÝ)�”}”(hŒValue to use used as pattern”h]”hŒValue to use used as pattern”…”�”}”(hj Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jGh´M‘hjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjëFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jGh´M‘hjèFubj- )�”}”(hŒ,``u32 type`` Type of pattern to be written. ”h]”(j3 )�”}”(hŒ ``u32 type``”h]”hë)�”}”(hj*Gh]”hŒu32 type”…”�”}”(hj,Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj(Gubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M’hj$GubjM )�”}”(hhh]”hÝ)�”}”(hŒType of pattern to be written.”h]”hŒType of pattern to be written.”…”�”}”(hjCGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j?Gh´M’hj@Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj$Gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j?Gh´M’hjèFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjÌFubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjeGh]”hŒ Description”…”�”}”(hjgGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjcGubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M”hjÌFubhÝ)�”}”(hŒ’Create VME DMA list attribute for pattern generation. It is the responsibility of the user to free used attributes using vme_dma_free_attribute().”h]”hŒ’Create VME DMA list attribute for pattern generation. It is the responsibility of the user to free used attributes using vme_dma_free_attribute().”…”�”}”(hj{Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M“hjÌFubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjŒGh]”hŒReturn”…”�”}”(hjŽGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjŠGubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M—hjÌFubhÝ)�”}”(hŒ.Pointer to VME DMA attribute, NULL on failure.”h]”hŒ.Pointer to VME DMA attribute, NULL on failure.”…”�”}”(hj¢Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M˜hjÌFubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ"vme_dma_pci_attribute (C function)”Œc.vme_dma_pci_attribute”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ@struct vme_dma_attr * vme_dma_pci_attribute (dma_addr_t address)”h]”jZ )�”}”(hŒ>struct vme_dma_attr *vme_dma_pci_attribute(dma_addr_t address)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÑGh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjÍGh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M·ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßGh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÍGh²hh³jÞGh´M·ubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_attr”h]”hŒ vme_dma_attr”…”�”}”(hjðGh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjíGubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jòGŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_dma_pci_attribute”sbŒc.vme_dma_pci_attribute”†”asbuh1hhjÍGh²hh³jÞGh´M·ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÍGh²hh³jÞGh´M·ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjÍGh²hh³jÞGh´M·ubjƒ )�”}”(hŒvme_dma_pci_attribute”h]”j‰ )�”}”(hjHh]”hŒvme_dma_pci_attribute”…”�”}”(hj0Hh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj,Hubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjÍGh²hh³jÞGh´M·ubjç)�”}”(hŒ(dma_addr_t address)”h]”jí)�”}”(hŒdma_addr_t address”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒ dma_addr_t”h]”hŒ dma_addr_t”…”�”}”(hjNHh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjKHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jPHŒmodname”NŒ classname”Nj*j-)�”}”j0]”j HŒc.vme_dma_pci_attribute”†”asbuh1hhjGHubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlHh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjGHubj‰ )�”}”(hŒaddress”h]”hŒaddress”…”�”}”(hjzHh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjGHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjCHubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjÍGh²hh³jÞGh´M·ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjÉGh²hh³jÞGh´M·ubah}”(h]”jÄGah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jÞGh´M·hjÆGh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ)Create "PCI" type VME DMA list attribute.”h]”hŒ-Create “PCIâ€� type VME DMA list attribute.”…”�”}”(hj¤Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M·hj¡Hh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjÆGh²hh³jÞGh´M·ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j¼Hj× j¼HjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXE**Parameters** ``dma_addr_t address`` PCI base address for DMA transfer. **Description** Create VME DMA list attribute pointing to a location on PCI for DMA transfers. It is the responsibility of the user to free used attributes using vme_dma_free_attribute(). **Return** Pointer to VME DMA attribute, NULL on failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjÆHh]”hŒ Parameters”…”�”}”(hjÈHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÄHubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M»hjÀHubj( )�”}”(hhh]”j- )�”}”(hŒ:``dma_addr_t address`` PCI base address for DMA transfer. ”h]”(j3 )�”}”(hŒ``dma_addr_t address``”h]”hë)�”}”(hjåHh]”hŒdma_addr_t address”…”�”}”(hjçHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjãHubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¸hjßHubjM )�”}”(hhh]”hÝ)�”}”(hŒ"PCI base address for DMA transfer.”h]”hŒ"PCI base address for DMA transfer.”…”�”}”(hjþHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³júHh´M¸hjûHubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjßHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³júHh´M¸hjÜHubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjÀHubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj Ih]”hŒ Description”…”�”}”(hj"Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MºhjÀHubhÝ)�”}”(hŒ«Create VME DMA list attribute pointing to a location on PCI for DMA transfers. It is the responsibility of the user to free used attributes using vme_dma_free_attribute().”h]”hŒ«Create VME DMA list attribute pointing to a location on PCI for DMA transfers. It is the responsibility of the user to free used attributes using vme_dma_free_attribute().”…”�”}”(hj6Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¹hjÀHubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjGIh]”hŒReturn”…”�”}”(hjIIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjEIubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M½hjÀHubhÝ)�”}”(hŒ.Pointer to VME DMA attribute, NULL on failure.”h]”hŒ.Pointer to VME DMA attribute, NULL on failure.”…”�”}”(hj]Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¾hjÀHubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ"vme_dma_vme_attribute (C function)”Œc.vme_dma_vme_attribute”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒkstruct vme_dma_attr * vme_dma_vme_attribute (unsigned long long address, u32 aspace, u32 cycle, u32 dwidth)”h]”jZ )�”}”(hŒistruct vme_dma_attr *vme_dma_vme_attribute(unsigned long long address, u32 aspace, u32 cycle, u32 dwidth)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjŒIh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjˆIh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÞubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšIh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjˆIh²hh³j™Ih´MÞubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_attr”h]”hŒ vme_dma_attr”…”�”}”(hj«Ih²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¨Iubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j­IŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_dma_vme_attribute”sbŒc.vme_dma_vme_attribute”†”asbuh1hhjˆIh²hh³j™Ih´MÞubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌIh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjˆIh²hh³j™Ih´MÞubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÚIh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjˆIh²hh³j™Ih´MÞubjƒ )�”}”(hŒvme_dma_vme_attribute”h]”j‰ )�”}”(hjÉIh]”hŒvme_dma_vme_attribute”…”�”}”(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´MÞubjç)�”}”(hŒ?(unsigned long long address, u32 aspace, u32 cycle, u32 dwidth)”h]”(jí)�”}”(hŒunsigned long long address”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjJubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj"Jh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjJubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0Jh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj>Jh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjJubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLJh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjJubj‰ )�”}”(hŒaddress”h]”hŒaddress”…”�”}”(hjZJh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjþIubjí)�”}”(hŒ u32 aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjvJh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjsJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jxJŒmodname”NŒ classname”Nj*j-)�”}”j0]”jÇIŒc.vme_dma_vme_attribute”†”asbuh1hhjoJubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Jh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjoJubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hj¢Jh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjoJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjþIubjí)�”}”(hŒ u32 cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¾Jh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj»Jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÀJŒmodname”NŒ classname”Nj*j-)�”}”j0]”jÇIŒc.vme_dma_vme_attribute”†”asbuh1hhj·Jubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜJh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj·Jubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjêJh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj·Jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjþIubjí)�”}”(hŒ u32 dwidth”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jKŒmodname”NŒ classname”Nj*j-)�”}”j0]”jÇIŒc.vme_dma_vme_attribute”†”asbuh1hhjÿJubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Kh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÿJubj‰ )�”}”(hŒdwidth”h]”hŒdwidth”…”�”}”(hj2Kh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÿJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjþIubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjˆIh²hh³j™Ih´MÞubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj„Ih²hh³j™Ih´MÞubah}”(h]”jIah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j™Ih´MÞhj�Ih²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ)Create "VME" type VME DMA list attribute.”h]”hŒ-Create “VMEâ€� type VME DMA list attribute.”…”�”}”(hj\Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÞhjYKh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj�Ih²hh³j™Ih´MÞubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jtKj× jtKjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX**Parameters** ``unsigned long long address`` VME base address for DMA transfer. ``u32 aspace`` VME address space to use for DMA transfer. ``u32 cycle`` VME bus cycle to use for DMA transfer. ``u32 dwidth`` VME data width to use for DMA transfer. **Description** Create VME DMA list attribute pointing to a location on the VME bus for DMA transfers. It is the responsibility of the user to free used attributes using vme_dma_free_attribute(). **Return** Pointer to VME DMA attribute, NULL on failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj~Kh]”hŒ Parameters”…”�”}”(hj€Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj|Kubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MâhjxKubj( )�”}”(hhh]”(j- )�”}”(hŒB``unsigned long long address`` VME base address for DMA transfer. ”h]”(j3 )�”}”(hŒ``unsigned long long address``”h]”hë)�”}”(hj�Kh]”hŒunsigned long long address”…”�”}”(hjŸKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj›Kubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mßhj—KubjM )�”}”(hhh]”hÝ)�”}”(hŒ"VME base address for DMA transfer.”h]”hŒ"VME base address for DMA transfer.”…”�”}”(hj¶Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j²Kh´Mßhj³Kubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj—Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j²Kh´Mßhj”Kubj- )�”}”(hŒ:``u32 aspace`` VME address space to use for DMA transfer. ”h]”(j3 )�”}”(hŒ``u32 aspace``”h]”hë)�”}”(hjÖKh]”hŒ u32 aspace”…”�”}”(hjØKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÔKubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MàhjÐKubjM )�”}”(hhh]”hÝ)�”}”(hŒ*VME address space to use for DMA transfer.”h]”hŒ*VME address space to use for DMA transfer.”…”�”}”(hjïKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jëKh´MàhjìKubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÐKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jëKh´Màhj”Kubj- )�”}”(hŒ5``u32 cycle`` VME bus cycle to use for DMA transfer. ”h]”(j3 )�”}”(hŒ ``u32 cycle``”h]”hë)�”}”(hjLh]”hŒ u32 cycle”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Máhj LubjM )�”}”(hhh]”hÝ)�”}”(hŒ&VME bus cycle to use for DMA transfer.”h]”hŒ&VME bus cycle to use for DMA transfer.”…”�”}”(hj(Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j$Lh´Máhj%Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j$Lh´Máhj”Kubj- )�”}”(hŒ7``u32 dwidth`` VME data width to use for DMA transfer. ”h]”(j3 )�”}”(hŒ``u32 dwidth``”h]”hë)�”}”(hjHLh]”hŒ u32 dwidth”…”�”}”(hjJLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjFLubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MâhjBLubjM )�”}”(hhh]”hÝ)�”}”(hŒ'VME data width to use for DMA transfer.”h]”hŒ'VME data width to use for DMA transfer.”…”�”}”(hjaLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j]Lh´Mâhj^Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjBLubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j]Lh´Mâhj”Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjxKubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjƒLh]”hŒ Description”…”�”}”(hj…Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj�Lubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MähjxKubhÝ)�”}”(hŒ³Create VME DMA list attribute pointing to a location on the VME bus for DMA transfers. It is the responsibility of the user to free used attributes using vme_dma_free_attribute().”h]”hŒ³Create VME DMA list attribute pointing to a location on the VME bus for DMA transfers. It is the responsibility of the user to free used attributes using vme_dma_free_attribute().”…”�”}”(hj™Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MãhjxKubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjªLh]”hŒReturn”…”�”}”(hj¬Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj¨Lubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MçhjxKubhÝ)�”}”(hŒ.Pointer to VME DMA attribute, NULL on failure.”h]”hŒ.Pointer to VME DMA attribute, NULL on failure.”…”�”}”(hjÀLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MèhjxKubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ#vme_dma_free_attribute (C function)”Œc.vme_dma_free_attribute”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ=void vme_dma_free_attribute (struct vme_dma_attr *attributes)”h]”jZ )�”}”(hŒ )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_dma_list_add (C function)”Œc.vme_dma_list_add”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒsint vme_dma_list_add (struct vme_dma_list *list, struct vme_dma_attr *src, struct vme_dma_attr *dest, size_t count)”h]”jZ )�”}”(hŒrint vme_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, struct vme_dma_attr *dest, size_t count)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjpNh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjlNh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjlNh²hh³j~Nh´Mubjƒ )�”}”(hŒvme_dma_list_add”h]”j‰ )�”}”(hŒvme_dma_list_add”h]”hŒvme_dma_list_add”…”�”}”(hj‘Nh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj�Nubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjlNh²hh³j~Nh´Mubjç)�”}”(hŒ^(struct vme_dma_list *list, struct vme_dma_attr *src, struct vme_dma_attr *dest, size_t count)”h]”(jí)�”}”(hŒstruct vme_dma_list *list”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj­Nh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj©Nubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºNh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj©Nubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_list”h]”hŒ vme_dma_list”…”�”}”(hjËNh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÈNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÍNŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j“NsbŒc.vme_dma_list_add”†”asbuh1hhj©Nubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëNh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj©Nubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjùNh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj©Nubj‰ )�”}”(hŒlist”h]”hŒlist”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj©Nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¥Nubjí)�”}”(hŒstruct vme_dma_attr *src”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjOubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,Oh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjOubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_attr”h]”hŒ vme_dma_attr”…”�”}”(hj=Oh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj:Oubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j?OŒmodname”NŒ classname”Nj*j-)�”}”j0]”jçNŒc.vme_dma_list_add”†”asbuh1hhjOubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[Oh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjOubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjiOh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjOubj‰ )�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hjvOh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¥Nubjí)�”}”(hŒstruct vme_dma_attr *dest”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj�Oh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj‹Oubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœOh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj‹Oubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_attr”h]”hŒ vme_dma_attr”…”�”}”(hj­Oh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjªOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j¯OŒmodname”NŒ classname”Nj*j-)�”}”j0]”jçNŒc.vme_dma_list_add”†”asbuh1hhj‹Oubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËOh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj‹Oubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÙOh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj‹Oubj‰ )�”}”(hŒdest”h]”hŒdest”…”�”}”(hjæOh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj‹Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¥Nubjí)�”}”(hŒ size_t count”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÿOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jPŒmodname”NŒ classname”Nj*j-)�”}”j0]”jçNŒc.vme_dma_list_add”†”asbuh1hhjûOubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ph²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjûOubj‰ )�”}”(hŒcount”h]”hŒcount”…”�”}”(hj.Ph²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjûOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¥Nubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjlNh²hh³j~Nh´Mubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjhNh²hh³j~Nh´Mubah}”(h]”jcNah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j~Nh´MhjeNh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒAdd entry to a VME DMA list.”h]”hŒAdd entry to a VME DMA list.”…”�”}”(hjXPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjUPh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjeNh²hh³j~Nh´Mubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jpPj× jpPjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXÇ**Parameters** ``struct vme_dma_list *list`` Pointer to VME list. ``struct vme_dma_attr *src`` Pointer to DMA list attribute to use as source. ``struct vme_dma_attr *dest`` Pointer to DMA list attribute to use as destination. ``size_t count`` Number of bytes to transfer. **Description** Add an entry to the provided VME DMA list. Entry requires pointers to source and destination DMA attributes and a count. Please note, the attributes supported as source and destinations for transfers are hardware dependent. **Return** Zero on success, -EINVAL if operation is not supported on this device or if the link list has already been submitted for execution. Hardware specific errors also possible.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjzPh]”hŒ Parameters”…”�”}”(hj|Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjxPubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjtPubj( )�”}”(hhh]”(j- )�”}”(hŒ3``struct vme_dma_list *list`` Pointer to VME list. ”h]”(j3 )�”}”(hŒ``struct vme_dma_list *list``”h]”hë)�”}”(hj™Ph]”hŒstruct vme_dma_list *list”…”�”}”(hj›Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj—Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj“PubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME list.”h]”hŒPointer to VME list.”…”�”}”(hj²Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j®Ph´Mhj¯Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj“Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j®Ph´Mhj�Pubj- )�”}”(hŒM``struct vme_dma_attr *src`` Pointer to DMA list attribute to use as source. ”h]”(j3 )�”}”(hŒ``struct vme_dma_attr *src``”h]”hë)�”}”(hjÒPh]”hŒstruct vme_dma_attr *src”…”�”}”(hjÔPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÐPubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjÌPubjM )�”}”(hhh]”hÝ)�”}”(hŒ/Pointer to DMA list attribute to use as source.”h]”hŒ/Pointer to DMA list attribute to use as source.”…”�”}”(hjëPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jçPh´MhjèPubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÌPubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jçPh´Mhj�Pubj- )�”}”(hŒS``struct vme_dma_attr *dest`` Pointer to DMA list attribute to use as destination. ”h]”(j3 )�”}”(hŒ``struct vme_dma_attr *dest``”h]”hë)�”}”(hj Qh]”hŒstruct vme_dma_attr *dest”…”�”}”(hj Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj Qubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjQubjM )�”}”(hhh]”hÝ)�”}”(hŒ4Pointer to DMA list attribute to use as destination.”h]”hŒ4Pointer to DMA list attribute to use as destination.”…”�”}”(hj$Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j Qh´Mhj!Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j Qh´Mhj�Pubj- )�”}”(hŒ.``size_t count`` Number of bytes to transfer. ”h]”(j3 )�”}”(hŒ``size_t count``”h]”hë)�”}”(hjDQh]”hŒ size_t count”…”�”}”(hjFQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjBQubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj>QubjM )�”}”(hhh]”hÝ)�”}”(hŒNumber of bytes to transfer.”h]”hŒNumber of bytes to transfer.”…”�”}”(hj]Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jYQh´MhjZQubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj>Qubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jYQh´Mhj�Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjtPubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjQh]”hŒ Description”…”�”}”(hj�Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj}Qubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjtPubhÝ)�”}”(hŒxAdd an entry to the provided VME DMA list. Entry requires pointers to source and destination DMA attributes and a count.”h]”hŒxAdd an entry to the provided VME DMA list. Entry requires pointers to source and destination DMA attributes and a count.”…”�”}”(hj•Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MhjtPubhÝ)�”}”(hŒfPlease note, the attributes supported as source and destinations for transfers are hardware dependent.”h]”hŒfPlease note, the attributes supported as source and destinations for transfers are hardware dependent.”…”�”}”(hj¤Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hjtPubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjµQh]”hŒReturn”…”�”}”(hj·Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj³Qubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M#hjtPubhÝ)�”}”(hŒ«Zero on success, -EINVAL if operation is not supported on this device or if the link list has already been submitted for execution. Hardware specific errors also possible.”h]”hŒ«Zero on success, -EINVAL if operation is not supported on this device or if the link list has already been submitted for execution. Hardware specific errors also possible.”…”�”}”(hjËQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M$hjtPubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_dma_list_exec (C function)”Œc.vme_dma_list_exec”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ1int vme_dma_list_exec (struct vme_dma_list *list)”h]”jZ )�”}”(hŒ0int vme_dma_list_exec(struct vme_dma_list *list)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjúQh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjöQh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MBubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Rh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjöQh²hh³jRh´MBubjƒ )�”}”(hŒvme_dma_list_exec”h]”j‰ )�”}”(hŒvme_dma_list_exec”h]”hŒvme_dma_list_exec”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjRubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjöQh²hh³jRh´MBubjç)�”}”(hŒ(struct vme_dma_list *list)”h]”jí)�”}”(hŒstruct vme_dma_list *list”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj7Rh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj3Rubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDRh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj3Rubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_list”h]”hŒ vme_dma_list”…”�”}”(hjURh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjRRubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jWRŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jRsbŒc.vme_dma_list_exec”†”asbuh1hhj3Rubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuRh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj3Rubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjƒRh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj3Rubj‰ )�”}”(hŒlist”h]”hŒlist”…”�”}”(hj�Rh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj3Rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj/Rubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjöQh²hh³jRh´MBubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjòQh²hh³jRh´MBubah}”(h]”jíQah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jRh´MBhjïQh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ#Queue a VME DMA list for execution.”h]”hŒ#Queue a VME DMA list for execution.”…”�”}”(hjºRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MBhj·Rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjïQh²hh³jRh´MBubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÒRj× jÒRjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX7**Parameters** ``struct vme_dma_list *list`` Pointer to VME list. **Description** Queue the provided VME DMA list for execution. The call will return once the list has been executed. **Return** Zero on success, -EINVAL if operation is not supported on this device. Hardware specific errors also possible.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjÜRh]”hŒ Parameters”…”�”}”(hjÞRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÚRubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MFhjÖRubj( )�”}”(hhh]”j- )�”}”(hŒ3``struct vme_dma_list *list`` Pointer to VME list. ”h]”(j3 )�”}”(hŒ``struct vme_dma_list *list``”h]”hë)�”}”(hjûRh]”hŒstruct vme_dma_list *list”…”�”}”(hjýRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjùRubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MChjõRubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME list.”h]”hŒPointer to VME list.”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jSh´MChjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjõRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jSh´MChjòRubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjÖRubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj6Sh]”hŒ Description”…”�”}”(hj8Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj4Subah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”•%h´MEhjÖRubhÝ)�”}”(hŒdQueue the provided VME DMA list for execution. The call will return once the list has been executed.”h]”hŒdQueue the provided VME DMA list for execution. The call will return once the list has been executed.”…”�”}”(hjLSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MDhjÖRubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hj]Sh]”hŒReturn”…”�”}”(hj_Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj[Subah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MGhjÖRubhÝ)�”}”(hŒnZero on success, -EINVAL if operation is not supported on this device. Hardware specific errors also possible.”h]”hŒnZero on success, -EINVAL if operation is not supported on this device. Hardware specific errors also possible.”…”�”}”(hjsSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MHhjÖRubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_dma_list_free (C function)”Œc.vme_dma_list_free”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ1int vme_dma_list_free (struct vme_dma_list *list)”h]”jZ )�”}”(hŒ0int vme_dma_list_free(struct vme_dma_list *list)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj¢Sh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjžSh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Maubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±Sh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjžSh²hh³j°Sh´Maubjƒ )�”}”(hŒvme_dma_list_free”h]”j‰ )�”}”(hŒvme_dma_list_free”h]”hŒvme_dma_list_free”…”�”}”(hjÃSh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¿Subah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjžSh²hh³j°Sh´Maubjç)�”}”(hŒ(struct vme_dma_list *list)”h]”jí)�”}”(hŒstruct vme_dma_list *list”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjßSh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjÛSubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìSh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÛSubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_dma_list”h]”hŒ vme_dma_list”…”�”}”(hjýSh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjúSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÿSŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jÅSsbŒc.vme_dma_list_free”†”asbuh1hhjÛSubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÛSubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj+Th²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjÛSubj‰ )�”}”(hŒlist”h]”hŒlist”…”�”}”(hj8Th²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÛSubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj×Subah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjžSh²hh³j°Sh´Maubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjšSh²hh³j°Sh´Maubah}”(h]”j•Sah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j°Sh´Mahj—Sh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒFree a VME DMA list.”h]”hŒFree a VME DMA list.”…”�”}”(hjbTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mahj_Th²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj—Sh²hh³j°Sh´Maubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jzTj× jzTjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX**Parameters** ``struct vme_dma_list *list`` Pointer to VME list. **Description** Free the provided DMA list and all its entries. **Return** Zero on success, -EINVAL on invalid VME resource, -EBUSY if resource is still in use. Hardware specific errors also possible.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj„Th]”hŒ Parameters”…”�”}”(hj†Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj‚Tubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mehj~Tubj( )�”}”(hhh]”j- )�”}”(hŒ3``struct vme_dma_list *list`` Pointer to VME list. ”h]”(j3 )�”}”(hŒ``struct vme_dma_list *list``”h]”hë)�”}”(hj£Th]”hŒstruct vme_dma_list *list”…”�”}”(hj¥Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj¡Tubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mbhj�TubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME list.”h]”hŒPointer to VME list.”…”�”}”(hj¼Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j¸Th´Mbhj¹Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj�Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j¸Th´MbhjšTubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hj~TubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjÞTh]”hŒ Description”…”�”}”(hjàTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÜTubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mdhj~TubhÝ)�”}”(hŒ/Free the provided DMA list and all its entries.”h]”hŒ/Free the provided DMA list and all its entries.”…”�”}”(hjôTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mchj~TubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjUh]”hŒReturn”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mehj~TubhÝ)�”}”(hŒ}Zero on success, -EINVAL on invalid VME resource, -EBUSY if resource is still in use. Hardware specific errors also possible.”h]”hŒ}Zero on success, -EINVAL on invalid VME resource, -EBUSY if resource is still in use. Hardware specific errors also possible.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mfhj~Tubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_dma_free (C function)”Œc.vme_dma_free”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ0int vme_dma_free (struct vme_resource *resource)”h]”jZ )�”}”(hŒ/int vme_dma_free(struct vme_resource *resource)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjJUh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjFUh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‹ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYUh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjFUh²hh³jXUh´M‹ubjƒ )�”}”(hŒ vme_dma_free”h]”j‰ )�”}”(hŒ vme_dma_free”h]”hŒ vme_dma_free”…”�”}”(hjkUh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjgUubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjFUh²hh³jXUh´M‹ubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj‡Uh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjƒUubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Uh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjƒUubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj¥Uh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¢Uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j§UŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jmUsbŒc.vme_dma_free”†”asbuh1hhjƒUubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅUh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjƒUubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÓUh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjƒUubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjàUh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjƒUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjUubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjFUh²hh³jXUh´M‹ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjBUh²hh³jXUh´M‹ubah}”(h]”j=Uah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jXUh´M‹hj?Uh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒFree a VME DMA resource.”h]”hŒFree a VME DMA resource.”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‹hjVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj?Uh²hh³jXUh´M‹ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j"Vj× j"VjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX**Parameters** ``struct vme_resource *resource`` Pointer to VME DMA resource. **Description** Free the provided DMA resource so that it may be reallocated. **Return** Zero on success, -EINVAL on invalid VME resource, -EBUSY if resource is still active.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj,Vh]”hŒ Parameters”…”�”}”(hj.Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj*Vubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj&Vubj( )�”}”(hhh]”j- )�”}”(hŒ?``struct vme_resource *resource`` Pointer to VME DMA resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjKVh]”hŒstruct vme_resource *resource”…”�”}”(hjMVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjIVubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŒhjEVubjM )�”}”(hhh]”hÝ)�”}”(hŒPointer to VME DMA resource.”h]”hŒPointer to VME DMA resource.”…”�”}”(hjdVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j`Vh´MŒhjaVubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjEVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j`Vh´MŒhjBVubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hj&VubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj†Vh]”hŒ Description”…”�”}”(hjˆVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj„Vubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŽhj&VubhÝ)�”}”(hŒ=Free the provided DMA resource so that it may be reallocated.”h]”hŒ=Free the provided DMA resource so that it may be reallocated.”…”�”}”(hjœVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj&VubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hj­Vh]”hŒReturn”…”�”}”(hj¯Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj«Vubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj&VubhÝ)�”}”(hŒUZero on success, -EINVAL on invalid VME resource, -EBUSY if resource is still active.”h]”hŒUZero on success, -EINVAL on invalid VME resource, -EBUSY if resource is still active.”…”�”}”(hjÃVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hj&Vubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_irq_request (C function)”Œc.vme_irq_request”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒŒint vme_irq_request (struct vme_dev *vdev, int level, int statid, void (*callback)(int level, int statid, void *priv_data), void *priv_data)”h]”jZ )�”}”(hŒ‹int vme_irq_request(struct vme_dev *vdev, int level, int statid, void (*callback)(int level, int statid, void *priv_data), void *priv_data)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjòVh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjîVh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mûubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjîVh²hh³jWh´Mûubjƒ )�”}”(hŒvme_irq_request”h]”j‰ )�”}”(hŒvme_irq_request”h]”hŒvme_irq_request”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjWubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjîVh²hh³jWh´Mûubjç)�”}”(hŒx(struct vme_dev *vdev, int level, int statid, void (*callback)(int level, int statid, void *priv_data), void *priv_data)”h]”(jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj/Wh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj+Wubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_irq_free (C function)”Œc.vme_irq_free”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ?void vme_irq_free (struct vme_dev *vdev, int level, int statid)”h]”jZ )�”}”(hŒ>void vme_irq_free(struct vme_dev *vdev, int level, int statid)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hje[h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hja[h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M7ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt[h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hja[h²hh³js[h´M7ubjƒ )�”}”(hŒ vme_irq_free”h]”j‰ )�”}”(hŒ vme_irq_free”h]”hŒ vme_irq_free”…”�”}”(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´M7ubjç)�”}”(hŒ-(struct vme_dev *vdev, int level, int statid)”h]”(jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj¢[h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjž[ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯[h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjž[ubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjÀ[h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj½[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÂ[Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jˆ[sbŒc.vme_irq_free”†”asbuh1hhjž[ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà[h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjž[ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjî[h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjž[ubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hjû[h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjž[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjš[ubjí)�”}”(hŒ int level”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj\ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"\h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj\ubj‰ )�”}”(hŒlevel”h]”hŒlevel”…”�”}”(hj0\h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjš[ubjí)�”}”(hŒ int statid”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjI\h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjE\ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW\h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjE\ubj‰ )�”}”(hŒstatid”h]”hŒstatid”…”�”}”(hje\h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjE\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjš[ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhja[h²hh³js[h´M7ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj][h²hh³js[h´M7ubah}”(h]”jX[ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³js[h´M7hjZ[h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒFree a VME interrupt.”h]”hŒFree a VME interrupt.”…”�”}”(hj�\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M7hjŒ\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjZ[h²hh³js[h´M7ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j§\j× j§\jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXA**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ``int level`` Interrupt priority of interrupt being freed. ``int statid`` Interrupt vector of interrupt being freed. **Description** Remove previously attached callback from VME interrupt priority/vector.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M;hj«\ubj( )�”}”(hhh]”(j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hjÐ\h]”hŒstruct vme_dev *vdev”…”�”}”(hjÒ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÎ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M8hjÊ\ubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hjé\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jå\h´M8hjæ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÊ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jå\h´M8hjÇ\ubj- )�”}”(hŒ;``int level`` Interrupt priority of interrupt being freed. ”h]”(j3 )�”}”(hŒ ``int level``”h]”hë)�”}”(hj ]h]”hŒ int level”…”�”}”(hj ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M9hj]ubjM )�”}”(hhh]”hÝ)�”}”(hŒ,Interrupt priority of interrupt being freed.”h]”hŒ,Interrupt priority of interrupt being freed.”…”�”}”(hj"]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j]h´M9hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j]h´M9hjÇ\ubj- )�”}”(hŒ:``int statid`` Interrupt vector of interrupt being freed. ”h]”(j3 )�”}”(hŒ``int statid``”h]”hë)�”}”(hjB]h]”hŒ int statid”…”�”}”(hjD]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj@]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M:hj<]ubjM )�”}”(hhh]”hÝ)�”}”(hŒ*Interrupt vector of interrupt being freed.”h]”hŒ*Interrupt vector of interrupt being freed.”…”�”}”(hj[]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jW]h´M:hjX]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj<]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jW]h´M:hjÇ\ubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M<hj«\ubhÝ)�”}”(hŒGRemove previously attached callback from VME interrupt priority/vector.”h]”hŒGRemove previously attached callback from VME interrupt priority/vector.”…”�”}”(hj“]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.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 Œvme_irq_generate (C function)”Œc.vme_irq_generate”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒBint vme_irq_generate (struct vme_dev *vdev, int level, int statid)”h]”jZ )�”}”(hŒAint vme_irq_generate(struct vme_dev *vdev, int level, int statid)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjÂ]h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj¾]h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mcubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ]h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¾]h²hh³jÐ]h´Mcubjƒ )�”}”(hŒvme_irq_generate”h]”j‰ )�”}”(hŒvme_irq_generate”h]”hŒvme_irq_generate”…”�”}”(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´Mcubjç)�”}”(hŒ-(struct vme_dev *vdev, int level, int statid)”h]”(jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÿ]h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjû]ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ^h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjû]ubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j^Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jå]sbŒc.vme_irq_generate”†”asbuh1hhjû]ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=^h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjû]ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjK^h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjû]ubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hjX^h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjû]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj÷]ubjí)�”}”(hŒ int level”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjq^h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjm^ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjm^ubj‰ )�”}”(hŒlevel”h]”hŒlevel”…”�”}”(hj�^h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjm^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj÷]ubjí)�”}”(hŒ int statid”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj¦^h²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj¢^ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´^h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¢^ubj‰ )�”}”(hŒstatid”h]”hŒstatid”…”�”}”(hjÂ^h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¢^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj÷]ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj¾]h²hh³jÐ]h´Mcubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjº]h²hh³jÐ]h´Mcubah}”(h]”jµ]ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jÐ]h´Mchj·]h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒGenerate VME interrupt.”h]”hŒGenerate VME interrupt.”…”�”}”(hjì^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mchjé^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj·]h²hh³jÐ]h´Mcubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j_j× j_jØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXå**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ``int level`` Interrupt priority at which to assert the interrupt. ``int statid`` Interrupt vector to associate with the interrupt. **Description** Generate a VME interrupt of the provided level and with the provided statid. **Return** Zero on success, -EINVAL on invalid vme device, level or if the function is not supported. Hardware specific errors also possible.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mghj_ubj( )�”}”(hhh]”(j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hj-_h]”hŒstruct vme_dev *vdev”…”�”}”(hj/_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj+_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mdhj'_ubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hjF_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jB_h´MdhjC_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj'_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jB_h´Mdhj$_ubj- )�”}”(hŒC``int level`` Interrupt priority at which to assert the interrupt. ”h]”(j3 )�”}”(hŒ ``int level``”h]”hë)�”}”(hjf_h]”hŒ int level”…”�”}”(hjh_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjd_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mehj`_ubjM )�”}”(hhh]”hÝ)�”}”(hŒ4Interrupt priority at which to assert the interrupt.”h]”hŒ4Interrupt priority at which to assert the interrupt.”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j{_h´Mehj|_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj`_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j{_h´Mehj$_ubj- )�”}”(hŒA``int statid`` Interrupt vector to associate with the interrupt. ”h]”(j3 )�”}”(hŒ``int statid``”h]”hë)�”}”(hjŸ_h]”hŒ int statid”…”�”}”(hj¡_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj�_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mfhj™_ubjM )�”}”(hhh]”hÝ)�”}”(hŒ1Interrupt vector to associate with the interrupt.”h]”hŒ1Interrupt vector to associate with the interrupt.”…”�”}”(hj¸_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j´_h´Mfhjµ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj™_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j´_h´Mfhj$_ubeh}”(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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhhj_ubhÝ)�”}”(hŒLGenerate a VME interrupt of the provided level and with the provided statid.”h]”hŒLGenerate a VME interrupt of the provided level and with the provided statid.”…”�”}”(hjð_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mghj_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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mjhj_ubhÝ)�”}”(hŒ‚Zero on success, -EINVAL on invalid vme device, level or if the function is not supported. Hardware specific errors also possible.”h]”hŒ‚Zero on success, -EINVAL on invalid vme device, level or if the function is not supported. Hardware specific errors also possible.”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mkhj_ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_lm_request (C function)”Œc.vme_lm_request”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ;struct vme_resource * vme_lm_request (struct vme_dev *vdev)”h]”jZ )�”}”(hŒ9struct vme_resource *vme_lm_request(struct vme_dev *vdev)”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjF`h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjB`h²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mˆubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT`h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjB`h²hh³jS`h´Mˆubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hje`h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjb`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jg`Œmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&Œvme_lm_request”sbŒc.vme_lm_request”†”asbuh1hhjB`h²hh³jS`h´Mˆubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†`h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjB`h²hh³jS`h´Mˆubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj”`h²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjB`h²hh³jS`h´Mˆubjƒ )�”}”(hŒvme_lm_request”h]”j‰ )�”}”(hjƒ`h]”hŒvme_lm_request”…”�”}”(hj¥`h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¡`ubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjB`h²hh³jS`h´Mˆubjç)�”}”(hŒ(struct vme_dev *vdev)”h]”jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÀ`h²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj¼`ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ`h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¼`ubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjÞ`h²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÛ`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jà`Œmodname”NŒ classname”Nj*j-)�”}”j0]”j�`Œc.vme_lm_request”†”asbuh1hhj¼`ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü`h²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¼`ubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj ah²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj¼`ubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¼`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¸`ubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjB`h²hh³jS`h´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj>`h²hh³jS`h´Mˆubah}”(h]”j9`ah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jS`h´Mˆhj;`h²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒRequest a VME location monitor”h]”hŒRequest a VME location monitor”…”�”}”(hjAah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mˆhj>ah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj;`h²hh³jS`h´Mˆubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jYaj× jYajØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXe**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. **Description** Allocate a location monitor resource to the driver. A location monitor allows the driver to monitor accesses to a contiguous number of addresses on the VME bus. **Return** Pointer to a VME resource on success or NULL on failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjcah]”hŒ Parameters”…”�”}”(hjeah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjaaubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŒhj]aubj( )�”}”(hhh]”j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hj‚ah]”hŒstruct vme_dev *vdev”…”�”}”(hj„ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj€aubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‰hj|aubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hj›ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j—ah´M‰hj˜aubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj|aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j—ah´M‰hjyaubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hj]aubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj½ah]”hŒ Description”…”�”}”(hj¿ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj»aubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M‹hj]aubhÝ)�”}”(hŒ Allocate a location monitor resource to the driver. A location monitor allows the driver to monitor accesses to a contiguous number of addresses on the VME bus.”h]”hŒ Allocate a location monitor resource to the driver. A location monitor allows the driver to monitor accesses to a contiguous number of addresses on the VME bus.”…”�”}”(hjÓah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŠhj]aubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjäah]”hŒReturn”…”�”}”(hjæah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjâaubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MŽhj]aubhÝ)�”}”(hŒ8Pointer to a VME resource on success or NULL on failure.”h]”hŒ8Pointer to a VME resource on success or NULL on failure.”…”�”}”(hjúah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.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 Œvme_lm_count (C function)”Œc.vme_lm_count”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ0int vme_lm_count (struct vme_resource *resource)”h]”jZ )�”}”(hŒ/int vme_lm_count(struct vme_resource *resource)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj)bh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj%bh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÊubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8bh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj%bh²hh³j7bh´MÊubjƒ )�”}”(hŒ vme_lm_count”h]”j‰ )�”}”(hŒ vme_lm_count”h]”hŒ vme_lm_count”…”�”}”(hjJbh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjFbubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj%bh²hh³j7bh´MÊubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjfbh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjbbubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsbh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjbbubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj„bh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj�bubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j†bŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jLbsbŒc.vme_lm_count”†”asbuh1hhjbbubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤bh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjbbubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj²bh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjbbubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj¿bh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjbbubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj^bubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj%bh²hh³j7bh´MÊubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj!bh²hh³j7bh´MÊubah}”(h]”jbah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j7bh´MÊhjbh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ+Determine number of VME Addresses monitored”h]”hŒ+Determine number of VME Addresses monitored”…”�”}”(hjébh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÊhjæbh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjbh²hh³j7bh´MÊubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jcj× jcjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXn**Parameters** ``struct vme_resource *resource`` Pointer to VME location monitor resource. **Description** The number of contiguous addresses monitored is hardware dependent. Return the number of contiguous addresses monitored by the location monitor. **Return** Count of addresses monitored or -EINVAL when provided with an invalid location monitor resource.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÎhjcubj( )�”}”(hhh]”j- )�”}”(hŒL``struct vme_resource *resource`` Pointer to VME location monitor resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj*ch]”hŒstruct vme_resource *resource”…”�”}”(hj,ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj(cubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MËhj$cubjM )�”}”(hhh]”hÝ)�”}”(hŒ)Pointer to VME location monitor resource.”h]”hŒ)Pointer to VME location monitor resource.”…”�”}”(hjCch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j?ch´MËhj@cubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj$cubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j?ch´MËhj!cubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjcubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjech]”hŒ Description”…”�”}”(hjgch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjccubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÍhjcubhÝ)�”}”(hŒ�The number of contiguous addresses monitored is hardware dependent. Return the number of contiguous addresses monitored by the location monitor.”h]”hŒ�The number of contiguous addresses monitored is hardware dependent. Return the number of contiguous addresses monitored by the location monitor.”…”�”}”(hj{ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÌhjcubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjŒch]”hŒReturn”…”�”}”(hjŽch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjŠcubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÐhjcubhÝ)�”}”(hŒ`Count of addresses monitored or -EINVAL when provided with an invalid location monitor resource.”h]”hŒ`Count of addresses monitored or -EINVAL when provided with an invalid location monitor resource.”…”�”}”(hj¢ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MÑhjcubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_lm_set (C function)”Œ c.vme_lm_set”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒaint vme_lm_set (struct vme_resource *resource, unsigned long long lm_base, u32 aspace, u32 cycle)”h]”jZ )�”}”(hŒ`int vme_lm_set(struct vme_resource *resource, unsigned long long lm_base, u32 aspace, u32 cycle)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjÑch²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjÍch²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Måubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjàch²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÍch²hh³jßch´Måubjƒ )�”}”(hŒ vme_lm_set”h]”j‰ )�”}”(hŒ vme_lm_set”h]”hŒ vme_lm_set”…”�”}”(hjòch²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjîcubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjÍch²hh³jßch´Måubjç)�”}”(hŒR(struct vme_resource *resource, unsigned long long lm_base, u32 aspace, u32 cycle)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj dubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj,dh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj)dubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j.dŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jôcsbŒ c.vme_lm_set”†”asbuh1hhj dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLdh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj dubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjZdh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj dubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjgdh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjdubjí)�”}”(hŒunsigned long long lm_base”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj€dh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj|dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽdh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj|dubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjœdh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj|dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªdh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj|dubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj¸dh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj|dubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆdh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj|dubj‰ )�”}”(hŒlm_base”h]”hŒlm_base”…”�”}”(hjÔdh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj|dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjdubjí)�”}”(hŒ u32 aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjðdh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjídubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jòdŒmodname”NŒ classname”Nj*j-)�”}”j0]”jHdŒ c.vme_lm_set”†”asbuh1hhjédubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjédubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjédubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjdubjí)�”}”(hŒ u32 cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj8eh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj5eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j:eŒmodname”NŒ classname”Nj*j-)�”}”j0]”jHdŒ c.vme_lm_set”†”asbuh1hhj1eubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVeh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj1eubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjdeh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj1eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjdubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjÍch²hh³jßch´Måubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjÉch²hh³jßch´Måubah}”(h]”jÄcah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jßch´MåhjÆch²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒConfigure location monitor”h]”hŒConfigure location monitor”…”�”}”(hjŽeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Måhj‹eh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjÆch²hh³jßch´Måubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ j¦ej× j¦ejØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX**Parameters** ``struct vme_resource *resource`` Pointer to VME location monitor resource. ``unsigned long long lm_base`` Base address to monitor. ``u32 aspace`` VME address space to monitor. ``u32 cycle`` VME bus cycle type to monitor. **Description** Set the base address, address space and cycle type of accesses to be monitored by the location monitor. **Return** Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”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³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Méhjªeubj( )�”}”(hhh]”(j- )�”}”(hŒL``struct vme_resource *resource`` Pointer to VME location monitor resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjÏeh]”hŒstruct vme_resource *resource”…”�”}”(hjÑeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÍeubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MæhjÉeubjM )�”}”(hhh]”hÝ)�”}”(hŒ)Pointer to VME location monitor resource.”h]”hŒ)Pointer to VME location monitor resource.”…”�”}”(hjèeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jäeh´Mæhjåeubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÉeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jäeh´MæhjÆeubj- )�”}”(hŒ8``unsigned long long lm_base`` Base address to monitor. ”h]”(j3 )�”}”(hŒ``unsigned long long lm_base``”h]”hë)�”}”(hjfh]”hŒunsigned long long lm_base”…”�”}”(hj fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MçhjfubjM )�”}”(hhh]”hÝ)�”}”(hŒBase address to monitor.”h]”hŒBase address to monitor.”…”�”}”(hj!fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jfh´Mçhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jfh´MçhjÆeubj- )�”}”(hŒ-``u32 aspace`` VME address space to monitor. ”h]”(j3 )�”}”(hŒ``u32 aspace``”h]”hë)�”}”(hjAfh]”hŒ u32 aspace”…”�”}”(hjCfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj?fubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mèhj;fubjM )�”}”(hhh]”hÝ)�”}”(hŒVME address space to monitor.”h]”hŒVME address space to monitor.”…”�”}”(hjZfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jVfh´MèhjWfubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj;fubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jVfh´MèhjÆeubj- )�”}”(hŒ-``u32 cycle`` VME bus cycle type to monitor. ”h]”(j3 )�”}”(hŒ ``u32 cycle``”h]”hë)�”}”(hjzfh]”hŒ u32 cycle”…”�”}”(hj|fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjxfubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MéhjtfubjM )�”}”(hhh]”hÝ)�”}”(hŒVME bus cycle type to monitor.”h]”hŒVME bus cycle type to monitor.”…”�”}”(hj“fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j�fh´Méhj�fubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjtfubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j�fh´MéhjÆeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjªeubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjµfh]”hŒ Description”…”�”}”(hj·fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj³fubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MëhjªeubhÝ)�”}”(hŒgSet the base address, address space and cycle type of accesses to be monitored by the location monitor.”h]”hŒgSet the base address, address space and cycle type of accesses to be monitored by the location monitor.”…”�”}”(hjËfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MêhjªeubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjÜfh]”hŒReturn”…”�”}”(hjÞfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÚfubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MíhjªeubhÝ)�”}”(hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”…”�”}”(hjòfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mîhjªeubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_lm_get (C function)”Œ c.vme_lm_get”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒdint vme_lm_get (struct vme_resource *resource, unsigned long long *lm_base, u32 *aspace, u32 *cycle)”h]”jZ )�”}”(hŒcint vme_lm_get(struct vme_resource *resource, unsigned long long *lm_base, u32 *aspace, u32 *cycle)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj!gh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjgh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0gh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjgh²hh³j/gh´M ubjƒ )�”}”(hŒ vme_lm_get”h]”j‰ )�”}”(hŒ vme_lm_get”h]”hŒ vme_lm_get”…”�”}”(hjBgh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj>gubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjgh²hh³j/gh´M ubjç)�”}”(hŒU(struct vme_resource *resource, unsigned long long *lm_base, u32 *aspace, u32 *cycle)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj^gh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjZgubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkgh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjZgubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hj|gh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjygubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j~gŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jDgsbŒ c.vme_lm_get”†”asbuh1hhjZgubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœgh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjZgubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjªgh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjZgubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj·gh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjZgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjVgubjí)�”}”(hŒunsigned long long *lm_base”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÐgh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjÌgubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞgh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÌgubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjìgh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjÌgubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúgh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÌgubjž)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjÌgubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÌgubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj$hh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjÌgubj‰ )�”}”(hŒlm_base”h]”hŒlm_base”…”�”}”(hj1hh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÌgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjVgubjí)�”}”(hŒ u32 *aspace”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hjMhh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjJhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jOhŒmodname”NŒ classname”Nj*j-)�”}”j0]”j˜gŒ c.vme_lm_get”†”asbuh1hhjFhubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkhh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjFhubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjyhh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjFhubj‰ )�”}”(hŒaspace”h]”hŒaspace”…”�”}”(hj†hh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjFhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjVgubjí)�”}”(hŒ u32 *cycle”h]”(h)�”}”(hhh]”j‰ )�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¢hh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjŸhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j¤hŒmodname”NŒ classname”Nj*j-)�”}”j0]”j˜gŒ c.vme_lm_get”†”asbuh1hhj›hubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀhh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj›hubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÎhh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj›hubj‰ )�”}”(hŒcycle”h]”hŒcycle”…”�”}”(hjÛhh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj›hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjVgubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjgh²hh³j/gh´M ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjgh²hh³j/gh´M ubah}”(h]”jgah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j/gh´M hjgh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ"Retrieve location monitor settings”h]”hŒ"Retrieve location monitor settings”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”•ÿÑh´M hjih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjgh²hh³j/gh´M ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jij× jijØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXo**Parameters** ``struct vme_resource *resource`` Pointer to VME location monitor resource. ``unsigned long long *lm_base`` Pointer used to output the base address monitored. ``u32 *aspace`` Pointer used to output the address space monitored. ``u32 *cycle`` Pointer used to output the VME bus cycle type monitored. **Description** Retrieve the base address, address space and cycle type of accesses to be monitored by the location monitor. **Return** Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj'ih]”hŒ Parameters”…”�”}”(hj)ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj%iubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hj!iubj( )�”}”(hhh]”(j- )�”}”(hŒL``struct vme_resource *resource`` Pointer to VME location monitor resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hjFih]”hŒstruct vme_resource *resource”…”�”}”(hjHih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjDiubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hj@iubjM )�”}”(hhh]”hÝ)�”}”(hŒ)Pointer to VME location monitor resource.”h]”hŒ)Pointer to VME location monitor resource.”…”�”}”(hj_ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j[ih´M hj\iubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj@iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j[ih´M hj=iubj- )�”}”(hŒS``unsigned long long *lm_base`` Pointer used to output the base address monitored. ”h]”(j3 )�”}”(hŒ``unsigned long long *lm_base``”h]”hë)�”}”(hjih]”hŒunsigned long long *lm_base”…”�”}”(hj�ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj}iubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hjyiubjM )�”}”(hhh]”hÝ)�”}”(hŒ2Pointer used to output the base address monitored.”h]”hŒ2Pointer used to output the base address monitored.”…”�”}”(hj˜ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j”ih´M hj•iubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjyiubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j”ih´M hj=iubj- )�”}”(hŒD``u32 *aspace`` Pointer used to output the address space monitored. ”h]”(j3 )�”}”(hŒ``u32 *aspace``”h]”hë)�”}”(hj¸ih]”hŒ u32 *aspace”…”�”}”(hjºih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj¶iubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hj²iubjM )�”}”(hhh]”hÝ)�”}”(hŒ3Pointer used to output the address space monitored.”h]”hŒ3Pointer used to output the address space monitored.”…”�”}”(hjÑih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jÍih´M hjÎiubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj²iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jÍih´M hj=iubj- )�”}”(hŒH``u32 *cycle`` Pointer used to output the VME bus cycle type monitored. ”h]”(j3 )�”}”(hŒ``u32 *cycle``”h]”hë)�”}”(hjñih]”hŒ u32 *cycle”…”�”}”(hjóih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjïiubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M hjëiubjM )�”}”(hhh]”hÝ)�”}”(hŒ8Pointer used to output the VME bus cycle type monitored.”h]”hŒ8Pointer used to output the VME bus cycle type monitored.”…”�”}”(hj jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jjh´M hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjëiubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jjh´M hj=iubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hj!iubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj,jh]”hŒ Description”…”�”}”(hj.jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj*jubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj!iubhÝ)�”}”(hŒlRetrieve the base address, address space and cycle type of accesses to be monitored by the location monitor.”h]”hŒlRetrieve the base address, address space and cycle type of accesses to be monitored by the location monitor.”…”�”}”(hjBjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj!iubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjSjh]”hŒReturn”…”�”}”(hjUjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjQjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj!iubhÝ)�”}”(hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”…”�”}”(hjijh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mhj!iubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_lm_attach (C function)”Œc.vme_lm_attach”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒdint vme_lm_attach (struct vme_resource *resource, int monitor, void (*callback)(void *), void *data)”h]”jZ )�”}”(hŒbint vme_lm_attach(struct vme_resource *resource, int monitor, void (*callback)(void*), void *data)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj˜jh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj”jh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M-ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§jh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj”jh²hh³j¦jh´M-ubjƒ )�”}”(hŒ vme_lm_attach”h]”j‰ )�”}”(hŒ vme_lm_attach”h]”hŒ vme_lm_attach”…”�”}”(hj¹jh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjµjubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj”jh²hh³j¦jh´M-ubjç)�”}”(hŒQ(struct vme_resource *resource, int monitor, void (*callback)(void*), void *data)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÕjh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjÑjubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâjh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÑjubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjójh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjðjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jõjŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j»jsbŒc.vme_lm_attach”†”asbuh1hhjÑjubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjÑjubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj!kh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjÑjubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj.kh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÑjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÍjubjí)�”}”(hŒ int monitor”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjGkh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjCkubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUkh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjCkubj‰ )�”}”(hŒmonitor”h]”hŒmonitor”…”�”}”(hjckh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjCkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÍjubjí)�”}”(hŒvoid (*callback)(void*)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj|kh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjxkubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠkh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjxkubj¾)�”}”(hj)Xh]”hŒ(”…”�”}”(hj˜kh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjxkubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj¥kh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjxkubj‰ )�”}”(hŒcallback”h]”hŒcallback”…”�”}”(hj²kh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjxkubj¾)�”}”(hjRXh]”hŒ)”…”�”}”(hjÀkh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjxkubj¾)�”}”(hj)Xh]”hŒ(”…”�”}”(hjÍkh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjxkubjž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÚkh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjxkubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjèkh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjxkubj¾)�”}”(hjRXh]”hŒ)”…”�”}”(hjõkh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjxkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÍjubjí)�”}”(hŒ void *data”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj lh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj lubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj lubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj)lh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj lubj‰ )�”}”(hŒdata”h]”hŒdata”…”�”}”(hj6lh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj lubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÍjubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj”jh²hh³j¦jh´M-ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj�jh²hh³j¦jh´M-ubah}”(h]”j‹jah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j¦jh´M-hj�jh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ-Provide callback for location monitor address”h]”hŒ-Provide callback for location monitor address”…”�”}”(hj`lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M-hj]lh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj�jh²hh³j¦jh´M-ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jxlj× jxljØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX®**Parameters** ``struct vme_resource *resource`` Pointer to VME location monitor resource. ``int monitor`` Offset to which callback should be attached. ``void (*callback)(void *)`` Pointer to callback function called when triggered. ``void *data`` Generic pointer that will be passed to the callback function. **Description** Attach a callback to the specified offset into the location monitors monitored addresses. A generic pointer is provided to allow data to be passed to the callback when called. **Return** Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj‚lh]”hŒ Parameters”…”�”}”(hj„lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj€lubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M1hj|lubj( )�”}”(hhh]”(j- )�”}”(hŒL``struct vme_resource *resource`` Pointer to VME location monitor resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj¡lh]”hŒstruct vme_resource *resource”…”�”}”(hj£lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjŸlubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M.hj›lubjM )�”}”(hhh]”hÝ)�”}”(hŒ)Pointer to VME location monitor resource.”h]”hŒ)Pointer to VME location monitor resource.”…”�”}”(hjºlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j¶lh´M.hj·lubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj›lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j¶lh´M.hj˜lubj- )�”}”(hŒ=``int monitor`` Offset to which callback should be attached. ”h]”(j3 )�”}”(hŒ``int monitor``”h]”hë)�”}”(hjÚlh]”hŒ int monitor”…”�”}”(hjÜlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjØlubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M/hjÔlubjM )�”}”(hhh]”hÝ)�”}”(hŒ,Offset to which callback should be attached.”h]”hŒ,Offset to which callback should be attached.”…”�”}”(hjólh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jïlh´M/hjðlubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjÔlubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jïlh´M/hj˜lubj- )�”}”(hŒQ``void (*callback)(void *)`` Pointer to callback function called when triggered. ”h]”(j3 )�”}”(hŒ``void (*callback)(void *)``”h]”hë)�”}”(hjmh]”hŒvoid (*callback)(void *)”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M0hj mubjM )�”}”(hhh]”hÝ)�”}”(hŒ3Pointer to callback function called when triggered.”h]”hŒ3Pointer to callback function called when triggered.”…”�”}”(hj,mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j(mh´M0hj)mubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj mubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j(mh´M0hj˜lubj- )�”}”(hŒM``void *data`` Generic pointer that will be passed to the callback function. ”h]”(j3 )�”}”(hŒ``void *data``”h]”hë)�”}”(hjLmh]”hŒ void *data”…”�”}”(hjNmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjJmubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M1hjFmubjM )�”}”(hhh]”hÝ)�”}”(hŒ=Generic pointer that will be passed to the callback function.”h]”hŒ=Generic pointer that will be passed to the callback function.”…”�”}”(hjemh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jamh´M1hjbmubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjFmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jamh´M1hj˜lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hj|lubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj‡mh]”hŒ Description”…”�”}”(hj‰mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj…mubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M3hj|lubhÝ)�”}”(hŒ¯Attach a callback to the specified offset into the location monitors monitored addresses. A generic pointer is provided to allow data to be passed to the callback when called.”h]”hŒ¯Attach a callback to the specified offset into the location monitors monitored addresses. A generic pointer is provided to allow data to be passed to the callback when called.”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M2hj|lubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hj®mh]”hŒReturn”…”�”}”(hj°mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj¬mubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M6hj|lubhÝ)�”}”(hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”…”�”}”(hjÄmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M7hj|lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_lm_detach (C function)”Œc.vme_lm_detach”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ>int vme_lm_detach (struct vme_resource *resource, int monitor)”h]”jZ )�”}”(hŒ=int vme_lm_detach(struct vme_resource *resource, int monitor)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjómh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjïmh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MRubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjïmh²hh³jnh´MRubjƒ )�”}”(hŒ vme_lm_detach”h]”j‰ )�”}”(hŒ vme_lm_detach”h]”hŒ vme_lm_detach”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjnubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjïmh²hh³jnh´MRubjç)�”}”(hŒ,(struct vme_resource *resource, int monitor)”h]”(jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj0nh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj,nubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=nh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj,nubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjNnh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjKnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jPnŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jnsbŒc.vme_lm_detach”†”asbuh1hhj,nubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnnh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj,nubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj|nh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj,nubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hj‰nh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj,nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj(nubjí)�”}”(hŒ int monitor”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj¢nh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjžnubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°nh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjžnubj‰ )�”}”(hŒmonitor”h]”hŒmonitor”…”�”}”(hj¾nh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjžnubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj(nubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjïmh²hh³jnh´MRubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjëmh²hh³jnh´MRubah}”(h]”jæmah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jnh´MRhjèmh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ,Remove callback for location monitor address”h]”hŒ,Remove callback for location monitor address”…”�”}”(hjènh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MRhjånh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjèmh²hh³jnh´MRubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ joj× jojØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hXÂ**Parameters** ``struct vme_resource *resource`` Pointer to VME location monitor resource. ``int monitor`` Offset to which callback should be removed. **Description** Remove the callback associated with the specified offset into the location monitors monitored addresses. **Return** Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hj oh]”hŒ Parameters”…”�”}”(hj oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MVhjoubj( )�”}”(hhh]”(j- )�”}”(hŒL``struct vme_resource *resource`` Pointer to VME location monitor resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj)oh]”hŒstruct vme_resource *resource”…”�”}”(hj+oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj'oubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MShj#oubjM )�”}”(hhh]”hÝ)�”}”(hŒ)Pointer to VME location monitor resource.”h]”hŒ)Pointer to VME location monitor resource.”…”�”}”(hjBoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j>oh´MShj?oubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj#oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j>oh´MShj oubj- )�”}”(hŒ<``int monitor`` Offset to which callback should be removed. ”h]”(j3 )�”}”(hŒ``int monitor``”h]”hë)�”}”(hjboh]”hŒ int monitor”…”�”}”(hjdoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj`oubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MThj\oubjM )�”}”(hhh]”hÝ)�”}”(hŒ+Offset to which callback should be removed.”h]”hŒ+Offset to which callback should be removed.”…”�”}”(hj{oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jwoh´MThjxoubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj\oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jwoh´MThj oubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjoubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj�oh]”hŒ Description”…”�”}”(hjŸoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj›oubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MVhjoubhÝ)�”}”(hŒhRemove the callback associated with the specified offset into the location monitors monitored addresses.”h]”hŒhRemove the callback associated with the specified offset into the location monitors monitored addresses.”…”�”}”(hj³oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MUhjoubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjÄoh]”hŒReturn”…”�”}”(hjÆoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÂoubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MXhjoubhÝ)�”}”(hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”h]”hŒ�Zero on success, -EINVAL when provided with an invalid location monitor resource or function is not supported. Hardware specific errors may also be returned.”…”�”}”(hjÚoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MYhjoubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_lm_free (C function)”Œ c.vme_lm_free”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ0void vme_lm_free (struct vme_resource *resource)”h]”jZ )�”}”(hŒ/void vme_lm_free(struct vme_resource *resource)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj ph²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjph²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Msubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjph²hh³jph´Msubjƒ )�”}”(hŒ vme_lm_free”h]”j‰ )�”}”(hŒ vme_lm_free”h]”hŒ vme_lm_free”…”�”}”(hj*ph²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj&pubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjph²hh³jph´Msubjç)�”}”(hŒ(struct vme_resource *resource)”h]”jí)�”}”(hŒstruct vme_resource *resource”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjFph²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjBpubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSph²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjBpubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_resource”h]”hŒ vme_resource”…”�”}”(hjdph²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjapubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jfpŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j,psbŒ c.vme_lm_free”†”asbuh1hhjBpubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„ph²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjBpubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hj’ph²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjBpubj‰ )�”}”(hŒresource”h]”hŒresource”…”�”}”(hjŸph²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjBpubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj>pubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjph²hh³jph´Msubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjph²hh³jph´Msubah}”(h]”jüoah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jph´Mshjþoh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒ#Free allocated VME location monitor”h]”hŒ#Free allocated VME location monitor”…”�”}”(hjÉph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MshjÆph²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjþoh²hh³jph´Msubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jápj× jápjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX‚**Parameters** ``struct vme_resource *resource`` Pointer to VME location monitor resource. **Description** Free allocation of a VME location monitor. WARNING: This function currently expects that any callbacks that have been attached to the location monitor have been removed. **Return** Zero on success, -EINVAL when provided with an invalid location monitor resource.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjëph]”hŒ Parameters”…”�”}”(hjíph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjépubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mwhjåpubj( )�”}”(hhh]”j- )�”}”(hŒL``struct vme_resource *resource`` Pointer to VME location monitor resource. ”h]”(j3 )�”}”(hŒ!``struct vme_resource *resource``”h]”hë)�”}”(hj qh]”hŒstruct vme_resource *resource”…”�”}”(hj qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MthjqubjM )�”}”(hhh]”hÝ)�”}”(hŒ)Pointer to VME location monitor resource.”h]”hŒ)Pointer to VME location monitor resource.”…”�”}”(hj#qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jqh´Mthj qubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jqh´Mthjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjåpubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjEqh]”hŒ Description”…”�”}”(hjGqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjCqubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MvhjåpubhÝ)�”}”(hŒ*Free allocation of a VME location monitor.”h]”hŒ*Free allocation of a VME location monitor.”…”�”}”(hj[qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Muhjåpubj( )�”}”(hhh]”j- )�”}”(hŒWARNING: This function currently expects that any callbacks that have been attached to the location monitor have been removed. ”h]”(j3 )�”}”(hŒEWARNING: This function currently expects that any callbacks that have”h]”hŒEWARNING: This function currently expects that any callbacks that have”…”�”}”(hjqqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MxhjmqubjM )�”}”(hhh]”hÝ)�”}”(hŒ8been attached to the location monitor have been removed.”h]”hŒ8been attached to the location monitor have been removed.”…”�”}”(hjƒqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jqh´Mxhj€qubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjmqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jqh´Mxhjjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjåpubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hj¥qh]”hŒReturn”…”�”}”(hj§qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj£qubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MzhjåpubhÝ)�”}”(hŒQZero on success, -EINVAL when provided with an invalid location monitor resource.”h]”hŒQZero on success, -EINVAL when provided with an invalid location monitor resource.”…”�”}”(hj»qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M{hjåpubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_slot_num (C function)”Œc.vme_slot_num”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ'int vme_slot_num (struct vme_dev *vdev)”h]”jZ )�”}”(hŒ&int vme_slot_num(struct vme_dev *vdev)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hjêqh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjæqh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mšubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùqh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjæqh²hh³jøqh´Mšubjƒ )�”}”(hŒ vme_slot_num”h]”j‰ )�”}”(hŒ vme_slot_num”h]”hŒ vme_slot_num”…”�”}”(hj rh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjrubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjæqh²hh³jøqh´Mšubjç)�”}”(hŒ(struct vme_dev *vdev)”h]”jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj'rh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj#rubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4rh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj#rubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjErh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjBrubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jGrŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j rsbŒc.vme_slot_num”†”asbuh1hhj#rubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjerh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj#rubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjsrh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj#rubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hj€rh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj#rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjrubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjæqh²hh³jøqh´Mšubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjâqh²hh³jøqh´Mšubah}”(h]”jÝqah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jøqh´Mšhjßqh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒRetrieve slot ID”h]”hŒRetrieve slot ID”…”�”}”(hjªrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mšhj§rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjßqh²hh³jøqh´Mšubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jÂrj× jÂrjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX]**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. **Description** Retrieve the slot ID associated with the provided VME device. **Return** The slot ID on success, -EINVAL if VME bridge cannot be determined or the function is not supported. Hardware specific errors may also be returned.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjÌrh]”hŒ Parameters”…”�”}”(hjÎrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÊrubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MžhjÆrubj( )�”}”(hhh]”j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hjërh]”hŒstruct vme_dev *vdev”…”�”}”(hjírh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjérubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M›hjårubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jsh´M›hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjårubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jsh´M›hjârubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjÆrubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj&sh]”hŒ Description”…”�”}”(hj(sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj$subah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M�hjÆrubhÝ)�”}”(hŒ=Retrieve the slot ID associated with the provided VME device.”h]”hŒ=Retrieve the slot ID associated with the provided VME device.”…”�”}”(hj )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œvme_bus_num (C function)”Œ c.vme_bus_num”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ&int vme_bus_num (struct vme_dev *vdev)”h]”jZ )�”}”(hŒ%int vme_bus_num(struct vme_dev *vdev)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj’sh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjŽsh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M·ubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡sh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjŽsh²hh³j sh´M·ubjƒ )�”}”(hŒ vme_bus_num”h]”j‰ )�”}”(hŒ vme_bus_num”h]”hŒ vme_bus_num”…”�”}”(hj³sh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¯subah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjŽsh²hh³j sh´M·ubjç)�”}”(hŒ(struct vme_dev *vdev)”h]”jí)�”}”(hŒstruct vme_dev *vdev”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjÏsh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjËsubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜsh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjËsubh)�”}”(hhh]”j‰ )�”}”(hŒvme_dev”h]”hŒvme_dev”…”�”}”(hjísh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjêsubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jïsŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&jµssbŒ c.vme_bus_num”†”asbuh1hhjËsubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj th²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjËsubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjËsubj‰ )�”}”(hŒvdev”h]”hŒvdev”…”�”}”(hj(th²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjËsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjÇsubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjŽsh²hh³j sh´M·ubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjŠsh²hh³j sh´M·ubah}”(h]”j…sah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³j sh´M·hj‡sh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒRetrieve bus number”h]”hŒRetrieve bus number”…”�”}”(hjRth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M·hjOth²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj‡sh²hh³j sh´M·ubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jjtj× jjtjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX**Parameters** ``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. **Description** Retrieve the bus enumeration associated with the provided VME device. **Return** The bus number on success, -EINVAL if VME bridge cannot be determined.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjtth]”hŒ Parameters”…”�”}”(hjvth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjrtubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M»hjntubj( )�”}”(hhh]”j- )�”}”(hŒ[``struct vme_dev *vdev`` Pointer to VME device struct vme_dev assigned to driver instance. ”h]”(j3 )�”}”(hŒ``struct vme_dev *vdev``”h]”hë)�”}”(hj“th]”hŒstruct vme_dev *vdev”…”�”}”(hj•th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhj‘tubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¸hj�tubjM )�”}”(hhh]”hÝ)�”}”(hŒAPointer to VME device struct vme_dev assigned to driver instance.”h]”hŒAPointer to VME device struct vme_dev assigned to driver instance.”…”�”}”(hj¬th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j¨th´M¸hj©tubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj�tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j¨th´M¸hjŠtubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjntubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjÎth]”hŒ Description”…”�”}”(hjÐth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÌtubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MºhjntubhÝ)�”}”(hŒERetrieve the bus enumeration associated with the provided VME device.”h]”hŒERetrieve the bus enumeration associated with the provided VME device.”…”�”}”(hjäth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¹hjntubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hjõth]”hŒReturn”…”�”}”(hj÷th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjótubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M»hjntubhÝ)�”}”(hŒFThe bus number on success, -EINVAL if VME bridge cannot be determined.”h]”hŒFThe bus number on success, -EINVAL if VME bridge cannot be determined.”…”�”}”(hj uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´M¼hjntubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ vme_register_driver (C function)”Œc.vme_register_driver”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒDint vme_register_driver (struct vme_driver *drv, unsigned int ndevs)”h]”jZ )�”}”(hŒCint vme_register_driver(struct vme_driver *drv, unsigned int ndevs)”h]”(jž)�”}”(hŒint”h]”hŒint”…”�”}”(hj:uh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hj6uh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MRubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIuh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj6uh²hh³jHuh´MRubjƒ )�”}”(hŒvme_register_driver”h]”j‰ )�”}”(hŒvme_register_driver”h]”hŒvme_register_driver”…”�”}”(hj[uh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjWuubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hj6uh²hh³jHuh´MRubjç)�”}”(hŒ,(struct vme_driver *drv, unsigned int ndevs)”h]”(jí)�”}”(hŒstruct vme_driver *drv”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hjwuh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hjsuubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„uh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjsuubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_driver”h]”hŒ vme_driver”…”�”}”(hj•uh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj’uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”j—uŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j]usbŒc.vme_register_driver”†”asbuh1hhjsuubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµuh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjsuubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjÃuh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hjsuubj‰ )�”}”(hŒdrv”h]”hŒdrv”…”�”}”(hjÐuh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjsuubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjouubjí)�”}”(hŒunsigned int ndevs”h]”(jž)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjéuh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjåuubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷uh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjåuubjž)�”}”(hŒint”h]”hŒint”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjåuubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjåuubj‰ )�”}”(hŒndevs”h]”hŒndevs”…”�”}”(hj!vh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjåuubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhjouubeh}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhj6uh²hh³jHuh´MRubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hj2uh²hh³jHuh´MRubah}”(h]”j-uah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jHuh´MRhj/uh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒRegister a VME driver”h]”hŒRegister a VME driver”…”�”}”(hjKvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MRhjHvh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hj/uh²hh³jHuh´MRubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jcvj× jcvjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hX2**Parameters** ``struct vme_driver *drv`` Pointer to VME driver structure to register. ``unsigned int ndevs`` Maximum number of devices to allow to be enumerated. **Description** Register a VME device driver with the VME subsystem. **Return** Zero on success, error value on registration failure.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjmvh]”hŒ Parameters”…”�”}”(hjovh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjkvubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MVhjgvubj( )�”}”(hhh]”(j- )�”}”(hŒH``struct vme_driver *drv`` Pointer to VME driver structure to register. ”h]”(j3 )�”}”(hŒ``struct vme_driver *drv``”h]”hë)�”}”(hjŒvh]”hŒstruct vme_driver *drv”…”�”}”(hjŽvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjŠvubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MShj†vubjM )�”}”(hhh]”hÝ)�”}”(hŒ,Pointer to VME driver structure to register.”h]”hŒ,Pointer to VME driver structure to register.”…”�”}”(hj¥vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j¡vh´MShj¢vubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj†vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j¡vh´MShjƒvubj- )�”}”(hŒL``unsigned int ndevs`` Maximum number of devices to allow to be enumerated. ”h]”(j3 )�”}”(hŒ``unsigned int ndevs``”h]”hë)�”}”(hjÅvh]”hŒunsigned int ndevs”…”�”}”(hjÇvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjÃvubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MThj¿vubjM )�”}”(hhh]”hÝ)�”}”(hŒ4Maximum number of devices to allow to be enumerated.”h]”hŒ4Maximum number of devices to allow to be enumerated.”…”�”}”(hjÞvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³jÚvh´MThjÛvubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hj¿vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³jÚvh´MThjƒvubeh}”(h]”h ]”h"]”h$]”h&]”uh1j' hjgvubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hjwh]”hŒ Description”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjþvubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MVhjgvubhÝ)�”}”(hŒ4Register a VME device driver with the VME subsystem.”h]”hŒ4Register a VME device driver with the VME subsystem.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MUhjgvubhÝ)�”}”(hŒ **Return**”h]”jæ )�”}”(hj'wh]”hŒReturn”…”�”}”(hj)wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj%wubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MWhjgvubhÝ)�”}”(hŒ5Zero on success, error value on registration failure.”h]”hŒ5Zero on success, error value on registration failure.”…”�”}”(hj=wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MXhjgvubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubj> )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJ Œ"vme_unregister_driver (C function)”Œc.vme_unregister_driver”hNt”auh1j= hj, h²hh³Nh´NubjO )�”}”(hhh]”(jT )�”}”(hŒ3void vme_unregister_driver (struct vme_driver *drv)”h]”jZ )�”}”(hŒ2void vme_unregister_driver(struct vme_driver *drv)”h]”(jž)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjlwh²hh³Nh´Nubah}”(h]”h ]”jªah"]”h$]”h&]”uh1j�hjhwh²hh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Moubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{wh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hjhwh²hh³jzwh´Moubjƒ )�”}”(hŒvme_unregister_driver”h]”j‰ )�”}”(hŒvme_unregister_driver”h]”hŒvme_unregister_driver”…”�”}”(hj�wh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj‰wubah}”(h]”h ]”(j› jœ eh"]”h$]”h&]”j•j–uh1j‚ hjhwh²hh³jzwh´Moubjç)�”}”(hŒ(struct vme_driver *drv)”h]”jí)�”}”(hŒstruct vme_driver *drv”h]”(j` )�”}”(hjc h]”hŒstruct”…”�”}”(hj©wh²hh³Nh´Nubah}”(h]”h ]”jl ah"]”h$]”h&]”uh1j_ hj¥wubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶wh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¥wubh)�”}”(hhh]”j‰ )�”}”(hŒ vme_driver”h]”hŒ vme_driver”…”�”}”(hjÇwh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hjÄwubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h÷Œreftype”j&Œ reftarget”jÉwŒmodname”NŒ classname”Nj*j-)�”}”j0]”j3)�”}”j&j�wsbŒc.vme_unregister_driver”†”asbuh1hhj¥wubjr )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçwh²hh³Nh´Nubah}”(h]”h ]”j~ ah"]”h$]”h&]”uh1jq hj¥wubj¾)�”}”(hjÁh]”hŒ*”…”�”}”(hjõwh²hh³Nh´Nubah}”(h]”h ]”jÊah"]”h$]”h&]”uh1j½hj¥wubj‰ )�”}”(hŒdrv”h]”hŒdrv”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j” ah"]”h$]”h&]”uh1jˆ hj¥wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj•j–uh1jìhj¡wubah}”(h]”h ]”h"]”h$]”h&]”j•j–uh1jæhjhwh²hh³jzwh´Moubeh}”(h]”h ]”h"]”h$]”h&]”j•j–j¦ ˆuh1jY j§ j¨ hjdwh²hh³jzwh´Moubah}”(h]”j_wah ]”(j¬ j­ eh"]”h$]”h&]”j± ˆj² )j³ huh1jS h³jzwh´Mohjawh²hubjµ )�”}”(hhh]”hÝ)�”}”(hŒUnregister a VME driver”h]”hŒUnregister a VME driver”…”�”}”(hj,xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´Mohj)xh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j´ hjawh²hh³jzwh´Moubeh}”(h]”h ]”(h÷Œfunction”eh"]”h$]”h&]”jÕ h÷jÖ jDxj× jDxjØ ‰jÙ ‰jÚ ‰uh1jN h²hhj, h³Nh´NubjÜ )�”}”(hŒ¤**Parameters** ``struct vme_driver *drv`` Pointer to VME driver structure to unregister. **Description** Unregister a VME device driver from the VME subsystem.”h]”(hÝ)�”}”(hŒ**Parameters**”h]”jæ )�”}”(hjNxh]”hŒ Parameters”…”�”}”(hjPxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjLxubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MshjHxubj( )�”}”(hhh]”j- )�”}”(hŒJ``struct vme_driver *drv`` Pointer to VME driver structure to unregister. ”h]”(j3 )�”}”(hŒ``struct vme_driver *drv``”h]”hë)�”}”(hjmxh]”hŒstruct vme_driver *drv”…”�”}”(hjoxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hêhjkxubah}”(h]”h ]”h"]”h$]”h&]”uh1j2 h³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MphjgxubjM )�”}”(hhh]”hÝ)�”}”(hŒ.Pointer to VME driver structure to unregister.”h]”hŒ.Pointer to VME driver structure to unregister.”…”�”}”(hj†xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³j‚xh´Mphjƒxubah}”(h]”h ]”h"]”h$]”h&]”uh1jL hjgxubeh}”(h]”h ]”h"]”h$]”h&]”uh1j, h³j‚xh´Mphjdxubah}”(h]”h ]”h"]”h$]”h&]”uh1j' hjHxubhÝ)�”}”(hŒ**Description**”h]”jæ )�”}”(hj¨xh]”hŒ Description”…”�”}”(hjªxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj¦xubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MrhjHxubhÝ)�”}”(hŒ6Unregister a VME device driver from the VME subsystem.”h]”hŒ6Unregister a VME device driver from the VME subsystem.”…”�”}”(hj¾xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³Œ^/var/lib/git/docbuild/linux/Documentation/driver-api/vme:296: ./drivers/staging/vme_user/vme.c”h´MqhjHxubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÛ hj, h²hh³Nh´Nubeh}”(h]”Œvme-api”ah ]”h"]”Œvme api”ah$]”h&]”uh1hµhh·h²hh³hÊh´M#ubeh}”(h]”Œvme-device-drivers”ah ]”h"]”Œvme device drivers”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”jyŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jáxjÞxjj j%j"jzjwj±j®jrjoj°j­jjj�j~j¨j¥jjj<j9j j�j¶j³jjýjõjòj£j jíjêj• j’ j¤ j¡ j j j� jŠ jß jÜ j) j& jÙxjÖxuŒ nametypes”}”(jáx‰j‰j%‰jz‰j±‰jr‰j°‰j‰j�‰j¨‰j‰j<‰j ‰j¶‰j‰jõ‰j£‰jí‰j• ‰j¤ ‰j ‰j� ‰jß ‰j) ‰jÙx‰uh}”(jÞxh·j hËj"jjwj(j®jGjoj´j­j}jjœj~jj¥j„jj³j9jÒj�j?j³j£jýj¹jòj j j*jêj¦j’ jøj¡ j j j§ jŠ j jÜ j˜ j& jâ jÖxj, jL jU ji jn j�j•jgjljejjj j%jj jêjïj$j"$jž%j£%j)j )jé-jî-j3j!3jT6jY6jŒ9j‘9jo=jt=jÀ?jÅ?jAAjFAj¥CjªCjˆEj�EjÄGjÉGjIj„IjâLjçLjcNjhNjíQjòQj•SjšSj=UjBUjåVjêVjX[j][jµ]jº]j9`j>`jbj!bjÄcjÉcjgjgj‹jj�jjæmjëmjüojpjÝqjâqj…sjŠsj-uj2uj_wjdwuŒ 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.