€•Œ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/gpio/index”Œ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/gpio/index”Œ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/gpio/index”Œ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/gpio/index”Œ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/gpio/index”Œ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/gpio/index”Œ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/gpio/index”Œ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Œ#General Purpose Input/Output (GPIO)”h]”hŒ#General Purpose Input/Output (GPIO)”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒC/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index.rst”h´KubhŒ paragraph”“”)�”}”(hŒ Contents:”h]”hŒ Contents:”…”�”}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒcompound”“”)�”}”(hhh]”hŒtoctree”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”hŒdriver-api/gpio/index”Œentries”]”(NŒdriver-api/gpio/intro”†”NŒdriver-api/gpio/using-gpio”†”NŒdriver-api/gpio/driver”†”NŒdriver-api/gpio/consumer”†”NŒdriver-api/gpio/board”†”NŒdriver-api/gpio/legacy-boards”†”NŒdriver-api/gpio/drivers-on-gpio”†”NŒdriver-api/gpio/bt8xxgpio”†”NŒdriver-api/gpio/pca953x”†”eŒ includefiles”]”(hîhðhòhôhöhøhúhühþeŒmaxdepth”KŒcaption”NŒglob”‰Œhidden”‰Œ includehidden”‰Œnumbered”KŒ titlesonly”‰Œ rawentries”]”uh1hàh³hÊh´KhhÝubah}”(h]”h ]”Œtoctree-wrapper”ah"]”h$]”h&]”uh1hÛhh·h²hh³hÊh´Nubh¶)�”}”(hhh]”(h»)�”}”(hŒCore”h]”hŒCore”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œgpio_irq_chip (C struct)”Œc.gpio_irq_chip”hNt”auh1j#hjh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ gpio_irq_chip”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct gpio_irq_chip”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jEhjAh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jWhjAh²hh³jVh´KubhŒ desc_name”“”)�”}”(hŒ gpio_irq_chip”h]”hŒ desc_sig_name”“”)�”}”(hj=h]”hŒ gpio_irq_chip”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jnhjjubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jhhjAh²hh³jVh´Kubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡Œ add_permalink”ˆuh1j?Œsphinx_line_type”Œ declarator”hj;h²hh³jVh´Kubah}”(h]”j2ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j9h³jVh´Khj6h²hubhŒ desc_content”“”)�”}”(hhh]”hÌ)�”}”(hŒGPIO interrupt controller”h]”hŒGPIO interrupt controller”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K0hjžh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj6h²hh³jVh´Kubeh}”(h]”h ]”(Œc”Œstruct”eh"]”h$]”h&]”Œdomain”j¹Œobjtype”jºŒdesctype”jºŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j4h²hhjh³Nh´NubhŒ container”“”)�”}”(hX×**Definition**:: struct gpio_irq_chip { struct irq_chip *chip; struct irq_domain *domain; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY; struct fwnode_handle *fwnode; struct irq_domain *parent_domain; int (*child_to_parent_hwirq)(struct gpio_chip *gc, unsigned int child_hwirq, unsigned int child_type, unsigned int *parent_hwirq, unsigned int *parent_type); int (*populate_parent_alloc_arg)(struct gpio_chip *gc, union gpio_irq_fwspec *fwspec, unsigned int parent_hwirq, unsigned int parent_type); unsigned int (*child_offset_to_irq)(struct gpio_chip *gc, unsigned int pin); struct irq_domain_ops child_irq_domain_ops; #endif; irq_flow_handler_t handler; unsigned int default_type; struct lock_class_key *lock_key; struct lock_class_key *request_key; irq_flow_handler_t parent_handler; union { void *parent_handler_data; void **parent_handler_data_array; }; unsigned int num_parents; unsigned int *parents; unsigned int *map; bool threaded; bool per_parent_data; bool initialized; bool domain_is_allocated_externally; int (*init_hw)(struct gpio_chip *gc); void (*init_valid_mask)(struct gpio_chip *gc, unsigned long *valid_mask, unsigned int ngpios); unsigned long *valid_mask; unsigned int first; void (*irq_enable)(struct irq_data *data); void (*irq_disable)(struct irq_data *data); void (*irq_unmask)(struct irq_data *data); void (*irq_mask)(struct irq_data *data); }; **Members** ``chip`` GPIO IRQ chip implementation, provided by GPIO driver. ``domain`` Interrupt translation domain; responsible for mapping between GPIO hwirq number and Linux IRQ number. ``fwnode`` Firmware node corresponding to this gpiochip/irqchip, necessary for hierarchical irqdomain support. ``parent_domain`` If non-NULL, will be set as the parent of this GPIO interrupt controller's IRQ domain to establish a hierarchical interrupt domain. The presence of this will activate the hierarchical interrupt support. ``child_to_parent_hwirq`` This callback translates a child hardware IRQ offset to a parent hardware IRQ offset on a hierarchical interrupt chip. The child hardware IRQs correspond to the GPIO index 0..ngpio-1 (see the ngpio field of struct gpio_chip) and the corresponding parent hardware IRQ and type (such as IRQ_TYPE_*) shall be returned by the driver. The driver can calculate this from an offset or using a lookup table or whatever method is best for this chip. Return 0 on successful translation in the driver. If some ranges of hardware IRQs do not have a corresponding parent HWIRQ, return -EINVAL, but also make sure to fill in **valid_mask** and **need_valid_mask** to make these GPIO lines unavailable for translation. ``populate_parent_alloc_arg`` This optional callback allocates and populates the specific struct for the parent's IRQ domain. If this is not specified, then :c:type:`gpiochip_populate_parent_fwspec_twocell` will be used. A four-cell variant named :c:type:`gpiochip_populate_parent_fwspec_fourcell` is also available. ``child_offset_to_irq`` This optional callback is used to translate the child's GPIO line offset on the GPIO chip to an IRQ number for the GPIO to_irq() callback. If this is not specified, then a default callback will be provided that returns the line offset. ``child_irq_domain_ops`` The IRQ domain operations that will be used for this GPIO IRQ chip. If no operations are provided, then default callbacks will be populated to setup the IRQ hierarchy. Some drivers need to supply their own translate function. ``handler`` The IRQ handler to use (often a predefined IRQ core function) for GPIO IRQs, provided by GPIO driver. ``default_type`` Default IRQ triggering type applied during GPIO driver initialization, provided by GPIO driver. ``lock_key`` Per GPIO IRQ chip lockdep class for IRQ lock. ``request_key`` Per GPIO IRQ chip lockdep class for IRQ request. ``parent_handler`` The interrupt handler for the GPIO chip's parent interrupts, may be NULL if the parent interrupts are nested rather than cascaded. ``{unnamed_union}`` anonymous ``parent_handler_data`` If **per_parent_data** is false, **parent_handler_data** is a single pointer used as the data associated with every parent interrupt. ``parent_handler_data_array`` If **per_parent_data** is true, **parent_handler_data_array** is an array of **num_parents** pointers, and is used to associate different data for each parent. This cannot be NULL if **per_parent_data** is true. ``num_parents`` The number of interrupt parents of a GPIO chip. ``parents`` A list of interrupt parents of a GPIO chip. This is owned by the driver, so the core will only reference this list, not modify it. ``map`` A list of interrupt parents for each line of a GPIO chip. ``threaded`` True if set the interrupt handling uses nested threads. ``per_parent_data`` True if parent_handler_data_array describes a **num_parents** sized array to be used as parent data. ``initialized`` Flag to track GPIO chip irq member's initialization. This flag will make sure GPIO chip irq members are not used before they are initialized. ``domain_is_allocated_externally`` True it the irq_domain was allocated outside of gpiolib, in which case gpiolib won't free the irq_domain itself. ``init_hw`` optional routine to initialize hardware before an IRQ chip will be added. This is quite useful when a particular driver wants to clear IRQ related registers in order to avoid undesired events. ``init_valid_mask`` optional routine to initialize **valid_mask**, to be used if not all GPIO lines are valid interrupts. Sometimes some lines just cannot fire interrupts, and this routine, when defined, is passed a bitmap in "valid_mask" and it will have ngpios bits from 0..(ngpios-1) set to "1" as in valid. The callback can then directly set some bits to "0" if they cannot be used for interrupts. ``valid_mask`` If not ``NULL``, holds bitmask of GPIOs which are valid to be included in IRQ domain of the chip. ``first`` Required for static IRQ allocation. If set, irq_domain_create_simple() will allocate and map all IRQs during initialization. ``irq_enable`` Store old irq_chip irq_enable callback ``irq_disable`` Store old irq_chip irq_disable callback ``irq_unmask`` Store old irq_chip irq_unmask callback ``irq_mask`` Store old irq_chip irq_mask callback”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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K4hjÆubhŒ literal_block”“”)�”}”(hXÈstruct gpio_irq_chip { struct irq_chip *chip; struct irq_domain *domain; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY; struct fwnode_handle *fwnode; struct irq_domain *parent_domain; int (*child_to_parent_hwirq)(struct gpio_chip *gc, unsigned int child_hwirq, unsigned int child_type, unsigned int *parent_hwirq, unsigned int *parent_type); int (*populate_parent_alloc_arg)(struct gpio_chip *gc, union gpio_irq_fwspec *fwspec, unsigned int parent_hwirq, unsigned int parent_type); unsigned int (*child_offset_to_irq)(struct gpio_chip *gc, unsigned int pin); struct irq_domain_ops child_irq_domain_ops; #endif; irq_flow_handler_t handler; unsigned int default_type; struct lock_class_key *lock_key; struct lock_class_key *request_key; irq_flow_handler_t parent_handler; union { void *parent_handler_data; void **parent_handler_data_array; }; unsigned int num_parents; unsigned int *parents; unsigned int *map; bool threaded; bool per_parent_data; bool initialized; bool domain_is_allocated_externally; int (*init_hw)(struct gpio_chip *gc); void (*init_valid_mask)(struct gpio_chip *gc, unsigned long *valid_mask, unsigned int ngpios); unsigned long *valid_mask; unsigned int first; void (*irq_enable)(struct irq_data *data); void (*irq_disable)(struct irq_data *data); void (*irq_unmask)(struct irq_data *data); void (*irq_mask)(struct irq_data *data); };”h]”hXÈstruct gpio_irq_chip { struct irq_chip *chip; struct irq_domain *domain; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY; struct fwnode_handle *fwnode; struct irq_domain *parent_domain; int (*child_to_parent_hwirq)(struct gpio_chip *gc, unsigned int child_hwirq, unsigned int child_type, unsigned int *parent_hwirq, unsigned int *parent_type); int (*populate_parent_alloc_arg)(struct gpio_chip *gc, union gpio_irq_fwspec *fwspec, unsigned int parent_hwirq, unsigned int parent_type); unsigned int (*child_offset_to_irq)(struct gpio_chip *gc, unsigned int pin); struct irq_domain_ops child_irq_domain_ops; #endif; irq_flow_handler_t handler; unsigned int default_type; struct lock_class_key *lock_key; struct lock_class_key *request_key; irq_flow_handler_t parent_handler; union { void *parent_handler_data; void **parent_handler_data_array; }; unsigned int num_parents; unsigned int *parents; unsigned int *map; bool threaded; bool per_parent_data; bool initialized; bool domain_is_allocated_externally; int (*init_hw)(struct gpio_chip *gc); void (*init_valid_mask)(struct gpio_chip *gc, unsigned long *valid_mask, unsigned int ngpios); unsigned long *valid_mask; unsigned int first; void (*irq_enable)(struct irq_data *data); void (*irq_disable)(struct irq_data *data); void (*irq_unmask)(struct irq_data *data); void (*irq_mask)(struct irq_data *data); };”…”�”}”hjësbah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jéh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K6hjÆ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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K[hjÆubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ@``chip`` GPIO IRQ chip implementation, provided by GPIO driver. ”h]”(hŒterm”“”)�”}”(hŒ``chip``”h]”hŒliteral”“”)�”}”(hj!h]”hŒchip”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K5hjubhŒ definition”“”)�”}”(hhh]”hÌ)�”}”(hŒ6GPIO IRQ chip implementation, provided by GPIO driver.”h]”hŒ6GPIO IRQ chip implementation, provided by GPIO driver.”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j8h´K5hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j8h´K5hjubj)�”}”(hŒq``domain`` Interrupt translation domain; responsible for mapping between GPIO hwirq number and Linux IRQ number. ”h]”(j)�”}”(hŒ ``domain``”h]”j$)�”}”(hj^h]”hŒdomain”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K=hjXubj:)�”}”(hhh]”hÌ)�”}”(hŒeInterrupt translation domain; responsible for mapping between GPIO hwirq number and Linux IRQ number.”h]”hŒeInterrupt translation domain; responsible for mapping between GPIO hwirq number and Linux IRQ number.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´K; some complex GPIO controllers instantiate more than one chip per device tree node and have 3 cells: gpios = <:c:type:`gpio` instance offset flags>; Legacy GPIO controllers may even have 1 cell: gpios = <:c:type:`gpio` offset>; ``of_node_instance_match`` Determine if a chip is the right instance. Must be implemented by any driver using more than one gpio_chip per device tree node. Returns true if gc is the instance indicated by i (which is the first cell in the phandles for GPIO lines and gpio-ranges). ``of_xlate`` Callback to translate a device tree GPIO specifier into a chip- relative GPIO number and flags.”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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MHhjÄ ubjê)�”}”(hXstruct gpio_chip { const char *label; struct gpio_device *gpiodev; struct device *parent; struct fwnode_handle *fwnode; struct module *owner; int (*request)(struct gpio_chip *gc, unsigned int offset); void (*free)(struct gpio_chip *gc, unsigned int offset); int (*get_direction)(struct gpio_chip *gc, unsigned int offset); int (*direction_input)(struct gpio_chip *gc, unsigned int offset); int (*direction_output)(struct gpio_chip *gc, unsigned int offset, int value); int (*get)(struct gpio_chip *gc, unsigned int offset); int (*get_multiple)(struct gpio_chip *gc, unsigned long *mask, unsigned long *bits); int (*set)(struct gpio_chip *gc, unsigned int offset, int value); int (*set_multiple)(struct gpio_chip *gc, unsigned long *mask, unsigned long *bits); int (*set_config)(struct gpio_chip *gc, unsigned int offset, unsigned long config); int (*to_irq)(struct gpio_chip *gc, unsigned int offset); void (*dbg_show)(struct seq_file *s, struct gpio_chip *gc); int (*init_valid_mask)(struct gpio_chip *gc, unsigned long *valid_mask, unsigned int ngpios); int (*add_pin_ranges)(struct gpio_chip *gc); int (*en_hw_timestamp)(struct gpio_chip *gc, u32 offset, unsigned long flags); int (*dis_hw_timestamp)(struct gpio_chip *gc, u32 offset, unsigned long flags); int base; u16 ngpio; u16 offset; const char *const *names; bool can_sleep; #ifdef CONFIG_GPIOLIB_IRQCHIP; struct gpio_irq_chip irq; #endif ; #if defined(CONFIG_OF_GPIO); unsigned int of_gpio_n_cells; bool (*of_node_instance_match)(struct gpio_chip *gc, unsigned int i); int (*of_xlate)(struct gpio_chip *gc, const struct of_phandle_args *gpiospec, u32 *flags); #endif ; };”h]”hXstruct gpio_chip { const char *label; struct gpio_device *gpiodev; struct device *parent; struct fwnode_handle *fwnode; struct module *owner; int (*request)(struct gpio_chip *gc, unsigned int offset); void (*free)(struct gpio_chip *gc, unsigned int offset); int (*get_direction)(struct gpio_chip *gc, unsigned int offset); int (*direction_input)(struct gpio_chip *gc, unsigned int offset); int (*direction_output)(struct gpio_chip *gc, unsigned int offset, int value); int (*get)(struct gpio_chip *gc, unsigned int offset); int (*get_multiple)(struct gpio_chip *gc, unsigned long *mask, unsigned long *bits); int (*set)(struct gpio_chip *gc, unsigned int offset, int value); int (*set_multiple)(struct gpio_chip *gc, unsigned long *mask, unsigned long *bits); int (*set_config)(struct gpio_chip *gc, unsigned int offset, unsigned long config); int (*to_irq)(struct gpio_chip *gc, unsigned int offset); void (*dbg_show)(struct seq_file *s, struct gpio_chip *gc); int (*init_valid_mask)(struct gpio_chip *gc, unsigned long *valid_mask, unsigned int ngpios); int (*add_pin_ranges)(struct gpio_chip *gc); int (*en_hw_timestamp)(struct gpio_chip *gc, u32 offset, unsigned long flags); int (*dis_hw_timestamp)(struct gpio_chip *gc, u32 offset, unsigned long flags); int base; u16 ngpio; u16 offset; const char *const *names; bool can_sleep; #ifdef CONFIG_GPIOLIB_IRQCHIP; struct gpio_irq_chip irq; #endif ; #if defined(CONFIG_OF_GPIO); unsigned int of_gpio_n_cells; bool (*of_node_instance_match)(struct gpio_chip *gc, unsigned int i); int (*of_xlate)(struct gpio_chip *gc, const struct of_phandle_args *gpiospec, u32 *flags); #endif ; };”…”�”}”hjå sbah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jéh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MJhjÄ 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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MohjÄ ubj)�”}”(hhh]”(j)�”}”(hŒx``label`` a functional name for the GPIO device, such as a part number or the name of the SoC IP-block implementing it. ”h]”(j)�”}”(hŒ ``label``”h]”j$)�”}”(hj h]”hŒlabel”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MGhj ubj:)�”}”(hhh]”hÌ)�”}”(hŒma functional name for the GPIO device, such as a part number or the name of the SoC IP-block implementing it.”h]”hŒma functional name for the GPIO device, such as a part number or the name of the SoC IP-block implementing it.”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MFhj+ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j* h´MGhj ubj)�”}”(hŒ5``gpiodev`` the internal state holder, opaque struct ”h]”(j)�”}”(hŒ ``gpiodev``”h]”j$)�”}”(hjO h]”hŒgpiodev”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjM ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MHhjI ubj:)�”}”(hhh]”hÌ)�”}”(hŒ(the internal state holder, opaque struct”h]”hŒ(the internal state holder, opaque struct”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jd h´MHhje ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjI ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jd h´MHhj ubj)�”}”(hŒ6``parent`` optional parent device providing the GPIOs ”h]”(j)�”}”(hŒ ``parent``”h]”j$)�”}”(hjˆ h]”hŒparent”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj† ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MIhj‚ ubj:)�”}”(hhh]”hÌ)�”}”(hŒ*optional parent device providing the GPIOs”h]”hŒ*optional parent device providing the GPIOs”…”�”}”(hj¡ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j� h´MIhjž ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj‚ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j� h´MIhj ubj)�”}”(hŒB``fwnode`` optional fwnode providing this controller's properties ”h]”(j)�”}”(hŒ ``fwnode``”h]”j$)�”}”(hjÁ h]”hŒfwnode”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¿ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MJhj» ubj:)�”}”(hhh]”hÌ)�”}”(hŒ6optional fwnode providing this controller's properties”h]”hŒ8optional fwnode providing this controller’s properties”…”�”}”(hjÚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÖ h´MJhj× ubah}”(h]”h ]”h"]”h$•A]”h&]”uh1j9hj» ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÖ h´MJhj ubj)�”}”(hŒB``owner`` helps prevent removal of modules exporting active GPIOs ”h]”(j)�”}”(hŒ ``owner``”h]”j$)�”}”(hjú h]”hŒowner”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjø ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MKhjô ubj:)�”}”(hhh]”hÌ)�”}”(hŒ7helps prevent removal of modules exporting active GPIOs”h]”hŒ7helps prevent removal of modules exporting active GPIOs”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j h´MKhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjô ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´MKhj ubj)�”}”(hŒ©``request`` optional hook for chip-specific activation, such as enabling module power and clock; may sleep; must return 0 on success or negative error number on failure ”h]”(j)�”}”(hŒ ``request``”h]”j$)�”}”(hj3 h]”hŒrequest”…”�”}”(hj5 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj1 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MNhj- ubj:)�”}”(hhh]”hÌ)�”}”(hŒœoptional hook for chip-specific activation, such as enabling module power and clock; may sleep; must return 0 on success or negative error number on failure”h]”hŒœoptional hook for chip-specific activation, such as enabling module power and clock; may sleep; must return 0 on success or negative error number on failure”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MLhjI ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj- ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jH h´MNhj ubj)�”}”(hŒk``free`` optional hook for chip-specific deactivation, such as disabling module power and clock; may sleep ”h]”(j)�”}”(hŒ``free``”h]”j$)�”}”(hjm h]”hŒfree”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MPhjg ubj:)�”}”(hhh]”hÌ)�”}”(hŒaoptional hook for chip-specific deactivation, such as disabling module power and clock; may sleep”h]”hŒaoptional hook for chip-specific deactivation, such as disabling module power and clock; may sleep”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MOhjƒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjg ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‚ h´MPhj ubj)�”}”(hŒø``get_direction`` returns direction for signal "offset", 0=out, 1=in, (same as GPIO_LINE_DIRECTION_OUT / GPIO_LINE_DIRECTION_IN), or negative error. It is recommended to always implement this function, even on input-only or output-only gpio chips. ”h]”(j)�”}”(hŒ``get_direction``”h]”j$)�”}”(hj§ h]”hŒ get_direction”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¥ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MThj¡ ubj:)�”}”(hhh]”hÌ)�”}”(hŒåreturns direction for signal "offset", 0=out, 1=in, (same as GPIO_LINE_DIRECTION_OUT / GPIO_LINE_DIRECTION_IN), or negative error. It is recommended to always implement this function, even on input-only or output-only gpio chips.”h]”hŒéreturns direction for signal “offsetâ€�, 0=out, 1=in, (same as GPIO_LINE_DIRECTION_OUT / GPIO_LINE_DIRECTION_IN), or negative error. It is recommended to always implement this function, even on input-only or output-only gpio chips.”…”�”}”(hjÀ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MQhj½ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¡ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¼ h´MThj ubj)�”}”(hŒ§``direction_input`` configures signal "offset" as input, returns 0 on success or a negative error number. This can be omitted on input-only or output-only gpio chips. ”h]”(j)�”}”(hŒ``direction_input``”h]”j$)�”}”(hjá h]”hŒdirection_input”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjß ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MWhjÛ ubj:)�”}”(hhh]”hÌ)�”}”(hŒ’configures signal "offset" as input, returns 0 on success or a negative error number. This can be omitted on input-only or output-only gpio chips.”h]”hŒ–configures signal “offsetâ€� as input, returns 0 on success or a negative error number. This can be omitted on input-only or output-only gpio chips.”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MUhj÷ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÛ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jö h´MWhj ubj)�”}”(hŒ©``direction_output`` configures signal "offset" as output, returns 0 on success or a negative error number. This can be omitted on input-only or output-only gpio chips. ”h]”(j)�”}”(hŒ``direction_output``”h]”j$)�”}”(hj h]”hŒdirection_output”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MZhj ubj:)�”}”(hhh]”hÌ)�”}”(hŒ“configures signal "offset" as output, returns 0 on success or a negative error number. This can be omitted on input-only or output-only gpio chips.”h]”hŒ—configures signal “offsetâ€� as output, returns 0 on success or a negative error number. This can be omitted on input-only or output-only gpio chips.”…”�”}”(hj4 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MXhj1 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j0 h´MZhj ubj)�”}”(hX•``get`` returns value for signal "offset", 0=low, 1=high, or negative error. the low and high values are defined as physical low on the line in/out to the connector such as a physical pad, pin or rail. The GPIO library has internal logic to handle lines that are active low, such as indicated by overstrike or #name in a schematic, and the driver should not try to second-guess the logic value of a line. ”h]”(j)�”}”(hŒ``get``”h]”j$)�”}”(hjU h]”hŒget”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjS ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M`hjO ubj:)�”}”(hhh]”hÌ)�”}”(hXŒreturns value for signal "offset", 0=low, 1=high, or negative error. the low and high values are defined as physical low on the line in/out to the connector such as a physical pad, pin or rail. The GPIO library has internal logic to handle lines that are active low, such as indicated by overstrike or #name in a schematic, and the driver should not try to second-guess the logic value of a line.”h]”hX�returns value for signal “offsetâ€�, 0=low, 1=high, or negative error. the low and high values are defined as physical low on the line in/out to the connector such as a physical pad, pin or rail. The GPIO library has internal logic to handle lines that are active low, such as indicated by overstrike or #name in a schematic, and the driver should not try to second-guess the logic value of a line.”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M[hjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjO ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jj h´M`hj ubj)�”}”(hŒ‡``get_multiple`` reads values for multiple signals defined by "mask" and stores them in "bits", returns 0 on success or negative error ”h]”(j)�”}”(hŒ``get_multiple``”h]”j$)�”}”(hj� h]”hŒ get_multiple”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mbhj‰ ubj:)�”}”(hhh]”hÌ)�”}”(hŒureads values for multiple signals defined by "mask" and stores them in "bits", returns 0 on success or negative error”h]”hŒ}reads values for multiple signals defined by “maskâ€� and stores them in “bitsâ€�, returns 0 on success or negative error”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mahj¥ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj‰ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¤ h´Mbhj ubj)�”}”(hŒ¡``set`` assigns output value for signal "offset", returns 0 on success or negative error value. The output value follows the same semantic rules as for **get**. ”h]”(j)�”}”(hŒ``set``”h]”j$)�”}”(hjÉ h]”hŒset”…”�”}”(hjË h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÇ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mehjà ubj:)�”}”(hhh]”hÌ)�”}”(hŒ˜assigns output value for signal "offset", returns 0 on success or negative error value. The output value follows the same semantic rules as for **get**.”h]”(hŒ”assigns output value for signal “offsetâ€�, returns 0 on success or negative error value. The output value follows the same semantic rules as for ”…”�”}”(hjâ h²hh³Nh´NubjÏ)�”}”(hŒ**get**”h]”hŒget”…”�”}”(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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mchjß ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjà ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÞ h´Mehj ubj)�”}”(hŒ|``set_multiple`` assigns output values for multiple signals defined by "mask", returns 0 on success or negative error value ”h]”(j)�”}”(hŒ``set_multiple``”h]”j$)�”}”(hjh]”hŒ set_multiple”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mghjubj:)�”}”(hhh]”hÌ)�”}”(hŒjassigns output values for multiple signals defined by "mask", returns 0 on success or negative error value”h]”hŒnassigns output values for multiple signals defined by “maskâ€�, returns 0 on success or negative error value”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mfhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j*h´Mghj ubj)�”}”(hŒ°``set_config`` optional hook for all kinds of settings. Uses the same packed config format as generic pinconf. Must return 0 on success and a negative error number on failure. ”h]”(j)�”}”(hŒ``set_config``”h]”j$)�”}”(hjOh]”hŒ set_config”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MjhjIubj:)�”}”(hhh]”hÌ)�”}”(hŒ optional hook for all kinds of settings. Uses the same packed config format as generic pinconf. Must return 0 on success and a negative error number on failure.”h]”hŒ optional hook for all kinds of settings. Uses the same packed config format as generic pinconf. Must return 0 on success and a negative error number on failure.”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mhhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jdh´Mjhj ubj)�”}”(hŒe``to_irq`` optional hook supporting non-static gpiod_to_irq() mappings; implementation may not sleep ”h]”(j)�”}”(hŒ ``to_irq``”h]”j$)�”}”(hj‰h]”hŒto_irq”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mlhjƒubj:)�”}”(hhh]”hÌ)�”}”(hŒYoptional hook supporting non-static gpiod_to_irq() mappings; implementation may not sleep”h]”hŒYoptional hook supporting non-static gpiod_to_irq() mappings; implementation may not sleep”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MkhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jžh´Mlhj ubj)�”}”(hŒ¹``dbg_show`` optional routine to show contents in debugfs; default code will be used when this is omitted, but custom code can show extra state (such as pullup/pulldown configuration). ”h]”(j)�”}”(hŒ ``dbg_show``”h]”j$)�”}”(hjÃh]”hŒdbg_show”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mohj½ubj:)�”}”(hhh]”hÌ)�”}”(hŒ«optional routine to show contents in debugfs; default code will be used when this is omitted, but custom code can show extra state (such as pullup/pulldown configuration).”h]”hŒ«optional routine to show contents in debugfs; default code will be used when this is omitted, but custom code can show extra state (such as pullup/pulldown configuration).”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MmhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jØh´Mohj ubj)�”}”(hŒj``init_valid_mask`` optional routine to initialize **valid_mask**, to be used if not all GPIOs are valid. ”h]”(j)�”}”(hŒ``init_valid_mask``”h]”j$)�”}”(hjýh]”hŒinit_valid_mask”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mqhj÷ubj:)�”}”(hhh]”hÌ)�”}”(hŒUoptional routine to initialize **valid_mask**, to be used if not all GPIOs are valid.”h]”(hŒoptional routine to initialize ”…”�”}”(hjh²hh³Nh´NubjÏ)�”}”(hŒ**valid_mask**”h]”hŒ valid_mask”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjubhŒ(, to be used if not all GPIOs are valid.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mphjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´Mqhj ubj)�”}”(hŒÕ``add_pin_ranges`` optional routine to initialize pin ranges, to be used when requires special mapping of the pins that provides GPIO functionality. It is called after adding GPIO chip and before adding IRQ chip. ”h]”(j)�”}”(hŒ``add_pin_ranges``”h]”j$)�”}”(hjIh]”hŒadd_pin_ranges”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MthjCubj:)�”}”(hhh]”hÌ)�”}”(hŒÁoptional routine to initialize pin ranges, to be used when requires special mapping of the pins that provides GPIO functionality. It is called after adding GPIO chip and before adding IRQ chip.”h]”hŒÁoptional routine to initialize pin ranges, to be used when requires special mapping of the pins that provides GPIO functionality. It is called after adding GPIO chip and before adding IRQ chip.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mrhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j^h´Mthj ubj)�”}”(hŒ^``en_hw_timestamp`` Dependent on GPIO chip, an optional routine to enable hardware timestamp. ”h]”(j)�”}”(hŒ``en_hw_timestamp``”h]”j$)�”}”(hjƒh]”hŒen_hw_timestamp”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mvhj}ubj:)�”}”(hhh]”hÌ)�”}”(hŒIDependent on GPIO chip, an optional routine to enable hardware timestamp.”h]”hŒIDependent on GPIO chip, an optional routine to enable hardware timestamp.”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Muhj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j˜h´Mvhj ubj)�”}”(hŒ```dis_hw_timestamp`` Dependent on GPIO chip, an optional routine to disable hardware timestamp. ”h]”(j)�”}”(hŒ``dis_hw_timestamp``”h]”j$)�”}”(hj½h]”hŒdis_hw_timestamp”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mxhj·ubj:)�”}”(hhh]”hÌ)�”}”(hŒJDependent on GPIO chip, an optional routine to disable hardware timestamp.”h]”hŒJDependent on GPIO chip, an optional routine to disable hardware timestamp.”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MwhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÒh´Mxhj ubj)�”}”(hX�``base`` identifies the first GPIO number handled by this chip; or, if negative during registration, requests dynamic ID allocation. DEPRECATION: providing anything non-negative and nailing the base offset of GPIO chips is deprecated. Please pass -1 as base to let gpiolib select the chip base in all possible cases. We want to get rid of the static GPIO number space in the long run. ”h]”(j)�”}”(hŒ``base``”h]”j$)�”}”(hj÷h]”hŒbase”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M~hjñubj:)�”}”(hhh]”hÌ)�”}”(hXwidentifies the first GPIO number handled by this chip; or, if negative during registration, requests dynamic ID allocation. DEPRECATION: providing anything non-negative and nailing the base offset of GPIO chips is deprecated. Please pass -1 as base to let gpiolib select the chip base in all possible cases. We want to get rid of the static GPIO number space in the long run.”h]”hXwidentifies the first GPIO number handled by this chip; or, if negative during registration, requests dynamic ID allocation. DEPRECATION: providing anything non-negative and nailing the base offset of GPIO chips is deprecated. Please pass -1 as base to let gpiolib select the chip base in all possible cases. We want to get rid of the static GPIO number space in the long run.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Myhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´M~hj ubj)�”}”(hŒg``ngpio`` the number of GPIOs handled by this controller; the last GPIO handled is (base + ngpio - 1). ”h]”(j)�”}”(hŒ ``ngpio``”h]”j$)�”}”(hj1h]”hŒngpio”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M€hj+ubj:)�”}”(hhh]”hÌ)�”}”(hŒ\the number of GPIOs handled by this controller; the last GPIO handled is (base + ngpio - 1).”h]”hŒ\the number of GPIOs handled by this controller; the last GPIO handled is (base + ngpio - 1).”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jFh´M€hj ubj)�”}”(hŒ—``offset`` when multiple gpio chips belong to the same device this can be used as offset within the device so friendly names can be properly assigned. ”h]”(j)�”}”(hŒ ``offset``”h]”j$)�”}”(hjkh]”hŒoffset”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mƒhjeubj:)�”}”(hhh]”hÌ)�”}”(hŒ‹when multiple gpio chips belong to the same device this can be used as offset within the device so friendly names can be properly assigned.”h]”hŒ‹when multiple gpio chips belong to the same device this can be used as offset within the device so friendly names can be properly assigned.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M�hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j€h´Mƒhj ubj)�”}”(hŒÞ``names`` if set, must be an array of strings to use as alternative names for the GPIOs in this chip. Any entry in the array may be NULL if there is no alias for the GPIO, however the array must be **ngpio** entries long. ”h]”(j)�”}”(hŒ ``names``”h]”j$)�”}”(hj¥h]”hŒnames”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M‡hjŸubj:)�”}”(hhh]”hÌ)�”}”(hŒÓif set, must be an array of strings to use as alternative names for the GPIOs in this chip. Any entry in the array may be NULL if there is no alias for the GPIO, however the array must be **ngpio** entries long.”h]”(hŒ¼if set, must be an array of strings to use as alternative names for the GPIOs in this chip. Any entry in the array may be NULL if there is no alias for the GPIO, however the array must be ”…”�”}”(hj¾h²hh³Nh´NubjÏ)�”}”(hŒ **ngpio**”h]”hŒngpio”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj¾ubhŒ entries long.”…”�”}”(hj¾h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M„hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jºh´M‡hj ubj)�”}”(hX``can_sleep`` flag must be set iff get()/set() methods sleep, as they must while accessing GPIO expander chips over I2C or SPI. This implies that if the chip supports IRQs, these IRQs need to be threaded as the chip access may sleep when e.g. reading out the IRQ status registers. ”h]”(j)�”}”(hŒ ``can_sleep``”h]”j$)�”}”(hjñh]”hŒ can_sleep”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MŒhjëubj:)�”}”(hhh]”hÌ)�”}”(hX flag must be set iff get()/set() methods sleep, as they must while accessing GPIO expander chips over I2C or SPI. This implies that if the chip supports IRQs, these IRQs need to be threaded as the chip access may sleep when e.g. reading out the IRQ status registers.”h]”hX flag must be set iff get()/set() methods sleep, as they must while accessing GPIO expander chips over I2C or SPI. This implies that if the chip supports IRQs, these IRQs need to be threaded as the chip access may sleep when e.g. reading out the IRQ status registers.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mˆhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´MŒhj ubj)�”}”(hŒy``irq`` Integrates interrupt chip functionality with the GPIO chip. Can be used to handle IRQs for most practical cases. ”h]”(j)�”}”(hŒ``irq``”h]”j$)�”}”(hj+h]”hŒirq”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÖhj%ubj:)�”}”(hhh]”hÌ)�”}”(hŒpIntegrates interrupt chip functionality with the GPIO chip. Can be used to handle IRQs for most practical cases.”h]”hŒpIntegrates interrupt chip functionality with the GPIO chip. Can be used to handle IRQs for most practical cases.”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÕhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j@h´MÖhj ubj)�”}”(hXm``of_gpio_n_cells`` Number of cells used to form the GPIO specifier. The standard is 2 cells: gpios = <:c:type:`gpio` offset flags>; some complex GPIO controllers instantiate more than one chip per device tree node and have 3 cells: gpios = <:c:type:`gpio` instance offset flags>; Legacy GPIO controllers may even have 1 cell: gpios = <:c:type:`gpio` offset>; ”h]”(j)�”}”(hŒ``of_gpio_n_cells``”h]”j$)�”}”(hjeh]”hŒof_gpio_n_cells”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mðhj_ubj:)�”}”(hhh]”(hÌ)�”}”(hŒINumber of cells used to form the GPIO specifier. The standard is 2 cells:”h]”hŒINumber of cells used to form the GPIO specifier. The standard is 2 cells:”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mähj{ubhÌ)�”}”(hŒ&gpios = <:c:type:`gpio` offset flags>;”h]”(hŒ gpios = <”…”�”}”(hj�h²hh³Nh´Nubh)�”}”(hŒ:c:type:`gpio`”h]”j$)�”}”(hj—h]”hŒgpio”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”(j¨j¹Œc-type”eh"]”h$]”h&]”uh1j#hj•ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hëŒ refdomain”j¹Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¹j½jÁŒgpio”uh1hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mçhj�ubhŒ offset flags>;”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j´h´Mçhj{ubhÌ)�”}”(hŒcsome complex GPIO controllers instantiate more than one chip per device tree node and have 3 cells:”h]”hŒcsome complex GPIO controllers instantiate more than one chip per device tree node and have 3 cells:”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Méhj{ubhÌ)�”}”(hŒ/gpios = <:c:type:`gpio` instance offset flags>;”h]”(hŒ gpios = <”…”�”}”(hjÎh²hh³Nh´Nubh)�”}”(hŒ:c:type:`gpio`”h]”j$)�”}”(hjØh]”hŒgpio”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”(j¨j¹Œc-type”eh"]”h$]”h&]”uh1j#hjÖubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hëŒ refdomain”j¹Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¹j½jÁŒgpio”uh1hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MìhjÎubhŒ instance offset flags>;”…”�”}”(hjÎh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jõh´Mìhj{ubhÌ)�”}”(hŒ-Legacy GPIO controllers may even have 1 cell:”h]”hŒ-Legacy GPIO controllers may even have 1 cell:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mîhj{ubhÌ)�”}”(hŒ gpios = <:c:type:`gpio` offset>;”h]”(hŒ gpios = <”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:c:type:`gpio`”h]”j$)�”}”(hjh]”hŒgpio”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(j¨j¹Œc-type”eh"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hëŒ refdomain”j¹Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¹j½jÁŒgpio”uh1hh³jzh´MðhjubhŒ offset>;”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jzh´Mðhj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j9hj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jzh´Mðhj ubj)�”}”(hX``of_node_instance_match`` Determine if a chip is the right instance. Must be implemented by any driver using more than one gpio_chip per device tree node. Returns true if gc is the instance indicated by i (which is the first cell in the phandles for GPIO lines and gpio-ranges). ”h]”(j)�”}”(hŒ``of_node_instance_match``”h]”j$)�”}”(hjRh]”hŒof_node_instance_match”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MúhjLubj:)�”}”(hhh]”hÌ)�”}”(hŒüDetermine if a chip is the right instance. Must be implemented by any driver using more than one gpio_chip per device tree node. Returns true if gc is the instance indicated by i (which is the first cell in the phandles for GPIO lines and gpio-ranges).”h]”hŒüDetermine if a chip is the right instance. Must be implemented by any driver using more than one gpio_chip per device tree node. Returns true if gc is the instance indicated by i (which is the first cell in the phandles for GPIO lines and gpio-ranges).”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M÷hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jgh´Múhj ubj)�”}”(hŒl``of_xlate`` Callback to translate a device tree GPIO specifier into a chip- relative GPIO number and flags.”h]”(j)�”}”(hŒ ``of_xlate``”h]”j$)�”}”(hjŒh]”hŒof_xlate”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mhj†ubj:)�”}”(hhh]”hÌ)�”}”(hŒ_Callback to translate a device tree GPIO specifier into a chip- relative GPIO number and flags.”h]”hŒ_Callback to translate a device tree GPIO specifier into a chip- relative GPIO number and flags.”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¡h´Mhj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¡h´Mhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´NubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjÎh]”hŒ Description”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mhjh²hubhÌ)�”}”(hŒïA gpio_chip can help platforms abstract various sources of GPIOs so they can all be accessed through a common programming interface. Example sources would be SOC controllers, FPGAs, multifunction chips, dedicated GPIO expanders, and so on.”h]”hŒïA gpio_chip can help platforms abstract various sources of GPIOs so they can all be accessed through a common programming interface. Example sources would be SOC controllers, FPGAs, multifunction chips, dedicated GPIO expanders, and so on.”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MŒhjh²hubhÌ)�”}”(hX Each chip controls a number of signals, identified in method calls by "offset" values in the range 0..(**ngpio** - 1). When those signals are referenced through calls like gpio_get_value(gpio), the offset is calculated by subtracting **base** from the gpio number.”h]”(hŒkEach chip controls a number of signals, identified in method calls by “offsetâ€� values in the range 0..(”…”�”}”(hjóh²hh³Nh´NubjÏ)�”}”(hŒ **ngpio**”h]”hŒngpio”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjóubhŒ{ - 1). When those signals are referenced through calls like gpio_get_value(gpio), the offset is calculated by subtracting ”…”�”}”(hjóh²hh³Nh´NubjÏ)�”}”(hŒ**base**”h]”hŒbase”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjóubhŒ from the gpio number.”…”�”}”(hjóh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M‘hjh²hubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ"for_each_hwgpio_in_range (C macro)”Œc.for_each_hwgpio_in_range”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒfor_each_hwgpio_in_range”h]”j@)�”}”(hŒfor_each_hwgpio_in_range”h]”ji)�”}”(hŒfor_each_hwgpio_in_range”h]”jo)�”}”(hj9h]”hŒfor_each_hwgpio_in_range”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj?ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj;h²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mubah}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj7h²hh³jVh´Mubah}”(h]”j2ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jVh´Mhj4h²hubj�)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jœhj4h²hh³jVh´Mubeh}”(h]”h ]”(j¹Œmacro”eh"]”h$]”h&]”j¾j¹j¿jojÀjojÁ‰j‰jÉuh1j4h²hhjh³Nh´NubhÌ)�”}”(hŒ>``for_each_hwgpio_in_range (_chip, _i, _base, _size, _label)``”h]”j$)�”}”(hjuh]”hŒ:for_each_hwgpio_in_range (_chip, _i, _base, _size, _label)”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mhjh²hubhŒ block_quote”“”)�”}”(hŒ)Iterates over all GPIOs in a given range ”h]”hÌ)�”}”(hŒ(Iterates over all GPIOs in a given range”h]”hŒ(Iterates over all GPIOs in a given range”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jŸh´Mhjh²hubjÅ)�”}”(hX**Parameters** ``_chip`` Chip to iterate over. ``_i`` Loop counter. ``_base`` First GPIO in the ranger. ``_size`` Amount of GPIOs to check starting from **base**. ``_label`` Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M!hj¦ubj)�”}”(hhh]”(j)�”}”(hŒ ``_chip`` Chip to iterate over. ”h]”(j)�”}”(hŒ ``_chip``”h]”j$)�”}”(hjËh]”hŒ_chip”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MhjÅubj:)�”}”(hhh]”hÌ)�”}”(hŒChip to iterate over.”h]”hŒChip to iterate over.”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jàh´Mhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jàh´MhjÂubj)�”}”(hŒ``_i`` Loop counter. ”h]”(j)�”}”(hŒ``_i``”h]”j$)�”}”(hjh]”hŒ_i”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´Mhjþubj:)�”}”(hhh]”hÌ)�”}”(hŒ Loop counter.”h]”hŒ Loop counter.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjþubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´MhjÂubj)�”}”(hŒ$``_base`` First GPIO in the ranger. ”h]”(j)�”}”(hŒ ``_base``”h]”j$)�”}”(hj=h]”hŒ_base”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M hj7ubj:)�”}”(hhh]”hÌ)�”}”(hŒFirst GPIO in the ranger.”h]”hŒFirst GPIO in the ranger.”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jRh´M hjSubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jRh´M hjÂubj)�”}”(hŒ;``_size`` Amount of GPIOs to check starting from **base**. ”h]”(j)�”}”(hŒ ``_size``”h]”j$)�”}”(hjvh]”hŒ_size”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M!hjpubj:)�”}”(hhh]”hÌ)�”}”(hŒ0Amount of GPIOs to check starting from **base**.”h]”(hŒ'Amount of GPIOs to check starting from ”…”�”}”(hj�h²hh³Nh´NubjÏ)�”}”(hŒ**base**”h]”hŒbase”…”�”}”(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³j‹h´M!hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‹h´M!hjÂubj)�”}”(hŒj``_label`` Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”h]”(j)�”}”(hŒ ``_label``”h]”j$)�”}”(hjÁh]”hŒ_label”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M"hj»ubj:)�”}”(hhh]”hÌ)�”}”(hŒ_Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”h]”hŒ_Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÖh´M"hj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÖh´M"hjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œfor_each_hwgpio (C macro)”Œc.for_each_hwgpio”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒfor_each_hwgpio”h]”j@)�”}”(hŒfor_each_hwgpio”h]”ji)�”}”(hŒfor_each_hwgpio”h]”jo)�”}”(hjh]”hŒfor_each_hwgpio”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M,ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjh²hh³j1h´M,ubah}”(h]”j ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j1h´M,hjh²hubj�)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jœhjh²hh³j1h´M,ubeh}”(h]”h ]”(j¹Œmacro”eh"]”h$]”h&]”j¾j¹j¿jJjÀjJjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubhÌ)�”}”(hŒ'``for_each_hwgpio (_chip, _i, _label)``”h]”j$)�”}”(hjPh]”hŒ#for_each_hwgpio (_chip, _i, _label)”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M.hjh²hubjŒ)�”}”(hŒ(Iterates over all GPIOs for given chip. ”h]”hÌ)�”}”(hŒ'Iterates over all GPIOs for given chip.”h]”hŒ'Iterates over all GPIOs for given chip.”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M,hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jxh´M,hjh²hubjÅ)�”}”(hŒ¹**Parameters** ``_chip`` Chip to iterate over. ``_i`` Loop counter. ``_label`` Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M0hjubj)�”}”(hhh]”(j)�”}”(hŒ ``_chip`` Chip to iterate over. ”h]”(j)�”}”(hŒ ``_chip``”h]”j$)�”}”(hj¤h]”hŒ_chip”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M-hjžubj:)�”}”(hhh]”hÌ)�”}”(hŒChip to iterate over.”h]”hŒChip to iterate over.”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¹h´M-hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¹h´M-hj›ubj)�”}”(hŒ``_i`` Loop counter. ”h]”(j)�”}”(hŒ``_i``”h]”j$)�”}”(hjÝh]”hŒ_i”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M.hj×ubj:)�”}”(hhh]”hÌ)�”}”(hŒ Loop counter.”h]”hŒ Loop counter.”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jòh´M.hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jòh´M.hj›ubj)�”}”(hŒj``_label`` Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”h]”(j)�”}”(hŒ ``_label``”h]”j$)�”}”(hjh]”hŒ_label”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M/hjubj:)�”}”(hhh]”hÌ)�”}”(hŒ_Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”h]”hŒ_Place to store the address of the label if the GPIO is requested. Set to NULL for unused GPIOs.”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j+h´M/hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j+h´M/hj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ*for_each_requested_gpio_in_range (C macro)”Œ"c.for_each_requested_gpio_in_range”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ for_each_requested_gpio_in_range”h]”j@)�”}”(hŒ for_each_requested_gpio_in_range”h]”ji)�”}”(hŒ for_each_requested_gpio_in_range”h]”jo)�”}”(hjih]”hŒ for_each_requested_gpio_in_range”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjoubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjkh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M6ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjgh²hh³j†h´M6ubah}”(h]”jbah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j†h´M6hjdh²hubj�)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jœhjdh²hh³j†h´M6ubeh}”(h]”h ]”(j¹Œmacro”eh"]”h$]”h&]”j¾j¹j¿jŸjÀjŸjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubhÌ)�”}”(hŒF``for_each_requested_gpio_in_range (_chip, _i, _base, _size, _label)``”h]”j$)�”}”(hj¥h]”hŒBfor_each_requested_gpio_in_range (_chip, _i, _base, _size, _label)”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M8hjh²hubjŒ)�”}”(hŒ/iterates over requested GPIOs in a given range ”h]”hÌ)�”}”(hŒ.iterates over requested GPIOs in a given range”h]”hŒ.iterates over requested GPIOs in a given range”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M6hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³jÍh´M6hjh²hubjÅ)�”}”(hŒË**Parameters** ``_chip`` the chip to query ``_i`` loop variable ``_base`` first GPIO in the range ``_size`` amount of GPIOs to check starting from **base** ``_label`` label of current GPIO”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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M:hjÔubj)�”}”(hhh]”(j)�”}”(hŒ``_chip`` the chip to query ”h]”(j)�”}”(hŒ ``_chip``”h]”j$)�”}”(hjùh]”hŒ_chip”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M7hjóubj:)�”}”(hhh]”hÌ)�”}”(hŒthe chip to query”h]”hŒthe chip to query”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´M7hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´M7hjðubj)�”}”(hŒ``_i`` loop variable ”h]”(j)�”}”(hŒ``_i``”h]”j$)�”}”(hj2h]”hŒ_i”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M8hj,ubj:)�”}”(hhh]”hÌ)�”}”(hŒ loop variable”h]”hŒ loop variable”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jGh´M8hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jGh´M8hjðubj)�”}”(hŒ"``_base`` first GPIO in the range ”h]”(j)�”}”(hŒ ``_base``”h]”j$)�”}”(hjkh]”hŒ_base”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M9hjeubj:)�”}”(hhh]”hÌ)�”}”(hŒfirst GPIO in the range”h]”hŒfirst GPIO in the range”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j€h´M9hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j€h´M9hjðubj)�”}”(hŒ:``_size`` amount of GPIOs to check starting from **base** ”h]”(j)�”}”(hŒ ``_size``”h]”j$)�”}”(hj¤h]”hŒ_size”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M:hjžubj:)�”}”(hhh]”hÌ)�”}”(hŒ/amount of GPIOs to check starting from **base**”h]”(hŒ'amount of GPIOs to check starting from ”…”�”}”(hj½h²hh³Nh´NubjÏ)�”}”(hŒ**base**”h]”hŒbase”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¹h´M:hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¹h´M:hjðubj)�”}”(hŒ ``_label`` label of current GPIO”h]”(j)�”}”(hŒ ``_label``”h]”j$)�”}”(hjëh]”hŒ_label”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M<hjåubj:)�”}”(hhh]”hÌ)�”}”(hŒlabel of current GPIO”h]”hŒlabel of current GPIO”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M;hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjåubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´M<hjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiochip_add_data (C macro)”Œc.gpiochip_add_data”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒgpiochip_add_data”h]”j@)�”}”(hŒgpiochip_add_data”h]”ji)�”}”(hŒgpiochip_add_data”h]”jo)�”}”(hj?h]”hŒgpiochip_add_data”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjEubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjAh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MKubah}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj=h²hh³j\h´MKubah}”(h]”j8ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j\h´MKhj:h²hubj�)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jœhj:h²hh³j\h´MKubeh}”(h]”h ]”(j¹Œmacro”eh"]”h$]”h&]”j¾j¹j¿jujÀjujÁ‰j‰jÉuh1j4h²hhjh³Nh´NubhÌ)�”}”(hŒ ``gpiochip_add_data (gc, data)``”h]”j$)�”}”(hj{h]”hŒgpiochip_add_data (gc, data)”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjyubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MMhjh²hubjŒ)�”}”(hŒregister a gpio_chip ”h]”hÌ)�”}”(hŒregister a gpio_chip”h]”hŒregister a gpio_chip”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MKhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‹h³j£h´MKhjh²hubjÅ)�”}”(hX-**Parameters** ``gc`` the chip to register, with gc->base initialized ``data`` driver-private data associated with this chip **Context** potentially before irqs will work **Description** When gpiochip_add_data() is called very early during boot, so that GPIOs can be freely used, the gc->parent device must be registered before the gpio framework's arch_initcall(). Otherwise sysfs initialization for GPIOs will fail rudely. gpiochip_add_data() must only be called after gpiolib initialization, i.e. after core_initcall(). If gc->base is negative, this requests dynamic assignment of a range of valid GPIOs. **Return** A negative errno if the chip can't be registered, such as because the gc->base is invalid or already associated with a different chip. Otherwise it returns zero as a success code.”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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MOhjªubj)�”}”(hhh]”(j)�”}”(hŒ7``gc`` the chip to register, with gc->base initialized ”h]”(j)�”}”(hŒ``gc``”h]”j$)�”}”(hjÏh]”hŒgc”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MLhjÉubj:)�”}”(hhh]”hÌ)�”}”(hŒ/the chip to register, with gc->base initialized”h]”hŒ/the chip to register, with gc->base initialized”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jäh´MLhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jäh´MLhjÆubj)�”}”(hŒ7``data`` driver-private data associated with this chip ”h]”(j)�”}”(hŒ``data``”h]”j$)�”}”(hjh]”hŒdata”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MMhjubj:)�”}”(hhh]”hÌ)�”}”(hŒ-driver-private data associated with this chip”h]”hŒ-driver-private data associated with this chip”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jh´MMhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´MMhjÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjªubhÌ)�”}”(hŒ **Context**”h]”jÏ)�”}”(hjCh]”hŒContext”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MOhjªubhÌ)�”}”(hŒ!potentially before irqs will work”h]”hŒ!potentially before irqs will work”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MOhjªubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjjh]”hŒ Description”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MQhjªubhÌ)�”}”(hŒîWhen gpiochip_add_data() is called very early during boot, so that GPIOs can be freely used, the gc->parent device must be registered before the gpio framework's arch_initcall(). Otherwise sysfs initialization for GPIOs will fail rudely.”h]”hŒðWhen gpiochip_add_data() is called very early during boot, so that GPIOs can be freely used, the gc->parent device must be registered before the gpio framework’s arch_initcall(). Otherwise sysfs initialization for GPIOs will fail rudely.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MPhjªubhÌ)�”}”(hŒagpiochip_add_data() must only be called after gpiolib initialization, i.e. after core_initcall().”h]”hŒagpiochip_add_data() must only be called after gpiolib initialization, i.e. after core_initcall().”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MUhjªubhÌ)�”}”(hŒTIf gc->base is negative, this requests dynamic assignment of a range of valid GPIOs.”h]”hŒTIf gc->base is negative, this requests dynamic assignment of a range of valid GPIOs.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MXhjª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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M[hjªubhÌ)�”}”(hŒ³A negative errno if the chip can't be registered, such as because the gc->base is invalid or already associated with a different chip. Otherwise it returns zero as a success code.”h]”hŒµA negative errno if the chip can’t be registered, such as because the gc->base is invalid or already associated with a different chip. Otherwise it returns zero as a success code.”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´M\hjªubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpio_pin_range (C struct)”Œc.gpio_pin_range”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒgpio_pin_range”h]”j@)�”}”(hŒstruct gpio_pin_range”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjðh²hh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´McubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjðh²hh³jh´Mcubji)�”}”(hŒgpio_pin_range”h]”jo)�”}”(hjîh]”hŒgpio_pin_range”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjðh²hh³jh´Mcubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjìh²hh³jh´Mcubah}”(h]”jçah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jh´Mchjéh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ#pin range controlled by a gpio chip”h]”hŒ#pin range controlled by a gpio chip”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÉhj3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjéh²hh³jh´Mcubeh}”(h]”h ]”(j¹Œstruct”eh"]”h$]”h&]”j¾j¹j¿jNjÀjNjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXi**Definition**:: struct gpio_pin_range { struct list_head node; struct pinctrl_dev *pctldev; struct pinctrl_gpio_range range; }; **Members** ``node`` list for maintaining set of pin ranges, used internally ``pctldev`` pinctrl device which handles corresponding pins ``range`` actual range of pins controlled by a gpio controller”h]”(hÌ)�”}”(hŒ**Definition**::”h]”(jÏ)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjVubhŒ:”…”�”}”(hjVh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÍhjRubjê)�”}”(hŒ{struct gpio_pin_range { struct list_head node; struct pinctrl_dev *pctldev; struct pinctrl_gpio_range range; };”h]”hŒ{struct gpio_pin_range { struct list_head node; struct pinctrl_dev *pctldev; struct pinctrl_gpio_range range; };”…”�”}”hjssbah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jéh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÏhjRubhÌ)�”}”(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³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÕhjRubj)�”}”(hhh]”(j)�”}”(hŒA``node`` list for maintaining set of pin ranges, used internally ”h]”(j)�”}”(hŒ``node``”h]”j$)�”}”(hj£h]”hŒnode”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MËhj�ubj:)�”}”(hhh]”hÌ)�”}”(hŒ7list for maintaining set of pin ranges, used internally”h]”hŒ7list for maintaining set of pin ranges, used internally”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¸h´MËhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¸h´MËhjšubj)�”}”(hŒ<``pctldev`` pinctrl device which handles corresponding pins ”h]”(j)�”}”(hŒ ``pctldev``”h]”j$)�”}”(hjÜh]”hŒpctldev”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÌhjÖubj:)�”}”(hhh]”hÌ)�”}”(hŒ/pinctrl device which handles corresponding pins”h]”hŒ/pinctrl device which handles corresponding pins”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jñh´MÌhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jñh´MÌhjšubj)�”}”(hŒ>``range`` actual range of pins controlled by a gpio controller”h]”(j)�”}”(hŒ ``range``”h]”j$)�”}”(hjh]”hŒrange”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÌhjubj:)�”}”(hhh]”hÌ)�”}”(hŒ4actual range of pins controlled by a gpio controller”h]”hŒ4actual range of pins controlled by a gpio controller”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œa/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:23: ./include/linux/gpio/driver.h”h´MÍhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j*h´MÌhjšubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjRubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpio_to_desc (C function)”Œc.gpio_to_desc”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/struct gpio_desc * gpio_to_desc (unsigned gpio)”h]”j@)�”}”(hŒ-struct gpio_desc *gpio_to_desc(unsigned gpio)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjkh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´K¥ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjkh²hh³j|h´K¥ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”Œ identifier”Œ reftarget”j�Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jºŒ ASTIdentifier”“”)�”}”j¤Œ gpio_to_desc”sbŒc.gpio_to_desc”†”asbuh1hhjkh²hh³j|h´K¥ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjkh²hh³j|h´K¥ubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jÀhjkh²hh³j|h´K¥ubji)�”}”(hŒ gpio_to_desc”h]”jo)�”}”(hj¯h]”hŒ gpio_to_desc”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÑubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjkh²hh³j|h´K¥ubhŒdesc_parameterlist”“”)�”}”(hŒ(unsigned gpio)”h]”hŒdesc_parameter”“”)�”}”(hŒ unsigned gpio”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jôhjðubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjðubjo)�”}”(hŒgpio”h]”hŒgpio”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjêubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjkh²hh³j|h´K¥ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjgh²hh³j|h´K¥ubah}”(h]”jbah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j|h´K¥hjdh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ'Convert a GPIO number to its descriptor”h]”hŒ'Convert a GPIO number to its descriptor”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´K¥hj:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjdh²hh³j|h´K¥ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jUjÀjUjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒº**Parameters** ``unsigned gpio`` global GPIO number **Return** The GPIO descriptor associated with the given GPIO, or ``NULL`` if no GPIO with the given number exists in the system.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj_h]”hŒ Parameters”…”�”}”(hjah²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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´K©hjYubj)�”}”(hhh]”j)�”}”(hŒ%``unsigned gpio`` global GPIO number ”h]”(j)�”}”(hŒ``unsigned gpio``”h]”j$)�”}”(hj~h]”hŒ unsigned gpio”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”•h´K¦hjxubj:)�”}”(hhh]”hÌ)�”}”(hŒglobal GPIO number”h]”hŒglobal GPIO number”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j“h´K¦hj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j“h´K¦hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjYubhÌ)�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´K¨hjYubhÌ)�”}”(hŒvThe GPIO descriptor associated with the given GPIO, or ``NULL`` if no GPIO with the given number exists in the system.”h]”(hŒ7The GPIO descriptor associated with the given GPIO, or ”…”�”}”(hjÏh²hh³Nh´Nubj$)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÏubhŒ7 if no GPIO with the given number exists in the system.”…”�”}”(hjÏh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´K¨hjYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ!gpio_device_get_desc (C function)”Œc.gpio_device_get_desc”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒVstruct gpio_desc * gpio_device_get_desc (struct gpio_device *gdev, unsigned int hwnum)”h]”j@)�”}”(hŒTstruct gpio_desc *gpio_device_get_desc(struct gpio_device *gdev, unsigned int hwnum)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÅubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj h²hh³jh´KÅubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j1Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_get_desc”sbŒc.gpio_device_get_desc”†”asbuh1hhj h²hh³jh´KÅubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj h²hh³jh´KÅubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj h²hh³jh´KÅubji)�”}”(hŒgpio_device_get_desc”h]”jo)�”}”(hjMh]”hŒgpio_device_get_desc”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjkubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj h²hh³jh´KÅubjé)�”}”(hŒ.(struct gpio_device *gdev, unsigned int hwnum)”h]”(jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj†ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj†ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jªŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jKŒc.gpio_device_get_desc”†”asbuh1hhj†ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj†ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj†ubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj‚ubjï)�”}”(hŒunsigned int hwnum”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjöubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjöubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjöubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjöubjo)�”}”(hŒhwnum”h]”hŒhwnum”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjöubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj h²hh³jh´KÅubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjh²hh³jh´KÅubah}”(h]”jah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jh´KÅhjh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒWget the GPIO descriptor corresponding to the given hardware number for this GPIO device”h]”hŒWget the GPIO descriptor corresponding to the given hardware number for this GPIO device”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÅhjYh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjh²hh³jh´KÅubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jtjÀjtjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXW**Parameters** ``struct gpio_device *gdev`` GPIO device to get the descriptor from ``unsigned int hwnum`` hardware number of the GPIO for this chip **Return** A pointer to the GPIO descriptor or ``EINVAL`` if no GPIO exists in the given chip for the specified hardware number or ``ENODEV`` if the underlying chip already vanished. **Description** The reference count of struct gpio_device is *NOT* increased like when the GPIO is being requested for exclusive usage. It's up to the caller to make sure the GPIO device will stay alive together with the descriptor returned by this function.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÉhjxubj)�”}”(hhh]”(j)�”}”(hŒD``struct gpio_device *gdev`` GPIO device to get the descriptor from ”h]”(j)�”}”(hŒ``struct gpio_device *gdev``”h]”j$)�”}”(hj�h]”hŒstruct gpio_device *gdev”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÇhj—ubj:)�”}”(hhh]”hÌ)�”}”(hŒ&GPIO device to get the descriptor from”h]”hŒ&GPIO device to get the descriptor from”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j²h´KÇhj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j²h´KÇhj”ubj)�”}”(hŒA``unsigned int hwnum`` hardware number of the GPIO for this chip ”h]”(j)�”}”(hŒ``unsigned int hwnum``”h]”j$)�”}”(hjÖh]”hŒunsigned int hwnum”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÈhjÐubj:)�”}”(hhh]”hÌ)�”}”(hŒ)hardware number of the GPIO for this chip”h]”hŒ)hardware number of the GPIO for this chip”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jëh´KÈhjìubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jëh´KÈhj”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjxubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÊhjxubhÌ)�”}”(hŒ«A pointer to the GPIO descriptor or ``EINVAL`` if no GPIO exists in the given chip for the specified hardware number or ``ENODEV`` if the underlying chip already vanished.”h]”(hŒ$A pointer to the GPIO descriptor or ”…”�”}”(hj'h²hh³Nh´Nubj$)�”}”(hŒ ``EINVAL``”h]”hŒEINVAL”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj'ubhŒJ if no GPIO exists in the given chip for the specified hardware number or ”…”�”}”(hj'h²hh³Nh´Nubj$)�”}”(hŒ ``ENODEV``”h]”hŒENODEV”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj'ubhŒ) if the underlying chip already vanished.”…”�”}”(hj'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÊhjxubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj\h]”hŒ Description”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjZubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÎhjxubhÌ)�”}”(hŒòThe reference count of struct gpio_device is *NOT* increased like when the GPIO is being requested for exclusive usage. It's up to the caller to make sure the GPIO device will stay alive together with the descriptor returned by this function.”h]”(hŒ-The reference count of struct gpio_device is ”…”�”}”(hjrh²hh³Nh´NubhŒemphasis”“”)�”}”(hŒ*NOT*”h]”hŒNOT”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjrubhŒÂ increased like when the GPIO is being requested for exclusive usage. It’s up to the caller to make sure the GPIO device will stay alive together with the descriptor returned by this function.”…”�”}”(hjrh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÎhjxubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œdesc_to_gpio (C function)”Œc.desc_to_gpio”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/int desc_to_gpio (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ.int desc_to_gpio(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj±h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KßubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj±h²hh³jÃh´Kßubji)�”}”(hŒ desc_to_gpio”h]”jo)�”}”(hŒ desc_to_gpio”h]”hŒ desc_to_gpio”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÒubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj±h²hh³jÃh´Kßubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjîubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjîubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjîubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjîubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj, h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj) ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j. Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jØsbŒc.desc_to_gpio”†”asbuh1hhjîubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjîubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjîubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjg h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjî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´Kßubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj­h²hh³jÃh´Kßubah}”(h]”j¨ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÃh´Kßhjªh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ2convert a GPIO descriptor to the integer namespace”h]”hŒ2convert a GPIO descriptor to the integer namespace”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KßhjŽ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjªh²hh³jÃh´Kßubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j© jÀj© jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``const struct gpio_desc *desc`` GPIO descriptor **Description** This should disappear in the future but is needed since we still use GPIO numbers for error messages and sysfs nodes. **Return** The global GPIO number for the GPIO specified by its descriptor.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kãhj­ ubj)�”}”(hhh]”j)�”}”(hŒ1``const struct gpio_desc *desc`` GPIO descriptor ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hjÒ h]”hŒconst struct gpio_desc *desc”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÐ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KàhjÌ ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO descriptor”h]”hŒGPIO descriptor”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jç h´Kàhjè ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÌ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jç h´KàhjÉ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kâhj­ ubhÌ)�”}”(hŒuThis should disappear in the future but is needed since we still use GPIO numbers for error messages and sysfs nodes.”h]”hŒuThis should disappear in the future but is needed since we still use GPIO numbers for error messages and sysfs nodes.”…”�”}”(hj#!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Káhj­ ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj4!h]”hŒReturn”…”�”}”(hj6!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj2!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kähj­ ubhÌ)�”}”(hŒ@The global GPIO number for the GPIO specified by its descriptor.”h]”hŒ@The global GPIO number for the GPIO specified by its descriptor.”…”�”}”(hjJ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kåhj­ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_hwgpio (C function)”Œc.gpiod_hwgpio”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/int gpiod_hwgpio (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ.int gpiod_hwgpio(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjy!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhju!h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KïubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ!h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhju!h²hh³j‡!h´Kïubji)�”}”(hŒ gpiod_hwgpio”h]”jo)�”}”(hŒ gpiod_hwgpio”h]”hŒ gpiod_hwgpio”…”�”}”(hjš!h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj–!ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhju!h²hh³j‡!h´Kïubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj¶!h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj²!ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ!h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj²!ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÑ!h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj²!ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ!h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj²!ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjï!h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjì!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jñ!Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jœ!sbŒc.gpiod_hwgpio”†”asbuh1hhj²!ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj²!ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj²!ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj*"h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj²!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj®!ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhju!h²hh³j‡!h´Kïubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjq!h²hh³j‡!h´Kïubah}”(h]”jl!ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j‡!h´Kïhjn!h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒEReturn the GPIO number of the passed descriptor relative to its chip.”h]”hŒEReturn the GPIO number of the passed descriptor relative to its chip.”…”�”}”(hjT"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KïhjQ"h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjn!h²hh³j‡!h´Kïubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jl"jÀjl"jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒŠ**Parameters** ``const struct gpio_desc *desc`` GPIO descriptor **Return** Hardware offset of the GPIO represented by the descriptor.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjv"h]”hŒ Parameters”…”�”}”(hjx"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjt"ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kóhjp"ubj)�”}”(hhh]”j)�”}”(hŒ1``const struct gpio_desc *desc`` GPIO descriptor ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hj•"h]”hŒconst struct gpio_desc *desc”…”�”}”(hj—"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj“"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kñhj�"ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO descriptor”h]”hŒGPIO descriptor”…”�”}”(hj®"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jª"h´Kñhj«"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj�"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jª"h´KñhjŒ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjp"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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kóhjp"ubhÌ)�”}”(hŒ:Hardware offset of the GPIO represented by the descriptor.”h]”hŒ:Hardware offset of the GPIO represented by the descriptor.”…”�”}”(hjæ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kóhjp"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_to_chip (C function)”Œc.gpiod_to_chip”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ?struct gpio_chip * gpiod_to_chip (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ=struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj#h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KýubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj##h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj#h²hh³j"#h´Kýubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hj4#h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj1#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j6#Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œ gpiod_to_chip”sbŒc.gpiod_to_chip”†”asbuh1hhj#h²hh³j"#h´KýubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU#h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj#h²hh³j"#h´KýubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjc#h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj#h²hh³j"#h´Kýubji)�”}”(hŒ gpiod_to_chip”h]”jo)�”}”(hjR#h]”hŒ gpiod_to_chip”…”�”}”(hjt#h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjp#ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj#h²hh³j"#h´Kýubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj�#h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‹#ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ#h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‹#ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjª#h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‹#ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·#h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‹#ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÈ#h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÅ#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÊ#Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jP#Œc.gpiod_to_chip”†”asbuh1hhj‹#ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæ#h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‹#ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjô#h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj‹#ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‹#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´Kýubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj #h²hh³j"#h´Kýubah}”(h]”j#ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j"#h´Kýhj #h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ7Return the GPIO chip to which a GPIO descriptor belongs”h]”hŒ7Return the GPIO chip to which a GPIO descriptor belongs”…”�”}”(hj+$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kýhj($h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj #h²hh³j"#h´Kýubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jC$jÀjC$jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXF**Parameters** ``const struct gpio_desc *desc`` descriptor to return the chip of **Description** *DEPRECATED* This function is unsafe and should not be used. Using the chip address without taking the SRCU read lock may result in dereferencing a dangling pointer. **Return** Address of the GPIO chip backing this device.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjM$h]”hŒ Parameters”…”�”}”(hjO$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjK$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjG$ubj)�”}”(hhh]”j)�”}”(hŒB``const struct gpio_desc *desc`` descriptor to return the chip of ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hjl$h]”hŒconst struct gpio_desc *desc”…”�”}”(hjn$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Kþhjf$ubj:)�”}”(hhh]”hÌ)�”}”(hŒ descriptor to return the chip of”h]”hŒ descriptor to return the chip of”…”�”}”(hj…$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�$h´Kþhj‚$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjf$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�$h´Kþhjc$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjG$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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjG$ubhÌ)�”}”(hŒ¥*DEPRECATED* This function is unsafe and should not be used. Using the chip address without taking the SRCU read lock may result in dereferencing a dangling pointer.”h]”(j{)�”}”(hŒ *DEPRECATED*”h]”hŒ DEPRECATED”…”�”}”(hjÁ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhj½$ubhŒ™ This function is unsafe and should not be used. Using the chip address without taking the SRCU read lock may result in dereferencing a dangling pointer.”…”�”}”(hj½$h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´KÿhjG$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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjG$ubhÌ)�”}”(hŒ-Address of the GPIO chip backing this device.”h]”hŒ-Address of the GPIO chip backing this device.”…”�”}”(hjò$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjG$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ!gpiod_to_gpio_device (C function)”Œc.gpiod_to_gpio_device”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒBstruct gpio_device * gpiod_to_gpio_device (struct gpio_desc *desc)”h]”j@)�”}”(hŒ@struct gpio_device *gpiod_to_gpio_device(struct gpio_desc *desc)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj!%h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj%h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/%h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj%h²hh³j.%h´Mubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj@%h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj=%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jB%Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpiod_to_gpio_device”sbŒc.gpiod_to_gpio_device”†”asbuh1hhj%h²hh³j.%h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hja%h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj%h²hh³j.%h´MubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjo%h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj%h²hh³j.%h´Mubji)�”}”(hŒgpiod_to_gpio_device”h]”jo)�”}”(hj^%h]”hŒgpiod_to_gpio_device”…”�”}”(hj€%h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj|%ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj%h²hh³j.%h´Mubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj›%h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj—%ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨%h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj—%ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj¹%h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¶%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j»%Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j\%Œc.gpiod_to_gpio_device”†”asbuh1hhj—%ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×%h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj—%ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjå%h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj—%ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjò%h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj—%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Žˆuh1j?j�j�hj%h²hh³j.%h´Mubah}”(h]”j%ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j.%h´Mhj%h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ8Return the GPIO device to which this descriptor belongs.”h]”hŒ8Return the GPIO device to which this descriptor belongs.”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj%h²hh³j.%h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j4&jÀj4&jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXW**Parameters** ``struct gpio_desc *desc`` Descriptor for which to return the GPIO device. **Description** This *DOES NOT* increase the reference count of the GPIO device as it's expected that the descriptor is requested and the users already holds a reference to the device. **Return** Address of the GPIO device owning this descriptor.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj8&ubj)�”}”(hhh]”j)�”}”(hŒK``struct gpio_desc *desc`` Descriptor for which to return the GPIO device. ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj]&h]”hŒstruct gpio_desc *desc”…”�”}”(hj_&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj[&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjW&ubj:)�”}”(hhh]”hÌ)�”}”(hŒ/Descriptor for which to return the GPIO device.”h]”hŒ/Descriptor for which to return the GPIO device.”…”�”}”(hjv&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jr&h´Mhjs&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjW&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jr&h´MhjT&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8&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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj8&ubhÌ)�”}”(hŒ¨This *DOES NOT* increase the reference count of the GPIO device as it's expected that the descriptor is requested and the users already holds a reference to the device.”h]”(hŒThis ”…”�”}”(hj®&h²hh³Nh´Nubj{)�”}”(hŒ *DOES NOT*”h]”hŒDOES NOT”…”�”}”(hj¶&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhj®&ubhŒ› increase the reference count of the GPIO device as it’s expected that the descriptor is requested and the users already holds a reference to the device.”…”�”}”(hj®&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj8&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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj8&ubhÌ)�”}”(hŒ2Address of the GPIO device owning this descriptor.”h]”hŒ2Address of the GPIO device owning this descriptor.”…”�”}”(hjç&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj8&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ!gpio_device_get_base (C function)”Œc.gpio_device_get_base”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ3int gpio_device_get_base (struct gpio_device *gdev)”h]”j@)�”}”(hŒ2int gpio_device_get_base(struct gpio_device *gdev)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj'h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M'ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%'h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj'h²hh³j$'h´M'ubji)�”}”(hŒgpio_device_get_base”h]”jo)�”}”(hŒgpio_device_get_base”h]”hŒgpio_device_get_base”…”�”}”(hj7'h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj3'ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj'h²hh³j$'h´M'ubjé)�”}”(hŒ(struct gpio_device *gdev)”h]”jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjS'h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjO'ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`'h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjO'ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hjq'h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjn'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”js'Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j9'sbŒc.gpio_device_get_base”†”asbuh1hhjO'ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘'h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjO'ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjŸ'h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjO'ubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hj¬'h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjO'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjK'ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj'h²hh³j$'h´M'ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj'h²hh³j$'h´M'ubah}”(h]”j 'ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j$'h´M'hj 'h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ1Get the base GPIO number allocated by this device”h]”hŒ1Get the base GPIO number allocated by this device”…”�”}”(hjÖ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M'hjÓ'h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj 'h²hh³j$'h´M'ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jî'jÀjî'jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ‰**Parameters** ``struct gpio_device *gdev`` GPIO device **Return** First GPIO number in the global GPIO numberspace for this device.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M+hjò'ubj)�”}”(hhh]”j)�”}”(hŒ)``struct gpio_device *gdev`` GPIO device ”h]”(j)�”}”(hŒ``struct gpio_device *gdev``”h]”j$)�”}”(hj(h]”hŒstruct gpio_device *gdev”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M(hj(ubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO device”h]”hŒ GPIO device”…”�”}”(hj0(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j,(h´M(hj-(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j,(h´M(hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjò'ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjR(h]”hŒReturn”…”�”}”(hjT(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjP(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M*hjò'ubhÌ)�”}”(hŒAFirst GPIO number in the global GPIO numberspace for this device.”h]”hŒAFirst GPIO number in the global GPIO numberspace for this device.”…”�”}”(hjh(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M*hjò'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ"gpio_device_get_label (C function)”Œc.gpio_device_get_label”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ=const char * gpio_device_get_label (struct gpio_device *gdev)”h]”j@)�”}”(hŒ;const char *gpio_device_get_label(struct gpio_device *gdev)”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj—(h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj“(h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥(h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“(h²hh³j¤(h´M4ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj³(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj“(h²hh³j¤(h´M4ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ(h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“(h²hh³j¤(h´M4ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÏ(h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj“(h²hh³j¤(h´M4ubji)�”}”(hŒgpio_device_get_label”h]”jo)�”}”(hŒgpio_device_get_label”h]”hŒgpio_device_get_label”…”�”}”(hjà(h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÜ(ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj“(h²hh³j¤(h´M4ubjé)�”}”(hŒ(struct gpio_device *gdev)”h]”jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjü(h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjø(ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjø(ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j)Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jâ(sbŒc.gpio_device_get_label”†”asbuh1hhjø(ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:)h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjø(ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjH)h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjø(ubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hjU)h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjø(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´M4ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj�(h²hh³j¤(h´M4ubah}”(h]”jŠ(ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¤(h´M4hjŒ(h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ!Get the label of this GPIO device”h]”hŒ!Get the label of this GPIO device”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4hj|)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjŒ(h²hh³j¤(h´M4ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j—)jÀj—)jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒÄ**Parameters** ``struct gpio_device *gdev`` GPIO device **Return** Pointer to the string containing the GPIO device label. The string's lifetime is tied to that of the underlying GPIO device.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M8hj›)ubj)�”}”(hhh]”j)�”}”(hŒ)``struct gpio_device *gdev`` GPIO device ”h]”(j)�”}”(hŒ``struct gpio_device *gdev``”h]”j$)�”}”(hjÀ)h]”hŒstruct gpio_device *gdev”…”�”}”(hjÂ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¾)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M5hjº)ubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO device”h]”hŒ GPIO device”…”�”}”(hjÙ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÕ)h´M5hjÖ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjº)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÕ)h´M5hj·)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj›)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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7hj›)ubhÌ)�”}”(hŒ|Pointer to the string containing the GPIO device label. The string's lifetime is tied to that of the underlying GPIO device.”h]”hŒ~Pointer to the string containing the GPIO device label. The string’s lifetime is tied to that of the underlying GPIO device.”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7hj›)ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ!gpio_device_get_chip (C function)”Œc.gpio_device_get_chip”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒBstruct gpio_chip * gpio_device_get_chip (struct gpio_device *gdev)”h]”j@)�”}”(hŒ@struct gpio_chip *gpio_device_get_chip(struct gpio_device *gdev)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj@*h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj<*h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MBubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN*h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj<*h²hh³jM*h´MBubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hj_*h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj\*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”ja*Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_get_chip”sbŒc.gpio_device_get_chip”†”asbuh1hhj<*h²hh³jM*h´MBubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€*h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj<*h²hh³jM*h´MBubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjŽ*h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj<*h²hh³jM*h´MBubji)�”}”(hŒgpio_device_get_chip”h]”jo)�”}”(hj}*h]”hŒgpio_device_get_chip”…”�”}”(hjŸ*h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj›*ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj<*h²hh³jM*h´MBubjé)�”}”(hŒ(struct gpio_device *gdev)”h]”jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjº*h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¶*ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ*h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¶*ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hjØ*h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÕ*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÚ*Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j{*Œc.gpio_device_get_chip”†”asbuh1hhj¶*ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö*h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¶*ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¶*ubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¶*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj²*ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj<*h²hh³jM*h´MBubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj8*h²hh³jM*h´MBubah}”(h]”j3*ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jM*h´MBhj5*h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ4Get the gpio_chip implementation of this GPIO device”h]”hŒ4Get the gpio_chip implementation of this GPIO device”…”�”}”(hj;+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MBhj8+h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj5*h²hh³jM*h´MBubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jS+jÀjS+jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXÛ**Parameters** ``struct gpio_device *gdev`` GPIO device **Return** Address of the GPIO chip backing this device. **Description** *DEPRECATED* Until we can get rid of all non-driver users of struct gpio_chip, we must provide a way of retrieving the pointer to it from struct gpio_device. This is *NOT* safe as the GPIO API is considered to be hot-unpluggable and the chip can dissapear at any moment (unlike reference-counted struct gpio_device). Use at your own risk.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MFhjW+ubj)�”}”(hhh]”j)�”}”(hŒ)``struct gpio_device *gdev`` GPIO device ”h]”(j)�”}”(hŒ``struct gpio_device *gdev``”h]”j$)�”}”(hj|+h]”hŒstruct gpio_device *gdev”…”�”}”(hj~+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjz+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MChjv+ubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO device”h]”hŒ GPIO device”…”�”}”(hj•+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j‘+h´MChj’+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjv+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‘+h´MChjs+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjW+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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MEhjW+ubhÌ)�”}”(hŒ-Address of the GPIO chip backing this device.”h]”hŒ-Address of the GPIO chip backing this device.”…”�”}”(hjÍ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MEhjW+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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MGhjW+ubhÌ)�”}”(hX<*DEPRECATED* Until we can get rid of all non-driver users of struct gpio_chip, we must provide a way of retrieving the pointer to it from struct gpio_device. This is *NOT* safe as the GPIO API is considered to be hot-unpluggable and the chip can dissapear at any moment (unlike reference-counted struct gpio_device).”h]”(j{)�”}”(hŒ *DEPRECATED*”h]”hŒ DEPRECATED”…”�”}”(hjø+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjô+ubhŒš Until we can get rid of all non-driver users of struct gpio_chip, we must provide a way of retrieving the pointer to it from struct gpio_device. This is ”…”�”}”(hjô+h²hh³Nh´Nubj{)�”}”(hŒ*NOT*”h]”hŒNOT”…”�”}”(hj ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjô+ubhŒ‘ safe as the GPIO API is considered to be hot-unpluggable and the chip can dissapear at any moment (unlike reference-counted struct gpio_device).”…”�”}”(hjô+h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MGhjW+ubhÌ)�”}”(hŒUse at your own risk.”h]”hŒUse at your own risk.”…”�”}”(hj#,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MNhjW+ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_is_equal (C function)”Œc.gpiod_is_equal”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒQbool gpiod_is_equal (const struct gpio_desc *desc, const struct gpio_desc *other)”h]”j@)�”}”(hŒPbool gpiod_is_equal(const struct gpio_desc *desc, const struct gpio_desc *other)”h]”(jõ)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjR,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjN,h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M›ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hja,h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjN,h²hh³j`,h´M›ubji)�”}”(hŒgpiod_is_equal”h]”jo)�”}”(hŒgpiod_is_equal”h]”hŒgpiod_is_equal”…”�”}”(hjs,h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjo,ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjN,h²hh³j`,h´M›ubjé)�”}”(hŒ=(const struct gpio_desc *desc, const struct gpio_desc *other)”h]”(jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj�,h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‹,ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ,h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‹,ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjª,h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‹,ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·,h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‹,ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÈ,h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÅ,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÊ,Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤ju,sbŒc.gpiod_is_equal”†”asbuh1hhj‹,ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè,h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‹,ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjö,h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj‹,ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‹,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj‡,ubjï)�”}”(hŒconst struct gpio_desc *other”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj-ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)-h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj-ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hj7-h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj-ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD-h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj-ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjU-h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjR-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jW-Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jä,Œc.gpiod_is_equal”†”asbuh1hhj-ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs-h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj-ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj�-h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj-ubjo)�”}”(hŒother”h]”hŒother”…”�”}”(hjŽ-h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj‡,ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjN,h²hh³j`,h´M›ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjJ,h²hh³j`,h´M›ubah}”(h]”jE,ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j`,h´M›hjG,h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ4Check if two GPIO descriptors refer to the same pin.”h]”hŒ4Check if two GPIO descriptors refer to the same pin.”…”�”}”(hj¸-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M›hjµ-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjG,h²hh³j`,h´M›ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÐ-jÀjÐ-jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒî**Parameters** ``const struct gpio_desc *desc`` Descriptor to compare. ``const struct gpio_desc *other`` The second descriptor to compare against. **Return** True if the descriptors refer to the same physical pin. False otherwise.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjÚ-h]”hŒ Parameters”…”�”}”(hjÜ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjØ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MŸhjÔ-ubj)�”}”(hhh]”(j)�”}”(hŒ8``const struct gpio_desc *desc`` Descriptor to compare. ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hjù-h]”hŒconst struct gpio_desc *desc”…”�”}”(hjû-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj÷-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mœhjó-ubj:)�”}”(hhh]”hÌ)�”}”(hŒDescriptor to compare.”h]”hŒDescriptor to compare.”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j.h´Mœhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjó-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j.h´Mœhjð-ubj)�”}”(hŒL``const struct gpio_desc *other`` The second descriptor to compare against. ”h]”(j)�”}”(hŒ!``const struct gpio_desc *other``”h]”j$)�”}”(hj2.h]”hŒconst struct gpio_desc *other”…”�”}”(hj4.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj0.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M�hj,.ubj:)�”}”(hhh]”hÌ)�”}”(hŒ)The second descriptor to compare against.”h]”hŒ)The second descriptor to compare against.”…”�”}”(hjK.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jG.h´M�hjH.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj,.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jG.h´M�hjð-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔ-ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjm.h]”hŒReturn”…”�”}”(hjo.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjk.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MŸhjÔ-ubhÌ)�”}”(hŒHTrue if the descriptors refer to the same physical pin. False otherwise.”h]”hŒHTrue if the descriptors refer to the same physical pin. False otherwise.”…”�”}”(hjƒ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MŸhjÔ-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ gpiod_get_direction (C function)”Œc.gpiod_get_direction”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ0int gpiod_get_direction (struct gpio_desc *desc)”h]”j@)�”}”(hŒ/int gpiod_get_direction(struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj².h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj®.h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M½ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ.h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj®.h²hh³jÀ.h´M½ubji)�”}”(hŒgpiod_get_direction”h]”jo)�”}”(hŒgpiod_get_direction”h]”hŒgpiod_get_direction”…”�”}”(hjÓ.h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÏ.ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj®.h²hh³jÀ.h´M½ubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjï.h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjë.ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü.h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjë.ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj /ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j/Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jÕ.sbŒc.gpiod_get_direction”†”asbuh1hhjë.ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-/h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjë.ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj;/h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjë.ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjH/h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjë.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´M½ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjª.h²hh³jÀ.h´M½ubah}”(h]”j¥.ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÀ.h´M½hj§.h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ&return the current direction of a GPIO”h]”hŒ&return the current direction of a GPIO”…”�”}”(hjr/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M½hjo/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj§.h²hh³jÀ.h´M½ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jŠ/jÀjŠ/jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒÛ**Parameters** ``struct gpio_desc *desc`` GPIO to get the direction of **Return** 0 for output, 1 for input, or an error code in case of error. **Description** This function may sleep if gpiod_cansleep() is true.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÁhjŽ/ubj)�”}”(hhh]”j)�”}”(hŒ8``struct gpio_desc *desc`` GPIO to get the direction of ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj³/h]”hŒstruct gpio_desc *desc”…”�”}”(hjµ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj±/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¾hj­/ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to get the direction of”h]”hŒGPIO to get the direction of”…”�”}”(hjÌ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÈ/h´M¾hjÉ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj­/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÈ/h´M¾hjª/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŽ/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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÀhjŽ/ubhÌ)�”}”(hŒ=0 for output, 1 for input, or an error code in case of error.”h]”hŒ=0 for output, 1 for input, or an error code in case of error.”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÀhjŽ/ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj0h]”hŒ Description”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÂhjŽ/ubhÌ)�”}”(hŒ4This function may sleep if gpiod_cansleep() is true.”h]”hŒ4This function may sleep if gpiod_cansleep() is true.”…”�”}”(hj+0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÂhjŽ/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ"gpiod_is_single_ended (C function)”Œc.gpiod_is_single_ended”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ3bool gpiod_is_single_ended (struct gpio_desc *desc)”h]”j@)�”}”(hŒ2bool gpiod_is_single_ended(struct gpio_desc *desc)”h]”(jõ)�”}”(hjT,h]”hŒbool”…”�”}”(hjZ0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjV0h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MñubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh0h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjV0h²hh³jg0h´Mñubji)�”}”(hŒgpiod_is_single_ended”h]”jo)�”}”(hŒgpiod_is_single_ended”h]”hŒgpiod_is_single_ended”…”�”}”(hjz0h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjv0ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjV0h²hh³jg0h´Mñubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj–0h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj’0ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£0h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj’0ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj´0h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj±0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¶0Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j|0sbŒc.gpiod_is_single_ended”†”asbuh1hhj’0ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ0h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj’0ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjâ0h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj’0ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjï0h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj’0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjŽ0ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjV0h²hh³jg0h´Mñubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjR0h²hh³jg0h´Mñubah}”(h]”jM0ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jg0h´MñhjO0h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ/check if the GPIO is configured as single-ended”h]”hŒ/check if the GPIO is configured as single-ended”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mñhj1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjO0h²hh³jg0h´Mñubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j11jÀj11jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXf**Parameters** ``struct gpio_desc *desc`` the GPIO descriptor to check **Description** Returns true if the GPIO is configured as either Open Drain or Open Source. In these modes, the direction of the line cannot always be reliably determined by reading hardware registers, as the "off" state (High-Z) is physically indistinguishable from an input state.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj;1h]”hŒ Parameters”…”�”}”(hj=1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj91ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mõhj51ubj)�”}”(hhh]”j)�”}”(hŒ8``struct gpio_desc *desc`` the GPIO descriptor to check ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjZ1h]”hŒstruct gpio_desc *desc”…”�”}”(hj\1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjX1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MòhjT1ubj:)�”}”(hhh]”hÌ)�”}”(hŒthe GPIO descriptor to check”h]”hŒthe GPIO descriptor to check”…”�”}”(hjs1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jo1h´Mòhjp1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjT1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jo1h´MòhjQ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj51ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj•1h]”hŒ Description”…”�”}”(hj—1h²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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Môhj51ubhÌ)�”}”(hX Returns true if the GPIO is configured as either Open Drain or Open Source. In these modes, the direction of the line cannot always be reliably determined by reading hardware registers, as the "off" state (High-Z) is physically indistinguishable from an input state.”h]”hXReturns true if the GPIO is configured as either Open Drain or Open Source. In these modes, the direction of the line cannot always be reliably determined by reading hardware registers, as the “offâ€� state (High-Z) is physically indistinguishable from an input state.”…”�”}”(hj«1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Móhj51ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhj•h²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ&gpiochip_query_valid_mask (C function)”Œc.gpiochip_query_valid_mask”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒLconst unsigned long * gpiochip_query_valid_mask (const struct gpio_chip *gc)”h]”j@)�”}”(hŒJconst unsigned long *gpiochip_query_valid_mask(const struct gpio_chip *gc)”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÚ1h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÖ1h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè1h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÖ1h²hh³jç1h´M7ubjõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjö1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÖ1h²hh³jç1h´M7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÖ1h²hh³jç1h´M7ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÖ1h²hh³jç1h´M7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj 2h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÖ1h²hh³jç1h´M7ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj.2h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÖ1h²hh³jç1h´M7ubji)�”}”(hŒgpiochip_query_valid_mask”h]”jo)�”}”(hŒgpiochip_query_valid_mask”h]”hŒgpiochip_query_valid_mask”…”�”}”(hj?2h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj;2ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÖ1h²hh³jç1h´M7ubjé)�”}”(hŒ(const struct gpio_chip *gc)”h]”jï)�”}”(hŒconst struct gpio_chip *gc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj[2h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjW2ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh2h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjW2ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjv2h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjW2ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒ2h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjW2ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hj”2h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‘2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j–2Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jA2sbŒc.gpiochip_query_valid_mask”†”asbuh1hhjW2ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´2h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjW2ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÂ2h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjW2ubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hjÏ2h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjW2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjS2ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjÖ1h²hh³jç1h´M7ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÒ1h²hh³jç1h´M7ubah}”(h]”jÍ1ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jç1h´M7hjÏ1h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ$return the GPIO validity information”h]”hŒ$return the GPIO validity information”…”�”}”(hjù2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7hjö2h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÏ1h²hh³jç1h´M7ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j3jÀj3jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXŒ**Parameters** ``const struct gpio_chip *gc`` gpio chip which validity information is queried **Return** bitmap representing valid GPIOs or NULL if all GPIOs are valid **Description** Some GPIO chips may support configurations where some of the pins aren't available. These chips can have valid_mask set to represent the valid GPIOs. This function can be used to retrieve this information.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj3h]”hŒ Parameters”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M;hj3ubj)�”}”(hhh]”j)�”}”(hŒO``const struct gpio_chip *gc`` gpio chip which validity information is queried ”h]”(j)�”}”(hŒ``const struct gpio_chip *gc``”h]”j$)�”}”(hj:3h]”hŒconst struct gpio_chip *gc”…”�”}”(hj<3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj83ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M8hj43ubj:)�”}”(hhh]”hÌ)�”}”(hŒ/gpio chip which validity information is queried”h]”hŒ/gpio chip which validity information is queried”…”�”}”(hjS3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jO3h´M8hjP3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj43ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jO3h´M8hj13ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hju3h]”hŒReturn”…”�”}”(hjw3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjs3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M:hj3ubhÌ)�”}”(hŒ>bitmap representing valid GPIOs or NULL if all GPIOs are valid”h]”hŒ>bitmap representing valid GPIOs or NULL if all GPIOs are valid”…”�”}”(hj‹3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M:hj3ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjœ3h]”hŒ Description”…”�”}”(hjž3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjš3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M<hj3ubhÌ)�”}”(hŒÍSome GPIO chips may support configurations where some of the pins aren't available. These chips can have valid_mask set to represent the valid GPIOs. This function can be used to retrieve this information.”h]”hŒÏSome GPIO chips may support configurations where some of the pins aren’t available. These chips can have valid_mask set to represent the valid GPIOs. This function can be used to retrieve this information.”…”�”}”(hj²3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M;hj3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiochip_get_data (C function)”Œc.gpiochip_get_data”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/void * gpiochip_get_data (struct gpio_chip *gc)”h]”j@)�”}”(hŒ-void *gpiochip_get_data(struct gpio_chip *gc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjá3h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÝ3h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M]ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð3h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÝ3h²hh³jï3h´M]ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjþ3h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÝ3h²hh³jï3h´M]ubji)�”}”(hŒgpiochip_get_data”h]”jo)�”}”(hŒgpiochip_get_data”h]”hŒgpiochip_get_data”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj 4ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÝ3h²hh³jï3h´M]ubjé)�”}”(hŒ(struct gpio_chip *gc)”h]”jï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj+4h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj'4ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj84h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj'4ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjI4h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjF4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jK4Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j4sbŒc.gpiochip_get_data”†”asbuh1hhj'4ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hji4h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj'4ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjw4h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj'4ubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hj„4h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj'4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj#4ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjÝ3h²hh³jï3h´M]ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÙ3h²hh³jï3h´M]ubah}”(h]”jÔ3ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jï3h´M]hjÖ3h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ#get per-subdriver data for the chip”h]”hŒ#get per-subdriver data for the chip”…”�”}”(hj®4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M]hj«4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÖ3h²hh³jï3h´M]ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÆ4jÀjÆ4jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒf**Parameters** ``struct gpio_chip *gc`` GPIO chip **Return** The per-subdriver data for the chip.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MahjÊ4ubj)�”}”(hhh]”j)�”}”(hŒ#``struct gpio_chip *gc`` GPIO chip ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hjï4h]”hŒstruct gpio_chip *gc”…”�”}”(hjñ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjí4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M^hjé4ubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO chip”h]”hŒ GPIO chip”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j5h´M^hj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjé4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j5h´M^hjæ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊ4ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj*5h]”hŒReturn”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M`hjÊ4ubhÌ)�”}”(hŒ$The per-subdriver data for the chip.”h]”hŒ$The per-subdriver data for the chip.”…”�”}”(hj@5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M`hjÊ4ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiochip_remove (C function)”Œc.gpiochip_remove”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ+void gpiochip_remove (struct gpio_chip *gc)”h]”j@)�”}”(hŒ*void gpiochip_remove(struct gpio_chip *gc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjo5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjk5h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M…ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~5h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjk5h²hh³j}5h´M…ubji)�”}”(hŒgpiochip_remove”h]”jo)�”}”(hŒgpiochip_remove”h]”hŒgpiochip_remove”…”�”}”(hj�5h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŒ5ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjk5h²hh³j}5h´M…ubjé)�”}”(hŒ(struct gpio_chip *gc)”h]”jï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj¬5h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¨5ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹5h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¨5ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjÊ5h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÇ5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÌ5Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j’5sbŒc.gpiochip_remove”†”asbuh1hhj¨5ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê5h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¨5ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjø5h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¨5ubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¨5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj¤5ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjk5h²hh³j}5h´M…ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjg5h²hh³j}5h´M…ubah}”(h]”jb5ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j}5h´M…hjd5h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒunregister a gpio_chip”h]”hŒunregister a gpio_chip”…”�”}”(hj/6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M…hj,6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjd5h²hh³j}5h´M…ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jG6jÀjG6jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ’**Parameters** ``struct gpio_chip *gc`` the chip to unregister **Description** A gpio_chip with any GPIOs still requested may not be removed.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjQ6h]”hŒ Parameters”…”�”}”(hjS6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjO6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M‰hjK6ubj)�”}”(hhh]”j)�”}”(hŒ0``struct gpio_chip *gc`` the chip to unregister ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hjp6h]”hŒstruct gpio_chip *gc”…”�”}”(hjr6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjn6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M†hjj6ubj:)�”}”(hhh]”hÌ)�”}”(hŒthe chip to unregister”h]”hŒthe chip to unregister”…”�”}”(hj‰6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j…6h´M†hj†6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…6h´M†hjg6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjK6ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj«6h]”hŒ Description”…”�”}”(hj­6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj©6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MˆhjK6ubhÌ)�”}”(hŒ>A gpio_chip with any GPIOs still requested may not be removed.”h]”hŒ>A gpio_chip with any GPIOs still requested may not be removed.”…”�”}”(hjÁ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M‡hjK6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpio_device_find (C function)”Œc.gpio_device_find”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒnstruct gpio_device * gpio_device_find (const void *data, int (*match)(struct gpio_chip *gc, const void *data))”h]”j@)�”}”(hŒlstruct gpio_device *gpio_device_find(const void *data, int (*match)(struct gpio_chip *gc, const void *data))”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjð6h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjì6h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M²ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþ6h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjì6h²hh³jý6h´M²ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj 7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j7Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_find”sbŒc.gpio_device_find”†”asbuh1hhjì6h²hh³jý6h´M²ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj07h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjì6h²hh³jý6h´M²ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj>7h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjì6h²hh³jý6h´M²ubji)�”}”(hŒgpio_device_find”h]”jo)�”}”(hj-7h]”hŒgpio_device_find”…”�”}”(hjO7h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjK7ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjì6h²hh³jý6h´M²ubjé)�”}”(hŒH(const void *data, int (*match)(struct gpio_chip *gc, const void *data))”h]”(jï)�”}”(hŒconst void *data”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjj7h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjf7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw7h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjf7ubjõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj…7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjf7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“7h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjf7ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¡7h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjf7ubjo)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj®7h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjf7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjb7ubjï)�”}”(hŒ4int (*match)(struct gpio_chip *gc, const void *data)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÇ7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÃ7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ7h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃ7ubjÁ)�”}”(hŒ(”h]”hŒ(”…”�”}”(hjã7h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjñ7h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjo)�”}”(hŒmatch”h]”hŒmatch”…”�”}”(hjþ7h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÃ7ubjÁ)�”}”(hŒ)”h]”hŒ)”…”�”}”(hj 8h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjÁ)�”}”(hjå7h]”hŒ(”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hj'8h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÃ7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj48h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃ7ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjE8h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjB8ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jG8Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j+7Œc.gpio_device_find”†”asbuh1hhjÃ7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjc8h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃ7ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjq8h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hj~8h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÃ7ubjÁ)�”}”(hŒ,”h]”hŒ,”…”�”}”(hjŒ8h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš8h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃ7ubjF)�”}”(hjôh]”hŒconst”…”�”}”(hj¨8h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÃ7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ8h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃ7ubjõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÃ8h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÃ7ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ8h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃ7ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjß8h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubjo)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjì8h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÃ7ubjÁ)�”}”(hj8h]”hŒ)”…”�”}”(hjú8h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃ7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjb7ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjì6h²hh³jý6h´M²ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjè6h²hh³jý6h´M²ubah}”(h]”jã6ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jý6h´M²hjå6h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒfind a specific GPIO device”h]”hŒfind a specific GPIO device”…”�”}”(hj#9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M²hj 9h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjå6h²hh³jý6h´M²ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j;9jÀj;9jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXZ**Parameters** ``const void *data`` data to pass to match function ``int (*match)(struct gpio_chip *gc, const void *data)`` Callback function to check gpio_chip **Return** New reference to struct gpio_device. **Description** Similar to bus_find_device(). It returns a reference to a gpio_device as determined by a user supplied **match** callback. The callback should return 0 if the device doesn't match and non-zero if it does. If the callback returns non-zero, this function will return to the caller and not iterate over any more gpio_devices. The callback takes the GPIO chip structure as argument. During the execution of the callback function the chip is protected from being freed. TODO: This actually has yet to be implemented. If the function returns non-NULL, the returned reference must be freed by the caller using gpio_device_put().”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjE9h]”hŒ Parameters”…”�”}”(hjG9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjC9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¶hj?9ubj)�”}”(hhh]”(j)�”}”(hŒ4``const void *data`` data to pass to match function ”h]”(j)�”}”(hŒ``const void *data``”h]”j$)�”}”(hjd9h]”hŒconst void *data”…”�”}”(hjf9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjb9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M³hj^9ubj:)�”}”(hhh]”hÌ)�”}”(hŒdata to pass to match function”h]”hŒdata to pass to match function”…”�”}”(hj}9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jy9h´M³hjz9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj^9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jy9h´M³hj[9ubj)�”}”(hŒ^``int (*match)(struct gpio_chip *gc, const void *data)`` Callback function to check gpio_chip ”h]”(j)�”}”(hŒ8``int (*match)(struct gpio_chip *gc, const void *data)``”h]”j$)�”}”(hj�9h]”hŒ4int (*match)(struct gpio_chip *gc, const void *data)”…”�”}”(hjŸ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj›9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M´hj—9ubj:)�”}”(hhh]”hÌ)�”}”(hŒ$Callback function to check gpio_chip”h]”hŒ$Callback function to check gpio_chip”…”�”}”(hj¶9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j²9h´M´hj³9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj—9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j²9h´M´hj[9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj?9ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjØ9h]”hŒReturn”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¶hj?9ubhÌ)�”}”(hŒ$New reference to struct gpio_device.”h]”hŒ$New reference to struct gpio_device.”…”�”}”(hjî9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¶hj?9ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjÿ9h]”hŒ Description”…”�”}”(hj:h²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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¸hj?9ubhÌ)�”}”(hXBSimilar to bus_find_device(). It returns a reference to a gpio_device as determined by a user supplied **match** callback. The callback should return 0 if the device doesn't match and non-zero if it does. If the callback returns non-zero, this function will return to the caller and not iterate over any more gpio_devices.”h]”(hŒgSimilar to bus_find_device(). It returns a reference to a gpio_device as determined by a user supplied ”…”�”}”(hj:h²hh³Nh´NubjÏ)�”}”(hŒ **match**”h]”hŒmatch”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj:ubhŒÔ callback. The callback should return 0 if the device doesn’t match and non-zero if it does. If the callback returns non-zero, this function will return to the caller and not iterate over any more gpio_devices.”…”�”}”(hj:h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¸hj?9ubhÌ)�”}”(hŒ¼The callback takes the GPIO chip structure as argument. During the execution of the callback function the chip is protected from being freed. TODO: This actually has yet to be implemented.”h]”hŒ¼The callback takes the GPIO chip structure as argument. During the execution of the callback function the chip is protected from being freed. TODO: This actually has yet to be implemented.”…”�”}”(hj6:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¾hj?9ubhÌ)�”}”(hŒmIf the function returns non-NULL, the returned reference must be freed by the caller using gpio_device_put().”h]”hŒmIf the function returns non-NULL, the returned reference must be freed by the caller using gpio_device_put().”…”�”}”(hjE:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÂhj?9ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ&gpio_device_find_by_label (C function)”Œc.gpio_device_find_by_label”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒBstruct gpio_device * gpio_device_find_by_label (const char *label)”h]”j@)�”}”(hŒ@struct gpio_device *gpio_device_find_by_label(const char *label)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjt:h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjp:h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MèubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚:h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjp:h²hh³j�:h´Mèubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj“:h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j•:Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_find_by_label”sbŒc.gpio_device_find_by_label”†”asbuh1hhjp:h²hh³j�:h´MèubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´:h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjp:h²hh³j�:h´MèubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÂ:h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjp:h²hh³j�:h´Mèubji)�”}”(hŒgpio_device_find_by_label”h]”jo)�”}”(hj±:h]”hŒgpio_device_find_by_label”…”�”}”(hjÓ:h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÏ:ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjp:h²hh³j�:h´Mèubjé)�”}”(hŒ(const char *label)”h]”jï)�”}”(hŒconst char *label”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjî:h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjê:ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû:h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjê:ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj ;h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjê:ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjê:ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj%;h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjê:ubjo)�”}”(hŒlabel”h]”hŒlabel”…”�”}”(hj2;h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjê:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjæ:ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjp:h²hh³j�:h´Mèubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjl:h²hh³j�:h´Mèubah}”(h]”jg:ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j�:h´Mèhji:h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒUwrapper around gpio_device_find() finding the GPIO device by its backing chip's label”h]”hŒWwrapper around gpio_device_find() finding the GPIO device by its backing chip’s label”…”�”}”(hj\;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MèhjY;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhji:h²hh³j�:h´Mèubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jt;jÀjt;jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ�**Parameters** ``const char *label`` Label to lookup **Return** Reference to the GPIO device or NULL. Reference must be released with gpio_device_put().”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mìhjx;ubj)�”}”(hhh]”j)�”}”(hŒ&``const char *label`` Label to lookup ”h]”(j)�”}”(hŒ``const char *label``”h]”j$)�”}”(hj�;h]”hŒconst char *label”…”�”}”(hjŸ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj›;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mêhj—;ubj:)�”}”(hhh]”hÌ)�”}”(hŒLabel to lookup”h]”hŒLabel to lookup”…”�”}”(hj¶;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j²;h´Mêhj³;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj—;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j²;h´Mêhj”;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjx;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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mìhjx;ubhÌ)�”}”(hŒXReference to the GPIO device or NULL. Reference must be released with gpio_device_put().”h]”hŒXReference to the GPIO device or NULL. Reference must be released with gpio_device_put().”…”�”}”(hjî;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mìhjx;ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ'gpio_device_find_by_fwnode (C function)”Œc.gpio_device_find_by_fwnode”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒTstruct gpio_device * gpio_device_find_by_fwnode (const struct fwnode_handle *fwnode)”h]”j@)�”}”(hŒRstruct gpio_device *gpio_device_find_by_fwnode(const struct fwnode_handle *fwnode)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj<h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+<h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj<h²hh³j*<h´Mubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj<<h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj9<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j><Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_find_by_fwnode”sbŒc.gpio_device_find_by_fwnode”†”asbuh1hhj<h²hh³j*<h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]<h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj<h²hh³j*<h´MubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjk<h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj<h²hh³j*<h´Mubji)�”}”(hŒgpio_device_find_by_fwnode”h]”jo)�”}”(hjZ<h]”hŒgpio_device_find_by_fwnode”…”�”}”(hj|<h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjx<ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj<h²hh³j*<h´Mubjé)�”}”(hŒ$(const struct fwnode_handle *fwnode)”h]”jï)�”}”(hŒ"const struct fwnode_handle *fwnode”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj—<h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj“<ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤<h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“<ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hj²<h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj“<ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿<h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“<ubh)�”}”(hhh]”jo)�”}”(hŒ fwnode_handle”h]”hŒ fwnode_handle”…”�”}”(hjÐ<h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÍ<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÒ<Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jX<Œc.gpio_device_find_by_fwnode”†”asbuh1hhj“<ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî<h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“<ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjü<h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj“<ubjo)�”}”(hŒfwnode”h]”hŒfwnode”…”�”}”(hj =h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj“<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Žˆuh1j?j�j�hj<h²hh³j*<h´Mubah}”(h]”j<ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j*<h´Mhj<h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒGwrapper around gpio_device_find() finding the GPIO device by its fwnode”h]”hŒGwrapper around gpio_device_find() finding the GPIO device by its fwnode”…”�”}”(hj3=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj0=h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj<h²hh³j*<h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jK=jÀjK=jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ¶**Parameters** ``const struct fwnode_handle *fwnode`` Firmware node to lookup **Return** Reference to the GPIO device or NULL. Reference must be released with gpio_device_put().”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjU=h]”hŒ Parameters”…”�”}”(hjW=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjS=ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjO=ubj)�”}”(hhh]”j)�”}”(hŒ?``const struct fwnode_handle *fwnode`` Firmware node to lookup ”h]”(j)�”}”(hŒ&``const struct fwnode_handle *fwnode``”h]”j$)�”}”(hjt=h]”hŒ"const struct fwnode_handle *fwnode”…”�”}”(hjv=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjr=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjn=ubj:)�”}”(hhh]”hÌ)�”}”(hŒFirmware node to lookup”h]”hŒFirmware node to lookup”…”�”}”(hj�=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j‰=h´MhjŠ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjn=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‰=h´Mhjk=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjO=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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjO=ubhÌ)�”}”(hŒXReference to the GPIO device or NULL. Reference must be released with gpio_device_put().”h]”hŒXReference to the GPIO device or NULL. Reference must be released with gpio_device_put().”…”�”}”(hjÅ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjO=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpio_device_get (C function)”Œc.gpio_device_get”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ?struct gpio_device * gpio_device_get (struct gpio_device *gdev)”h]”j@)�”}”(hŒ=struct gpio_device *gpio_device_get(struct gpio_device *gdev)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjô=h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjð=h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjð=h²hh³j>h´Mubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j>Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_get”sbŒc.gpio_device_get”†”asbuh1hhjð=h²hh³j>h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4>h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjð=h²hh³j>h´MubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjB>h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjð=h²hh³j>h´Mubji)�”}”(hŒgpio_device_get”h]”jo)�”}”(hj1>h]”hŒgpio_device_get”…”�”}”(hjS>h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjO>ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjð=h²hh³j>h´Mubjé)�”}”(hŒ(struct gpio_device *gdev)”h]”jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjn>h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjj>ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{>h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjj>ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hjŒ>h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‰>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jŽ>Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j/>Œc.gpio_device_get”†”asbuh1hhjj>ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª>h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjj>ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¸>h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjj>ubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hjÅ>h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjj>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjf>ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjð=h²hh³j>h´Mubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjì=h²hh³j>h´Mubah}”(h]”jç=ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j>h´Mhjé=h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ0Increase the reference count of this GPIO device”h]”hŒ0Increase the reference count of this GPIO device”…”�”}”(hjï>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjì>h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjé=h²hh³j>h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j?jÀj?jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒy**Parameters** ``struct gpio_device *gdev`` GPIO device to increase the refcount for **Return** Pointer to **gdev**.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj ?ubj)�”}”(hhh]”j)�”}”(hŒF``struct gpio_device *gdev`` GPIO device to increase the refcount for ”h]”(j)�”}”(hŒ``struct gpio_device *gdev``”h]”j$)�”}”(hj0?h]”hŒstruct gpio_device *gdev”…”�”}”(hj2?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj.?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj*?ubj:)�”}”(hhh]”hÌ)�”}”(hŒ(GPIO device to increase the refcount for”h]”hŒ(GPIO device to increase the refcount for”…”�”}”(hjI?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jE?h´MhjF?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj*?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jE?h´Mhj'?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ?ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjk?h]”hŒReturn”…”�”}”(hjm?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhji?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj ?ubhÌ)�”}”(hŒPointer to **gdev**.”h]”(hŒ Pointer to ”…”�”}”(hj�?h²hh³Nh´NubjÏ)�”}”(hŒ**gdev**”h]”hŒgdev”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj ?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpio_device_put (C function)”Œc.gpio_device_put”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/void gpio_device_put (struct gpio_device *gdev)”h]”j@)�”}”(hŒ.void gpio_device_put(struct gpio_device *gdev)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÂ?h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¾?h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M!ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ?h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¾?h²hh³jÐ?h´M!ubji)�”}”(hŒgpio_device_put”h]”jo)�”}”(hŒgpio_device_put”h]”hŒgpio_device_put”…”�”}”(hjã?h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjß?ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj¾?h²hh³jÐ?h´M!ubjé)�”}”(hŒ(struct gpio_device *gdev)”h]”jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÿ?h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjû?ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjû?ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j@Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jå?sbŒc.gpio_device_put”†”asbuh1hhjû?ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=@h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjû?ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjK@h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjû?ubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hjX@h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjû?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´M!ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjº?h²hh³jÐ?h´M!ubah}”(h]”jµ?ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÐ?h´M!hj·?h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒdDecrease the reference count of this GPIO device and possibly free all resources associated with it.”h]”hŒdDecrease the reference count of this GPIO device and possibly free all resources associated with it.”…”�”}”(hj‚@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M!hj@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj·?h²hh³jÐ?h´M!ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jš@jÀjš@jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ^**Parameters** ``struct gpio_device *gdev`` GPIO device to decrease the reference count for”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M%hjž@ubj)�”}”(hhh]”j)�”}”(hŒL``struct gpio_device *gdev`` GPIO device to decrease the reference count for”h]”(j)�”}”(hŒ``struct gpio_device *gdev``”h]”j$)�”}”(hjÃ@h]”hŒstruct gpio_device *gdev”…”�”}”(hjÅ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÁ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M'hj½@ubj:)�”}”(hhh]”hÌ)�”}”(hŒ/GPIO device to decrease the reference count for”h]”hŒ/GPIO device to decrease the reference count for”…”�”}”(hjÜ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M#hjÙ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj½@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jØ@h´M'hjº@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjž@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ"gpio_device_to_device (C function)”Œc.gpio_device_to_device”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ@struct device * gpio_device_to_device (struct gpio_device *gdev)”h]”j@)�”}”(hŒ>struct device *gpio_device_to_device(struct gpio_device *gdev)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjAh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M,ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+Ah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjAh²hh³j*Ah´M,ubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjAŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpio_device_to_device”sbŒc.gpio_device_to_device”†”asbuh1hhjAh²hh³j*Ah´M,ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]Ah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjAh²hh³j*Ah´M,ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjkAh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjAh²hh³j*Ah´M,ubji)�”}”(hŒgpio_device_to_device”h]”jo)�”}”(hjZAh]”hŒgpio_device_to_device”…”�”}”(hj|Ah²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjxAubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjAh²hh³j*Ah´M,ubjé)�”}”(hŒ(struct gpio_device *gdev)”h]”jï)�”}”(hŒstruct gpio_device *gdev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj—Ah²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj“AubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤Ah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“Aubh)�”}”(hhh]”jo)�”}”(hŒ gpio_device”h]”hŒ gpio_device”…”�”}”(hjµAh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj²Aubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j·AŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jXAŒc.gpio_device_to_device”†”asbuh1hhj“AubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓAh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“AubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjáAh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj“Aubjo)�”}”(hŒgdev”h]”hŒgdev”…”�”}”(hjîAh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj“Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj�Aubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjAh²hh³j*Ah´M,ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjAh²hh³j*Ah´M,ubah}”(h]”jAah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j*Ah´M,hjAh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ5Retrieve the address of the underlying struct device.”h]”hŒ5Retrieve the address of the underlying struct device.”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M,hjBh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjAh²hh³j*Ah´M,ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j0BjÀj0BjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX **Parameters** ``struct gpio_device *gdev`` GPIO device for which to return the address. **Description** This does not increase the reference count of the GPIO device nor the underlying struct device. **Return** Address of struct device backing this GPIO device.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj:Bh]”hŒ Parameters”…”�”}”(hj pin mapping”h]”hŒ$add a range for GPIO <-> pin mapping”…”�”}”(hj´Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M• hj±Mh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjËKh²hh³jäKh´M• ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÌMjÀjÌMjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXf**Parameters** ``struct gpio_chip *gc`` the gpiochip to add the range for ``struct pinctrl_dev *pctldev`` the pin controller to map to ``unsigned int gpio_offset`` the start offset in the current gpio_chip number space ``const char *pin_group`` name of the pin group inside the pin controller **Description** Calling this function directly from a DeviceTree-supported pinctrl driver is DEPRECATED. Please see Section 2.1 of Documentation/devicetree/bindings/gpio/gpio.txt on how to bind pinctrl and gpio drivers via the "gpio-ranges" property. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjÖMh]”hŒ Parameters”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M™ hjÐMubj)�”}”(hhh]”(j)�”}”(hŒ;``struct gpio_chip *gc`` the gpiochip to add the range for ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hjõMh]”hŒstruct gpio_chip *gc”…”�”}”(hj÷Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjóMubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M– hjïMubj:)�”}”(hhh]”hÌ)�”}”(hŒ!the gpiochip to add the range for”h]”hŒ!the gpiochip to add the range for”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j Nh´M– hj Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjïMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j Nh´M– hjìMubj)�”}”(hŒ=``struct pinctrl_dev *pctldev`` the pin controller to map to ”h]”(j)�”}”(hŒ``struct pinctrl_dev *pctldev``”h]”j$)�”}”(hj.Nh]”hŒstruct pinctrl_dev *pctldev”…”�”}”(hj0Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj,Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M— hj(Nubj:)�”}”(hhh]”hÌ)�”}”(hŒthe pin controller to map to”h]”hŒthe pin controller to map to”…”�”}”(hjGNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jCNh´M— hjDNubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj(Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jCNh´M— hjìMubj)�”}”(hŒT``unsigned int gpio_offset`` the start offset in the current gpio_chip number space ”h]”(j)�”}”(hŒ``unsigned int gpio_offset``”h]”j$)�”}”(hjgNh]”hŒunsigned int gpio_offset”…”�”}”(hjiNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjeNubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M˜ hjaNubj:)�”}”(hhh]”hÌ)�”}”(hŒ6the start offset in the current gpio_chip number space”h]”hŒ6the start offset in the current gpio_chip number space”…”�”}”(hj€Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j|Nh´M˜ hj}Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjaNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|Nh´M˜ hjìMubj)�”}”(hŒJ``const char *pin_group`` name of the pin group inside the pin controller ”h]”(j)�”}”(hŒ``const char *pin_group``”h]”j$)�”}”(hj Nh]”hŒconst char *pin_group”…”�”}”(hj¢Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjžNubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M™ hjšNubj:)�”}”(hhh]”hÌ)�”}”(hŒ/name of the pin group inside the pin controller”h]”hŒ/name of the pin group inside the pin controller”…”�”}”(hj¹Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jµNh´M™ hj¶Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjšNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµNh´M™ hjìMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÐMubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjÛNh]”hŒ Description”…”�”}”(hjÝNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjÙNubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M› hjÐMubhÌ)�”}”(hŒêCalling this function directly from a DeviceTree-supported pinctrl driver is DEPRECATED. Please see Section 2.1 of Documentation/devicetree/bindings/gpio/gpio.txt on how to bind pinctrl and gpio drivers via the "gpio-ranges" property.”h]”hŒîCalling this function directly from a DeviceTree-supported pinctrl driver is DEPRECATED. Please see Section 2.1 of Documentation/devicetree/bindings/gpio/gpio.txt on how to bind pinctrl and gpio drivers via the “gpio-rangesâ€� property.”…”�”}”(hjñNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mš hjÐMubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjOh]”hŒReturn”…”�”}”(hjOh²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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MŸ hjÐMubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M  hjÐMubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ-gpiochip_add_pin_range_with_pins (C function)”Œ"c.gpiochip_add_pin_range_with_pins”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒµint gpiochip_add_pin_range_with_pins (struct gpio_chip *gc, const char *pinctl_name, unsigned int gpio_offset, unsigned int pin_offset, unsigned int const *pins, unsigned int npins)”h]”j@)�”}”(hŒ´int gpiochip_add_pin_range_with_pins(struct gpio_chip *gc, const char *pinctl_name, unsigned int gpio_offset, unsigned int pin_offset, unsigned int const *pins, unsigned int npins)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjGOh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjCOh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MË ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVOh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjCOh²hh³jUOh´MË ubji)�”}”(hŒ gpiochip_add_pin_range_with_pins”h]”jo)�”}”(hŒ gpiochip_add_pin_range_with_pins”h]”hŒ gpiochip_add_pin_range_with_pins”…”�”}”(hjhOh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjdOubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjCOh²hh³jUOh´MË ubjé)�”}”(hŒ�(struct gpio_chip *gc, const char *pinctl_name, unsigned int gpio_offset, unsigned int pin_offset, unsigned int const *pins, unsigned int npins)”h]”(jï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj„Oh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj€OubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Oh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj€Oubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hj¢Oh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŸOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¤OŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jjOsbŒ"c.gpiochip_add_pin_range_with_pins”†”asbuh1hhj€OubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂOh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj€OubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÐOh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj€Oubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hjÝOh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj€Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj|Oubjï)�”}”(hŒconst char *pinctl_name”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjöOh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjòOubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjòOubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjòOubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjòOubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj-Ph²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjòOubjo)�”}”(hŒ pinctl_name”h]”hŒ pinctl_name”…”�”}”(hj:Ph²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjòOubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj|Oubjï)�”}”(hŒunsigned int gpio_offset”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjSPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjOPubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaPh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOPubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjoPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjOPubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}Ph²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOPubjo)�”}”(hŒ gpio_offset”h]”hŒ gpio_offset”…”�”}”(hj‹Ph²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjOPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj|Oubjï)�”}”(hŒunsigned int pin_offset”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¤Ph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj PubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²Ph²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj Pubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÀPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj PubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎPh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj Pubjo)�”}”(hŒ pin_offset”h]”hŒ pin_offset”…”�”}”(hjÜPh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj Pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj|Oubjï)�”}”(hŒunsigned int const *pins”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjõPh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjñPubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñPubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjñPubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñPubjF)�”}”(hjôh]”hŒconst”…”�”}”(hj-Qh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjñPubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Qh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñPubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjHQh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjñPubjo)�”}”(hŒpins”h]”hŒpins”…”�”}”(hjUQh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjñPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj|Oubjï)�”}”(hŒunsigned int npins”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjnQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjjQubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Qh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjjQubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjŠQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjjQubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜Qh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjjQubjo)�”}”(hŒnpins”h]”hŒnpins”…”�”}”(hj¦Qh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjjQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj|Oubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjCOh²hh³jUOh´MË ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj?Oh²hh³jUOh´MË ubah}”(h]”j:Oah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jUOh´MË hj pin mapping”h]”hŒ$add a range for GPIO <-> pin mapping”…”�”}”(hjÐQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MË hjÍQh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj pin mappings”h]”hŒ$remove all the GPIO <-> pin mappings”…”�”}”(hj—Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hj”Th²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÌSh²hh³jåSh´M ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j¯TjÀj¯TjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒR**Parameters** ``struct gpio_chip *gc`` the chip to remove all the mappings for”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hj³Tubj)�”}”(hhh]”j)�”}”(hŒ@``struct gpio_chip *gc`` the chip to remove all the mappings for”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hjØTh]”hŒstruct gpio_chip *gc”…”�”}”(hjÚTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÖTubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjÒTubj:)�”}”(hhh]”hÌ)�”}”(hŒ'the chip to remove all the mappings for”h]”hŒ'the chip to remove all the mappings for”…”�”}”(hjñTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjîTubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÒTubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jíTh´M hjÏTubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj³Tubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ$gpiochip_dup_line_label (C function)”Œc.gpiochip_dup_line_label”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒJchar * gpiochip_dup_line_label (struct gpio_chip *gc, unsigned int offset)”h]”j@)�”}”(hŒHchar *gpiochip_dup_line_label(struct gpio_chip *gc, unsigned int offset)”h]”(jõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj2Uh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj.Uh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M‘ ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAUh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj.Uh²hh³j@Uh´M‘ ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjOUh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj.Uh²hh³j@Uh´M‘ ubji)�”}”(hŒgpiochip_dup_line_label”h]”jo)�”}”(hŒgpiochip_dup_line_label”h]”hŒgpiochip_dup_line_label”…”�”}”(hj`Uh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj\Uubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj.Uh²hh³j@Uh´M‘ ubjé)�”}”(hŒ+(struct gpio_chip *gc, unsigned int offset)”h]”(jï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj|Uh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjxUubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰Uh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjxUubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjšUh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj—Uubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jœUŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jbUsbŒc.gpiochip_dup_line_label”†”asbuh1hhjxUubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºUh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjxUubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÈUh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjxUubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hjÕUh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjxUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjtUubjï)�”}”(hŒunsigned int offset”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjîUh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjêUubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüUh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjêUubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjêUubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjêUubjo)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj&Vh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjêUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjtUubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj.Uh²hh³j@Uh´M‘ ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj*Uh²hh³j@Uh´M‘ ubah}”(h]”j%Uah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j@Uh´M‘ hj'Uh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ!Get a copy of the consumer label.”h]”hŒ!Get a copy of the consumer label.”…”�”}”(hjPVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M‘ hjMVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj'Uh²hh³j@Uh´M‘ ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jhVjÀjhVjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX¨**Parameters** ``struct gpio_chip *gc`` GPIO chip controlling this line. ``unsigned int offset`` Hardware offset of the line. **Return** Pointer to a copy of the consumer label if the line is requested or NULL if it's not. If a valid pointer was returned, it must be freed using kfree(). In case of a memory allocation error, the function returns ``ENOMEM``. **Description** Must not be called from atomic context.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjrVh]”hŒ Parameters”…”�”}”(hjtVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjpVubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M• hjlVubj)�”}”(hhh]”(j)�”}”(hŒ:``struct gpio_chip *gc`` GPIO chip controlling this line. ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hj‘Vh]”hŒstruct gpio_chip *gc”…”�”}”(hj“Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj�Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M’ hj‹Vubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO chip controlling this line.”h]”hŒ GPIO chip controlling this line.”…”�”}”(hjªVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¦Vh´M’ hj§Vubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj‹Vubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¦Vh´M’ hjˆVubj)�”}”(hŒ5``unsigned int offset`` Hardware offset of the line. ”h]”(j)�”}”(hŒ``unsigned int offset``”h]”j$)�”}”(hjÊVh]”hŒunsigned int offset”…”�”}”(hjÌVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÈVubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M“ hjÄVubj:)�”}”(hhh]”hÌ)�”}”(hŒHardware offset of the line.”h]”hŒHardware offset of the line.”…”�”}”(hjãVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jßVh´M“ hjàVubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÄVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jßVh´M“ hjˆVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjlVubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjWh]”hŒReturn”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M• hjlVubhÌ)�”}”(hŒÝPointer to a copy of the consumer label if the line is requested or NULL if it's not. If a valid pointer was returned, it must be freed using kfree(). In case of a memory allocation error, the function returns ``ENOMEM``.”h]”(hŒÔPointer to a copy of the consumer label if the line is requested or NULL if it’s not. If a valid pointer was returned, it must be freed using kfree(). In case of a memory allocation error, the function returns ”…”�”}”(hjWh²hh³Nh´Nubj$)�”}”(hŒ ``ENOMEM``”h]”hŒENOMEM”…”�”}”(hj#Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjWubhŒ.”…”�”}”(hjWh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M• hjlVubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj>Wh]”hŒ Description”…”�”}”(hj@Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj]h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mž ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ]h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj>]h²hh³jP]h´Mž ubji)�”}”(hŒgpiod_direction_input”h]”jo)�”}”(hŒgpiod_direction_input”h]”hŒgpiod_direction_input”…”�”}”(hjc]h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj_]ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj>]h²hh³jP]h´Mž ubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj{]ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ]h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj{]ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj�]h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjš]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jŸ]Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤je]sbŒc.gpiod_direction_input”†”asbuh1hhj{]ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½]h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj{]ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjË]h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj{]ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjØ]h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj{]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjw]ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj>]h²hh³jP]h´Mž ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj:]h²hh³jP]h´Mž ubah}”(h]”j5]ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jP]h´Mž hj7]h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒset the GPIO direction to input”h]”hŒset the GPIO direction to input”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mž hjÿ]h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj7]h²hh³jP]h´Mž ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j^jÀj^jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒñ**Parameters** ``struct gpio_desc *desc`` GPIO to set to input **Description** Set the direction of the passed GPIO to input, such as gpiod_get_value() can be called safely on it. **Return** 0 on success, or negative errno 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¢ hj^ubj)�”}”(hhh]”j)�”}”(hŒ0``struct gpio_desc *desc`` GPIO to set to input ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjC^h]”hŒstruct gpio_desc *desc”…”�”}”(hjE^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjA^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MŸ hj=^ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to set to input”h]”hŒGPIO to set to input”…”�”}”(hj\^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jX^h´MŸ hjY^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj=^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jX^h´MŸ hj:^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¡ hj^ubhÌ)�”}”(hŒdSet the direction of the passed GPIO to input, such as gpiod_get_value() can be called safely on it.”h]”hŒdSet the direction of the passed GPIO to input, such as gpiod_get_value() can be called safely on it.”…”�”}”(hj”^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M£ hj^ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hj»^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¤ hj^ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ'gpiod_direction_output_raw (C function)”Œc.gpiod_direction_output_raw”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒBint gpiod_direction_output_raw (struct gpio_desc *desc, int value)”h]”j@)�”}”(hŒAint gpiod_direction_output_raw(struct gpio_desc *desc, int value)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjê^h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjæ^h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M/ ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù^h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæ^h²hh³jø^h´M/ ubji)�”}”(hŒgpiod_direction_output_raw”h]”jo)�”}”(hŒgpiod_direction_output_raw”h]”hŒgpiod_direction_output_raw”…”�”}”(hj _h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj_ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjæ^h²hh³jø^h´M/ ubjé)�”}”(hŒ#(struct gpio_desc *desc, int value)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj'_h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj#_ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4_h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj#_ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjE_h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjB_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jG_Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j _sbŒc.gpiod_direction_output_raw”†”asbuh1hhj#_ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hje_h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj#_ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjs_h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj#_ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj€_h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj#_ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj_ubjï)�”}”(hŒ int value”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj™_h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj•_ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§_h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj•_ubjo)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjµ_h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj•_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Žˆuh1j?j�j�hjâ^h²hh³jø^h´M/ ubah}”(h]”jÝ^ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jø^h´M/ hjß^h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ set the GPIO direction to output”h]”hŒ set the GPIO direction to output”…”�”}”(hjß_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M/ hjÜ_h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjß^h²hh³jø^h´M/ ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j÷_jÀj÷_jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX£**Parameters** ``struct gpio_desc *desc`` GPIO to set to output ``int value`` initial output value of the GPIO **Description** Set the direction of the passed GPIO to output, such as gpiod_set_value() can be called safely on it. The initial value of the output must be specified as raw value on the physical line without regard for the ACTIVE_LOW status. **Return** 0 on success, or negative errno 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M3 hjû_ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct gpio_desc *desc`` GPIO to set to output ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj `h]”hŒstruct gpio_desc *desc”…”�”}”(hj"`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M0 hj`ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to set to output”h]”hŒGPIO to set to output”…”�”}”(hj9`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j5`h´M0 hj6`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j5`h´M0 hj`ubj)�”}”(hŒ/``int value`` initial output value of the GPIO ”h]”(j)�”}”(hŒ ``int value``”h]”j$)�”}”(hjY`h]”hŒ int value”…”�”}”(hj[`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjW`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M1 hjS`ubj:)�”}”(hhh]”hÌ)�”}”(hŒ initial output value of the GPIO”h]”hŒ initial output value of the GPIO”…”�”}”(hjr`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jn`h´M1 hjo`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjS`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jn`h´M1 hj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjû_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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M3 hjû_ubhÌ)�”}”(hŒãSet the direction of the passed GPIO to output, such as gpiod_set_value() can be called safely on it. The initial value of the output must be specified as raw value on the physical line without regard for the ACTIVE_LOW status.”h]”hŒãSet the direction of the passed GPIO to output, such as gpiod_set_value() can be called safely on it. The initial value of the output must be specified as raw value on the physical line without regard for the ACTIVE_LOW status.”…”�”}”(hjª`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M2 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M6 hjû_ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjÑ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7 hjû_ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ#gpiod_direction_output (C function)”Œc.gpiod_direction_output”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ>int gpiod_direction_output (struct gpio_desc *desc, int value)”h]”j@)�”}”(hŒ=int gpiod_direction_output(struct gpio_desc *desc, int value)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjü`h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MI ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjü`h²hh³jah´MI ubji)�”}”(hŒgpiod_direction_output”h]”jo)�”}”(hŒgpiod_direction_output”h]”hŒgpiod_direction_output”…”�”}”(hj!ah²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjaubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjü`h²hh³jah´MI ubjé)�”}”(hŒ#(struct gpio_desc *desc, int value)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj=ah²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj9aubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj9aubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj[ah²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjXaubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j]aŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j#asbŒc.gpiod_direction_output”†”asbuh1hhj9aubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{ah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj9aubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj‰ah²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj9aubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj–ah²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj9aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj5aubjï)�”}”(hŒ int value”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj¯ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj«aubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½ah²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj«aubjo)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjËah²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj«aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj5aubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjü`h²hh³jah´MI ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjø`h²hh³jah´MI ubah}”(h]”jó`ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jah´MI hjõ`h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ set the GPIO direction to output”h]”hŒ set the GPIO direction to output”…”�”}”(hjõah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MI hjòah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjõ`h²hh³jah´MI ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j bjÀj bjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX©**Parameters** ``struct gpio_desc *desc`` GPIO to set to output ``int value`` initial output value of the GPIO **Description** Set the direction of the passed GPIO to output, such as gpiod_set_value() can be called safely on it. The initial value of the output must be specified as the logical value of the GPIO, i.e. taking its ACTIVE_LOW status into account. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjbh]”hŒ Parameters”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MM hjbubj)�”}”(hhh]”(j)�”}”(hŒ1``struct gpio_desc *desc`` GPIO to set to output ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj6bh]”hŒstruct gpio_desc *desc”…”�”}”(hj8bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj4bubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MJ hj0bubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to set to output”h]”hŒGPIO to set to output”…”�”}”(hjObh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jKbh´MJ hjLbubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj0bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jKbh´MJ hj-bubj)�”}”(hŒ/``int value`` initial output value of the GPIO ”h]”(j)�”}”(hŒ ``int value``”h]”j$)�”}”(hjobh]”hŒ int value”…”�”}”(hjqbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjmbubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MK hjibubj:)�”}”(hhh]”hÌ)�”}”(hŒ initial output value of the GPIO”h]”hŒ initial output value of the GPIO”…”�”}”(hjˆbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j„bh´MK hj…bubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjibubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j„bh´MK hj-bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjbubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjªbh]”hŒ Description”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MM hjbubhÌ)�”}”(hŒéSet the direction of the passed GPIO to output, such as gpiod_set_value() can be called safely on it. The initial value of the output must be specified as the logical value of the GPIO, i.e. taking its ACTIVE_LOW status into account.”h]”hŒéSet the direction of the passed GPIO to output, such as gpiod_set_value() can be called safely on it. The initial value of the output must be specified as the logical value of the GPIO, i.e. taking its ACTIVE_LOW status into account.”…”�”}”(hjÀbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´ML hjbubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjÑbh]”hŒReturn”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MQ hjbubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjçbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MR hjbubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ)gpiod_enable_hw_timestamp_ns (C function)”Œc.gpiod_enable_hw_timestamp_ns”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒNint gpiod_enable_hw_timestamp_ns (struct gpio_desc *desc, unsigned long flags)”h]”j@)�”}”(hŒMint gpiod_enable_hw_timestamp_ns(struct gpio_desc *desc, unsigned long flags)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjch²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¡ ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%ch²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjch²hh³j$ch´M¡ ubji)�”}”(hŒgpiod_enable_hw_timestamp_ns”h]”jo)�”}”(hŒgpiod_enable_hw_timestamp_ns”h]”hŒgpiod_enable_hw_timestamp_ns”…”�”}”(hj7ch²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj3cubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjch²hh³j$ch´M¡ ubjé)�”}”(hŒ-(struct gpio_desc *desc, unsigned long flags)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjSch²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjOcubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`ch²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOcubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjqch²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjncubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jscŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j9csbŒc.gpiod_enable_hw_timestamp_ns”†”asbuh1hhjOcubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘ch²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOcubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjŸch²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjOcubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj¬ch²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjOcubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjKcubjï)�”}”(hŒunsigned long flags”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÅch²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÁcubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓch²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÁcubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjách²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÁcubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïch²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÁcubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjých²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÁcubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjKcubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjch²hh³j$ch´M¡ ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjch²hh³j$ch´M¡ ubah}”(h]”j cah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j$ch´M¡ hj ch²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ)Enable hardware timestamp in nanoseconds.”h]”hŒ)Enable hardware timestamp in nanoseconds.”…”�”}”(hj'dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¡ hj$dh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj ch²hh³j$ch´M¡ ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j?djÀj?djÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ¬**Parameters** ``struct gpio_desc *desc`` GPIO to enable. ``unsigned long flags`` Flags related to GPIO edge. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjIdh]”hŒ Parameters”…”�”}”(hjKdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjGdubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¥ hjCdubj)�”}”(hhh]”(j)�”}”(hŒ+``struct gpio_desc *desc`` GPIO to enable. ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjhdh]”hŒstruct gpio_desc *desc”…”�”}”(hjjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjfdubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M£ hjbdubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to enable.”h]”hŒGPIO to enable.”…”�”}”(hj�dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j}dh´M£ hj~dubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjbdubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}dh´M£ hj_dubj)�”}”(hŒ4``unsigned long flags`` Flags related to GPIO edge. ”h]”(j)�”}”(hŒ``unsigned long flags``”h]”j$)�”}”(hj¡dh]”hŒunsigned long flags”…”�”}”(hj£dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjŸdubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¤ hj›dubj:)�”}”(hhh]”hÌ)�”}”(hŒFlags related to GPIO edge.”h]”hŒFlags related to GPIO edge.”…”�”}”(hjºdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¶dh´M¤ hj·dubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj›dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¶dh´M¤ hj_dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjCdubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjÜdh]”hŒReturn”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¦ hjCdubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjòdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¦ hjCdubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ*gpiod_disable_hw_timestamp_ns (C function)”Œc.gpiod_disable_hw_timestamp_ns”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒOint gpiod_disable_hw_timestamp_ns (struct gpio_desc *desc, unsigned long flags)”h]”j@)�”}”(hŒNint gpiod_disable_hw_timestamp_ns(struct gpio_desc *desc, unsigned long flags)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj!eh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjeh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0eh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjeh²hh³j/eh´M ubji)�”}”(hŒgpiod_disable_hw_timestamp_ns”h]”jo)�”}”(hŒgpiod_disable_hw_timestamp_ns”h]”hŒgpiod_disable_hw_timestamp_ns”…”�”}”(hjBeh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj>eubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjeh²hh³j/eh´M ubjé)�”}”(hŒ-(struct gpio_desc *desc, unsigned long flags)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj^eh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjZeubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkeh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjZeubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj|eh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjyeubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j~eŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jDesbŒc.gpiod_disable_hw_timestamp_ns”†”asbuh1hhjZeubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœeh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjZeubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjªeh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjZeubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj·eh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjZeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjVeubjï)�”}”(hŒunsigned long flags”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÐeh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÌeubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞeh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÌeubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjìeh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÌeubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúeh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÌeubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÌeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjVeubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjeh²hh³j/eh´M ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjeh²hh³j/eh´M ubah}”(h]”jeah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j/eh´M hjeh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒDisable hardware timestamp.”h]”hŒDisable hardware timestamp.”…”�”}”(hj2fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hj/fh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjeh²hh³j/eh´M ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jJfjÀjJfjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒÔ**Parameters** ``struct gpio_desc *desc`` GPIO to disable. ``unsigned long flags`` Flags related to GPIO edge, same value as used during enable call. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjTfh]”hŒ Parameters”…”�”}”(hjVfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjRfubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÆ hjNfubj)�”}”(hhh]”(j)�”}”(hŒ,``struct gpio_desc *desc`` GPIO to disable. ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjsfh]”hŒstruct gpio_desc *desc”…”�”}”(hjufh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjqfubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÄ hjmfubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to disable.”h]”hŒGPIO to disable.”…”�”}”(hjŒfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jˆfh´MÄ hj‰fubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjmfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jˆfh´MÄ hjjfubj)�”}”(hŒ[``unsigned long flags`` Flags related to GPIO edge, same value as used during enable call. ”h]”(j)�”}”(hŒ``unsigned long flags``”h]”j$)�”}”(hj¬fh]”hŒunsigned long flags”…”�”}”(hj®fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjªfubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÅ hj¦fubj:)�”}”(hhh]”hÌ)�”}”(hŒBFlags related to GPIO edge, same value as used during enable call.”h]”hŒBFlags related to GPIO edge, same value as used during enable call.”…”�”}”(hjÅfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÁfh´MÅ hjÂfubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¦fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÁfh´MÅ hjjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjNfubhÌ)�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÇ hjNfubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjýfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÇ hjNfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_set_config (C function)”Œc.gpiod_set_config”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒCint gpiod_set_config (struct gpio_desc *desc, unsigned long config)”h]”j@)�”}”(hŒBint gpiod_set_config(struct gpio_desc *desc, unsigned long config)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj,gh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj(gh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mä ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;gh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj(gh²hh³j:gh´Mä ubji)�”}”(hŒgpiod_set_config”h]”jo)�”}”(hŒgpiod_set_config”h]”hŒgpiod_set_config”…”�”}”(hjMgh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjIgubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj(gh²hh³j:gh´Mä ubjé)�”}”(hŒ.(struct gpio_desc *desc, unsigned long config)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjigh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjegubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvgh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjegubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj‡gh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj„gubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j‰gŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jOgsbŒc.gpiod_set_config”†”asbuh1hhjegubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§gh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjegubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjµgh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjegubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjÂgh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjegubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjagubjï)�”}”(hŒunsigned long config”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÛgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj×gubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjégh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj×gubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj÷gh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj×gubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj×gubjo)�”}”(hŒconfig”h]”hŒconfig”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj×gubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjagubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj(gh²hh³j:gh´Mä ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj$gh²hh³j:gh´Mä ubah}”(h]”jgah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j:gh´Mä hj!gh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒsets **config** for a GPIO”h]”(hŒsets ”…”�”}”(hj=hh²hh³Nh´NubjÏ)�”}”(hŒ **config**”h]”hŒconfig”…”�”}”(hjEhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj=hubhŒ for a GPIO”…”�”}”(hj=hh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mä hj:hh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj!gh²hh³j:gh´Mä ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jghjÀjghjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``struct gpio_desc *desc`` descriptor of the GPIO for which to set the configuration ``unsigned long config`` Same packed config format as generic pinconf **Return** 0 on success, ``-ENOTSUPP`` if the controller doesn't support setting the configuration.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjqhh]”hŒ Parameters”…”�”}”(hjshh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjohubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mè hjkhubj)�”}”(hhh]”(j)�”}”(hŒU``struct gpio_desc *desc`` descriptor of the GPIO for which to set the configuration ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj�hh]”hŒstruct gpio_desc *desc”…”�”}”(hj’hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjŽhubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Må hjŠhubj:)�”}”(hhh]”hÌ)�”}”(hŒ9descriptor of the GPIO for which to set the configuration”h]”hŒ9descriptor of the GPIO for which to set the configuration”…”�”}”(hj©hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¥hh´Må hj¦hubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjŠhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¥hh´Må hj‡hubj)�”}”(hŒF``unsigned long config`` Same packed config format as generic pinconf ”h]”(j)�”}”(hŒ``unsigned long config``”h]”j$)�”}”(hjÉhh]”hŒunsigned long config”…”�”}”(hjËhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÇhubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mæ hjÃhubj:)�”}”(hhh]”hÌ)�”}”(hŒ,Same packed config format as generic pinconf”h]”hŒ,Same packed config format as generic pinconf”…”�”}”(hjâhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÞhh´Mæ hjßhubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÃhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÞhh´Mæ hj‡hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjkhubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjih]”hŒReturn”…”�”}”(hjih²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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mè hjkhubhÌ)�”}”(hŒX0 on success, ``-ENOTSUPP`` if the controller doesn't support setting the configuration.”h]”(hŒ0 on success, ”…”�”}”(hjih²hh³Nh´Nubj$)�”}”(hŒ ``-ENOTSUPP``”h]”hŒ -ENOTSUPP”…”�”}”(hj"ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjiubhŒ? if the controller doesn’t support setting the configuration.”…”�”}”(hjih²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mè hjkhubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_set_debounce (C function)”Œc.gpiod_set_debounce”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒFint gpiod_set_debounce (struct gpio_desc *desc, unsigned int debounce)”h]”j@)�”}”(hŒEint gpiod_set_debounce(struct gpio_desc *desc, unsigned int debounce)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj[ih²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjWih²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjWih²hh³jiih´M ubji)�”}”(hŒgpiod_set_debounce”h]”jo)�”}”(hŒgpiod_set_debounce”h]”hŒgpiod_set_debounce”…”�”}”(hj|ih²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjxiubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjWih²hh³jiih´M ubjé)�”}”(hŒ/(struct gpio_desc *desc, unsigned int debounce)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj˜ih²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj”iubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥ih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj”iubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj¶ih²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj³iubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¸iŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j~isbŒc.gpiod_set_debounce”†”asbuh1hhj”iubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖih²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj”iubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjäih²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj”iubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjñih²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj”iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj�iubjï)�”}”(hŒunsigned int debounce”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj jh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjjubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjjubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj&jh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjjubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4jh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjjubjo)�”}”(hŒdebounce”h]”hŒdebounce”…”�”}”(hjBjh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj�iubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjWih²hh³jiih´M ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjSih²hh³jiih´M ubah}”(h]”jNiah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jiih´M hjPih²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ!sets **debounce** time for a GPIO”h]”(hŒsets ”…”�”}”(hjljh²hh³Nh´NubjÏ)�”}”(hŒ **debounce**”h]”hŒdebounce”…”�”}”(hjtjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjljubhŒ time for a GPIO”…”�”}”(hjljh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjijh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjPih²hh³jiih´M ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j–jjÀj–jjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``struct gpio_desc *desc`` descriptor of the GPIO for which to set debounce time ``unsigned int debounce`` debounce time in microseconds **Return** 0 on success, ``-ENOTSUPP`` if the controller doesn't support setting the debounce time.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj jh]”hŒ Parameters”…”�”}”(hj¢jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjžjubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjšjubj)�”}”(hhh]”(j)�”}”(hŒQ``struct gpio_desc *desc`` descriptor of the GPIO for which to set debounce time ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj¿jh]”hŒstruct gpio_desc *desc”…”�”}”(hjÁjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj½jubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hj¹jubj:)�”}”(hhh]”hÌ)�”}”(hŒ5descriptor of the GPIO for which to set debounce time”h]”hŒ5descriptor of the GPIO for which to set debounce time”…”�”}”(hjØjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÔjh´M hjÕjubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¹jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÔjh´M hj¶jubj)�”}”(hŒ8``unsigned int debounce`` debounce time in microseconds ”h]”(j)�”}”(hŒ``unsigned int debounce``”h]”j$)�”}”(hjøjh]”hŒunsigned int debounce”…”�”}”(hjújh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjöjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjòjubj:)�”}”(hhh]”hÌ)�”}”(hŒdebounce time in microseconds”h]”hŒdebounce time in microseconds”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j kh´M hjkubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjòjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j kh´M hj¶jubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjšjubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj3kh]”hŒReturn”…”�”}”(hj5kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj1kubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjšjubhÌ)�”}”(hŒX0 on success, ``-ENOTSUPP`` if the controller doesn't support setting the debounce time.”h]”(hŒ0 on success, ”…”�”}”(hjIkh²hh³Nh´Nubj$)�”}”(hŒ ``-ENOTSUPP``”h]”hŒ -ENOTSUPP”…”�”}”(hjQkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjIkubhŒ? if the controller doesn’t support setting the debounce time.”…”�”}”(hjIkh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjšjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ gpiod_is_active_low (C function)”Œc.gpiod_is_active_low”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ6int gpiod_is_active_low (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ5int gpiod_is_active_low(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjŠkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj†kh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M3 ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™kh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj†kh²hh³j˜kh´M3 ubji)�”}”(hŒgpiod_is_active_low”h]”jo)�”}”(hŒgpiod_is_active_low”h]”hŒgpiod_is_active_low”…”�”}”(hj«kh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj§kubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj†kh²hh³j˜kh´M3 ubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÇkh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÃkubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔkh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃkubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjâkh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÃkubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïkh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃkubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjýkubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jlŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j­ksbŒc.gpiod_is_active_low”†”asbuh1hhjÃkubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj lh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃkubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj.lh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃkubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj;lh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÃkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj¿kubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj†kh²hh³j˜kh´M3 ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj‚kh²hh³j˜kh´M3 ubah}”(h]”j}kah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j˜kh´M3 hjkh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ(test whether a GPIO is active-low or not”h]”hŒ(test whether a GPIO is active-low or not”…”�”}”(hjelh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M3 hjblh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjkh²hh³j˜kh´M3 ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j}ljÀj}ljÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ…**Parameters** ``const struct gpio_desc *desc`` the gpio descriptor to test **Return** 1 if the GPIO is active-low, 0 otherwise.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7 hj�lubj)�”}”(hhh]”j)�”}”(hŒ=``const struct gpio_desc *desc`` the gpio descriptor to test ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hj¦lh]”hŒconst struct gpio_desc *desc”…”�”}”(hj¨lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¤lubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4 hj lubj:)�”}”(hhh]”hÌ)�”}”(hŒthe gpio descriptor to test”h]”hŒthe gpio descriptor to test”…”�”}”(hj¿lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j»lh´M4 hj¼lubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j»lh´M4 hj�lubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�lubhÌ)�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M6 hj�lubhÌ)�”}”(hŒ)1 if the GPIO is active-low, 0 otherwise.”h]”hŒ)1 if the GPIO is active-low, 0 otherwise.”…”�”}”(hj÷lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M6 hj�lubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ$gpiod_toggle_active_low (C function)”Œc.gpiod_toggle_active_low”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ5void gpiod_toggle_active_low (struct gpio_desc *desc)”h]”j@)�”}”(hŒ4void gpiod_toggle_active_low(struct gpio_desc *desc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj&mh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj"mh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MA ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5mh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj"mh²hh³j4mh´MA ubji)�”}”(hŒgpiod_toggle_active_low”h]”jo)�”}”(hŒgpiod_toggle_active_low”h]”hŒgpiod_toggle_active_low”…”�”}”(hjGmh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjCmubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj"mh²hh³j4mh´MA ubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjcmh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj_mubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjpmh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj_mubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj~mubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jƒmŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jImsbŒc.gpiod_toggle_active_low”†”asbuh1hhj_mubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡mh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj_mubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¯mh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj_mubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj¼mh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj_mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj[mubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj"mh²hh³j4mh´MA ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjmh²hh³j4mh´MA ubah}”(h]”jmah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j4mh´MA hjmh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ*toggle whether a GPIO is active-low or not”h]”hŒ*toggle whether a GPIO is active-low or not”…”�”}”(hjæmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MA hjãmh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjmh²hh³j4mh´MA ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jþmjÀjþmjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒJ**Parameters** ``struct gpio_desc *desc`` the gpio descriptor to change”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjnh]”hŒ Parameters”…”�”}”(hj nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjnubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´ME hjnubj)�”}”(hhh]”j)�”}”(hŒ8``struct gpio_desc *desc`` the gpio descriptor to change”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj'nh]”hŒstruct gpio_desc *desc”…”�”}”(hj)nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj%nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MG hj!nubj:)�”}”(hhh]”hÌ)�”}”(hŒthe gpio descriptor to change”h]”hŒthe gpio descriptor to change”…”�”}”(hj@nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MB hj=nubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj!nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jhj;qubj)�”}”(hhh]”j)�”}”(hŒC``const struct gpio_desc *desc`` gpio whose value will be returned ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hj`qh]”hŒconst struct gpio_desc *desc”…”�”}”(hjbqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj^qubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M;hjZqubj:)�”}”(hhh]”hÌ)�”}”(hŒ!gpio whose value will be returned”h]”hŒ!gpio whose value will be returned”…”�”}”(hjyqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³juqh´M;hjvqubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjZqubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³juqh´M;hjWqubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;qubhÌ)�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M=hj;qubhÌ)�”}”(hŒgThe GPIO's logical value, i.e. taking the ACTIVE_LOW status into account, or negative errno on failure.”h]”hŒiThe GPIO’s logical value, i.e. taking the ACTIVE_LOW status into account, or negative errno on failure.”…”�”}”(hj±qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M=hj;qubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjÂqh]”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M@hj;qubhÌ)�”}”(hŒ€This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep.”h]”hŒ€This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep.”…”�”}”(hjØqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M@hj;qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ&gpiod_get_raw_array_value (C function)”Œc.gpiod_get_raw_array_value”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ’int gpiod_get_raw_array_value (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒ‘int gpiod_get_raw_array_value(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjrh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MXubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjrh²hh³jrh´MXubji)�”}”(hŒgpiod_get_raw_array_value”h]”jo)�”}”(hŒgpiod_get_raw_array_value”h]”hŒgpiod_get_raw_array_value”…”�”}”(hj(rh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj$rubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjrh²hh³jrh´MXubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjDrh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj@rubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRrh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj@rubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj`rh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj@rubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnrh²hh³Nh´Nubah}”(h]”•h ]”jdah"]”h$]”h&]”uh1jWhj@rubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hj|rh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj@rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jCvŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j¸usbŒc.gpiod_get_array_value”†”asbuh1hhjvubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjavh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjvubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjovh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjvubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj|vh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjvubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hj‰vh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjÊuubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj¢vh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjžvubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯vh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjžvubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hjÀvh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj½vubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÂvŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j]vŒc.gpiod_get_array_value”†”asbuh1hhjžvubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞvh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjžvubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjìvh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjžvubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hjùvh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjžvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjÊuubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjwubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj wh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjwubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj.wh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjwubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¾hjY|ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ&gpiod_set_raw_array_value (C function)”Œc.gpiod_set_raw_array_value”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ’int gpiod_set_raw_array_value (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒ‘int gpiod_set_raw_array_value(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjm}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhji}h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MËubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|}h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhji}h²hh³j{}h´MËubji)�”}”(hŒgpiod_set_raw_array_value”h]”jo)�”}”(hŒgpiod_set_raw_array_value”h]”hŒgpiod_set_raw_array_value”…”�”}”(hjŽ}h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŠ}ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhji}h²hh³j{}h´MËubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjª}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¦}ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸}h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¦}ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÆ}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¦}ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ}h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¦}ubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hjâ}h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¦}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj¢}ubjï)�”}”(hŒstruct gpio_desc **desc_array”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjû}h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj÷}ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj÷}ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j~Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j�}sbŒc.gpiod_set_raw_array_value”†”asbuh1hhj÷}ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9~h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj÷}ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjG~h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj÷}ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjT~h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj÷}ubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hja~h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj÷}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj¢}ubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjz~h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjv~ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡~h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjv~ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hj˜~h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj•~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jš~Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j5~Œc.gpiod_set_raw_array_value”†”asbuh1hhjv~ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶~h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjv~ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÄ~h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjv~ubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hjÑ~h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjv~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj¢}ubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjê~h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjæ~ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø~h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæ~ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjæ~ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæ~ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjæ~ubjo)�”}”(hŒ value_bitmap”h]”hŒ value_bitmap”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjæ~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj¢}ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhji}h²hh³j{}h´MËubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hje}h²hh³j{}h´MËubah}”(h]”j`}ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j{}h´MËhjb}h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"assign values to an array of GPIOs”h]”hŒ"assign values to an array of GPIOs”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MËhjVh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjb}h²hh³j{}h´MËubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jqjÀjqjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX£**Parameters** ``unsigned int array_size`` number of elements in the descriptor array / value bitmap ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ``unsigned long *value_bitmap`` bitmap of values to assign **Description** Set the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status. This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj{h]”hŒ Parameters”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÏhjuubj)�”}”(hhh]”(j)�”}”(hŒV``unsigned int array_size`` number of elements in the descriptor array / value bitmap ”h]”(j)�”}”(hŒ``unsigned int array_size``”h]”j$)�”}”(hjšh]”hŒunsigned int array_size”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÌhj”ubj:)�”}”(hhh]”hÌ)�”}”(hŒ9number of elements in the descriptor array / value bitmap”h]”hŒ9number of elements in the descriptor array / value bitmap”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¯h´MÌhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj”ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¯h´MÌhj‘ubj)�”}”(hŒZ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ”h]”(j)�”}”(hŒ!``struct gpio_desc **desc_array``”h]”j$)�”}”(hjÓh]”hŒstruct gpio_desc **desc_array”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÍhjÍubj:)�”}”(hhh]”hÌ)�”}”(hŒ7array of GPIO descriptors whose values will be assigned”h]”hŒ7array of GPIO descriptors whose values will be assigned”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jèh´MÍhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jèh´MÍhj‘ubj)�”}”(hŒ^``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ”h]”(j)�”}”(hŒ!``struct gpio_array *array_info``”h]”j$)�”}”(hj €h]”hŒstruct gpio_array *array_info”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj €ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÎhj€ubj:)�”}”(hhh]”hÌ)�”}”(hŒ;information on applicability of fast bitmap processing path”h]”hŒ;information on applicability of fast bitmap processing path”…”�”}”(hj%€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j!€h´MÎhj"€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j!€h´MÎhj‘ubj)�”}”(hŒ;``unsigned long *value_bitmap`` bitmap of values to assign ”h]”(j)�”}”(hŒ``unsigned long *value_bitmap``”h]”j$)�”}”(hjE€h]”hŒunsigned long *value_bitmap”…”�”}”(hjG€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjC€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÏhj?€ubj:)�”}”(hhh]”hÌ)�”}”(hŒbitmap of values to assign”h]”hŒbitmap of values to assign”…”�”}”(hj^€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jZ€h´MÏhj[€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj?€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jZ€h´MÏhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjuubhÌ)�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÑhjuubhÌ)�”}”(hŒrSet the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status.”h]”hŒrSet the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status.”…”�”}”(hj–€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÐhjuubhÌ)�”}”(hŒ€This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep.”h]”hŒ€This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep.”…”�”}”(hj¥€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÓhjuubhÌ)�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÖhjuubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjÌ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M×hjuubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ"gpiod_set_array_value (C function)”Œc.gpiod_set_array_value”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒŽint gpiod_set_array_value (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒ�int gpiod_set_array_value(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjû€h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj÷€h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MçubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj÷€h²hh³j �h´Mçubji)�”}”(hŒgpiod_set_array_value”h]”jo)�”}”(hŒgpiod_set_array_value”h]”hŒgpiod_set_array_value”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj÷€h²hh³j �h´Mçubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj8�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj4�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjF�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj4�ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjT�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj4�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj4�ubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hjp�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj4�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj0�ubjï)�”}”(hŒstruct gpio_desc **desc_array”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj‰�h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj…�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj…�ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj§�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¤�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j©�Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j�sbŒc.gpiod_set_array_value”†”asbuh1hhj…�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj…�ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÕ�h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj…�ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjâ�h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj…�ubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hjï�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj…�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj0�ubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‚ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‚ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hj&‚h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj#‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j(‚Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÃ�Œc.gpiod_set_array_value”†”asbuh1hhj‚ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD‚h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‚ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjR‚h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj‚ubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hj_‚h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj0�ubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjx‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjt‚ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†‚h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjt‚ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj”‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjt‚ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢‚h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjt‚ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj°‚h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjt‚ubjo)�”}”(hŒ value_bitmap”h]”hŒ value_bitmap”…”�”}”(hj½‚h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjt‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj0�ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj÷€h²hh³j �h´Mçubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjó€h²hh³j �h´Mçubah}”(h]”jî€ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j �h´Mçhjð€h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"assign values to an array of GPIOs”h]”hŒ"assign values to an array of GPIOs”…”�”}”(hjç‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mçhjä‚h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjð€h²hh³j �h´Mçubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÿ‚jÀjÿ‚jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX‡**Parameters** ``unsigned int array_size`` number of elements in the descriptor array / value bitmap ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ``unsigned long *value_bitmap`` bitmap of values to assign **Description** Set the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account. This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep. **Return** 0 on success, or negative errno 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mëhjƒubj)�”}”(hhh]”(j)�”}”(hŒV``unsigned int array_size`` number of elements in the descriptor array / value bitmap ”h]”(j)�”}”(hŒ``unsigned int array_size``”h]”j$)�”}”(hj(ƒh]”hŒunsigned int array_size”…”�”}”(hj*ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj&ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mèhj"ƒubj:)�”}”(hhh]”hÌ)�”}”(hŒ9number of elements in the descriptor array / value bitmap”h]”hŒ9number of elements in the descriptor array / value bitmap”…”�”}”(hjAƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j=ƒh´Mèhj>ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj"ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=ƒh´Mèhjƒubj)�”}”(hŒZ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ”h]”(j)�”}”(hŒ!``struct gpio_desc **desc_array``”h]”j$)�”}”(hjaƒh]”hŒstruct gpio_desc **desc_array”…”�”}”(hjcƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj_ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Méhj[ƒubj:)�”}”(hhh]”hÌ)�”}”(hŒ7array of GPIO descriptors whose values will be assigned”h]”hŒ7array of GPIO descriptors whose values will be assigned”…”�”}”(hjzƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jvƒh´Méhjwƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj[ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jvƒh´Méhjƒubj)�”}”(hŒ^``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ”h]”(j)�”}”(hŒ!``struct gpio_array *array_info``”h]”j$)�”}”(hjšƒh]”hŒstruct gpio_array *array_info”…”�”}”(hjœƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj˜ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mêhj”ƒubj:)�”}”(hhh]”hÌ)�”}”(hŒ;information on applicability of fast bitmap processing path”h]”hŒ;information on applicability of fast bitmap processing path”…”�”}”(hj³ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¯ƒh´Mêhj°ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj”ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¯ƒh´Mêhjƒubj)�”}”(hŒ;``unsigned long *value_bitmap`` bitmap of values to assign ”h]”(j)�”}”(hŒ``unsigned long *value_bitmap``”h]”j$)�”}”(hjÓƒh]”hŒunsigned long *value_bitmap”…”�”}”(hjÕƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjуubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mëhj̓ubj:)�”}”(hhh]”hÌ)�”}”(hŒbitmap of values to assign”h]”hŒbitmap of values to assign”…”�”}”(hjìƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jèƒh´Mëhjéƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj̓ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jèƒh´Mëhjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒ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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MíhjƒubhÌ)�”}”(hŒVSet the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account.”h]”hŒVSet the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account.”…”�”}”(hj$„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MìhjƒubhÌ)�”}”(hŒ€This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep.”h]”hŒ€This function can be called from contexts where we cannot sleep, and will complain if the GPIO chip functions potentially sleep.”…”�”}”(hj3„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MïhjƒubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjD„h]”hŒReturn”…”�”}”(hjF„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjB„ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MòhjƒubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjZ„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Móhjƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_cansleep (C function)”Œc.gpiod_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ1int gpiod_cansleep (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ0int gpiod_cansleep(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj‰„h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj…„h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜„h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj…„h²hh³j—„h´Mubji)�”}”(hŒgpiod_cansleep”h]”jo)�”}”(hŒgpiod_cansleep”h]”hŒgpiod_cansleep”…”�”}”(hjª„h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¦„ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj…„h²hh³j—„h´Mubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÆ„h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj„ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ„h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj„ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjá„h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj„ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî„h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj„ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÿ„h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjü„ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j…Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j¬„sbŒc.gpiod_cansleep”†”asbuh1hhj„ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj„ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj-…h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj„ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj:…h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj„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Žˆuh1j?j�j�hj�„h²hh³j—„h´Mubah}”(h]”j|„ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j—„h´Mhj~„h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ*report whether gpio value access may sleep”h]”hŒ*report whether gpio value access may sleep”…”�”}”(hjd…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhja…h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj~„h²hh³j—„h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j|…jÀj|…jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ–**Parameters** ``const struct gpio_desc *desc`` gpio to check **Return** 0 for non-sleepable, 1 for sleepable, or an error code in case of error.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj†…h]”hŒ Parameters”…”�”}”(hjˆ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj„…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj€…ubj)�”}”(hhh]”j)�”}”(hŒ/``const struct gpio_desc *desc`` gpio to check ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hj¥…h]”hŒconst struct gpio_desc *desc”…”�”}”(hj§…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj£…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjŸ…ubj:)�”}”(hhh]”hÌ)�”}”(hŒ gpio to check”h]”hŒ gpio to check”…”�”}”(hj¾…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jº…h´Mhj»…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjŸ…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jº…h´Mhjœ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€…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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj€…ubhÌ)�”}”(hŒH0 for non-sleepable, 1 for sleepable, or an error code in case of error.”h]”hŒH0 for non-sleepable, 1 for sleepable, or an error code in case of error.”…”�”}”(hjö…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj€…ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ$gpiod_set_consumer_name (C function)”Œc.gpiod_set_consumer_name”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒFint gpiod_set_consumer_name (struct gpio_desc *desc, const char *name)”h]”j@)�”}”(hŒEint gpiod_set_consumer_name(struct gpio_desc *desc, const char *name)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj%†h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj!†h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4†h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj!†h²hh³j3†h´Mubji)�”}”(hŒgpiod_set_consumer_name”h]”jo)�”}”(hŒgpiod_set_consumer_name”h]”hŒgpiod_set_consumer_name”…”�”}”(hjF†h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjB†ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj!†h²hh³j3†h´Mubjé)�”}”(hŒ*(struct gpio_desc *desc, const char *name)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjb†h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj^†ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo†h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj^†ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj€†h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj}†ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j‚†Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jH†sbŒc.gpiod_set_consumer_name”†”asbuh1hhj^†ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj †h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj^†ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj®†h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj^†ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj»†h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj^†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjZ†ubjï)�”}”(hŒconst char *name”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÔ†h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjІubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá†h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjІubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjï†h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjІubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý†h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjІubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj ‡h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjІubjo)�”}”(hŒname”h]”hŒname”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjІubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjZ†ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj!†h²hh³j3†h´Mubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj†h²hh³j3†h´Mubah}”(h]”j†ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j3†h´Mhj†h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ(set the consumer name for the descriptor”h]”hŒ(set the consumer name for the descriptor”…”�”}”(hjB‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj?‡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj†h²hh³j3†h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jZ‡jÀjZ‡jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒ´**Parameters** ``struct gpio_desc *desc`` gpio to set the consumer name on ``const char *name`` the new consumer name **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjd‡h]”hŒ Parameters”…”�”}”(hjf‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjb‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj^‡ubj)�”}”(hhh]”(j)�”}”(hŒ<``struct gpio_desc *desc`` gpio to set the consumer name on ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjƒ‡h]”hŒstruct gpio_desc *desc”…”�”}”(hj…‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj�‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj}‡ubj:)�”}”(hhh]”hÌ)�”}”(hŒ gpio to set the consumer name on”h]”hŒ gpio to set the consumer name on”…”�”}”(hjœ‡h²hh³Nh´Nubah}”(•h]”h ]”h"]”h$]”h&]”uh1hËh³j˜‡h´Mhj™‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj}‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j˜‡h´Mhjz‡ubj)�”}”(hŒ+``const char *name`` the new consumer name ”h]”(j)�”}”(hŒ``const char *name``”h]”j$)�”}”(hj¼‡h]”hŒconst char *name”…”�”}”(hj¾‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjº‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj¶‡ubj:)�”}”(hhh]”hÌ)�”}”(hŒthe new consumer name”h]”hŒthe new consumer name”…”�”}”(hjÕ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jчh´MhjÒ‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¶‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jчh´Mhjz‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj^‡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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj^‡ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hj ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj^‡ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_is_shared (C function)”Œc.gpiod_is_shared”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ3bool gpiod_is_shared (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ2bool gpiod_is_shared(const struct gpio_desc *desc)”h]”(jõ)�”}”(hjT,h]”hŒbool”…”�”}”(hj<ˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj8ˆh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M(ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJˆh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj8ˆh²hh³jIˆh´M(ubji)�”}”(hŒgpiod_is_shared”h]”jo)�”}”(hŒgpiod_is_shared”h]”hŒgpiod_is_shared”…”�”}”(hj\ˆh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjXˆubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj8ˆh²hh³jIˆh´M(ubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjxˆh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjtˆubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…ˆh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjtˆubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hj“ˆh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjtˆubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ˆh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjtˆubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj±ˆh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj®ˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j³ˆŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j^ˆsbŒc.gpiod_is_shared”†”asbuh1hhjtˆubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjшh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjtˆubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj߈h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjtˆubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjìˆh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjtˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjpˆubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj8ˆh²hh³jIˆh´M(ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj4ˆh²hh³jIˆh´M(ubah}”(h]”j/ˆah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jIˆh´M(hj1ˆh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ6check if this GPIO can be shared by multiple consumers”h]”hŒ6check if this GPIO can be shared by multiple consumers”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M(hj‰h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj1ˆh²hh³jIˆh´M(ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j.‰jÀj.‰jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXÈ**Parameters** ``const struct gpio_desc *desc`` GPIO to inspect **Return** True if this GPIO can be shared by multiple consumers at once. False if it's a regular, exclusive GPIO. **Note** This function returning true does not mean that this GPIO is currently being shared. It means the GPIO core has registered the fact that the firmware configuration indicates that it can be shared by multiple consumers and is in charge of arbitrating the access.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj8‰h]”hŒ Parameters”…”�”}”(hj:‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj6‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M,hj2‰ubj)�”}”(hhh]”j)�”}”(hŒ1``const struct gpio_desc *desc`` GPIO to inspect ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hjW‰h]”hŒconst struct gpio_desc *desc”…”�”}”(hjY‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjU‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M)hjQ‰ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to inspect”h]”hŒGPIO to inspect”…”�”}”(hjp‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jl‰h´M)hjm‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjQ‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jl‰h´M)hjN‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2‰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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M+hj2‰ubhÌ)�”}”(hŒgTrue if this GPIO can be shared by multiple consumers at once. False if it's a regular, exclusive GPIO.”h]”hŒiTrue if this GPIO can be shared by multiple consumers at once. False if it’s a regular, exclusive GPIO.”…”�”}”(hj¨‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M+hj2‰ubhÌ)�”}”(hŒ**Note**”h]”jÏ)�”}”(hj¹‰h]”hŒNote”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M.hj2‰ubhÌ)�”}”(hXThis function returning true does not mean that this GPIO is currently being shared. It means the GPIO core has registered the fact that the firmware configuration indicates that it can be shared by multiple consumers and is in charge of arbitrating the access.”h]”hXThis function returning true does not mean that this GPIO is currently being shared. It means the GPIO core has registered the fact that the firmware configuration indicates that it can be shared by multiple consumers and is in charge of arbitrating the access.”…”�”}”(hjωh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M/hj2‰ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_to_irq (C function)”Œc.gpiod_to_irq”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/int gpiod_to_irq (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ.int gpiod_to_irq(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjþ‰h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjú‰h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M<ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Šh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjú‰h²hh³j Šh´M<ubji)�”}”(hŒ gpiod_to_irq”h]”jo)�”}”(hŒ gpiod_to_irq”h]”hŒ gpiod_to_irq”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŠubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjú‰h²hh³j Šh´M<ubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj;Šh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj7ŠubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHŠh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj7ŠubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjVŠh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj7ŠubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcŠh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj7Šubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjtŠh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjqŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jvŠŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j!ŠsbŒc.gpiod_to_irq”†”asbuh1hhj7ŠubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Šh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj7ŠubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¢Šh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj7Šubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj¯Šh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj7Šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj3Šubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjú‰h²hh³j Šh´M<ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjö‰h²hh³j Šh´M<ubah}”(h]”jñ‰ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j Šh´M<hjó‰h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ&return the IRQ corresponding to a GPIO”h]”hŒ&return the IRQ corresponding to a GPIO”…”�”}”(hjÙŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M<hjÖŠh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjó‰h²hh³j Šh´M<ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jñŠjÀjñŠjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒÀ**Parameters** ``const struct gpio_desc *desc`` gpio whose IRQ will be returned (already requested) **Return** The IRQ corresponding to the passed GPIO, or an error code in case of error.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjûŠh]”hŒ Parameters”…”�”}”(hjýŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjùŠubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M@hjõŠubj)�”}”(hhh]”j)�”}”(hŒU``const struct gpio_desc *desc`` gpio whose IRQ will be returned (already requested) ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hj‹h]”hŒconst struct gpio_desc *desc”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M=hj‹ubj:)�”}”(hhh]”hÌ)�”}”(hŒ3gpio whose IRQ will be returned (already requested)”h]”hŒ3gpio whose IRQ will be returned (already requested)”…”�”}”(hj3‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j/‹h´M=hj0‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j/‹h´M=hj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõŠubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjU‹h]”hŒReturn”…”�”}”(hjW‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjS‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M?hjõŠubhÌ)�”}”(hŒLThe IRQ corresponding to the passed GPIO, or an error code in case of error.”h]”hŒLThe IRQ corresponding to the passed GPIO, or an error code in case of error.”…”�”}”(hjk‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M?hjõŠubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ!gpiochip_lock_as_irq (C function)”Œc.gpiochip_lock_as_irq”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒDint gpiochip_lock_as_irq (struct gpio_chip *gc, unsigned int offset)”h]”j@)�”}”(hŒCint gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjš‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj–‹h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MgubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©‹h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj–‹h²hh³j¨‹h´Mgubji)�”}”(hŒgpiochip_lock_as_irq”h]”jo)�”}”(hŒgpiochip_lock_as_irq”h]”hŒgpiochip_lock_as_irq”…”�”}”(hj»‹h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj·‹ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj–‹h²hh³j¨‹h´Mgubjé)�”}”(hŒ+(struct gpio_chip *gc, unsigned int offset)”h]”(jï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj׋h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÓ‹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä‹h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÓ‹ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjõ‹h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjò‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j÷‹Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j½‹sbŒc.gpiochip_lock_as_irq”†”asbuh1hhjÓ‹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÓ‹ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj#Œh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÓ‹ubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hj0Œh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÓ‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjÏ‹ubjï)�”}”(hŒunsigned int offset”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjIŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjEŒubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWŒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjEŒubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjeŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjEŒubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsŒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjEŒubjo)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj�Œh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjEŒ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´Mgubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj’‹h²hh³j¨‹h´Mgubah}”(h]”j�‹ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¨‹h´Mghj�‹h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒlock a GPIO to be used as IRQ”h]”hŒlock a GPIO to be used as IRQ”…”�”}”(hj«Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mghj¨Œh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj�‹h²hh³j¨‹h´Mgubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÃŒjÀjÃŒjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXA**Parameters** ``struct gpio_chip *gc`` the chip the GPIO to lock belongs to ``unsigned int offset`` the offset of the GPIO to lock as IRQ **Description** This is used directly by GPIO drivers that want to lock down a certain GPIO line to be used for IRQs. **Return** 0 on success, or negative errno 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MkhjÇŒubj)�”}”(hhh]”(j)�”}”(hŒ>``struct gpio_chip *gc`` the chip the GPIO to lock belongs to ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hjìŒh]”hŒstruct gpio_chip *gc”…”�”}”(hjîŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjêŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhhjæŒubj:)�”}”(hhh]”hÌ)�”}”(hŒ$the chip the GPIO to lock belongs to”h]”hŒ$the chip the GPIO to lock belongs to”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�h´Mhhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjæŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´MhhjãŒubj)�”}”(hŒ>``unsigned int offset`` the offset of the GPIO to lock as IRQ ”h]”(j)�”}”(hŒ``unsigned int offset``”h]”j$)�”}”(hj%�h]”hŒunsigned int offset”…”�”}”(hj'�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj#�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mihj�ubj:)�”}”(hhh]”hÌ)�”}”(hŒ%the offset of the GPIO to lock as IRQ”h]”hŒ%the offset of the GPIO to lock as IRQ”…”�”}”(hj>�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j:�h´Mihj;�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j:�h´MihjãŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÇŒubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj`�h]”hŒ Description”…”�”}”(hjb�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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MkhjÇŒubhÌ)�”}”(hŒeThis is used directly by GPIO drivers that want to lock down a certain GPIO line to be used for IRQs.”h]”hŒeThis is used directly by GPIO drivers that want to lock down a certain GPIO line to be used for IRQs.”…”�”}”(hjv�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MjhjÇŒ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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MmhjÇŒubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hj��h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MnhjÇŒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ#gpiochip_unlock_as_irq (C function)”Œc.gpiochip_unlock_as_irq”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒGvoid gpiochip_unlock_as_irq (struct gpio_chip *gc, unsigned int offset)”h]”j@)�”}”(hŒFvoid gpiochip_unlock_as_irq(struct gpio_chip *gc, unsigned int offset)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÌ�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÈ�h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M˜ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÈ�h²hh³jÚ�h´M˜ubji)�”}”(hŒgpiochip_unlock_as_irq”h]”jo)�”}”(hŒgpiochip_unlock_as_irq”h]”hŒgpiochip_unlock_as_irq”…”�”}”(hjí�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjé�ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÈ�h²hh³jÚ�h´M˜ubjé)�”}”(hŒ+(struct gpio_chip *gc, unsigned int offset)”h]”(jï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj Žh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjŽubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjŽubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hj'Žh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj$Žubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j)ŽŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jï�sbŒc.gpiochip_unlock_as_irq”†”asbuh1hhjŽubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGŽh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjŽubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjUŽh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjŽubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hjbŽh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjŽubjï)�”}”(hŒunsigned int offset”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj{Žh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjwŽubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰Žh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjwŽubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj—Žh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjwŽubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥Žh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjwŽubjo)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj³Žh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjwŽ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Žˆuh1j?j�j�hjÄ�h²hh³jÚ�h´M˜ubah}”(h]”j¿�ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÚ�h´M˜hjÁ�h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒunlock a GPIO used as IRQ”h]”hŒunlock a GPIO used as IRQ”…”�”}”(hjÝŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M˜hjÚŽh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÁ�h²hh³jÚ�h´M˜ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jõŽjÀjõŽjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``struct gpio_chip *gc`` the chip the GPIO to lock belongs to ``unsigned int offset`` the offset of the GPIO to lock as IRQ **Description** This is used directly by GPIO drivers that want to indicate that a certain GPIO is no longer used exclusively for IRQ.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MœhjùŽubj)�”}”(hhh]”(j)�”}”(hŒ>``struct gpio_chip *gc`` the chip the GPIO to lock belongs to ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hj�h]”hŒstruct gpio_chip *gc”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M™hj�ubj:)�”}”(hhh]”hÌ)�”}”(hŒ$the chip the GPIO to lock belongs to”h]”hŒ$the chip the GPIO to lock belongs to”…”�”}”(hj7�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j3�h´M™hj4�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j3�h´M™hj�ubj)�”}”(hŒ>``unsigned int offset`` the offset of the GPIO to lock as IRQ ”h]”(j)�”}”(hŒ``unsigned int offset``”h]”j$)�”}”(hjW�h]”hŒunsigned int offset”…”�”}”(hjY�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjU�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MšhjQ�ubj:)�”}”(hhh]”hÌ)�”}”(hŒ%the offset of the GPIO to lock as IRQ”h]”hŒ%the offset of the GPIO to lock as IRQ”…”�”}”(hjp�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jl�h´Mšhjm�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjQ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jl�h´Mšhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjùŽ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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MœhjùŽubhÌ)�”}”(hŒvThis is used directly by GPIO drivers that want to indicate that a certain GPIO is no longer used exclusively for IRQ.”h]”hŒvThis is used directly by GPIO drivers that want to indicate that a certain GPIO is no longer used exclusively for IRQ.”…”�”}”(hj¨�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M›hjùŽubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ)gpiod_get_raw_value_cansleep (C function)”Œc.gpiod_get_raw_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ?int gpiod_get_raw_value_cansleep (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ>int gpiod_get_raw_value_cansleep(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj×�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÓ�h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæ�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÓ�h²hh³jå�h´Mubji)�”}”(hŒgpiod_get_raw_value_cansleep”h]”jo)�”}”(hŒgpiod_get_raw_value_cansleep”h]”hŒgpiod_get_raw_value_cansleep”…”�”}”(hjø�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjô�ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÓ�h²hh³jå�h´Mubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj�ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hj/�h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj�ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjM�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjJ�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jO�Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jú�sbŒc.gpiod_get_raw_value_cansleep”†”asbuh1hhj�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj�ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj{�h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj�ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjˆ�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�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Žˆuh1j?j�j�hjÏ�h²hh³jå�h´Mubah}”(h]”jÊ�ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jå�h´MhjÌ�h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒreturn a gpio's raw value”h]”hŒreturn a gpio’s raw value”…”�”}”(hj²�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj¯�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÌ�h²hh³jå�h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÊ�jÀjÊ�jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX+**Parameters** ``const struct gpio_desc *desc`` gpio whose value will be returned **Return** The GPIO's raw value, i.e. the value of the physical line disregarding its ACTIVE_LOW status, or negative errno on failure. **Description** This function is to be called from contexts that can sleep.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjÎ�ubj)�”}”(hhh]”j)�”}”(hŒC``const struct gpio_desc *desc`` gpio whose value will be returned ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hjó�h]”hŒconst struct gpio_desc *desc”…”�”}”(hjõ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjñ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjí�ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!gpio whose value will be returned”h]”hŒ!gpio whose value will be returned”…”�”}”(hj ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j‘h´Mhj ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjí�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‘h´Mhjê�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎ�ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj.‘h]”hŒReturn”…”�”}”(hj0‘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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjÎ�ubhÌ)�”}”(hŒ{The GPIO's raw value, i.e. the value of the physical line disregarding its ACTIVE_LOW status, or negative errno on failure.”h]”hŒ}The GPIO’s raw value, i.e. the value of the physical line disregarding its ACTIVE_LOW status, or negative errno on failure.”…”�”}”(hjD‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjÎ�ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjU‘h]”hŒ Description”…”�”}”(hjW‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjS‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjÎ�ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hjk‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjÎ�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ%gpiod_get_value_cansleep (C function)”Œc.gpiod_get_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ;int gpiod_get_value_cansleep (const struct gpio_desc *desc)”h]”j@)�”}”(hŒ:int gpiod_get_value_cansleep(const struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjš‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj–‘h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©‘h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj–‘h²hh³j¨‘h´Mubji)�”}”(hŒgpiod_get_value_cansleep”h]”jo)�”}”(hŒgpiod_get_value_cansleep”h]”hŒgpiod_get_value_cansleep”…”�”}”(hj»‘h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj·‘ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj–‘h²hh³j¨‘h´Mubjé)�”}”(hŒ(const struct gpio_desc *desc)”h]”jï)�”}”(hŒconst struct gpio_desc *desc”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjבh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÓ‘ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä‘h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÓ‘ubjF)�”}”(hjIh]”hŒstruct”…”�”}”(hjò‘h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÓ‘ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ‘h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÓ‘ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj ’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j’Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j½‘sbŒc.gpiod_get_value_cansleep”†”asbuh1hhjÓ‘ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0’h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÓ‘ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj>’h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÓ‘ubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjK’h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÓ‘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Žˆuh1j?j�j�hj’‘h²hh³j¨‘h´Mubah}”(h]”j�‘ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¨‘h´Mhj�‘h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒreturn a gpio's value”h]”hŒreturn a gpio’s value”…”�”}”(hju’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjr’h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj�‘h²hh³j¨‘h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j�’jÀj�’jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``const struct gpio_desc *desc`` gpio whose value will be returned **Return** The GPIO's logical value, i.e. taking the ACTIVE_LOW status into account, or negative errno on failure. **Description** This function is to be called from contexts that can sleep.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj‘’ubj)�”}”(hhh]”j)�”}”(hŒC``const struct gpio_desc *desc`` gpio whose value will be returned ”h]”(j)�”}”(hŒ ``const struct gpio_desc *desc``”h]”j$)�”}”(hj¶’h]”hŒconst struct gpio_desc *desc”…”�”}”(hj¸’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj´’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj°’ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!gpio whose value will be returned”h]”hŒ!gpio whose value will be returned”…”�”}”(hjÏ’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jË’h´MhjÌ’ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj°’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jË’h´Mhj­’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘’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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj‘’ubhÌ)�”}”(hŒgThe GPIO's logical value, i.e. taking the ACTIVE_LOW status into account, or negative errno on failure.”h]”hŒiThe GPIO’s logical value, i.e. taking the ACTIVE_LOW status into account, or negative errno on failure.”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj‘’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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj‘’ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hj.“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj‘’ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ/gpiod_get_raw_array_value_cansleep (C function)”Œ$c.gpiod_get_raw_array_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ›int gpiod_get_raw_array_value_cansleep (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒšint gpiod_get_raw_array_value_cansleep(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj]“h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjY“h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M1ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl“h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjY“h²hh³jk“h´M1ubji)�”}”(hŒ"gpiod_get_raw_array_value_cansleep”h]”jo)�”}”(hŒ"gpiod_get_raw_array_value_cansleep”h]”hŒ"gpiod_get_raw_array_value_cansleep”…”�”}”(hj~“h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjz“ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjY“h²hh³jk“h´M1ubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjš“h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj–“ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨“h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj–“ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶“h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj–“ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄ“h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj–“ubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hjÒ“h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj–“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj’“ubjï)�”}”(hŒstruct gpio_desc **desc_array”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjë“h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjç“ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø“h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjç“ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj ”h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j ”Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j€“sbŒ$c.gpiod_get_raw_array_value_cansleep”†”asbuh1hhjç“ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)”h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjç“ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj7”h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjç“ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjD”h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjç“ubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hjQ”h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjç“ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj’“ubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjj”h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjf”ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw”h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjf”ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hjˆ”h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj…”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jŠ”Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j%”Œ$c.gpiod_get_raw_array_value_cansleep”†”asbuh1hhjf”ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦”h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjf”ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj´”h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjf”ubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hjÁ”h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjf”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj’“ubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÚ”h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÖ”ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè”h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÖ”ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjö”h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÖ”ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÖ”ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÖ”ubjo)�”}”(hŒ value_bitmap”h]”hŒ value_bitmap”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÖ”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj’“ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjY“h²hh³jk“h´M1ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjU“h²hh³jk“h´M1ubah}”(h]”jP“ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jk“h´M1hjR“h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ&read raw values from an array of GPIOs”h]”hŒ&read raw values from an array of GPIOs”…”�”}”(hjI•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M1hjF•h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjR“h²hh³jk“h´M1ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿ja•jÀja•jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX`**Parameters** ``unsigned int array_size`` number of elements in the descriptor array / value bitmap ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be read ``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ``unsigned long *value_bitmap`` bitmap to store the read values **Description** Read the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status. This function is to be called from contexts that can sleep. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjk•h]”hŒ Parameters”…”�”}”(hjm•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhji•ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M5hje•ubj)�”}”(hhh]”(j)�”}”(hŒV``unsigned int array_size`` number of elements in the descriptor array / value bitmap ”h]”(j)�”}”(hŒ``unsigned int array_size``”h]”j$)�”}”(hjŠ•h]”hŒunsigned int array_size”…”�”}”(hjŒ•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjˆ•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M2hj„•ubj:)�”}”(hhh]”hÌ)�”}”(hŒ9number of elements in the descriptor array / value bitmap”h]”hŒ9number of elements in the descriptor array / value bitmap”…”�”}”(hj£•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jŸ•h´M2hj •ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj„•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŸ•h´M2hj�•ubj)�”}”(hŒV``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be read ”h]”(j)�”}”(hŒ!``struct gpio_desc **desc_array``”h]”j$)�”}”(hjÕh]”hŒstruct gpio_desc **desc_array”…”�”}”(hjÅ•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÁ•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M3hj½•ubj:)�”}”(hhh]”hÌ)�”}”(hŒ3array of GPIO descriptors whose values will be read”h]”hŒ3array of GPIO descriptors whose values will be read”…”�”}”(hjÜ•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jØ•h´M3hjÙ•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj½•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jØ•h´M3hj�•ubj)�”}”(hŒ^``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ”h]”(j)�”}”(hŒ!``struct gpio_array *array_info``”h]”j$)�”}”(hjü•h]”hŒstruct gpio_array *array_info”…”�”}”(hjþ•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjú•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4hjö•ubj:)�”}”(hhh]”hÌ)�”}”(hŒ;information on applicability of fast bitmap processing path”h]”hŒ;information on applicability of fast bitmap processing path”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j–h´M4hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjö•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j–h´M4hj�•ubj)�”}”(hŒ@``unsigned long *value_bitmap`` bitmap to store the read values ”h]”(j)�”}”(hŒ``unsigned long *value_bitmap``”h]”j$)�”}”(hj5–h]”hŒunsigned long *value_bitmap”…”�”}”(hj7–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj3–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M5hj/–ubj:)�”}”(hhh]”hÌ)�”}”(hŒbitmap to store the read values”h]”hŒbitmap to store the read values”…”�”}”(hjN–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jJ–h´M5hjK–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj/–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jJ–h´M5hj�•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhje•ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjp–h]”hŒ Description”…”�”}”(hjr–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjn–ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7hje•ubhÌ)�”}”(hŒsRead the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status.”h]”hŒsRead the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status.”…”�”}”(hj†–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M6hje•ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hj•–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M9hje•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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M;hje•ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hj¼–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M<hje•ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ+gpiod_get_array_value_cansleep (C function)”Œ c.gpiod_get_array_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ—int gpiod_get_array_value_cansleep (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒ–int gpiod_get_array_value_cansleep(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjë–h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjç–h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MNubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú–h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjç–h²hh³jù–h´MNubji)�”}”(hŒgpiod_get_array_value_cansleep”h]”jo)�”}”(hŒgpiod_get_array_value_cansleep”h]”hŒgpiod_get_array_value_cansleep”…”�”}”(hj —h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj—ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjç–h²hh³jù–h´MNubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj(—h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj$—ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6—h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj$—ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjD—h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj$—ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR—h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj$—ubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hj`—h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj$—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj —ubjï)�”}”(hŒstruct gpio_desc **desc_array”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjy—h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhju—ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†—h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhju—ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj——h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj”—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j™—Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j—sbŒ c.gpiod_get_array_value_cansleep”†”asbuh1hhju—ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·—h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhju—ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÅ—h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhju—ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÒ—h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhju—ubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hjß—h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhju—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj —ubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjø—h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjô—ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjô—ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj˜ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j˜Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j³—Œ c.gpiod_get_array_value_cansleep”†”asbuh1hhjô—ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4˜h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjô—ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjB˜h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjô—ubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hjO˜h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjô—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj —ubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjh˜h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjd˜ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv˜h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjd˜ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj„˜h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjd˜ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’˜h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjd˜ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj ˜h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjd˜ubjo)�”}”(hŒ value_bitmap”h]”hŒ value_bitmap”…”�”}”(hj­˜h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjd˜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´MNubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjã–h²hh³jù–h´MNubah}”(h]”jÞ–ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jù–h´MNhjà–h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"read values from an array of GPIOs”h]”hŒ"read values from an array of GPIOs”…”�”}”(hjטh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MNhjÔ˜h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjà–h²hh³jù–h´MNubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jï˜jÀjï˜jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXD**Parameters** ``unsigned int array_size`` number of elements in the descriptor array / value bitmap ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be read ``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ``unsigned long *value_bitmap`` bitmap to store the read values **Description** Read the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account. This function is to be called from contexts that can sleep. **Return** 0 on success, or negative errno 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MRhjó˜ubj)�”}”(hhh]”(j)�”}”(hŒV``unsigned int array_size`` number of elements in the descriptor array / value bitmap ”h]”(j)�”}”(hŒ``unsigned int array_size``”h]”j$)�”}”(hj™h]”hŒunsigned int array_size”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MOhj™ubj:)�”}”(hhh]”hÌ)�”}”(hŒ9number of elements in the descriptor array / value bitmap”h]”hŒ9number of elements in the descriptor array / value bitmap”…”�”}”(hj1™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j-™h´MOhj.™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j-™h´MOhj™ubj)�”}”(hŒV``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be read ”h]”(j)�”}”(hŒ!``struct gpio_desc **desc_array``”h]”j$)�”}”(hjQ™h]”hŒstruct gpio_desc **desc_array”…”�”}”(hjS™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjO™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MPhjK™ubj:)�”}”(hhh]”hÌ)�”}”(hŒ3array of GPIO descriptors whose values will be read”h]”hŒ3array of GPIO descriptors whose values will be read”…”�”}”(hjj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jf™h´MPhjg™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjK™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jf™h´MPhj™ubj)�”}”(hŒ^``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ”h]”(j)�”}”(hŒ!``struct gpio_array *array_info``”h]”j$)�”}”(hjŠ™h]”hŒstruct gpio_array *array_info”…”�”}”(hjŒ™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjˆ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MQhj„™ubj:)�”}”(hhh]”hÌ)�”}”(hŒ;information on applicability of fast bitmap processing path”h]”hŒ;information on applicability of fast bitmap processing path”…”�”}”(hj£™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jŸ™h´MQhj ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj„™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŸ™h´MQhj™ubj)�”}”(hŒ@``unsigned long *value_bitmap`` bitmap to store the read values ”h]”(j)�”}”(hŒ``unsigned long *value_bitmap``”h]”j$)�”}”(hjÙh]”hŒunsigned long *value_bitmap”…”�”}”(hjÅ™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÁ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MRhj½™ubj:)�”}”(hhh]”hÌ)�”}”(hŒbitmap to store the read values”h]”hŒbitmap to store the read values”…”�”}”(hjÜ™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jØ™h´MRhjÙ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj½™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jØ™h´MRhj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjó˜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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MThjó˜ubhÌ)�”}”(hŒWRead the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account.”h]”hŒWRead the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account.”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MShjó˜ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hj#šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MVhjó˜ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj4šh]”hŒReturn”…”�”}”(hj6šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj2šubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MXhjó˜ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjJšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MYhjó˜ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ)gpiod_set_raw_value_cansleep (C function)”Œc.gpiod_set_raw_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒDint gpiod_set_raw_value_cansleep (struct gpio_desc *desc, int value)”h]”j@)�”}”(hŒCint gpiod_set_raw_value_cansleep(struct gpio_desc *desc, int value)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjyšh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjušh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MkubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆšh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjušh²hh³j‡šh´Mkubji)�”}”(hŒgpiod_set_raw_value_cansleep”h]”jo)�”}”(hŒgpiod_set_raw_value_cansleep”h]”hŒgpiod_set_raw_value_cansleep”…”�”}”(hjššh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj–šubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjušh²hh³j‡šh´Mkubjé)�”}”(hŒ#(struct gpio_desc *desc, int value)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj¶šh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj²šubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj²šubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÔšh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÑšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÖšŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jœšsbŒc.gpiod_set_raw_value_cansleep”†”asbuh1hhj²šubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôšh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj²šubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj²šubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj²šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj®šubjï)�”}”(hŒ int value”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj(›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj$›ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6›h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj$›ubjo)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hjD›h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj$›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj®šubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjušh²hh³j‡šh´Mkubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjqšh²hh³j‡šh´Mkubah}”(h]”jlšah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j‡šh´Mkhjnšh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒassign a gpio's raw value”h]”hŒassign a gpio’s raw value”…”�”}”(hjn›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mkhjk›h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjnšh²hh³j‡šh´Mkubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j†›jÀj†›jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXh**Parameters** ``struct gpio_desc *desc`` gpio whose value will be assigned ``int value`` value to assign **Description** Set the raw value of the GPIO, i.e. the value of its physical line without regard for its ACTIVE_LOW status. This function is to be called from contexts that can sleep. **Return** 0 on success, negative error number 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MohjŠ›ubj)�”}”(hhh]”(j)�”}”(hŒ=``struct gpio_desc *desc`` gpio whose value will be assigned ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj¯›h]”hŒstruct gpio_desc *desc”…”�”}”(hj±›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj­›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mlhj©›ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!gpio whose value will be assigned”h]”hŒ!gpio whose value will be assigned”…”�”}”(hjÈ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÄ›h´MlhjÅ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj©›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÄ›h´Mlhj¦›ubj)�”}”(hŒ``int value`` value to assign ”h]”(j)�”}”(hŒ ``int value``”h]”j$)�”}”(hjè›h]”hŒ int value”…”�”}”(hjê›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjæ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mmhjâ›ubj:)�”}”(hhh]”hÌ)�”}”(hŒvalue to assign”h]”hŒvalue to assign”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jý›h´Mmhjþ›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjâ›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jý›h´Mmhj¦›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠ›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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MohjŠ›ubhÌ)�”}”(hŒlSet the raw value of the GPIO, i.e. the value of its physical line without regard for its ACTIVE_LOW status.”h]”hŒlSet the raw value of the GPIO, i.e. the value of its physical line without regard for its ACTIVE_LOW status.”…”�”}”(hj9œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MnhjŠ›ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hjHœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MqhjŠ›ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjYœh]”hŒReturn”…”�”}”(hj[œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjWœubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MshjŠ›ubhÌ)�”}”(hŒ/0 on success, negative error number on failure.”h]”hŒ/0 on success, negative error number on failure.”…”�”}”(hjoœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MthjŠ›ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ%gpiod_set_value_cansleep (C function)”Œc.gpiod_set_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ@int gpiod_set_value_cansleep (struct gpio_desc *desc, int value)”h]”j@)�”}”(hŒ?int gpiod_set_value_cansleep(struct gpio_desc *desc, int value)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjžœh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjšœh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M€ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­œh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjšœh²hh³j¬œh´M€ubji)�”}”(hŒgpiod_set_value_cansleep”h]”jo)�”}”(hŒgpiod_set_value_cansleep”h]”hŒgpiod_set_value_cansleep”…”�”•}”(hj¿œh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj»œubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjšœh²hh³j¬œh´M€ubjé)�”}”(hŒ#(struct gpio_desc *desc, int value)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÛœh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjלubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèœh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjלubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjùœh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjöœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jûœŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jÁœsbŒc.gpiod_set_value_cansleep”†”asbuh1hhjלubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjלubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj'�h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjלubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj4�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjלubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjÓœubjï)�”}”(hŒ int value”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjM�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjI�ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[�h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjI�ubjo)�”}”(hŒvalue”h]”hŒvalue”…”�”}”(hji�h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjI�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Žˆuh1j?j�j�hj–œh²hh³j¬œh´M€ubah}”(h]”j‘œah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¬œh´M€hj“œh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒassign a gpio's value”h]”hŒassign a gpio’s value”…”�”}”(hj“�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M€hj��h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj“œh²hh³j¬œh´M€ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j«�jÀj«�jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXM**Parameters** ``struct gpio_desc *desc`` gpio whose value will be assigned ``int value`` value to assign **Description** Set the logical value of the GPIO, i.e. taking its ACTIVE_LOW status into account This function is to be called from contexts that can sleep. **Return** 0 on success, negative error number 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M„hj¯�ubj)�”}”(hhh]”(j)�”}”(hŒ=``struct gpio_desc *desc`` gpio whose value will be assigned ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjÔ�h]”hŒstruct gpio_desc *desc”…”�”}”(hjÖ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÒ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M�hjÎ�ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!gpio whose value will be assigned”h]”hŒ!gpio whose value will be assigned”…”�”}”(hjí�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jé�h´M�hjê�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÎ�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jé�h´M�hjË�ubj)�”}”(hŒ``int value`` value to assign ”h]”(j)�”}”(hŒ ``int value``”h]”j$)�”}”(hj žh]”hŒ int value”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj žubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M‚hjžubj:)�”}”(hhh]”hÌ)�”}”(hŒvalue to assign”h]”hŒvalue to assign”…”�”}”(hj&žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j"žh´M‚hj#žubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j"žh´M‚hjË�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¯�ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjHžh]”hŒ Description”…”�”}”(hjJžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjFžubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M„hj¯�ubhÌ)�”}”(hŒQSet the logical value of the GPIO, i.e. taking its ACTIVE_LOW status into account”h]”hŒQSet the logical value of the GPIO, i.e. taking its ACTIVE_LOW status into account”…”�”}”(hj^žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mƒhj¯�ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hjmžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mˆhj¯�ubhÌ)�”}”(hŒ/0 on success, negative error number on failure.”h]”hŒ/0 on success, negative error number on failure.”…”�”}”(hj”žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M‰hj¯�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ/gpiod_set_raw_array_value_cansleep (C function)”Œ$c.gpiod_set_raw_array_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ›int gpiod_set_raw_array_value_cansleep (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒšint gpiod_set_raw_array_value_cansleep(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¿žh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M•ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒžh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¿žh²hh³jÑžh´M•ubji)�”}”(hŒ"gpiod_set_raw_array_value_cansleep”h]”jo)�”}”(hŒ"gpiod_set_raw_array_value_cansleep”h]”hŒ"gpiod_set_raw_array_value_cansleep”…”�”}”(hjäžh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjàžubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj¿žh²hh³jÑžh´M•ubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjüžubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjüžubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjüžubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*Ÿh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjüžubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hj8Ÿh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjüžubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjøžubjï)�”}”(hŒstruct gpio_desc **desc_array”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjQŸh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjMŸubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^Ÿh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjMŸubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjoŸh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjlŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jqŸŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jæžsbŒ$c.gpiod_set_raw_array_value_cansleep”†”asbuh1hhjMŸubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Ÿh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjMŸubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj�Ÿh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjMŸubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjªŸh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjMŸubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hj·Ÿh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjMŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjøžubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjПh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÌŸubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝŸh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÌŸubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hjîŸh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjëŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jðŸŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j‹ŸŒ$c.gpiod_set_raw_array_value_cansleep”†”asbuh1hhjÌŸubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj  h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÌŸubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÌŸubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÌŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjøžubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj< ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj< ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj< ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj< ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjx h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj< ubjo)�”}”(hŒ value_bitmap”h]”hŒ value_bitmap”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj< 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Žˆuh1j?j�j�hj»žh²hh³jÑžh´M•ubah}”(h]”j¶žah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÑžh´M•hj¸žh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"assign values to an array of GPIOs”h]”hŒ"assign values to an array of GPIOs”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M•hj¬ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj¸žh²hh³jÑžh´M•ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÇ jÀjÇ jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX^**Parameters** ``unsigned int array_size`` number of elements in the descriptor array / value bitmap ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ``unsigned long *value_bitmap`` bitmap of values to assign **Description** Set the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status. This function is to be called from contexts that can sleep. **Return** 0 on success, or negative errno 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M™hjË ubj)�”}”(hhh]”(j)�”}”(hŒV``unsigned int array_size`` number of elements in the descriptor array / value bitmap ”h]”(j)�”}”(hŒ``unsigned int array_size``”h]”j$)�”}”(hjð h]”hŒunsigned int array_size”…”�”}”(hjò h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjî ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M–hjê ubj:)�”}”(hhh]”hÌ)�”}”(hŒ9number of elements in the descriptor array / value bitmap”h]”hŒ9number of elements in the descriptor array / value bitmap”…”�”}”(hj ¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¡h´M–hj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjê ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¡h´M–hjç ubj)�”}”(hŒZ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ”h]”(j)�”}”(hŒ!``struct gpio_desc **desc_array``”h]”j$)�”}”(hj)¡h]”hŒstruct gpio_desc **desc_array”…”�”}”(hj+¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj'¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M—hj#¡ubj:)�”}”(hhh]”hÌ)�”}”(hŒ7array of GPIO descriptors whose values will be assigned”h]”hŒ7array of GPIO descriptors whose values will be assigned”…”�”}”(hjB¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j>¡h´M—hj?¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj#¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j>¡h´M—hjç ubj)�”}”(hŒ^``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ”h]”(j)�”}”(hŒ!``struct gpio_array *array_info``”h]”j$)�”}”(hjb¡h]”hŒstruct gpio_array *array_info”…”�”}”(hjd¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj`¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M˜hj\¡ubj:)�”}”(hhh]”hÌ)�”}”(hŒ;information on applicability of fast bitmap processing path”h]”hŒ;information on applicability of fast bitmap processing path”…”�”}”(hj{¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jw¡h´M˜hjx¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj\¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jw¡h´M˜hjç ubj)�”}”(hŒ;``unsigned long *value_bitmap`` bitmap of values to assign ”h]”(j)�”}”(hŒ``unsigned long *value_bitmap``”h]”j$)�”}”(hj›¡h]”hŒunsigned long *value_bitmap”…”�”}”(hj�¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj™¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M™hj•¡ubj:)�”}”(hhh]”hÌ)�”}”(hŒbitmap of values to assign”h]”hŒbitmap of values to assign”…”�”}”(hj´¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j°¡h´M™hj±¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj•¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j°¡h´M™hjç ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjË 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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M›hjË ubhÌ)�”}”(hŒrSet the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status.”h]”hŒrSet the raw values of the GPIOs, i.e. the values of the physical lines without regard for their ACTIVE_LOW status.”…”�”}”(hjì¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MšhjË ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hjû¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MŸhjË ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hj"¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M hjË ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ+gpiod_set_array_value_cansleep (C function)”Œ c.gpiod_set_array_value_cansleep”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ—int gpiod_set_array_value_cansleep (unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”j@)�”}”(hŒ–int gpiod_set_array_value_cansleep(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjQ¢h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjM¢h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`¢h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjM¢h²hh³j_¢h´MÀubji)�”}”(hŒgpiod_set_array_value_cansleep”h]”jo)�”}”(hŒgpiod_set_array_value_cansleep”h]”hŒgpiod_set_array_value_cansleep”…”�”}”(hjr¢h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjn¢ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjM¢h²hh³j_¢h´MÀubjé)�”}”(hŒt(unsigned int array_size, struct gpio_desc **desc_array, struct gpio_array *array_info, unsigned long *value_bitmap)”h]”(jï)�”}”(hŒunsigned int array_size”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjŽ¢h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjŠ¢ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ¢h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjŠ¢ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjª¢h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjŠ¢ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸¢h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjŠ¢ubjo)�”}”(hŒ array_size”h]”hŒ array_size”…”�”}”(hjÆ¢h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŠ¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj†¢ubjï)�”}”(hŒstruct gpio_desc **desc_array”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjߢh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÛ¢ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì¢h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ¢ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjý¢h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjú¢ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÿ¢Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jt¢sbŒ c.gpiod_set_array_value_cansleep”†”asbuh1hhjÛ¢ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ¢ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj+£h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÛ¢ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj8£h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÛ¢ubjo)�”}”(hŒ desc_array”h]”hŒ desc_array”…”�”}”(hjE£h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÛ¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj†¢ubjï)�”}”(hŒstruct gpio_array *array_info”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj^£h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjZ£ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk£h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjZ£ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_array”h]”hŒ gpio_array”…”�”}”(hj|£h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjy£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j~£Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j£Œ c.gpiod_set_array_value_cansleep”†”asbuh1hhjZ£ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš£h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjZ£ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¨£h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjZ£ubjo)�”}”(hŒ array_info”h]”hŒ array_info”…”�”}”(hjµ£h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjZ£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj†¢ubjï)�”}”(hŒunsigned long *value_bitmap”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjΣh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÊ£ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜ£h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÊ£ubjõ)�”}”(hŒlong”h]”hŒlong”…”�”}”(hjê£h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÊ£ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø£h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÊ£ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÊ£ubjo)�”}”(hŒ value_bitmap”h]”hŒ value_bitmap”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÊ£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj†¢ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjM¢h²hh³j_¢h´MÀubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjI¢h²hh³j_¢h´MÀubah}”(h]”jD¢ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j_¢h´MÀhjF¢h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"assign values to an array of GPIOs”h]”hŒ"assign values to an array of GPIOs”…”�”}”(hj=¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÀhj:¤h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjF¢h²hh³j_¢h´MÀubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jU¤jÀjU¤jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXB**Parameters** ``unsigned int array_size`` number of elements in the descriptor array / value bitmap ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ``unsigned long *value_bitmap`` bitmap of values to assign **Description** Set the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account. This function is to be called from contexts that can sleep. **Return** 0 on success, or negative errno on failure.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj_¤h]”hŒ Parameters”…”�”}”(hja¤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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÄhjY¤ubj)�”}”(hhh]”(j)�”}”(hŒV``unsigned int array_size`` number of elements in the descriptor array / value bitmap ”h]”(j)�”}”(hŒ``unsigned int array_size``”h]”j$)�”}”(hj~¤h]”hŒunsigned int array_size”…”�”}”(hj€¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj|¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÁhjx¤ubj:)�”}”(hhh]”hÌ)�”}”(hŒ9number of elements in the descriptor array / value bitmap”h]”hŒ9number of elements in the descriptor array / value bitmap”…”�”}”(hj—¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j“¤h´MÁhj”¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjx¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j“¤h´MÁhju¤ubj)�”}”(hŒZ``struct gpio_desc **desc_array`` array of GPIO descriptors whose values will be assigned ”h]”(j)�”}”(hŒ!``struct gpio_desc **desc_array``”h]”j$)�”}”(hj·¤h]”hŒstruct gpio_desc **desc_array”…”�”}”(hj¹¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjµ¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÂhj±¤ubj:)�”}”(hhh]”hÌ)�”}”(hŒ7array of GPIO descriptors whose values will be assigned”h]”hŒ7array of GPIO descriptors whose values will be assigned”…”�”}”(hjФh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j̤h´MÂhjͤubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj±¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j̤h´MÂhju¤ubj)�”}”(hŒ^``struct gpio_array *array_info`` information on applicability of fast bitmap processing path ”h]”(j)�”}”(hŒ!``struct gpio_array *array_info``”h]”j$)�”}”(hjð¤h]”hŒstruct gpio_array *array_info”…”�”}”(hjò¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjî¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÃhjê¤ubj:)�”}”(hhh]”hÌ)�”}”(hŒ;information on applicability of fast bitmap processing path”h]”hŒ;information on applicability of fast bitmap processing path”…”�”}”(hj ¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¥h´MÃhj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjê¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¥h´MÃhju¤ubj)�”}”(hŒ;``unsigned long *value_bitmap`` bitmap of values to assign ”h]”(j)�”}”(hŒ``unsigned long *value_bitmap``”h]”j$)�”}”(hj)¥h]”hŒunsigned long *value_bitmap”…”�”}”(hj+¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj'¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÄhj#¥ubj:)�”}”(hhh]”hÌ)�”}”(hŒbitmap of values to assign”h]”hŒbitmap of values to assign”…”�”}”(hjB¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j>¥h´MÄhj?¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj#¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j>¥h´MÄhju¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjY¤ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjd¥h]”hŒ Description”…”�”}”(hjf¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjb¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÆhjY¤ubhÌ)�”}”(hŒVSet the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account.”h]”hŒVSet the logical values of the GPIOs, i.e. taking their ACTIVE_LOW status into account.”…”�”}”(hjz¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÅhjY¤ubhÌ)�”}”(hŒ;This function is to be called from contexts that can sleep.”h]”hŒ;This function is to be called from contexts that can sleep.”…”�”}”(hj‰¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÈhjY¤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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÊhjY¤ubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hj°¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MËhjY¤ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ#gpiod_add_lookup_table (C function)”Œc.gpiod_add_lookup_table”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ>void gpiod_add_lookup_table (struct gpiod_lookup_table *table)”h]”j@)�”}”(hŒ=void gpiod_add_lookup_table(struct gpiod_lookup_table *table)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjߥh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÛ¥h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MäubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî¥h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ¥h²hh³jí¥h´Mäubji)�”}”(hŒgpiod_add_lookup_table”h]”jo)�”}”(hŒgpiod_add_lookup_table”h]”hŒgpiod_add_lookup_table”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjü¥ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÛ¥h²hh³jí¥h´Mäubjé)�”}”(hŒ"(struct gpiod_lookup_table *table)”h]”jï)�”}”(hŒ struct gpiod_lookup_table *table”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¦ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)¦h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¦ubh)�”}”(hhh]”jo)�”}”(hŒgpiod_lookup_table”h]”hŒgpiod_lookup_table”…”�”}”(hj:¦h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj7¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j<¦Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j¦sbŒc.gpiod_add_lookup_table”†”asbuh1hhj¦ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ¦h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¦ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjh¦h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¦ubjo)�”}”(hŒtable”h]”hŒtable”…”�”}”(hju¦h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¦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´Mäubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj×¥h²hh³jí¥h´Mäubah}”(h]”jÒ¥ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jí¥h´MähjÔ¥h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒregister GPIO device consumers”h]”hŒregister GPIO device consumers”…”�”}”(hjŸ¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mähjœ¦h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÔ¥h²hh³jí¥h´Mäubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j·¦jÀj·¦jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒU**Parameters** ``struct gpiod_lookup_table *table`` table of consumers to register”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjÁ¦h]”hŒ Parameters”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj¿¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mèhj»¦ubj)�”}”(hhh]”j)�”}”(hŒC``struct gpiod_lookup_table *table`` table of consumers to register”h]”(j)�”}”(hŒ$``struct gpiod_lookup_table *table``”h]”j$)�”}”(hjà¦h]”hŒ struct gpiod_lookup_table *table”…”�”}”(hjâ¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÞ¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MêhjÚ¦ubj:)�”}”(hhh]”hÌ)�”}”(hŒtable of consumers to register”h]”hŒtable of consumers to register”…”�”}”(hjù¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Måhjö¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÚ¦ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jõ¦h´Mêhjצubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»¦ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ&gpiod_remove_lookup_table (C function)”Œc.gpiod_remove_lookup_table”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒAvoid gpiod_remove_lookup_table (struct gpiod_lookup_table *table)”h]”j@)�”}”(hŒ@void gpiod_remove_lookup_table(struct gpiod_lookup_table *table)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj:§h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj6§h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MîubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI§h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj6§h²hh³jH§h´Mîubji)�”}”(hŒgpiod_remove_lookup_table”h]”jo)�”}”(hŒgpiod_remove_lookup_table”h]”hŒgpiod_remove_lookup_table”…”�”}”(hj[§h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjW§ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj6§h²hh³jH§h´Mîubjé)�”}”(hŒ"(struct gpiod_lookup_table *table)”h]”jï)�”}”(hŒ struct gpiod_lookup_table *table”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjw§h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjs§ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„§h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjs§ubh)�”}”(hhh]”jo)�”}”(hŒgpiod_lookup_table”h]”hŒgpiod_lookup_table”…”�”}”(hj•§h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj’§ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j—§Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j]§sbŒc.gpiod_remove_lookup_table”†”asbuh1hhjs§ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ§h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjs§ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjs§ubjo)�”}”(hŒtable”h]”hŒtable”…”�”}”(hjЧh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjs§ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjo§ubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj6§h²hh³jH§h´Mîubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj2§h²hh³jH§h´Mîubah}”(h]”j-§ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jH§h´Mîhj/§h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ unregister GPIO device consumers”h]”hŒ unregister GPIO device consumers”…”�”}”(hjú§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mîhj÷§h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj/§h²hh³jH§h´Mîubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j¨jÀj¨jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒW**Parameters** ``struct gpiod_lookup_table *table`` table of consumers to unregister”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj¨h]”hŒ Parameters”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mòhj¨ubj)�”}”(hhh]”j)�”}”(hŒE``struct gpiod_lookup_table *table`` table of consumers to unregister”h]”(j)�”}”(hŒ$``struct gpiod_lookup_table *table``”h]”j$)�”}”(hj;¨h]”hŒ struct gpiod_lookup_table *table”…”�”}”(hj=¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj9¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Môhj5¨ubj:)�”}”(hhh]”hÌ)�”}”(hŒ table of consumers to unregister”h]”hŒ table of consumers to unregister”…”�”}”(hjT¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MïhjQ¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj5¨ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jP¨h´Môhj2¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ#fwnode_gpiod_get_index (C function)”Œc.fwnode_gpiod_get_index”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ’struct gpio_desc * fwnode_gpiod_get_index (struct fwnode_handle *fwnode, const char *con_id, int index, enum gpiod_flags flags, const char *label)”h]”j@)�”}”(hŒ�struct gpio_desc *fwnode_gpiod_get_index(struct fwnode_handle *fwnode, const char *con_id, int index, enum gpiod_flags flags, const char *label)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj•¨h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‘¨h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£¨h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‘¨h²hh³j¢¨h´Mubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj´¨h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj±¨ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¶¨Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œfwnode_gpiod_get_index”sbŒc.fwnode_gpiod_get_index”†”asbuh1hhj‘¨h²hh³j¢¨h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ¨h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‘¨h²hh³j¢¨h´MubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjã¨h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj‘¨h²hh³j¢¨h´Mubji)�”}”(hŒfwnode_gpiod_get_index”h]”jo)�”}”(hjÒ¨h]”hŒfwnode_gpiod_get_index”…”�”}”(hjô¨h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjð¨ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj‘¨h²hh³j¢¨h´Mubjé)�”}”(hŒh(struct fwnode_handle *fwnode, const char *con_id, int index, enum gpiod_flags flags, const char *label)”h]”(jï)�”}”(hŒstruct fwnode_handle *fwnode”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj ©ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj ©ubh)�”}”(hhh]”jo)�”}”(hŒ fwnode_handle”h]”hŒ fwnode_handle”…”�”}”(hj-©h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj*©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j/©Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jШŒc.fwnode_gpiod_get_index”†”asbuh1hhj ©ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK©h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj ©ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjY©h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj ©ubjo)�”}”(hŒfwnode”h]”hŒfwnode”…”�”}”(hjf©h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj ©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj©ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj{©ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ©h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj{©ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjš©h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj{©ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨©h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj{©ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¶©h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj{©ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj{©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj©ubjï)�”}”(hŒ int index”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÜ©h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjØ©ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjê©h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjØ©ubjo)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjø©h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjØ©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj©ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj ªubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj ªubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hj/ªh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj,ªubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j1ªŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jШŒc.fwnode_gpiod_get_index”†”asbuh1hhj ªubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMªh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj ªubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj[ªh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj ªubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj©ubjï)�”}”(hŒconst char *label”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjtªh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjpªubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ªh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjpªubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj�ªh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjpªubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ªh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjpªubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj«ªh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjpªubjo)�”}”(hŒlabel”h]”hŒlabel”…”�”}”(hj¸ªh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjpª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´Mubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj�¨h²hh³j¢¨h´Mubah}”(h]”jˆ¨ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¢¨h´MhjЍh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ obtain a GPIO from firmware node”h]”hŒ obtain a GPIO from firmware node”…”�”}”(hjâªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjߪh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjЍh²hh³j¢¨h´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿júªjÀjúªjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``struct fwnode_handle *fwnode`` handle of the firmware node ``const char *con_id`` function within the GPIO consumer ``int index`` index of the GPIO to obtain for the consumer ``enum gpiod_flags flags`` GPIO initialization flags ``const char *label`` label to attach to the requested GPIO **Description** This function can be used for drivers that get their configuration from opaque firmware. The function properly finds the corresponding GPIO using whatever is the underlying firmware interface and then makes sure that the GPIO descriptor is requested before it is returned to the caller. In case of error an ERR_PTR() is returned. **Return** On successful request the GPIO pin is configured in accordance with provided **flags**.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjþªubj)�”}”(hhh]”(j)�”}”(hŒ=``struct fwnode_handle *fwnode`` handle of the firmware node ”h]”(j)�”}”(hŒ ``struct fwnode_handle *fwnode``”h]”j$)�”}”(hj#«h]”hŒstruct fwnode_handle *fwnode”…”�”}”(hj%«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj!«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj«ubj:)�”}”(hhh]”hÌ)�”}”(hŒhandle of the firmware node”h]”hŒhandle of the firmware node”…”�”}”(hj<«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j8«h´Mhj9«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j8«h´Mhj«ubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj\«h]”hŒconst char *con_id”…”�”}”(hj^«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjZ«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjV«ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hju«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jq«h´Mhjr«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjV«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jq«h´Mhj«ubj)�”}”(hŒ;``int index`` index of the GPIO to obtain for the consumer ”h]”(j)�”}”(hŒ ``int index``”h]”j$)�”}”(hj•«h]”hŒ int index”…”�”}”(hj—«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj“«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj�«ubj:)�”}”(hhh]”hÌ)�”}”(hŒ,index of the GPIO to obtain for the consumer”h]”hŒ,index of the GPIO to obtain for the consumer”…”�”}”(hj®«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jª«h´Mhj««ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj�«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jª«h´Mhj«ubj)�”}”(hŒ5``enum gpiod_flags flags`` GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjΫh]”hŒenum gpiod_flags flags”…”�”}”(hjЫh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÌ«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjÈ«ubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO initialization flags”h]”hŒGPIO initialization flags”…”�”}”(hjç«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jã«h´Mhjä«ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÈ«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jã«h´Mhj«ubj)�”}”(hŒ<``const char *label`` label to attach to the requested GPIO ”h]”(j)�”}”(hŒ``const char *label``”h]”j$)�”}”(hj¬h]”hŒconst char *label”…”�”}”(hj ¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhj¬ubj:)�”}”(hhh]”hÌ)�”}”(hŒ%label to attach to the requested GPIO”h]”hŒ%label to attach to the requested GPIO”…”�”}”(hj ¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¬h´Mhj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¬h´Mhj«ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjþªubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjB¬h]”hŒ Description”…”�”}”(hjD¬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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjþªubhÌ)�”}”(hŒXThis function can be used for drivers that get their configuration from opaque firmware.”h]”hŒXThis function can be used for drivers that get their configuration from opaque firmware.”…”�”}”(hjX¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjþªubhÌ)�”}”(hŒÅThe function properly finds the corresponding GPIO using whatever is the underlying firmware interface and then makes sure that the GPIO descriptor is requested before it is returned to the caller.”h]”hŒÅThe function properly finds the corresponding GPIO using whatever is the underlying firmware interface and then makes sure that the GPIO descriptor is requested before it is returned to the caller.”…”�”}”(hjg¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MhjþªubhÌ)�”}”(hŒ*In case of error an ERR_PTR() is returned.”h]”hŒ*In case of error an ERR_PTR() is returned.”…”�”}”(hjv¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M!hjþªubhÌ)�”}”(hŒWOn successful request the GPIO pin is configured in accordance with provided **flags**.”h]”(hŒMOn successful request the GPIO pin is configured in accordance with provided ”…”�”}”(hj�¬h²hh³Nh´NubjÏ)�”}”(hŒ **flags**”h]”hŒflags”…”�”}”(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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mhjþªubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_count (C function)”Œ c.gpiod_count”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ8int gpiod_count (struct device *dev, const char *con_id)”h]”j@)�”}”(hŒ7int gpiod_count(struct device *dev, const char *con_id)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞ¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÚ¬h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M0ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí¬h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÚ¬h²hh³jì¬h´M0ubji)�”}”(hŒ gpiod_count”h]”jo)�”}”(hŒ gpiod_count”h]”hŒ gpiod_count”…”�”}”(hjÿ¬h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjû¬ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÚ¬h²hh³jì¬h´M0ubjé)�”}”(hŒ((struct device *dev, const char *con_id)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj­ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(­h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj­ubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj9­h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj6­ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j;­Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j­sbŒ c.gpiod_count”†”asbuh1hhj­ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY­h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj­ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjg­h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj­ubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjt­h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj­ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj­ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj�­h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‰­ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš­h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‰­ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¨­h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj‰­ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶­h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‰­ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÄ­h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj‰­ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjÑ­h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‰­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´M0ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÖ¬h²hh³jì¬h´M0ubah}”(h]”jѬah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jì¬h´M0hjÓ¬h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ>return the number of GPIOs associated with a device / function”h]”hŒ>return the number of GPIOs associated with a device / function”…”�”}”(hjû­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M0hjø­h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÓ¬h²hh³jì¬h´M0ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j®jÀj®jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer **Return** The number of GPIOs associated with a device / function or -ENOENT if no GPIO has been assigned to the requested function.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4hj®ubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj<®h]”hŒstruct device *dev”…”�”}”(hj>®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj:®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M1hj6®ubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hjU®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jQ®h´M1hjR®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj6®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jQ®h´M1hj3®ubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hju®h]”hŒconst char *con_id”…”�”}”(hjw®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjs®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M2hjo®ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjŽ®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jŠ®h´M2hj‹®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjo®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŠ®h´M2hj3®ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj®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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4hj®ubhÌ)�”}”(hŒzThe number of GPIOs associated with a device / function or -ENOENT if no GPIO has been assigned to the requested function.”h]”hŒzThe number of GPIOs associated with a device / function or -ENOENT if no GPIO has been assigned to the requested function.”…”�”}”(hjÆ®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M4hj®ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_get (C function)”Œ c.gpiod_get”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ]struct gpio_desc * gpiod_get (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒ[struct gpio_desc *gpiod_get(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjõ®h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjñ®h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MLubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñ®h²hh³j¯h´MLubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¯ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¯Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œ gpiod_get”sbŒ c.gpiod_get”†”asbuh1hhjñ®h²hh³j¯h´MLubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5¯h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñ®h²hh³j¯h´MLubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjC¯h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjñ®h²hh³j¯h´MLubji)�”}”(hŒ gpiod_get”h]”jo)�”}”(hj2¯h]”hŒ gpiod_get”…”�”}”(hjT¯h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjP¯ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjñ®h²hh³j¯h´MLubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjo¯h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjk¯ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|¯h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjk¯ubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj�¯h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjНubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j�¯Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j0¯Œ c.gpiod_get”†”asbuh1hhjk¯ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«¯h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjk¯ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¹¯h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjk¯ubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjƯh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjk¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjg¯ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj߯h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÛ¯ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì¯h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ¯ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjú¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÛ¯ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ¯ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÛ¯ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj#°h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÛ¯ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjg¯ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hj<°h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj8°ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI°h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj8°ubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjZ°h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjW°ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j\°Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j0¯Œ c.gpiod_get”†”asbuh1hhj8°ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx°h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj8°ubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj†°h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj8°ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjg¯ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjñ®h²hh³j¯h´MLubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjí®h²hh³j¯h´MLubah}”(h]”jè®ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¯h´MLhjê®h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ'obtain a GPIO for a given GPIO function”h]”hŒ'obtain a GPIO for a given GPIO function”…”�”}”(hj°°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MLhj­°h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjê®h²hh³j¯h´MLubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jȰjÀjȰjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXÁ**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Return** The GPIO descriptor corresponding to the function **con_id** of device dev, -ENOENT if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MPhj̰ubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjñ°h]”hŒstruct device *dev”…”�”}”(hjó°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjï°ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MMhjë°ubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hj ±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j±h´MMhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjë°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j±h´MMhjè°ubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj*±h]”hŒconst char *con_id”…”�”}”(hj,±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj(±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MNhj$±ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjC±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j?±h´MNhj@±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj$±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j?±h´MNhjè°ubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjc±h]”hŒenum gpiod_flags flags”…”�”}”(hje±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hja±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MOhj]±ubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hj|±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jx±h´MOhjy±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj]±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jx±h´MOhjè°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj̰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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MQhj̰ubhÌ)�”}”(hŒÛThe GPIO descriptor corresponding to the function **con_id** of device dev, -ENOENT if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hŒ2The GPIO descriptor corresponding to the function ”…”�”}”(hj´±h²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hj¼±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj´±ubhŒŸ of device dev, -ENOENT if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hj´±h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MQhj̰ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_get_optional (C function)”Œc.gpiod_get_optional”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒfstruct gpio_desc * gpiod_get_optional (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒdstruct gpio_desc *gpiod_get_optional(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjõ±h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjñ±h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M^ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñ±h²hh³j²h´M^ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj²ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j²Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpiod_get_optional”sbŒc.gpiod_get_optional”†”asbuh1hhjñ±h²hh³j²h´M^ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5²h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñ±h²hh³j²h´M^ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjC²h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjñ±h²hh³j²h´M^ubji)�”}”(hŒgpiod_get_optional”h]”jo)�”}”(hj2²h]”hŒgpiod_get_optional”…”�”}”(hjT²h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjP²ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjñ±h²hh³j²h´M^ubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjo²h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjk²ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|²h²hh³Nh´Nubah}”(h]”h ]”jdah"]”•h$]”h&]”uh1jWhjk²ubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj�²h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjвubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j�²Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j0²Œc.gpiod_get_optional”†”asbuh1hhjk²ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«²h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjk²ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¹²h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjk²ubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjƲh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjk²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjg²ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjß²h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÛ²ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjì²h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ²ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjú²h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÛ²ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÛ²ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÛ²ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj#³h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÛ²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjg²ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hj<³h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj8³ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI³h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj8³ubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjZ³h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjW³ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j\³Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j0²Œc.gpiod_get_optional”†”asbuh1hhj8³ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx³h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj8³ubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj†³h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj8³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjg²ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjñ±h²hh³j²h´M^ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjí±h²hh³j²h´M^ubah}”(h]”jè±ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j²h´M^hjê±h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ1obtain an optional GPIO for a given GPIO function”h]”hŒ1obtain an optional GPIO for a given GPIO function”…”�”}”(hj°³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M^hj­³h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjê±h²hh³j²h´M^ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jȳjÀjȳjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX‹**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** This is equivalent to gpiod_get(), except that when no GPIO was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs. **Return** The GPIO descriptor corresponding to the function **con_id** of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mbhj̳ubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjñ³h]”hŒstruct device *dev”…”�”}”(hjó³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjï³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M_hjë³ubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hj ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j´h´M_hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjë³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j´h´M_hjè³ubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj*´h]”hŒconst char *con_id”…”�”}”(hj,´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj(´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M`hj$´ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjC´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j?´h´M`hj@´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj$´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j?´h´M`hjè³ubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjc´h]”hŒenum gpiod_flags flags”…”�”}”(hje´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hja´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mahj]´ubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hj|´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jx´h´Mahjy´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj]´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jx´h´Mahjè³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj̳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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mchj̳ubhÌ)�”}”(hŒºThis is equivalent to gpiod_get(), except that when no GPIO was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs.”h]”hŒºThis is equivalent to gpiod_get(), except that when no GPIO was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs.”…”�”}”(hj´´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mbhj̳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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mfhj̳ubhÌ)�”}”(hŒØThe GPIO descriptor corresponding to the function **con_id** of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hŒ2The GPIO descriptor corresponding to the function ”…”�”}”(hjÛ´h²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hjã´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjÛ´ubhŒœ of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hjÛ´h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mghj̳ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_get_index (C function)”Œc.gpiod_get_index”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒustruct gpio_desc * gpiod_get_index (struct device *dev, const char *con_id, unsigned int idx, enum gpiod_flags flags)”h]”j@)�”}”(hŒsstruct gpio_desc *gpiod_get_index(struct device *dev, const char *con_id, unsigned int idx, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjµh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*µh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjµh²hh³j)µh´MÀubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj;µh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj8µubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j=µŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpiod_get_index”sbŒc.gpiod_get_index”†”asbuh1hhjµh²hh³j)µh´MÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\µh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjµh²hh³j)µh´MÀubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjjµh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjµh²hh³j)µh´MÀubji)�”}”(hŒgpiod_get_index”h]”jo)�”}”(hjYµh]”hŒgpiod_get_index”…”�”}”(hj{µh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjwµubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjµh²hh³j)µh´MÀubjé)�”}”(hŒR(struct device *dev, const char *con_id, unsigned int idx, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj–µh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj’µubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£µh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj’µubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj´µh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj±µubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¶µŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jWµŒc.gpiod_get_index”†”asbuh1hhj’µubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒµh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj’µubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjàµh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj’µubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjíµh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj’µubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj޵ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¶ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¶ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj!¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¶ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/¶h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¶ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj=¶h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¶ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjJ¶h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj޵ubjï)�”}”(hŒunsigned int idx”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjc¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj_¶ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq¶h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj_¶ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj_¶ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¶h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj_¶ubjo)�”}”(hŒidx”h]”hŒidx”…”�”}”(hj›¶h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj_¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj޵ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hj´¶h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj°¶ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ¶h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj°¶ubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjÒ¶h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj϶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÔ¶Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jWµŒc.gpiod_get_index”†”asbuh1hhj°¶ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð¶h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj°¶ubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjþ¶h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj°¶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Žˆuh1j?j�j�hjµh²hh³j)µh´MÀubah}”(h]”jµah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j)µh´MÀhjµh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ.obtain a GPIO from a multi-index GPIO function”h]”hŒ.obtain a GPIO from a multi-index GPIO function”…”�”}”(hj(·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÀhj%·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjµh²hh³j)µh´MÀubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j@·jÀj@·jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXn**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer ``unsigned int idx`` index of the GPIO to obtain in the consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** This variant of gpiod_get() allows to access GPIOs other than the first defined one for functions that define several GPIOs. **Return** A valid GPIO descriptor, -ENOENT if no GPIO has been assigned to the requested function and/or index, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjJ·h]”hŒ Parameters”…”�”}”(hjL·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjH·ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÄhjD·ubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hji·h]”hŒstruct device *dev”…”�”}”(hjk·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjg·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÁhjc·ubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hj‚·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j~·h´MÁhj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjc·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j~·h´MÁhj`·ubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj¢·h]”hŒconst char *con_id”…”�”}”(hj¤·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÂhjœ·ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hj»·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j··h´MÂhj¸·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjœ·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j··h´MÂhj`·ubj)�”}”(hŒA``unsigned int idx`` index of the GPIO to obtain in the consumer ”h]”(j)�”}”(hŒ``unsigned int idx``”h]”j$)�”}”(hjÛ·h]”hŒunsigned int idx”…”�”}”(hjÝ·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÙ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÃhjÕ·ubj:)�”}”(hhh]”hÌ)�”}”(hŒ+index of the GPIO to obtain in the consumer”h]”hŒ+index of the GPIO to obtain in the consumer”…”�”}”(hjô·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jð·h´MÃhjñ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÕ·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jð·h´MÃhj`·ubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hj¸h]”hŒenum gpiod_flags flags”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÄhj¸ubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hj-¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j)¸h´MÄhj*¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j)¸h´MÄhj`·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjD·ubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjO¸h]”hŒ Description”…”�”}”(hjQ¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjM¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÆhjD·ubhÌ)�”}”(hŒ|This variant of gpiod_get() allows to access GPIOs other than the first defined one for functions that define several GPIOs.”h]”hŒ|This variant of gpiod_get() allows to access GPIOs other than the first defined one for functions that define several GPIOs.”…”�”}”(hje¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÅhjD·ubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjv¸h]”hŒReturn”…”�”}”(hjx¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjt¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÈhjD·ubhÌ)�”}”(hŒµA valid GPIO descriptor, -ENOENT if no GPIO has been assigned to the requested function and/or index, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”hŒµA valid GPIO descriptor, -ENOENT if no GPIO has been assigned to the requested function and/or index, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hjŒ¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÉhjD·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ%gpiod_get_index_optional (C function)”Œc.gpiod_get_index_optional”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ€struct gpio_desc * gpiod_get_index_optional (struct device *dev, const char *con_id, unsigned int index, enum gpiod_flags flags)”h]”j@)�”}”(hŒ~struct gpio_desc *gpiod_get_index_optional(struct device *dev, const char *con_id, unsigned int index, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj»¸h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj·¸h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÜubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjɸh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj·¸h²hh³jȸh´MÜubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÚ¸h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj׸ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jܸŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpiod_get_index_optional”sbŒc.gpiod_get_index_optional”†”asbuh1hhj·¸h²hh³jȸh´MÜubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjû¸h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj·¸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Üubji)�”}”(hŒgpiod_get_index_optional”h]”jo)�”}”(hjø¸h]”hŒgpiod_get_index_optional”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¹ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj·¸h²hh³jȸh´MÜubjé)�”}”(hŒT(struct device *dev, const char *con_id, unsigned int index, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj5¹h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj1¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjB¹h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj1¹ubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjS¹h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjP¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jU¹Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jö¸Œc.gpiod_get_index_optional”†”asbuh1hhj1¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq¹h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj1¹ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj1¹ubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjŒ¹h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj1¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj-¹ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj¥¹h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¡¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²¹h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¡¹ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÀ¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¡¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjιh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¡¹ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjܹh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¡¹ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjé¹h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¡¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj-¹ubjï)�”}”(hŒunsigned int index”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjþ¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjþ¹ubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjþ¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,ºh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjþ¹ubjo)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj:ºh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjþ¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj-¹ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjSºh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjOºubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`ºh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOºubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjqºh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjnºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jsºŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jö¸Œc.gpiod_get_index_optional”†”asbuh1hhjOºubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ºh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOºubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj�ºh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjOº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Žˆuh1j?j�j�hj³¸h²hh³jȸh´MÜubah}”(h]”j®¸ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jȸh´MÜhj°¸h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ8obtain an optional GPIO from a multi-index GPIO function”h]”hŒ8obtain an optional GPIO from a multi-index GPIO function”…”�”}”(hjǺh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÜhjĺh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj°¸h²hh³jȸh´MÜubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jߺjÀjߺjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXÊ**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer ``unsigned int index`` index of the GPIO to obtain in the consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** This is equivalent to gpiod_get_index(), except that when no GPIO with the specified index was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs. **Return** A valid GPIO descriptor, NULL if no GPIO has been assigned to the requested function and/or index, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Màhjãºubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj»h]”hŒstruct device *dev”…”�”}”(hj »h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÞhj»ubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hj!»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j»h´MÞhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j»h´MÞhjÿºubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hjA»h]”hŒconst char *con_id”…”�”}”(hjC»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj?»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mßhj;»ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjZ»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jV»h´MßhjW»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj;»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jV»h´Mßhjÿºubj)�”}”(hŒC``unsigned int index`` index of the GPIO to obtain in the consumer ”h]”(j)�”}”(hŒ``unsigned int index``”h]”j$)�”}”(hjz»h]”hŒunsigned int index”…”�”}”(hj|»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjx»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Màhjt»ubj:)�”}”(hhh]”hÌ)�”}”(hŒ+index of the GPIO to obtain in the consumer”h]”hŒ+index of the GPIO to obtain in the consumer”…”�”}”(hj“»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�»h´Màhj�»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjt»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�»h´Màhjÿºubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hj³»h]”hŒenum gpiod_flags flags”…”�”}”(hjµ»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj±»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Máhj­»ubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hjÌ»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÈ»h´MáhjÉ»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj­»ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÈ»h´Máhjÿºubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjãº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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MãhjãºubhÌ)�”}”(hŒÙThis is equivalent to gpiod_get_index(), except that when no GPIO with the specified index was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs.”h]”hŒÙThis is equivalent to gpiod_get_index(), except that when no GPIO with the specified index was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs.”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MæhjãºubhÌ)�”}”(hŒ²A valid GPIO descriptor, NULL if no GPIO has been assigned to the requested function and/or index, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”hŒ²A valid GPIO descriptor, NULL if no GPIO has been assigned to the requested function and/or index, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hj+¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mçhjãºubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_get_array (C function)”Œc.gpiod_get_array”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒdstruct gpio_descs * gpiod_get_array (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒbstruct gpio_descs *gpiod_get_array(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjZ¼h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjV¼h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M6ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh¼h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjV¼h²hh³jg¼h´M6ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_descs”h]”hŒ gpio_descs”…”�”}”(hjy¼h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjv¼ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j{¼Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpiod_get_array”sbŒc.gpiod_get_array”†”asbuh1hhjV¼h²hh³jg¼h´M6ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš¼h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjV¼h²hh³jg¼h´M6ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¨¼h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjV¼h²hh³jg¼h´M6ubji)�”}”(hŒgpiod_get_array”h]”jo)�”}”(hj—¼h]”hŒgpiod_get_array”…”�”}”(hj¹¼h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjµ¼ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjV¼h²hh³jg¼h´M6ubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÔ¼h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjмubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá¼h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjмubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjò¼h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjï¼ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jô¼Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j•¼Œc.gpiod_get_array”†”asbuh1hhjмubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjмubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjмubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj+½h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjмubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj̼ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjD½h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj@½ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ½h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj@½ubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj_½h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj@½ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm½h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj@½ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj{½h²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj@½ubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjˆ½h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj@½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj̼ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hj¡½h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj�½ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®½h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj�½ubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hj¿½h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¼½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÁ½Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j•¼Œc.gpiod_get_array”†”asbuh1hhj�½ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjݽh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj�½ubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjë½h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj̼ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjV¼h²hh³jg¼h´M6ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjR¼h²hh³jg¼h´M6ubah}”(h]”jM¼ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jg¼h´M6hjO¼h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ6obtain multiple GPIOs from a multi-index GPIO function”h]”hŒ6obtain multiple GPIOs from a multi-index GPIO function”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M6hj¾h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjO¼h²hh³jg¼h´M6ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j-¾jÀj-¾jÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hX**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** This function acquires all the GPIOs defined under a given function. **Return** The GPIO descriptors corresponding to the function **con_id** of device dev, -ENOENT if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj7¾h]”hŒ Parameters”…”�”}”(hj9¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj5¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M:hj1¾ubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjV¾h]”hŒstruct device *dev”…”�”}”(hjX¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjT¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M7hjP¾ubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hjo¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jk¾h´M7hjl¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjP¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jk¾h´M7hjM¾ubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj�¾h]”hŒconst char *con_id”…”�”}”(hj‘¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj�¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M8hj‰¾ubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hj¨¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¤¾h´M8hj¥¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj‰¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¤¾h´M8hjM¾ubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjȾh]”hŒenum gpiod_flags flags”…”�”}”(hjʾh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjƾubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M9hj¾ubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hjá¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jݾh´M9hjÞ¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jݾh´M9hjM¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj1¾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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M;hj1¾ubhÌ)�”}”(hŒDThis function acquires all the GPIOs defined under a given function.”h]”hŒDThis function acquires all the GPIOs defined under a given function.”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M:hj1¾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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M<hj1¾ubhÌ)�”}”(hŒÝThe GPIO descriptors corresponding to the function **con_id** of device dev, -ENOENT if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”h]”(hŒ3The GPIO descriptors corresponding to the function ”…”�”}”(hj@¿h²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hjH¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj@¿ubhŒ  of device dev, -ENOENT if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”…”�”}”(hj@¿h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M=hj1¾ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ%gpiod_get_array_optional (C function)”Œc.gpiod_get_array_optional”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒmstruct gpio_descs * gpiod_get_array_optional (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒkstruct gpio_descs *gpiod_get_array_optional(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj�¿h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj}¿h²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¿h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj}¿h²hh³jŽ¿h´M¹ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_descs”h]”hŒ gpio_descs”…”�”}”(hj ¿h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�¿ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¢¿Œmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œgpiod_get_array_optional”sbŒc.gpiod_get_array_optional”†”asbuh1hhj}¿h²hh³jŽ¿h´M¹ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ¿h²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj}¿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¹ubji)�”}”(hŒgpiod_get_array_optional”h]”jo)�”}”(hj¾¿h]”hŒgpiod_get_array_optional”…”�”}”(hjà¿h²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÜ¿ubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj}¿h²hh³jŽ¿h´M¹ubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjû¿h²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj÷¿ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj÷¿ubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÀubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÀŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¼¿Œc.gpiod_get_array_optional”†”asbuh1hhj÷¿ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7Àh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj÷¿ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjEÀh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj÷¿ubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjRÀh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj÷¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjó¿ubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjkÀh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjgÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxÀh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjgÀubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj†Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjgÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Àh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjgÀubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¢Àh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjgÀubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj¯Àh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjgÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjó¿ubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjÈÀh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÄÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕÀh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÄÀubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjæÀh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjãÀubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jèÀŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¼¿Œc.gpiod_get_array_optional”†”asbuh1hhjÄÀubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÄÀubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÄÀ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Žˆuh1j?j�j�hjy¿h²hh³jŽ¿h´M¹ubah}”(h]”jt¿ah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jŽ¿h´M¹hjv¿h²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ6obtain multiple GPIOs from a multi-index GPIO function”h]”hŒ6obtain multiple GPIOs from a multi-index GPIO function”…”�”}”(hj<Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¹hj9Áh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjv¿h²hh³jŽ¿h´M¹ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jTÁjÀjTÁjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hXP**Parameters** ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** This is equivalent to gpiod_get_array(), except that when no GPIO was assigned to the requested function it will return NULL. **Return** The GPIO descriptors corresponding to the function **con_id** of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M½hjXÁubj)�”}”(hhh]”(j)�”}”(hŒJ``struct device *dev`` GPIO consumer, can be NULL for system-global GPIOs ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj}Áh]”hŒstruct device *dev”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj{Áubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M»hjwÁubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO consumer, can be NULL for system-global GPIOs”h]”hŒ2GPIO consumer, can be NULL for system-global GPIOs”…”�”}”(hj–Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j’Áh´M»hj“Áubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjwÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j’Áh´M»hjtÁubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj¶Áh]”hŒconst char *con_id”…”�”}”(hj¸Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj´Áubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¼hj°Áubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjÏÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jËÁh´M¼hjÌÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj°Áubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jËÁh´M¼hjtÁubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjïÁh]”hŒenum gpiod_flags flags”…”�”}”(hjñÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjíÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M½hjéÁubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÂh´M½hjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjéÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÂh´M½hjtÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjXÁ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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¿hjXÁubhÌ)�”}”(hŒ}This is equivalent to gpiod_get_array(), except that when no GPIO was assigned to the requested function it will return NULL.”h]”hŒ}This is equivalent to gpiod_get_array(), except that when no GPIO was assigned to the requested function it will return NULL.”…”�”}”(hj@Âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M¾hjXÁubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjQÂh]”hŒReturn”…”�”}”(hjSÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjOÂubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÁhjXÁubhÌ)�”}”(hŒÚThe GPIO descriptors corresponding to the function **con_id** of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”h]”(hŒ3The GPIO descriptors corresponding to the function ”…”�”}”(hjgÂh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hjoÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjgÂubhŒ� of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”…”�”}”(hjgÂh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÂhjXÁubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_put (C function)”Œ c.gpiod_put”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ'void gpiod_put (struct gpio_desc *desc)”h]”j@)�”}”(hŒ&void gpiod_put(struct gpio_desc *desc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¨Âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¤Âh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M×ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·Âh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¤Âh²hh³j¶Âh´M×ubji)�”}”(hŒ gpiod_put”h]”jo)�”}”(hŒ gpiod_put”h]”hŒ gpiod_put”…”�”}”(hjÉÂh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÅÂubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj¤Âh²hh³j¶Âh´M×ubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjåÂh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjáÂubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòÂh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjáÂubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÃubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÃŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jËÂsbŒ c.gpiod_put”†”asbuh1hhjáÂubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#Ãh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjáÂubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj1Ãh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjáÂubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj>Ãh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjáÂ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´M×ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj Âh²hh³j¶Âh´M×ubah}”(h]”j›Âah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¶Âh´M×hj�Âh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒdispose of a GPIO descriptor”h]”hŒdispose of a GPIO descriptor”…”�”}”(hjhÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´M×hjeÃh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj�Âh²hh³j¶Âh´M×ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j€ÃjÀj€ÃjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒŸ**Parameters** ``struct gpio_desc *desc`` GPIO descriptor to dispose of **Description** No descriptor can be used after gpiod_put() has been called on it.”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÛhj„Ãubj)�”}”(hhh]”j)�”}”(hŒ9``struct gpio_desc *desc`` GPIO descriptor to dispose of ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj©Ãh]”hŒstruct gpio_desc *desc”…”�”}”(hj«Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj§Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MØhj£Ãubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO descriptor to dispose of”h]”hŒGPIO descriptor to dispose of”…”�”}”(hjÂÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¾Ãh´MØhj¿Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj£Ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¾Ãh´MØhj Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj„Ã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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÚhj„ÃubhÌ)�”}”(hŒBNo descriptor can be used after gpiod_put() has been called on it.”h]”hŒBNo descriptor can be used after gpiod_put() has been called on it.”…”�”}”(hjúÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MÙhj„Ãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_put_array (C function)”Œc.gpiod_put_array”hNt”auh1j#hjh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ/void gpiod_put_array (struct gpio_descs *descs)”h]”j@)�”}”(hŒ.void gpiod_put_array(struct gpio_descs *descs)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj)Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj%Äh²hh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MãubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8Äh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj%Äh²hh³j7Äh´Mãubji)�”}”(hŒgpiod_put_array”h]”jo)�”}”(hŒgpiod_put_array”h]”hŒgpiod_put_array”…”�”}”(hjJÄh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjFÄubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj%Äh²hh³j7Äh´Mãubjé)�”}”(hŒ(struct gpio_descs *descs)”h]”jï)�”}”(hŒstruct gpio_descs *descs”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjfÄh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjbÄubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsÄh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjbÄubh)�”}”(hhh]”jo)�”}”(hŒ gpio_descs”h]”hŒ gpio_descs”…”�”}”(hj„Äh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�Äubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j†ÄŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jLÄsbŒc.gpiod_put_array”†”asbuh1hhjbÄubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤Äh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjbÄubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj²Äh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjbÄubjo)�”}”(hŒdescs”h]”hŒdescs”…”�”}”(hj¿Äh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjbÄubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj^Äubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj%Äh²hh³j7Äh´Mãubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj!Äh²hh³j7Äh´Mãubah}”(h]”jÄah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j7Äh´MãhjÄh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ$dispose of multiple GPIO descriptors”h]”hŒ$dispose of multiple GPIO descriptors”…”�”}”(hjéÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MãhjæÄh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÄh²hh³j7Äh´Mãubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÅjÀjÅjÁ‰j‰jÉuh1j4h²hhjh³Nh´NubjÅ)�”}”(hŒc**Parameters** ``struct gpio_descs *descs`` struct gpio_descs containing an array of descriptors”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/gpio/index:26: ./drivers/gpio/gpiolib.c”h´MçhjÅubj)�”}”(hhh]”j)�”}”(hŒQ``struct gpio_descs *descs`` struct gpio_descs containing an array of descriptors”h]”(j)�”}”(hŒ``struct gpio_descs *descs``”h]”j$)�”}”(hj*Åh]”hŒstruct gpio_descs *descs”…”�”}”(hj,Åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj(Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Méhj$Åubj:)�”}”(hhh]”hÌ)�”}”(hŒ4struct gpio_descs containing an array of descriptors”h]”hŒ4struct gpio_descs containing an array of descriptors”…”�”}”(hjCÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:26: ./drivers/gpio/gpiolib.c”h´Mähj@Åubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj$Åubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j?Åh´Méhj!Åubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÅubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjh²hh³Nh´Nubeh}”(h]”Œcore”ah ]”h"]”Œcore”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ ACPI support”h]”hŒ ACPI support”…”�”}”(hjvÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjsÅh²hh³hÊh´Kubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ&acpi_gpio_get_io_resource (C function)”Œc.acpi_gpio_get_io_resource”hNt”auh1j#hjsÅh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ^bool acpi_gpio_get_io_resource (struct acpi_resource *ares, struct acpi_resource_gpio **agpio)”h]”j@)�”}”(hŒ]bool acpi_gpio_get_io_resource(struct acpi_resource *ares, struct acpi_resource_gpio **agpio)”h]”(jõ)�”}”(hjT,h]”hŒbool”…”�”}”(hj�Åh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj™Åh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´K½ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Åh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj™Åh²hh³jªÅh´K½ubji)�”}”(hŒacpi_gpio_get_io_resource”h]”jo)�”}”(hŒacpi_gpio_get_io_resource”h]”hŒacpi_gpio_get_io_resource”…”�”}”(hj½Åh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¹Åubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj™Åh²hh³jªÅh´K½ubjé)�”}”(hŒ?(struct acpi_resource *ares, struct acpi_resource_gpio **agpio)”h]”(jï)�”}”(hŒstruct acpi_resource *ares”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÙÅh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÕÅubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæÅh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÕÅubh)�”}”(hhh]”jo)�”}”(hŒ acpi_resource”h]”hŒ acpi_resource”…”�”}”(hj÷Åh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjôÅubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jùÅŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j¿ÅsbŒc.acpi_gpio_get_io_resource”†”asbuh1hhjÕÅubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÕÅubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj%Æh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÕÅubjo)�”}”(hŒares”h]”hŒares”…”�”}”(hj2Æh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÕÅubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjÑÅubjï)�”}”(hŒ!struct acpi_resource_gpio **agpio”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjKÆh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjGÆubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXÆh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjGÆubh)�”}”(hhh]”jo)�”}”(hŒacpi_resource_gpio”h]”hŒacpi_resource_gpio”…”�”}”(hjiÆh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjfÆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jkÆŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÆŒc.acpi_gpio_get_io_resource”†”asbuh1hhjGÆubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡Æh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjGÆubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj•Æh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjGÆubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¢Æh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjGÆubjo)�”}”(hŒagpio”h]”hŒagpio”…”�”}”(hj¯Æh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjGÆ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Žˆuh1j?j�j�hj•Åh²hh³jªÅh´K½ubah}”(h]”j�Åah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jªÅh´K½hj’Åh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒVFetch details of an ACPI resource if it is a GPIO I/O resource or return False if not.”h]”hŒVFetch details of an ACPI resource if it is a GPIO I/O resource or return False if not.”…”�”}”(hjÙÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´K½hjÖÆh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj’Åh²hh³jªÅh´K½ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jñÆjÀjñÆjÁ‰j‰jÉuh1j4h²hhjsÅh³Nh´NubjÅ)�”}”(hX)**Parameters** ``struct acpi_resource *ares`` Pointer to the ACPI resource to fetch ``struct acpi_resource_gpio **agpio`` Pointer to a :c:type:`struct acpi_resource_gpio ` to store the output pointer **Return** ``true`` if GpioIo resource is found, ``false`` otherwise.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjûÆh]”hŒ Parameters”…”�”}”(hjýÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjùÆubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´KÁhjõÆubj)�”}”(hhh]”(j)�”}”(hŒE``struct acpi_resource *ares`` Pointer to the ACPI resource to fetch ”h]”(j)�”}”(hŒ``struct acpi_resource *ares``”h]”j$)�”}”(hjÇh]”hŒstruct acpi_resource *ares”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´K¿hjÇubj:)�”}”(hhh]”hÌ)�”}”(hŒ%Pointer to the ACPI resource to fetch”h]”hŒ%Pointer to the ACPI resource to fetch”…”�”}”(hj3Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j/Çh´K¿hj0Çubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j/Çh´K¿hjÇubj)�”}”(hŒˆ``struct acpi_resource_gpio **agpio`` Pointer to a :c:type:`struct acpi_resource_gpio ` to store the output pointer ”h]”(j)�”}”(hŒ%``struct acpi_resource_gpio **agpio``”h]”j$)�”}”(hjSÇh]”hŒ!struct acpi_resource_gpio **agpio”…”�”}”(hjUÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjQÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´KÀhjMÇubj:)�”}”(hhh]”hÌ)�”}”(hŒaPointer to a :c:type:`struct acpi_resource_gpio ` to store the output pointer”h]”(hŒ Pointer to a ”…”�”}”(hjlÇh²hh³Nh´Nubh)�”}”(hŒ8:c:type:`struct acpi_resource_gpio `”h]”j$)�”}”(hjvÇh]”hŒstruct acpi_resource_gpio”…”�”}”(hjxÇh²hh³Nh´Nubah}”(h]”h ]”(j¨j¹Œc-type”eh"]”h$]”h&]”uh1j#hjtÇubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hëŒ refdomain”j¹Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¹j½jÁŒacpi_resource_gpio”uh1hh³jhÇh´KÀhjlÇubhŒ to store the output pointer”…”�”}”(hjlÇh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jhÇh´KÀhjiÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjMÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jhÇh´KÀhjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjõÆ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³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´KÂhjõÆubhÌ)�”}”(hŒ:``true`` if GpioIo resource is found, ``false`` otherwise.”h]”(j$)�”}”(hŒ``true``”h]”hŒtrue”…”�”}”(hjËÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÇÇubhŒ if GpioIo resource is found, ”…”�”}”(hjÇÇh²hh³Nh´Nubj$)�”}”(hŒ ``false``”h]”hŒfalse”…”�”}”(hjÝÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÇÇubhŒ otherwise.”…”�”}”(hjÇÇh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´KÂhjõÆubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjsÅh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”•]”(j0Œ-acpi_gpiochip_request_interrupts (C function)”Œ"c.acpi_gpiochip_request_interrupts”hNt”auh1j#hjsÅh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ>void acpi_gpiochip_request_interrupts (struct gpio_chip *chip)”h]”j@)�”}”(hŒ=void acpi_gpiochip_request_interrupts(struct gpio_chip *chip)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÈh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MÙubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Èh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÈh²hh³j$Èh´MÙubji)�”}”(hŒ acpi_gpiochip_request_interrupts”h]”jo)�”}”(hŒ acpi_gpiochip_request_interrupts”h]”hŒ acpi_gpiochip_request_interrupts”…”�”}”(hj7Èh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj3Èubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÈh²hh³j$Èh´MÙubjé)�”}”(hŒ(struct gpio_chip *chip)”h]”jï)�”}”(hŒstruct gpio_chip *chip”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjSÈh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjOÈubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Èh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOÈubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjqÈh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjnÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jsÈŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j9ÈsbŒ"c.acpi_gpiochip_request_interrupts”†”asbuh1hhjOÈubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Èh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOÈubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjŸÈh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjOÈubjo)�”}”(hŒchip”h]”hŒchip”…”�”}”(hj¬Èh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjOÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjKÈubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjÈh²hh³j$Èh´MÙubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÈh²hh³j$Èh´MÙubah}”(h]”j Èah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j$Èh´MÙhj Èh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ&Register isr for gpio chip ACPI events”h]”hŒ&Register isr for gpio chip ACPI events”…”�”}”(hjÖÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MÙhjÓÈh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj Èh²hh³j$Èh´MÙubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jîÈjÀjîÈjÁ‰j‰jÉuh1j4h²hhjsÅh³Nh´NubjÅ)�”}”(hX™**Parameters** ``struct gpio_chip *chip`` GPIO chip **Description** ACPI5 platforms can use GPIO signaled ACPI events. These GPIO interrupts are handled by ACPI event methods which need to be called from the GPIO chip's interrupt handler. acpi_gpiochip_request_interrupts() finds out which GPIO pins have ACPI event methods and assigns interrupt handlers that calls the ACPI event methods for those pins.”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³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MÝhjòÈubj)�”}”(hhh]”j)�”}”(hŒ%``struct gpio_chip *chip`` GPIO chip ”h]”(j)�”}”(hŒ``struct gpio_chip *chip``”h]”j$)�”}”(hjÉh]”hŒstruct gpio_chip *chip”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MÚhjÉubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO chip”h]”hŒ GPIO chip”…”�”}”(hj0Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j,Éh´MÚhj-Éubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j,Éh´MÚhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòÈubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjRÉh]”hŒ Description”…”�”}”(hjTÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjPÉubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MÜhjòÈubhÌ)�”}”(hXPACPI5 platforms can use GPIO signaled ACPI events. These GPIO interrupts are handled by ACPI event methods which need to be called from the GPIO chip's interrupt handler. acpi_gpiochip_request_interrupts() finds out which GPIO pins have ACPI event methods and assigns interrupt handlers that calls the ACPI event methods for those pins.”h]”hXRACPI5 platforms can use GPIO signaled ACPI events. These GPIO interrupts are handled by ACPI event methods which need to be called from the GPIO chip’s interrupt handler. acpi_gpiochip_request_interrupts() finds out which GPIO pins have ACPI event methods and assigns interrupt handlers that calls the ACPI event methods for those pins.”…”�”}”(hjhÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MÛhjòÈubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjsÅh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ*acpi_gpiochip_free_interrupts (C function)”Œc.acpi_gpiochip_free_interrupts”hNt”auh1j#hjsÅh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ;void acpi_gpiochip_free_interrupts (struct gpio_chip *chip)”h]”j@)�”}”(hŒ:void acpi_gpiochip_free_interrupts(struct gpio_chip *chip)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj—Éh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj“Éh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Éh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj“Éh²hh³j¥Éh´Mubji)�”}”(hŒacpi_gpiochip_free_interrupts”h]”jo)�”}”(hŒacpi_gpiochip_free_interrupts”h]”hŒacpi_gpiochip_free_interrupts”…”�”}”(hj¸Éh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj´Éubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj“Éh²hh³j¥Éh´Mubjé)�”}”(hŒ(struct gpio_chip *chip)”h]”jï)�”}”(hŒstruct gpio_chip *chip”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÔÉh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÐÉubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáÉh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÐÉubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjòÉh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjïÉubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jôÉŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jºÉsbŒc.acpi_gpiochip_free_interrupts”†”asbuh1hhjÐÉubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÐÉubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj Êh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÐÉubjo)�”}”(hŒchip”h]”hŒchip”…”�”}”(hj-Êh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÐÉ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Žˆuh1j?j�j�hj�Éh²hh³j¥Éh´Mubah}”(h]”jŠÉah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¥Éh´MhjŒÉh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ Free GPIO ACPI event interrupts.”h]”hŒ Free GPIO ACPI event interrupts.”…”�”}”(hjWÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MhjTÊh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjŒÉh²hh³j¥Éh´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿joÊjÀjoÊjÁ‰j‰jÉuh1j4h²hhjsÅh³Nh´NubjÅ)�”}”(hŒ˜**Parameters** ``struct gpio_chip *chip`` GPIO chip **Description** Free interrupts associated with GPIO ACPI event method for the given GPIO chip.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjyÊh]”hŒ Parameters”…”�”}”(hj{Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjwÊubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MhjsÊubj)�”}”(hhh]”j)�”}”(hŒ%``struct gpio_chip *chip`` GPIO chip ”h]”(j)�”}”(hŒ``struct gpio_chip *chip``”h]”j$)�”}”(hj˜Êh]”hŒstruct gpio_chip *chip”…”�”}”(hjšÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj–Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´Mhj’Êubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO chip”h]”hŒ GPIO chip”…”�”}”(hj±Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j­Êh´Mhj®Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj’Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j­Êh´Mhj�Êubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjsÊ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³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MhjsÊubhÌ)�”}”(hŒOFree interrupts associated with GPIO ACPI event method for the given GPIO chip.”h]”hŒOFree interrupts associated with GPIO ACPI event method for the given GPIO chip.”…”�”}”(hjéÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MhjsÊubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjsÅh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ*acpi_dev_gpio_irq_wake_get_by (C function)”Œc.acpi_dev_gpio_irq_wake_get_by”hNt”auh1j#hjsÅh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒoint acpi_dev_gpio_irq_wake_get_by (struct acpi_device *adev, const char *con_id, int index, bool *wake_capable)”h]”j@)�”}”(hŒnint acpi_dev_gpio_irq_wake_get_by(struct acpi_device *adev, const char *con_id, int index, bool *wake_capable)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjËh²hh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MäubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Ëh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjËh²hh³j&Ëh´Mäubji)�”}”(hŒacpi_dev_gpio_irq_wake_get_by”h]”jo)�”}”(hŒacpi_dev_gpio_irq_wake_get_by”h]”hŒacpi_dev_gpio_irq_wake_get_by”…”�”}”(hj9Ëh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj5Ëubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjËh²hh³j&Ëh´Mäubjé)�”}”(hŒM(struct acpi_device *adev, const char *con_id, int index, bool *wake_capable)”h]”(jï)�”}”(hŒstruct acpi_device *adev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjUËh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjQËubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbËh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjQËubh)�”}”(hhh]”jo)�”}”(hŒ acpi_device”h]”hŒ acpi_device”…”�”}”(hjsËh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjpËubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”juËŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j;ËsbŒc.acpi_dev_gpio_irq_wake_get_by”†”asbuh1hhjQËubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“Ëh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjQËubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¡Ëh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjQËubjo)�”}”(hŒadev”h]”hŒadev”…”�”}”(hj®Ëh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjQËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjMËubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÇËh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÃËubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔËh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃËubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjâËh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÃËubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðËh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÃËubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjþËh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÃËubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj Ìh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÃËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjMËubjï)�”}”(hŒ int index”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj$Ìh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj ÌubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2Ìh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj Ìubjo)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj@Ìh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj Ìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjMËubjï)�”}”(hŒbool *wake_capable”h]”(jõ)�”}”(hjT,h]”hŒbool”…”�”}”(hjYÌh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjUÌubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfÌh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjUÌubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjtÌh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjUÌubjo)�”}”(hŒ wake_capable”h]”hŒ wake_capable”…”�”}”(hj�Ìh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjUÌubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjMËubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjËh²hh³j&Ëh´Mäubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjËh²hh³j&Ëh´Mäubah}”(h]”j Ëah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j&Ëh´Mähj Ëh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ1Find GpioInt and translate it to Linux IRQ number”h]”hŒ1Find GpioInt and translate it to Linux IRQ number”…”�”}”(hj«Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´Mähj¨Ìh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj Ëh²hh³j&Ëh´Mäubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÃÌjÀjÃÌjÁ‰j‰jÉuh1j4h²hhjsÅh³Nh´NubjÅ)�”}”(hXˆ**Parameters** ``struct acpi_device *adev`` pointer to a ACPI device to get IRQ from ``const char *con_id`` optional name of GpioInt resource ``int index`` index of GpioInt resource (starting from ``0``) ``bool *wake_capable`` Set to true if the IRQ is wake capable **Description** If the device has one or more GpioInt resources, this function can be used to translate from the GPIO offset in the resource to the Linux IRQ number. The function is idempotent, though each time it runs it will configure GPIO pin direction according to the flags in GpioInt resource. The function takes optional **con_id** parameter. If the resource has a **con_id** in a property, then only those will be taken into account. The GPIO is considered wake capable if the GpioInt resource specifies SharedAndWake or ExclusiveAndWake. **Return** Linux IRQ number (> 0) on success, negative errno 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³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MèhjÇÌubj)�”}”(hhh]”(j)�”}”(hŒF``struct acpi_device *adev`` pointer to a ACPI device to get IRQ from ”h]”(j)�”}”(hŒ``struct acpi_device *adev``”h]”j$)�”}”(hjìÌh]”hŒstruct acpi_device *adev”…”�”}”(hjîÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjêÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MåhjæÌubj:)�”}”(hhh]”hÌ)�”}”(hŒ(pointer to a ACPI device to get IRQ from”h]”hŒ(pointer to a ACPI device to get IRQ from”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÍh´MåhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjæÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÍh´MåhjãÌubj)�”}”(hŒ9``const char *con_id`` optional name of GpioInt resource ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj%Íh]”hŒconst char *con_id”…”�”}”(hj'Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj#Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MæhjÍubj:)�”}”(hhh]”hÌ)�”}”(hŒ!optional name of GpioInt resource”h]”hŒ!optional name of GpioInt resource”…”�”}”(hj>Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j:Íh´Mæhj;Íubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j:Íh´MæhjãÌubj)�”}”(hŒ>``int index`` index of GpioInt resource (starting from ``0``) ”h]”(j)�”}”(hŒ ``int index``”h]”j$)�”}”(hj^Íh]”hŒ int index”…”�”}”(hj`Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj\Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MçhjXÍubj:)�”}”(hhh]”hÌ)�”}”(hŒ/index of GpioInt resource (starting from ``0``)”h]”(hŒ)index of GpioInt resource (starting from ”…”�”}”(hjwÍh²hh³Nh´Nubj$)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjwÍubhŒ)”…”�”}”(hjwÍh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jsÍh´MçhjtÍubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjXÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jsÍh´MçhjãÌubj)�”}”(hŒ>``bool *wake_capable`` Set to true if the IRQ is wake capable ”h]”(j)�”}”(hŒ``bool *wake_capable``”h]”j$)�”}”(hj©Íh]”hŒbool *wake_capable”…”�”}”(hj«Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj§Íubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´Mèhj£Íubj:)�”}”(hhh]”hÌ)�”}”(hŒ&Set to true if the IRQ is wake capable”h]”hŒ&Set to true if the IRQ is wake capable”…”�”}”(hjÂÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j¾Íh´Mèhj¿Íubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj£Íubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¾Íh´MèhjãÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÇÌ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³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MêhjÇÌubhÌ)�”}”(hŒ•If the device has one or more GpioInt resources, this function can be used to translate from the GPIO offset in the resource to the Linux IRQ number.”h]”hŒ•If the device has one or more GpioInt resources, this function can be used to translate from the GPIO offset in the resource to the Linux IRQ number.”…”�”}”(hjúÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MéhjÇÌubhÌ)�”}”(hŒ…The function is idempotent, though each time it runs it will configure GPIO pin direction according to the flags in GpioInt resource.”h]”hŒ…The function is idempotent, though each time it runs it will configure GPIO pin direction according to the flags in GpioInt resource.”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MíhjÇÌubhÌ)�”}”(hŒ�The function takes optional **con_id** parameter. If the resource has a **con_id** in a property, then only those will be taken into account.”h]”(hŒThe function takes optional ”…”�”}”(hjÎh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjÎubhŒ" parameter. If the resource has a ”…”�”}”(hjÎh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hj2Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjÎubhŒ; in a property, then only those will be taken into account.”…”�”}”(hjÎh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MðhjÇÌubhÌ)�”}”(hŒhThe GPIO is considered wake capable if the GpioInt resource specifies SharedAndWake or ExclusiveAndWake.”h]”hŒhThe GPIO is considered wake capable if the GpioInt resource specifies SharedAndWake or ExclusiveAndWake.”…”�”}”(hjKÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MóhjÇÌubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj\Îh]”hŒReturn”…”�”}”(hj^Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjZÎubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´MöhjÇÌubhÌ)�”}”(hŒ=Linux IRQ number (> 0) on success, negative errno on failure.”h]”hŒ=Linux IRQ number (> 0) on success, negative errno on failure.”…”�”}”(hjrÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œf/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:32: ./drivers/gpio/gpiolib-acpi-core.c”h´M÷hjÇÌubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjsÅh²hh³Nh´Nubeh}”(h]”Œ acpi-support”ah ]”h"]”Œ acpi support”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”h»)�”}”(hŒDevice tree support”h]”hŒDevice tree support”…”�”}”(hj“Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj�Îh²hh³hÊh´K$ubah}”(h]”Œdevice-tree-support”ah ]”h"]”Œdevice tree support”ah$]”h&]”uh1hµhh·h²hh³hÊh´K$ubh¶)�”}”(hhh]”(h»)�”}”(hŒDevice-managed API”h]”hŒDevice-managed API”…”�”}”(hj¬Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj©Îh²hh³hÊh´K*ubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œdevm_gpiod_get (C function)”Œc.devm_gpiod_get”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒbstruct gpio_desc * devm_gpiod_get (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒ`struct gpio_desc *devm_gpiod_get(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÓÎh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÏÎh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K!ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáÎh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÏÎh²hh³jàÎh´K!ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjòÎh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjïÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jôÎŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œdevm_gpiod_get”sbŒc.devm_gpiod_get”†”asbuh1hhjÏÎh²hh³jàÎh´K!ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÏÎ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!ubji)�”}”(hŒdevm_gpiod_get”h]”jo)�”}”(hjÏh]”hŒdevm_gpiod_get”…”�”}”(hj2Ïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj.Ïubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÏÎh²hh³jàÎh´K!ubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjMÏh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjIÏubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZÏh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjIÏubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjkÏh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjhÏubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jmÏŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÏŒc.devm_gpiod_get”†”asbuh1hhjIÏubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰Ïh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjIÏubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj—Ïh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjIÏubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj¤Ïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjIÏubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjEÏubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj½Ïh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¹ÏubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊÏh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¹Ïubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjØÏh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¹ÏubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæÏh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¹ÏubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjôÏh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¹Ïubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¹Ïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjEÏubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÐubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Ðh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÐubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hj8Ðh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj5Ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j:ÐŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÏŒc.devm_gpiod_get”†”asbuh1hhjÐubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVÐh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÐubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjdÐh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÐubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjEÏubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjÏÎh²hh³jàÎh´K!ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjËÎh²hh³jàÎh´K!ubah}”(h]”jÆÎah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jàÎh´K!hjÈÎh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒResource-managed gpiod_get()”h]”hŒResource-managed gpiod_get()”…”�”}”(hjŽÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K!hj‹Ðh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÈÎh²hh³jàÎh´K!ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j¦ÐjÀj¦ÐjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXl**Parameters** ``struct device *dev`` GPIO consumer ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** Managed gpiod_get(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get() for detailed information about behavior and return values. **Return** The GPIO descriptor corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K%hjªÐubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjÏÐh]”hŒstruct device *dev”…”�”}”(hjÑÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÍÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K"hjÉÐubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hjèÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jäÐh´K"hjåÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÉÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jäÐh´K"hjÆÐubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hjÑh]”hŒconst char *con_id”…”�”}”(hj Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K#hjÑubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hj!Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÑh´K#hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÑh´K#hjÆÐubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjAÑh]”hŒenum gpiod_flags flags”…”�”}”(hjCÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj?Ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K$hj;Ñubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hjZÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jVÑh´K$hjWÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj;Ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jVÑh´K$hjÆÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjªÐubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj|Ñh]”hŒ Description”…”�”}”(hj~Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjzÑubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K&hjªÐubhÌ)�”}”(hŒ¹Managed gpiod_get(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get() for detailed information about behavior and return values.”h]”hŒ¹Managed gpiod_get(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get() for detailed information about behavior and return values.”…”�”}”(hj’Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K)hjªÐubhÌ)�”}”(hŒßThe GPIO descriptor corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hŒ2The GPIO descriptor corresponding to the function ”…”�”}”(hj¹Ñh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hjÁÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj¹ÑubhŒ of device dev, ”…”�”}”(hj¹Ñh²hh³Nh´Nubj$)�”}”(hŒ ``-ENOENT``”h]”hŒ-ENOENT”…”�”}”(hjÓÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¹ÑubhŒˆ if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hj¹Ñh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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”]”(j0Œ$devm_gpiod_get_optional (C function)”Œc.devm_gpiod_get_optional”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒkstruct gpio_desc * devm_gpiod_get_optional (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒistruct gpio_desc *devm_gpiod_get_optional(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj Òh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÒh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K8ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÒh²hh³jÒh´K8ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hj+Òh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj(Òubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j-ÒŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œdevm_gpiod_get_optional”sbŒc.devm_gpiod_get_optional”†”asbuh1hhjÒh²hh³jÒh´K8ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLÒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÒh²hh³jÒh´K8ubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjZÒh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÒh²hh³jÒh´K8ubji)�”}”(hŒdevm_gpiod_get_optional”h]”jo)�”}”(hjIÒh]”hŒdevm_gpiod_get_optional”…”�”}”(hjkÒh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjgÒubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÒh²hh³jÒh´K8ubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj†Òh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj‚ÒubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“Òh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‚Òubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj¤Òh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¡Òubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j¦ÒŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jGÒŒc.devm_gpiod_get_optional”†”asbuh1hhj‚ÒubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂÒh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj‚ÒubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÐÒh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj‚Òubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÝÒh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‚Òubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj~Òubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjöÒh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjòÒubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjòÒubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjòÒubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjòÒubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj-Óh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjòÒubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj:Óh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjòÒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj~Òubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjSÓh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjOÓubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`Óh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOÓubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjqÓh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjnÓubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jsÓŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jGÒŒc.devm_gpiod_get_optional”†”asbuh1hhjOÓubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Óh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjOÓubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj�Óh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjOÓ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´K8ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÒh²hh³jÒh´K8ubah}”(h]”jÿÑah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÒh´K8hjÒh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ%Resource-managed gpiod_get_optional()”h]”hŒ%Resource-managed gpiod_get_optional()”…”�”}”(hjÇÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K8hjÄÓh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÒh²hh³jÒh´K8ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jßÓjÀjßÓjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXw**Parameters** ``struct device *dev`` GPIO consumer ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** Managed gpiod_get_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_optional() for detailed information about behavior and return values. **Return** The GPIO descriptor corresponding to the function **con_id** of device dev, NULL if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjzÔh]”hŒenum gpiod_flags flags”…”�”}”(hj|Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjxÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K;hjtÔubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hj“Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�Ôh´K;hj�Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjtÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�Ôh´K;hjÿÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjãÓ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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K=hjãÓubhÌ)�”}”(hŒËManaged gpiod_get_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_optional() for detailed information about behavior and return values.”h]”hŒËManaged gpiod_get_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_optional() for detailed information about behavior and return values.”…”�”}”(hjËÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hj+Øh]”hŒenum gpiod_flags flags”…”�”}”(hj-Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj)Øubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KShj%Øubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hjDØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j@Øh´KShjAØubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj%Øubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j@Øh´KShjw×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj[×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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KUhj[×ubhÌ)�”}”(hŒÅManaged gpiod_get_index(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index() for detailed information about behavior and return values.”h]”hŒÅManaged gpiod_get_index(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index() for detailed information about behavior and return values.”…”�”}”(hj|Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KThj[×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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KXhj[×ubhÌ)�”}”(hŒßThe GPIO descriptor corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hŒ2The GPIO descriptor corresponding to the function ”…”�”}”(hj£Øh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hj«Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj£ØubhŒ of device dev, ”…”�”}”(hj£Øh²hh³Nh´Nubj$)�”}”(hŒ ``-ENOENT``”h]”hŒ-ENOENT”…”�”}”(hj½Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj£ØubhŒˆ if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hj£Øh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KYhj[×ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhj©Îh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ(devm_fwnode_gpiod_get_index (C function)”Œc.devm_fwnode_gpiod_get_index”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ«struct gpio_desc * devm_fwnode_gpiod_get_index (struct device *dev, struct fwnode_handle *fwnode, const char *con_id, int index, enum gpiod_flags flags, const char *label)”h]”j@)�”}”(hŒ©struct gpio_desc *devm_fwnode_gpiod_get_index(struct device *dev, struct fwnode_handle *fwnode, const char *con_id, int index, enum gpiod_flags flags, const char *label)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjöØh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjòØh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjòØh²hh³jÙh´Kubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÙubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÙŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œdevm_fwnode_gpiod_get_index”sbŒc.devm_fwnode_gpiod_get_index”†”asbuh1hhjòØh²hh³jÙh´KubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6Ùh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjòØh²hh³jÙh´KubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjDÙh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjòØh²hh³jÙh´Kubji)�”}”(hŒdevm_fwnode_gpiod_get_index”h]”jo)�”}”(hj3Ùh]”hŒdevm_fwnode_gpiod_get_index”…”�”}”(hjUÙh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjQÙubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjòØh²hh³jÙh´Kubjé)�”}”(hŒ|(struct device *dev, struct fwnode_handle *fwnode, const char *con_id, int index, enum gpiod_flags flags, const char *label)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjpÙh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjlÙubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}Ùh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjlÙubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjŽÙh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj‹Ùubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j�ÙŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j1ÙŒc.devm_fwnode_gpiod_get_index”†”asbuh1hhjlÙubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Ùh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjlÙubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjºÙh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjlÙubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÇÙh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjlÙubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjhÙubjï)�”}”(hŒstruct fwnode_handle *fwnode”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjàÙh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÜÙubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíÙh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÜÙubh)�”}”(hhh]”jo)�”}”(hŒ fwnode_handle”h]”hŒ fwnode_handle”…”�”}”(hjþÙh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjûÙubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÚŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j1ÙŒc.devm_fwnode_gpiod_get_index”†”asbuh1hhjÜÙubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÜÙubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj*Úh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÜÙubjo)�”}”(hŒfwnode”h]”hŒfwnode”…”�”}”(hj7Úh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÜÙubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjhÙubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjPÚh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjLÚubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]Úh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjLÚubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjkÚh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjLÚubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyÚh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjLÚubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj‡Úh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjLÚubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj”Úh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjLÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjhÙubjï)�”}”(hŒ int index”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj­Úh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj©ÚubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»Úh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj©Úubjo)�”}”(hŒindex”h]”hŒindex”…”�”}”(hjÉÚh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj©Úubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjhÙubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjâÚh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÞÚubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïÚh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÞÚubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjýÚubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÛŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j1ÙŒc.devm_fwnode_gpiod_get_index”†”asbuh1hhjÞÚubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÞÚubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj,Ûh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÞÚubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjhÙubjï)�”}”(hŒconst char *label”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjEÛh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjAÛubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRÛh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjAÛubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj`Ûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjAÛubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnÛh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjAÛubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj|Ûh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjAÛubjo)�”}”(hŒlabel”h]”hŒlabel”…”�”}”(hj‰Ûh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjAÛubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjhÙubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjòØh²hh³jÙh´Kubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjîØh²hh³jÙh´Kubah}”(h]”jéØah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jÙh´KhjëØh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ'get a GPIO descriptor from a given node”h]”hŒ'get a GPIO descriptor from a given node”…”�”}”(hj³Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Khj°Ûh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjëØh²hh³jÙh´Kubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jËÛjÀjËÛjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXË**Parameters** ``struct device *dev`` GPIO consumer ``struct fwnode_handle *fwnode`` firmware node containing GPIO reference ``const char *con_id`` function within the GPIO consumer ``int index`` index of the GPIO to obtain in the consumer ``enum gpiod_flags flags`` GPIO initialization flags ``const char *label`` label to attach to the requested GPIO **Description** GPIO descriptors returned from this function are automatically disposed on driver detach. **Return** The GPIO descriptor corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KƒhjÏÛubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjôÛh]”hŒstruct device *dev”…”�”}”(hjöÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjòÛubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K€hjîÛubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hj Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j Üh´K€hj Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjîÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j Üh´K€hjëÛubj)�”}”(hŒI``struct fwnode_handle *fwnode`` firmware node containing GPIO reference ”h]”(j)�”}”(hŒ ``struct fwnode_handle *fwnode``”h]”j$)�”}”(hj-Üh]”hŒstruct fwnode_handle *fwnode”…”�”}”(hj/Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj+Üubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K�hj'Üubj:)�”}”(hhh]”hÌ)�”}”(hŒ'firmware node containing GPIO reference”h]”hŒ'firmware node containing GPIO reference”…”�”}”(hjFÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jBÜh´K�hjCÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj'Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jBÜh´K�hjëÛubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hjfÜh]”hŒconst char *con_id”…”�”}”(hjhÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjdÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K‚hj`Üubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j{Üh´K‚hj|Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj`Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j{Üh´K‚hjëÛubj)�”}”(hŒ:``int index`` index of the GPIO to obtain in the consumer ”h]”(j)�”}”(hŒ ``int index``”h]”j$)�”}”(hjŸÜh]”hŒ int index”…”�”}”(hj¡Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj�Üubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Kƒhj™Üubj:)�”}”(hhh]”hÌ)�”}”(hŒ+index of the GPIO to obtain in the consumer”h]”hŒ+index of the GPIO to obtain in the consumer”…”�”}”(hj¸Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j´Üh´KƒhjµÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj™Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j´Üh´KƒhjëÛubj)�”}”(hŒ5``enum gpiod_flags flags`` GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjØÜh]”hŒenum gpiod_flags flags”…”�”}”(hjÚÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÖÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K„hjÒÜubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO initialization flags”h]”hŒGPIO initialization flags”…”�”}”(hjñÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jíÜh´K„hjîÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÒÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jíÜh´K„hjëÛubj)�”}”(hŒ<``const char *label`` label to attach to the requested GPIO ”h]”(j)�”}”(hŒ``const char *label``”h]”j$)�”}”(hjÝh]”hŒconst char *label”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K…hj Ýubj:)�”}”(hhh]”hÌ)�”}”(hŒ%label to attach to the requested GPIO”h]”hŒ%label to attach to the requested GPIO”…”�”}”(hj*Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j&Ýh´K…hj'Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj Ýubeh}”(h]”h ]”•h"]”h$]”h&]”uh1jh³j&Ýh´K…hjëÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÏÛubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjLÝh]”hŒ Description”…”�”}”(hjNÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjJÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K‡hjÏÛubhÌ)�”}”(hŒYGPIO descriptors returned from this function are automatically disposed on driver detach.”h]”hŒYGPIO descriptors returned from this function are automatically disposed on driver detach.”…”�”}”(hjbÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K†hjÏÛubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjsÝh]”hŒReturn”…”�”}”(hjuÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjqÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K‰hjÏÛubhÌ)�”}”(hŒßThe GPIO descriptor corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hŒ2The GPIO descriptor corresponding to the function ”…”�”}”(hj‰Ýh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hj‘Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj‰ÝubhŒ of device dev, ”…”�”}”(hj‰Ýh²hh³Nh´Nubj$)�”}”(hŒ ``-ENOENT``”h]”hŒ-ENOENT”…”�”}”(hj£Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj‰ÝubhŒˆ if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hj‰Ýh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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”]”(j0Œ*devm_gpiod_get_index_optional (C function)”Œc.devm_gpiod_get_index_optional”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ…struct gpio_desc * devm_gpiod_get_index_optional (struct device *dev, const char *con_id, unsigned int index, enum gpiod_flags flags)”h]”j@)�”}”(hŒƒstruct gpio_desc *devm_gpiod_get_index_optional(struct device *dev, const char *con_id, unsigned int index, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÜÝh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjØÝh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K¥ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjêÝh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjØÝh²hh³jéÝh´K¥ubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjûÝh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjøÝubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jýÝŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œdevm_gpiod_get_index_optional”sbŒc.devm_gpiod_get_index_optional”†”asbuh1hhjØÝh²hh³jéÝh´K¥ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjØÝ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¥ubji)�”}”(hŒdevm_gpiod_get_index_optional”h]”jo)�”}”(hjÞh]”hŒdevm_gpiod_get_index_optional”…”�”}”(hj;Þh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj7Þubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjØÝh²hh³jéÝh´K¥ubjé)�”}”(hŒT(struct device *dev, const char *con_id, unsigned int index, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjVÞh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjRÞubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjcÞh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjRÞubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjtÞh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjqÞubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jvÞŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÞŒc.devm_gpiod_get_index_optional”†”asbuh1hhjRÞubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Þh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjRÞubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj Þh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjRÞubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj­Þh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjRÞubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjNÞubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÆÞh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÂÞubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓÞh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÂÞubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjáÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÂÞubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjïÞh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÂÞubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjýÞh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÂÞubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hj ßh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÂÞubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjNÞubjï)�”}”(hŒunsigned int index”h]”(jõ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj#ßh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjßubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1ßh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjßubjõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj?ßh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjßubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMßh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjßubjo)�”}”(hŒindex”h]”hŒindex”…”�”}”(hj[ßh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjNÞubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjtßh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjpßubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ßh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjpßubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hj’ßh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj�ßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j”ߌmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÞŒc.devm_gpiod_get_index_optional”†”asbuh1hhjpßubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°ßh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjpßubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj¾ßh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjpßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjNÞubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjØÝh²hh³jéÝh´K¥ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÔÝh²hh³jéÝh´K¥ubah}”(h]”jÏÝah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jéÝh´K¥hjÑÝh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ+Resource-managed gpiod_get_index_optional()”h]”hŒ+Resource-managed gpiod_get_index_optional()”…”�”}”(hjèßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K¥hjåßh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÑÝh²hh³jéÝh´K¥ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jàjÀjàjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXÍ**Parameters** ``struct device *dev`` GPIO consumer ``const char *con_id`` function within the GPIO consumer ``unsigned int index`` index of the GPIO to obtain in the consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** Managed gpiod_get_index_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index_optional() for detailed information about behavior and return values. **Return** The GPIO descriptor corresponding to the function **con_id** of device dev, ``NULL`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K©hjàubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj)àh]”hŒstruct device *dev”…”�”}”(hj+àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj'àubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K¦hj#àubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hjBàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j>àh´K¦hj?àubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj#àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j>àh´K¦hj àubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hjbàh]”hŒconst char *con_id”…”�”}”(hjdàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj`àubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K§hj\àubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hj{àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jwàh´K§hjxàubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj\àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jwàh´K§hj àubj)�”}”(hŒC``unsigned int index`` index of the GPIO to obtain in the consumer ”h]”(j)�”}”(hŒ``unsigned int index``”h]”j$)�”}”(hj›àh]”hŒunsigned int index”…”�”}”(hj�àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj™àubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K¨hj•àubj:)�”}”(hhh]”hÌ)�”}”(hŒ+index of the GPIO to obtain in the consumer”h]”hŒ+index of the GPIO to obtain in the consumer”…”�”}”(hj´àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j°àh´K¨hj±àubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj•àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j°àh´K¨hj àubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjÔàh]”hŒenum gpiod_flags flags”…”�”}”(hjÖàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÒàubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K©hjÎàubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hjíàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jéàh´K©hjêàubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÎàubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jéàh´K©hj àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjà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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K«hjàubhÌ)�”}”(hŒ×Managed gpiod_get_index_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index_optional() for detailed information about behavior and return values.”h]”hŒ×Managed gpiod_get_index_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_index_optional() for detailed information about behavior and return values.”…”�”}”(hj%áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KªhjàubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj6áh]”hŒReturn”…”�”}”(hj8áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj4áubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´K¯hjàubhÌ)�”}”(hŒÜThe GPIO descriptor corresponding to the function **con_id** of device dev, ``NULL`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”h]”(hŒ2The GPIO descriptor corresponding to the function ”…”�”}”(hjLáh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hjTáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjLáubhŒ of device dev, ”…”�”}”(hjLáh²hh³Nh´Nubj$)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjfáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjLáubhŒˆ if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIO.”…”�”}”(hjLáh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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”]”(j0Œ!devm_gpiod_get_array (C function)”Œc.devm_gpiod_get_array”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒistruct gpio_descs * devm_gpiod_get_array (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒgstruct gpio_descs *devm_gpiod_get_array(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjŸáh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj›áh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÅubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­áh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj›áh²hh³j¬áh´KÅubh)�”}”(hhh]”jo)�”}”(hŒ gpio_descs”h]”hŒ gpio_descs”…”�”}”(hj¾áh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj»áubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jÀáŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œdevm_gpiod_get_array”sbŒc.devm_gpiod_get_array”†”asbuh1hhj›áh²hh³j¬áh´KÅubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßáh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj›á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Åubji)�”}”(hŒdevm_gpiod_get_array”h]”jo)�”}”(hjÜáh]”hŒdevm_gpiod_get_array”…”�”}”(hjþáh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjúáubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj›áh²hh³j¬áh´KÅubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjâubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&âh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjâubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj7âh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj4âubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j9âŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÚáŒc.devm_gpiod_get_array”†”asbuh1hhjâubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUâh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjâubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjcâh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjâubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjpâh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjâubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjâubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hj‰âh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj…âubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–âh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj…âubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¤âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj…âubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²âh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj…âubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÀâh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj…âubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjÍâh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj…âubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjâubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjæâh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjââubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóâh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjââubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jãŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jÚáŒc.devm_gpiod_get_array”†”asbuh1hhjââubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"ãh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjââubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj0ãh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjââ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Žˆuh1j?j�j�hj—áh²hh³j¬áh´KÅubah}”(h]”j’áah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j¬áh´KÅhj”áh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"Resource-managed gpiod_get_array()”h]”hŒ"Resource-managed gpiod_get_array()”…”�”}”(hjZãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÅhjWãh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj”áh²hh³j¬áh´KÅubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jrãjÀjrãjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXz**Parameters** ``struct device *dev`` GPIO consumer ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** Managed gpiod_get_array(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_array() for detailed information about behavior and return values. **Return** The GPIO descriptors corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj|ãh]”hŒ Parameters”…”�”}”(hj~ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjzãubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÉhjvãubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj›ãh]”hŒstruct device *dev”…”�”}”(hj�ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj™ãubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÆhj•ãubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hj´ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j°ãh´KÆhj±ãubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj•ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j°ãh´KÆhj’ãubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hjÔãh]”hŒconst char *con_id”…”�”}”(hjÖãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÒãubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÇhjÎãubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hjíãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jéãh´KÇhjêãubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÎãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jéãh´KÇhj’ãubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hj äh]”hŒenum gpiod_flags flags”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj äubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÈhjäubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hj&äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j"äh´KÈhj#äubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjäubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j"äh´KÈhj’ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjvãubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjHäh]”hŒ Description”…”�”}”(hjJäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjFäubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÊhjvãubhÌ)�”}”(hŒÅManaged gpiod_get_array(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_array() for detailed information about behavior and return values.”h]”hŒÅManaged gpiod_get_array(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_array() for detailed information about behavior and return values.”…”�”}”(hj^äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÉhjvãubhÌ)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjoäh]”hŒReturn”…”�”}”(hjqäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjmäubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÍhjvãubhÌ)�”}”(hŒáThe GPIO descriptors corresponding to the function **con_id** of device dev, ``-ENOENT`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”h]”(hŒ3The GPIO descriptors corresponding to the function ”…”�”}”(hj…äh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hj�äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj…äubhŒ of device dev, ”…”�”}”(hj…äh²hh³Nh´Nubj$)�”}”(hŒ ``-ENOENT``”h]”hŒ-ENOENT”…”�”}”(hjŸäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj…äubhŒ‰ if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”…”�”}”(hj…äh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KÎhjvãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhj©Îh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ*devm_gpiod_get_array_optional (C function)”Œc.devm_gpiod_get_array_optional”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒrstruct gpio_descs * devm_gpiod_get_array_optional (struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”j@)�”}”(hŒpstruct gpio_descs *devm_gpiod_get_array_optional(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjØäh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjÔäh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KèubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæäh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÔäh²hh³jåäh´Kèubh)�”}”(hhh]”jo)�”}”(hŒ gpio_descs”h]”hŒ gpio_descs”…”�”}”(hj÷äh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjôäubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jùäŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤Œdevm_gpiod_get_array_optional”sbŒc.devm_gpiod_get_array_optional”†”asbuh1hhjÔäh²hh³jåäh´KèubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÔä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èubji)�”}”(hŒdevm_gpiod_get_array_optional”h]”jo)�”}”(hjåh]”hŒdevm_gpiod_get_array_optional”…”�”}”(hj7åh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj3åubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjÔäh²hh³jåäh´Kèubjé)�”}”(hŒ@(struct device *dev, const char *con_id, enum gpiod_flags flags)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjRåh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjNåubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_åh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjNåubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjpåh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjmåubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jråŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jåŒc.devm_gpiod_get_array_optional”†”asbuh1hhjNåubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽåh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjNåubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjœåh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjNåubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj©åh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjNåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjJåubjï)�”}”(hŒconst char *con_id”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjÂåh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¾åubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏåh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¾åubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÝåh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¾åubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëåh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¾åubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjùåh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¾åubjo)�”}”(hŒcon_id”h]”hŒcon_id”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¾åubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjJåubjï)�”}”(hŒenum gpiod_flags flags”h]”(jF)�”}”(hjYh]”hŒenum”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjæubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,æh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæubh)�”}”(hhh]”jo)�”}”(hŒ gpiod_flags”h]”hŒ gpiod_flags”…”�”}”(hj=æh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj:æubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j?æŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jåŒc.devm_gpiod_get_array_optional”†”asbuh1hhjæubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[æh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæubjo)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjiæh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjæubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjJåubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjÔäh²hh³jåäh´Kèubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjÐäh²hh³jåäh´Kèubah}”(h]”jËäah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jåäh´KèhjÍäh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ+Resource-managed gpiod_get_array_optional()”h]”hŒ+Resource-managed gpiod_get_array_optional()”…”�”}”(hj“æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Kèhj�æh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÍäh²hh³jåäh´Kèubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿j«æjÀj«æjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hX‰**Parameters** ``struct device *dev`` GPIO consumer ``const char *con_id`` function within the GPIO consumer ``enum gpiod_flags flags`` optional GPIO initialization flags **Description** Managed gpiod_get_array_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_array_optional() for detailed information about behavior and return values. **Return** The GPIO descriptors corresponding to the function **con_id** of device dev, ``NULL`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Kìhj¯æubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjÔæh]”hŒstruct device *dev”…”�”}”(hjÖæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjÒæubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´KéhjÎæubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hjíæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jéæh´Kéhjêæubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjÎæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jéæh´KéhjËæubj)�”}”(hŒ9``const char *con_id`` function within the GPIO consumer ”h]”(j)�”}”(hŒ``const char *con_id``”h]”j$)�”}”(hj çh]”hŒconst char *con_id”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj çubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Kêhjçubj:)�”}”(hhh]”hÌ)�”}”(hŒ!function within the GPIO consumer”h]”hŒ!function within the GPIO consumer”…”�”}”(hj&çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j"çh´Kêhj#çubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjçubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j"çh´KêhjËæubj)�”}”(hŒ>``enum gpiod_flags flags`` optional GPIO initialization flags ”h]”(j)�”}”(hŒ``enum gpiod_flags flags``”h]”j$)�”}”(hjFçh]”hŒenum gpiod_flags flags”…”�”}”(hjHçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjDçubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Këhj@çubj:)�”}”(hhh]”hÌ)�”}”(hŒ"optional GPIO initialization flags”h]”hŒ"optional GPIO initialization flags”…”�”}”(hj_çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j[çh´Këhj\çubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj@çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j[çh´KëhjËæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¯æ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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Kíhj¯æubhÌ)�”}”(hŒ×Managed gpiod_get_array_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_array_optional() for detailed information about behavior and return values.”h]”hŒ×Managed gpiod_get_array_optional(). GPIO descriptors returned from this function are automatically disposed on driver detach. See gpiod_get_array_optional() for detailed information about behavior and return values.”…”�”}”(hj—çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Kñhj¯æubhÌ)�”}”(hŒÞThe GPIO descriptors corresponding to the function **con_id** of device dev, ``NULL`` if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”h]”(hŒ3The GPIO descriptors corresponding to the function ”…”�”}”(hj¾çh²hh³Nh´NubjÏ)�”}”(hŒ **con_id**”h]”hŒcon_id”…”�”}”(hjÆçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj¾çubhŒ of device dev, ”…”�”}”(hj¾çh²hh³Nh´Nubj$)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjØçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¾çubhŒ‰ if no GPIO has been assigned to the requested function, or another IS_ERR() code if an error occurred while trying to acquire the GPIOs.”…”�”}”(hj¾çh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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”]”(j0Œdevm_gpiod_put (C function)”Œc.devm_gpiod_put”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ@void devm_gpiod_put (struct device *dev, struct gpio_desc *desc)”h]”j@)�”}”(hŒ?void devm_gpiod_put(struct device *dev, struct gpio_desc *desc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj èh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj èh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj èh²hh³jèh´Mubji)�”}”(hŒdevm_gpiod_put”h]”jo)�”}”(hŒdevm_gpiod_put”h]”hŒdevm_gpiod_put”…”�”}”(hj2èh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj.èubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj èh²hh³jèh´Mubjé)�”}”(hŒ,(struct device *dev, struct gpio_desc *desc)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjNèh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjJèubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[èh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjJèubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjlèh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjièubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jnèŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j4èsbŒc.devm_gpiod_put”†”asbuh1hhjJèubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒèh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjJèubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjšèh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjJèubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hj§èh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjJèubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjFèubjï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjÀèh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj¼èubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍèh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¼èubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjÞèh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÛèubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jàèŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jˆèŒc.devm_gpiod_put”†”asbuh1hhj¼èubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüèh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¼èubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj éh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj¼èubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj¼è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´Mubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj èh²hh³jèh´Mubah}”(h]”jèah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jèh´Mhjèh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒResource-managed gpiod_put()”h]”hŒResource-managed gpiod_put()”…”�”}”(hjAéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj>éh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjèh²hh³jèh´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jYéjÀjYéjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXF**Parameters** ``struct device *dev`` GPIO consumer ``struct gpio_desc *desc`` GPIO descriptor to dispose of **Description** Dispose of a GPIO descriptor obtained with devm_gpiod_get() or devm_gpiod_get_index(). Normally this function will not be called as the GPIO will be disposed of by the resource management code.”h]”(hÌ)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjcéh]”hŒ Parameters”…”�”}”(hjeéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjaéubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M hj]éubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj‚éh]”hŒstruct device *dev”…”�”}”(hj„éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj€éubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj|éubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hj›éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j—éh´Mhj˜éubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj|éubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j—éh´Mhjyéubj)�”}”(hŒ9``struct gpio_desc *desc`` GPIO descriptor to dispose of ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj»éh]”hŒstruct gpio_desc *desc”…”�”}”(hj½éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¹éubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M hjµéubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO descriptor to dispose of”h]”hŒGPIO descriptor to dispose of”…”�”}”(hjÔéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÐéh´M hjÑéubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjµéubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÐéh´M hjyéubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj]é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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M hj]éubhÌ)�”}”(hŒÁDispose of a GPIO descriptor obtained with devm_gpiod_get() or devm_gpiod_get_index(). Normally this function will not be called as the GPIO will be disposed of by the resource management code.”h]”hŒÁDispose of a GPIO descriptor obtained with devm_gpiod_get() or devm_gpiod_get_index(). Normally this function will not be called as the GPIO will be disposed of by the resource management code.”…”�”}”(hj êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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”]”(j0Œdevm_gpiod_unhinge (C function)”Œc.devm_gpiod_unhinge”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒDvoid devm_gpiod_unhinge (struct device *dev, struct gpio_desc *desc)”h]”j@)�”}”(hŒCvoid devm_gpiod_unhinge(struct device *dev, struct gpio_desc *desc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj;êh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj7êh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJêh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj7êh²hh³jIêh´Mubji)�”}”(hŒdevm_gpiod_unhinge”h]”jo)�”}”(hŒdevm_gpiod_unhinge”h]”hŒdevm_gpiod_unhinge”…”�”}”(hj\êh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjXêubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj7êh²hh³jIêh´Mubjé)�”}”(hŒ,(struct device *dev, struct gpio_desc *desc)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjxêh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjtêubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…êh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjtêubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj–êh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj“êubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j˜êŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j^êsbŒc.devm_gpiod_unhinge”†”asbuh1hhjtêubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶êh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjtêubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÄêh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjtêubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÑêh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjtêubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjpêubjï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjêêh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjæêubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷êh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæêubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j ëŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j²êŒc.devm_gpiod_unhinge”†”asbuh1hhjæêubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&ëh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjæêubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj4ëh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjæêubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjAëh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjæêubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjpêubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj7êh²hh³jIêh´Mubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj3êh²hh³jIêh´Mubah}”(h]”j.êah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jIêh´Mhj0êh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ1Remove resource management from a gpio descriptor”h]”hŒ1Remove resource management from a gpio descriptor”…”�”}”(hjkëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhjhëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj0êh²hh³jIêh´Mubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jƒëjÀjƒëjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXì**Parameters** ``struct device *dev`` GPIO consumer ``struct gpio_desc *desc`` GPIO descriptor to remove resource management from **Description** *DEPRECATED* This function should not be used. It's been provided as a workaround for resource ownership issues in the regulator framework and should be replaced with a better solution. Remove resource management from a GPIO descriptor. This is needed when you want to hand over lifecycle management of a descriptor to another mechanism.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj‡ëubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj¬ëh]”hŒstruct device *dev”…”�”}”(hj®ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjªëubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj¦ëubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hjÅëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÁëh´MhjÂëubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj¦ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÁëh´Mhj£ëubj)�”}”(hŒN``struct gpio_desc *desc`` GPIO descriptor to remove resource management from ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hjåëh]”hŒstruct gpio_desc *desc”…”�”}”(hjçëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjãëubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhjßëubj:)�”}”(hhh]”hÌ)�”}”(hŒ2GPIO descriptor to remove resource management from”h]”hŒ2GPIO descriptor to remove resource management from”…”�”}”(hjþëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³júëh´Mhjûëubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjßëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³júëh´Mhj£ëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj‡ë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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj‡ëubhÌ)�”}”(hŒ¹*DEPRECATED* This function should not be used. It's been provided as a workaround for resource ownership issues in the regulator framework and should be replaced with a better solution.”h]”(j{)�”}”(hŒ *DEPRECATED*”h]”hŒ DEPRECATED”…”�”}”(hj:ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhj6ìubhŒ¯ This function should not be used. It’s been provided as a workaround for resource ownership issues in the regulator framework and should be replaced with a better solution.”…”�”}”(hj6ìh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj‡ëubhÌ)�”}”(hŒ—Remove resource management from a GPIO descriptor. This is needed when you want to hand over lifecycle management of a descriptor to another mechanism.”h]”hŒ—Remove resource management from a GPIO descriptor. This is needed when you want to hand over lifecycle management of a descriptor to another mechanism.”…”�”}”(hjSìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´Mhj‡ëubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhj©Îh²hh³Nh´Nubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œ!devm_gpiod_put_array (C function)”Œc.devm_gpiod_put_array”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒHvoid devm_gpiod_put_array (struct device *dev, struct gpio_descs *descs)”h]”j@)�”}”(hŒGvoid devm_gpiod_put_array(struct device *dev, struct gpio_descs *descs)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‚ìh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj~ìh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M8ubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘ìh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj~ìh²hh³j�ìh´M8ubji)�”}”(hŒdevm_gpiod_put_array”h]”jo)�”}”(hŒdevm_gpiod_put_array”h]”hŒdevm_gpiod_put_array”…”�”}”(hj£ìh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjŸìubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj~ìh²hh³j�ìh´M8ubjé)�”}”(hŒ.(struct device *dev, struct gpio_descs *descs)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj¿ìh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj»ìubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌìh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj»ìubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjÝìh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÚìubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jßìŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j¥ìsbŒc.devm_gpiod_put_array”†”asbuh1hhj»ìubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýìh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj»ìubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj íh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj»ìubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj»ìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj·ìubjï)�”}”(hŒstruct gpio_descs *descs”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj1íh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj-íubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>íh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj-íubh)�”}”(hhh]”jo)�”}”(hŒ gpio_descs”h]”hŒ gpio_descs”…”�”}”(hjOíh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjLíubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jQíŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”jùìŒc.devm_gpiod_put_array”†”asbuh1hhj-íubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmíh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj-íubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj{íh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj-íubjo)�”}”(hŒdescs”h]”hŒdescs”…”�”}”(hjˆíh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj-í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´M8ubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hjzìh²hh³j�ìh´M8ubah}”(h]”juìah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j�ìh´M8hjwìh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ"Resource-managed gpiod_put_array()”h]”hŒ"Resource-managed gpiod_put_array()”…”�”}”(hj²íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M8hj¯íh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjwìh²hh³j�ìh´M8ubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jÊíjÀjÊíjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hXF**Parameters** ``struct device *dev`` GPIO consumer ``struct gpio_descs *descs`` GPIO descriptor array to dispose of **Description** Dispose of an array of GPIO descriptors obtained with devm_gpiod_get_array(). Normally this function will not be called as the GPIOs will be disposed of by the resource management code.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M<hjÎíubj)�”}”(hhh]”(j)�”}”(hŒ%``struct device *dev`` GPIO consumer ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hjóíh]”hŒstruct device *dev”…”�”}”(hjõíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjñíubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M9hjííubj:)�”}”(hhh]”hÌ)�”}”(hŒ GPIO consumer”h]”hŒ GPIO consumer”…”�”}”(hj îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jîh´M9hj îubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjííubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jîh´M9hjêíubj)�”}”(hŒA``struct gpio_descs *descs`` GPIO descriptor array to dispose of ”h]”(j)�”}”(hŒ``struct gpio_descs *descs``”h]”j$)�”}”(hj,îh]”hŒstruct gpio_descs *descs”…”�”}”(hj.îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj*îubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M:hj&îubj:)�”}”(hhh]”hÌ)�”}”(hŒ#GPIO descriptor array to dispose of”h]”hŒ#GPIO descriptor array to dispose of”…”�”}”(hjEîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jAîh´M:hjBîubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj&îubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jAîh´M:hjêíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎíubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjgîh]”hŒ Description”…”�”}”(hjiîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjeîubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´M<hjÎíubhÌ)�”}”(hŒ¹Dispose of an array of GPIO descriptors obtained with devm_gpiod_get_array(). Normally this function will not be called as the GPIOs will be disposed of by the resource management code.”h]”hŒ¹Dispose of an array of GPIO descriptors obtained with devm_gpiod_get_array(). Normally this function will not be called as the GPIOs will be disposed of by the resource management code.”…”�”}”(hj}îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.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”]”(j0Œ,devm_gpiochip_add_data_with_key (C function)”Œ!c.devm_gpiochip_add_data_with_key”hNt”auh1j#hj©Îh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒŸint devm_gpiochip_add_data_with_key (struct device *dev, struct gpio_chip *gc, void *data, struct lock_class_key *lock_key, struct lock_class_key *request_key)”h]”j@)�”}”(hŒžint devm_gpiochip_add_data_with_key(struct device *dev, struct gpio_chip *gc, void *data, struct lock_class_key *lock_key, struct lock_class_key *request_key)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj¬îh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj¨îh²hh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MNubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»îh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj¨îh²hh³jºîh´MNubji)�”}”(hŒdevm_gpiochip_add_data_with_key”h]”jo)�”}”(hŒdevm_gpiochip_add_data_with_key”h]”hŒdevm_gpiochip_add_data_with_key”…”�”}”(hjÍîh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÉîubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj¨îh²hh³jºîh´MNubjé)�”}”(hŒ{(struct device *dev, struct gpio_chip *gc, void *data, struct lock_class_key *lock_key, struct lock_class_key *request_key)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjéîh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjåîubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöîh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjåîubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j ïŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jÏîsbŒ!c.devm_gpiochip_add_data_with_key”†”asbuh1hhjåîubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'ïh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjåîubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj5ïh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjåîubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjBïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjåîubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjáîubjï)�”}”(hŒstruct gpio_chip *gc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj[ïh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjWïubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhïh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjWïubh)�”}”(hhh]”jo)�”}”(hŒ gpio_chip”h]”hŒ gpio_chip”…”�”}”(hjyïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjvïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j{ïŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j#ïŒ!c.devm_gpiochip_add_data_with_key”†”asbuh1hhjWïubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—ïh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjWïubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¥ïh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjWïubjo)�”}”(hŒgc”h]”hŒgc”…”�”}”(hj²ïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjWïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjáîubjï)�”}”(hŒ void *data”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjËïh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjÇïubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙïh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjÇïubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjçïh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjÇïubjo)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjôïh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjÇïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjáîubjï)�”}”(hŒstruct lock_class_key *lock_key”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj ðh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhj ðubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj ðubh)�”}”(hhh]”jo)�”}”(hŒlock_class_key”h]”hŒlock_class_key”…”�”}”(hj+ðh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj(ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j-ðŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j#ïŒ!c.devm_gpiochip_add_data_with_key”†”asbuh1hhj ðubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIðh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj ðubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjWðh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhj ðubjo)�”}”(hŒlock_key”h]”hŒlock_key”…”�”}”(hjdðh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjáîubjï)�”}”(hŒ"struct lock_class_key *request_key”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hj}ðh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjyðubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠðh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjyðubh)�”}”(hhh]”jo)�”}”(hŒlock_class_key”h]”hŒlock_class_key”…”�”}”(hj›ðh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj˜ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j�ðŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j#ïŒ!c.devm_gpiochip_add_data_with_key”†”asbuh1hhjyðubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹ðh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjyðubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÇðh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjyðubjo)�”}”(hŒ request_key”h]”hŒ request_key”…”�”}”(hjÔðh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjyð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´MNubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj¤îh²hh³jºîh´MNubah}”(h]”jŸîah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jºîh´MNhj¡îh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ-Resource managed gpiochip_add_data_with_key()”h]”hŒ-Resource managed gpiochip_add_data_with_key()”…”�”}”(hjþðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MNhjûðh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj¡îh²hh³jºîh´MNubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jñjÀjñjÁ‰j‰jÉuh1j4h²hhj©Îh³Nh´NubjÅ)�”}”(hX **Parameters** ``struct device *dev`` pointer to the device that gpio_chip belongs to. ``struct gpio_chip *gc`` the GPIO chip to register ``void *data`` driver-private data associated with this chip ``struct lock_class_key *lock_key`` lockdep class for IRQ lock ``struct lock_class_key *request_key`` lockdep class for IRQ request **Context** potentially before irqs will work **Description** The gpio chip automatically be released when the device is unbound. **Return** A negative errno if the chip can't be registered, such as because the gc->base is invalid or already associated with a different chip. Otherwise it returns zero as a success code.”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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MRhjñubj)�”}”(hhh]”(j)�”}”(hŒH``struct device *dev`` pointer to the device that gpio_chip belongs to. ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj?ñh]”hŒstruct device *dev”…”�”}”(hjAñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj=ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MOhj9ñubj:)�”}”(hhh]”hÌ)�”}”(hŒ0pointer to the device that gpio_chip belongs to.”h]”hŒ0pointer to the device that gpio_chip belongs to.”…”�”}”(hjXñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jTñh´MOhjUñubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj9ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jTñh´MOhj6ñubj)�”}”(hŒ3``struct gpio_chip *gc`` the GPIO chip to register ”h]”(j)�”}”(hŒ``struct gpio_chip *gc``”h]”j$)�”}”(hjxñh]”hŒstruct gpio_chip *gc”…”�”}”(hjzñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjvñubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MPhjrñubj:)�”}”(hhh]”hÌ)�”}”(hŒthe GPIO chip to register”h]”hŒthe GPIO chip to register”…”�”}”(hj‘ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�ñh´MPhjŽñubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjrñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�ñh´MPhj6ñubj)�”}”(hŒ=``void *data`` driver-private data associated with this chip ”h]”(j)�”}”(hŒ``void *data``”h]”j$)�”}”(hj±ñh]”hŒ void *data”…”�”}”(hj³ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj¯ñubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MQhj«ñubj:)�”}”(hhh]”hÌ)�”}”(hŒ-driver-private data associated with this chip”h]”hŒ-driver-private data associated with this chip”…”�”}”(hjÊñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÆñh´MQhjÇñubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj«ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÆñh´MQhj6ñubj)�”}”(hŒ?``struct lock_class_key *lock_key`` lockdep class for IRQ lock ”h]”(j)�”}”(hŒ#``struct lock_class_key *lock_key``”h]”j$)�”}”(hjêñh]”hŒstruct lock_class_key *lock_key”…”�”}”(hjìñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjèñubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MRhjäñubj:)�”}”(hhh]”hÌ)�”}”(hŒlockdep class for IRQ lock”h]”hŒlockdep class for IRQ lock”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jÿñh´MRhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjäñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÿñh´MRhj6ñubj)�”}”(hŒE``struct lock_class_key *request_key`` lockdep class for IRQ request ”h]”(j)�”}”(hŒ&``struct lock_class_key *request_key``”h]”j$)�”}”(hj#òh]”hŒ"struct lock_class_key *request_key”…”�”}”(hj%òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj!òubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MShjòubj:)�”}”(hhh]”hÌ)�”}”(hŒlockdep class for IRQ request”h]”hŒlockdep class for IRQ request”…”�”}”(hj<òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j8òh´MShj9òubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j8òh´MShj6ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjñubhÌ)�”}”(hŒ **Context**”h]”jÏ)�”}”(hj^òh]”hŒContext”…”�”}”(hj`òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj\òubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MUhjñubhÌ)�”}”(hŒ!potentially before irqs will work”h]”hŒ!potentially before irqs will work”…”�”}”(hjtòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MUhjñubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj…òh]”h•ºdŒ Description”…”�”}”(hj‡òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjƒòubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MWhjñubhÌ)�”}”(hŒCThe gpio chip automatically be released when the device is unbound.”h]”hŒCThe gpio chip automatically be released when the device is unbound.”…”�”}”(hj›òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MVhjñ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³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MXhjñubhÌ)�”}”(hŒ³A negative errno if the chip can't be registered, such as because the gc->base is invalid or already associated with a different chip. Otherwise it returns zero as a success code.”h]”hŒµA negative errno if the chip can’t be registered, such as because the gc->base is invalid or already associated with a different chip. Otherwise it returns zero as a success code.”…”�”}”(hjÂòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œc/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:44: ./drivers/gpio/gpiolib-devres.c”h´MYhjñubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhj©Îh²hh³Nh´Nubeh}”(h]”Œdevice-managed-api”ah ]”h"]”Œdevice-managed api”ah$]”h&]”uh1hµhh·h²hh³hÊh´K*ubh¶)�”}”(hhh]”(h»)�”}”(hŒ sysfs helpers”h]”hŒ sysfs helpers”…”�”}”(hjãòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjàòh²hh³hÊh´K0ubj$)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j0Œgpiod_export (C function)”Œc.gpiod_export”hNt”auh1j#hjàòh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒDint gpiod_export (struct gpio_desc *desc, bool direction_may_change)”h]”j@)�”}”(hŒCint gpiod_export(struct gpio_desc *desc, bool direction_may_change)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hj óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjóh²hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÈubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjóh²hh³jóh´MÈubji)�”}”(hŒ gpiod_export”h]”jo)�”}”(hŒ gpiod_export”h]”hŒ gpiod_export”…”�”}”(hj+óh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj'óubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjóh²hh³jóh´MÈubjé)�”}”(hŒ3(struct gpio_desc *desc, bool direction_may_change)”h]”(jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjGóh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjCóubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTóh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjCóubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjeóh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjbóubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jgóŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤j-ósbŒc.gpiod_export”†”asbuh1hhjCóubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…óh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjCóubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj“óh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjCóubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj óh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjCóubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj?óubjï)�”}”(hŒbool direction_may_change”h]”(jõ)�”}”(hjT,h]”hŒbool”…”�”}”(hj¹óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjµóubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆóh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjµóubjo)�”}”(hŒdirection_may_change”h]”hŒdirection_may_change”…”�”}”(hjÔóh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjµó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Žˆuh1j?j�j�hjóh²hh³jóh´MÈubah}”(h]”jýòah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jóh´MÈhjÿòh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒexport a GPIO through sysfs”h]”hŒexport a GPIO through sysfs”…”�”}”(hjþóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÈhjûóh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjÿòh²hh³jóh´MÈubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jôjÀjôjÁ‰j‰jÉuh1j4h²hhjàòh³Nh´NubjÅ)�”}”(hX **Parameters** ``struct gpio_desc *desc`` GPIO to make available, already requested ``bool direction_may_change`` true if userspace may change GPIO direction **Context** arch_initcall or later **Description** When drivers want to make a GPIO accessible to userspace after they have requested it -- perhaps while debugging, or as part of their public interface -- they may use this routine. If the GPIO can change direction (some can't) and the caller allows it, userspace will see "direction" sysfs attribute which may be used to change the gpio's direction. A "value" attribute will always be provided. **Return** 0 on success, or negative errno 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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÌhjôubj)�”}”(hhh]”(j)�”}”(hŒE``struct gpio_desc *desc`` GPIO to make available, already requested ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj?ôh]”hŒstruct gpio_desc *desc”…”�”}”(hjAôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj=ôubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÉhj9ôubj:)�”}”(hhh]”hÌ)�”}”(hŒ)GPIO to make available, already requested”h]”hŒ)GPIO to make available, already requested”…”�”}”(hjXôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jTôh´MÉhjUôubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj9ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jTôh´MÉhj6ôubj)�”}”(hŒJ``bool direction_may_change`` true if userspace may change GPIO direction ”h]”(j)�”}”(hŒ``bool direction_may_change``”h]”j$)�”}”(hjxôh]”hŒbool direction_may_change”…”�”}”(hjzôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjvôubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÊhjrôubj:)�”}”(hhh]”hÌ)�”}”(hŒ+true if userspace may change GPIO direction”h]”hŒ+true if userspace may change GPIO direction”…”�”}”(hj‘ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j�ôh´MÊhjŽôubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjrôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�ôh´MÊhj6ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjôubhÌ)�”}”(hŒ **Context**”h]”jÏ)�”}”(hj³ôh]”hŒContext”…”�”}”(hjµôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj±ôubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÌhjôubhÌ)�”}”(hŒarch_initcall or later”h]”hŒarch_initcall or later”…”�”}”(hjÉôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MË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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÍhjôubhÌ)�”}”(hXŒWhen drivers want to make a GPIO accessible to userspace after they have requested it -- perhaps while debugging, or as part of their public interface -- they may use this routine. If the GPIO can change direction (some can't) and the caller allows it, userspace will see "direction" sysfs attribute which may be used to change the gpio's direction. A "value" attribute will always be provided.”h]”hX˜When drivers want to make a GPIO accessible to userspace after they have requested it -- perhaps while debugging, or as part of their public interface -- they may use this routine. If the GPIO can change direction (some can’t) and the caller allows it, userspace will see “directionâ€� sysfs attribute which may be used to change the gpio’s direction. A “valueâ€� attribute will always be provided.”…”�”}”(hjðôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÓhjôubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.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”]”(j0Œgpiod_export_link (C function)”Œc.gpiod_export_link”hNt”auh1j#hjàòh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒTint gpiod_export_link (struct device *dev, const char *name, struct gpio_desc *desc)”h]”j@)�”}”(hŒSint gpiod_export_link(struct device *dev, const char *name, struct gpio_desc *desc)”h]”(jõ)�”}”(hŒint”h]”hŒint”…”�”}”(hjFõh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjBõh²hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MuubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUõh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjBõh²hh³jTõh´Muubji)�”}”(hŒgpiod_export_link”h]”jo)�”}”(hŒgpiod_export_link”h]”hŒgpiod_export_link”…”�”}”(hjgõh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjcõubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhjBõh²hh³jTõh´Muubjé)�”}”(hŒ>(struct device *dev, const char *name, struct gpio_desc *desc)”h]”(jï)�”}”(hŒstruct device *dev”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjƒõh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjõubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�õh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjõubh)�”}”(hhh]”jo)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj¡õh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjžõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”j£õŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jiõsbŒc.gpiod_export_link”†”asbuh1hhjõubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁõh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjõubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjÏõh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjõubjo)�”}”(hŒdev”h]”hŒdev”…”�”}”(hjÜõh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj{õubjï)�”}”(hŒconst char *name”h]”(jF)�”}”(hjôh]”hŒconst”…”�”}”(hjõõh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjñõubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñõubjõ)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhjñõubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjñõubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj,öh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjñõubjo)�”}”(hŒname”h]”hŒname”…”�”}”(hj9öh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjñõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj{õubjï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjRöh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjNöubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_öh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjNöubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjpöh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjmöubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jröŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j½õŒc.gpiod_export_link”†”asbuh1hhjNöubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽöh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjNöubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hjœöh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjNöubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hj©öh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjNöubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhj{õubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhjBõh²hh³jTõh´Muubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj>õh²hh³jTõh´Muubah}”(h]”j9õah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³jTõh´Muhj;õh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ,create a sysfs link to an exported GPIO node”h]”hŒ,create a sysfs link to an exported GPIO node”…”�”}”(hjÓöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MuhjÐöh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj;õh²hh³jTõh´Muubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jëöjÀjëöjÁ‰j‰jÉuh1j4h²hhjàòh³Nh´NubjÅ)�”}”(hXz**Parameters** ``struct device *dev`` device under which to create symlink ``const char *name`` name of the symlink ``struct gpio_desc *desc`` GPIO to create symlink to, already exported **Description** Set up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN node. Caller is responsible for unlinking. **Return** 0 on success, or negative errno 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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´Myhjïöubj)�”}”(hhh]”(j)�”}”(hŒ<``struct device *dev`` device under which to create symlink ”h]”(j)�”}”(hŒ``struct device *dev``”h]”j$)�”}”(hj÷h]”hŒstruct device *dev”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´Mvhj÷ubj:)�”}”(hhh]”hÌ)�”}”(hŒ$device under which to create symlink”h]”hŒ$device under which to create symlink”…”�”}”(hj-÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j)÷h´Mvhj*÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j)÷h´Mvhj ÷ubj)�”}”(hŒ)``const char *name`` name of the symlink ”h]”(j)�”}”(hŒ``const char *name``”h]”j$)�”}”(hjM÷h]”hŒconst char *name”…”�”}”(hjO÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hjK÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MwhjG÷ubj:)�”}”(hhh]”hÌ)�”}”(hŒname of the symlink”h]”hŒname of the symlink”…”�”}”(hjf÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jb÷h´Mwhjc÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hjG÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jb÷h´Mwhj ÷ubj)�”}”(hŒG``struct gpio_desc *desc`` GPIO to create symlink to, already exported ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj†÷h]”hŒstruct gpio_desc *desc”…”�”}”(hjˆ÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj„÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´Mxhj€÷ubj:)�”}”(hhh]”hÌ)�”}”(hŒ+GPIO to create symlink to, already exported”h]”hŒ+GPIO to create symlink to, already exported”…”�”}”(hjŸ÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³j›÷h´Mxhjœ÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj€÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j›÷h´Mxhj ÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjïö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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MzhjïöubhÌ)�”}”(hŒkSet up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN node. Caller is responsible for unlinking.”h]”hŒkSet up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN node. Caller is responsible for unlinking.”…”�”}”(hj×÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´Myhjïö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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´M|hjïöubhÌ)�”}”(hŒ+0 on success, or negative errno on failure.”h]”hŒ+0 on success, or negative errno on failure.”…”�”}”(hjþ÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.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”]”(j0Œgpiod_unexport (C function)”Œc.gpiod_unexport”hNt”auh1j#hjàòh²hh³Nh´Nubj5)�”}”(hhh]”(j:)�”}”(hŒ,void gpiod_unexport (struct gpio_desc *desc)”h]”j@)�”}”(hŒ+void gpiod_unexport(struct gpio_desc *desc)”h]”(jõ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj-øh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jôhj)øh²hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÈubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<øh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhj)øh²hh³j;øh´MÈubji)�”}”(hŒgpiod_unexport”h]”jo)�”}”(hŒgpiod_unexport”h]”hŒgpiod_unexport”…”�”}”(hjNøh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjJøubah}”(h]”h ]”(j�j‚eh"]”h$]”h&]”j†j‡uh1jhhj)øh²hh³j;øh´MÈubjé)�”}”(hŒ(struct gpio_desc *desc)”h]”jï)�”}”(hŒstruct gpio_desc *desc”h]”(jF)�”}”(hjIh]”hŒstruct”…”�”}”(hjjøh²hh³Nh´Nubah}”(h]”h ]”jRah"]”h$]”h&]”uh1jEhjføubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwøh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjføubh)�”}”(hhh]”jo)�”}”(hŒ gpio_desc”h]”hŒ gpio_desc”…”�”}”(hjˆøh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhj…øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¹Œreftype”j¤Œ reftarget”jŠøŒmodname”NŒ classname”Nj¹j¼)�”}”j¿]”j¬)�”}”j¤jPøsbŒc.gpiod_unexport”†”asbuh1hhjføubjX)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨øh²hh³Nh´Nubah}”(h]”h ]”jdah"]”h$]”h&]”uh1jWhjføubjÁ)�”}”(hjÄh]”hŒ*”…”�”}”(hj¶øh²hh³Nh´Nubah}”(h]”h ]”jÍah"]”h$]”h&]”uh1jÀhjføubjo)�”}”(hŒdesc”h]”hŒdesc”…”�”}”(hjÃøh²hh³Nh´Nubah}”(h]”h ]”jzah"]”h$]”h&]”uh1jnhjføubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj†j‡uh1jîhjbøubah}”(h]”h ]”h"]”h$]”h&]”j†j‡uh1jèhj)øh²hh³j;øh´MÈubeh}”(h]”h ]”h"]”h$]”h&]”j†j‡jŽˆuh1j?j�j�hj%øh²hh³j;øh´MÈubah}”(h]”j øah ]”(j”j•eh"]”h$]”h&]”j™ˆjš)j›huh1j9h³j;øh´MÈhj"øh²hubj�)�”}”(hhh]”hÌ)�”}”(hŒ reverse effect of gpiod_export()”h]”hŒ reverse effect of gpiod_export()”…”�”}”(hjíøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÈhjêøh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj"øh²hh³j;øh´MÈubeh}”(h]”h ]”(j¹Œfunction”eh"]”h$]”h&]”j¾j¹j¿jùjÀjùjÁ‰j‰jÉuh1j4h²hhjàòh³Nh´NubjÅ)�”}”(hŒy**Parameters** ``struct gpio_desc *desc`` GPIO to make unavailable **Description** This is implicit on gpiod_free().”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³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÌhj ùubj)�”}”(hhh]”j)�”}”(hŒ4``struct gpio_desc *desc`` GPIO to make unavailable ”h]”(j)�”}”(hŒ``struct gpio_desc *desc``”h]”j$)�”}”(hj.ùh]”hŒstruct gpio_desc *desc”…”�”}”(hj0ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#hj,ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÉhj(ùubj:)�”}”(hhh]”hÌ)�”}”(hŒGPIO to make unavailable”h]”hŒGPIO to make unavailable”…”�”}”(hjGùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³jCùh´MÉhjDùubah}”(h]”h ]”h"]”h$]”h&]”uh1j9hj(ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jCùh´MÉhj%ùubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ùubhÌ)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjiùh]”hŒ Description”…”�”}”(hjkùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjgùubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MËhj ùubhÌ)�”}”(hŒ!This is implicit on gpiod_free().”h]”hŒ!This is implicit on gpiod_free().”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/gpio/index:50: ./drivers/gpio/gpiolib-sysfs.c”h´MÊhj ùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhjàòh²hh³Nh´Nubeh}”(h]”Œ sysfs-helpers”ah ]”h"]”Œ sysfs helpers”ah$]”h&]”uh1hµhh·h²hh³hÊh´K0ubeh}”(h]”Œ!general-purpose-input-output-gpio”ah ]”h"]”Œ#general purpose input/output (gpio)”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jÈùŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j¢ùjŸùjpÅjmÅj�ÎjŠÎj¦Îj£ÎjÝòjÚòjšùj—ùuŒ nametypes”}”(j¢ù‰jpʼnj�Ήj¦Î‰jÝò‰jšù‰uh}”(jŸùh·jmÅjj2j;jY j^ j2j7j jjbjgj8j=jçjìjbjgjjj¨j­jl!jq!j#j #j%j%j 'j'jŠ(j�(j3*j8*jE,jJ,j¥.jª.jM0jR0jÍ1jÒ1jÔ3jÙ3jb5jg5jã6jè6jg:jl:j<j<jç=jì=jµ?jº?jAjAjóBjøBjDEjIEjOGjTGj4Ij9IjÉKjÎKj:Oj?OjÊSjÏSj%Uj*UjvWj{Wj´[j¹[j5]j:]jÝ^jâ^jó`jø`j cjcjejejgj$gjNijSij}kj‚kjmjmjtnjynj7pjõj øj%øuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.