Lines Matching +full:gpio +full:- +full:lines

1 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
3 * <linux/gpio.h> - userspace ABI for the GPIO character devices
21 * Must be a multiple of 8 to ensure 32/64-bit alignment of structs.
26 * struct gpiochip_info - Information about a certain GPIO chip
27 * @name: the Linux kernel name of this GPIO chip
28 * @label: a functional name for this GPIO chip, such as a product
30 * @lines: number of GPIO lines on this chip
35 __u32 lines; member
39 * Maximum number of requested lines.
41 * Must be no greater than 64, as bitmaps are restricted here to 64-bits
42 * for simplicity, and a multiple of 2 to ensure 32/64-bit alignment of
54 * enum gpio_v2_line_flag - &struct gpio_v2_line_attribute.flags values
65 * @GPIO_V2_LINE_FLAG_BIAS_PULL_UP: line has pull-up bias enabled
66 * @GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN: line has pull-down bias enabled
89 * struct gpio_v2_line_values - Values of GPIO lines
90 * @bits: a bitmap containing the value of the lines, set to 1 for active
92 * @mask: a bitmap identifying the lines to get or set, with each bit
102 * enum gpio_v2_line_attr_id - &struct gpio_v2_line_attribute.id values
115 * struct gpio_v2_line_attribute - a configurable attribute of a line
118 * @flags: if id is %GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO
124 * containing the values to which the lines will be set, with each bit
141 * struct gpio_v2_line_config_attribute - a configuration attribute
142 * associated with one or more of the requested lines.
144 * @mask: a bitmap identifying the lines to which the attribute applies,
154 * struct gpio_v2_line_config - Configuration for GPIO lines
155 * @flags: flags for the GPIO lines, with values from &enum
158 * all requested lines but may be overridden for particular lines using
163 * lines. Any attribute should only be associated with a particular line
176 * struct gpio_v2_line_request - Information about a request for GPIO lines
177 * @offsets: an array of desired lines, specified by offset index for the
178 * associated GPIO chip
179 * @consumer: a desired consumer label for the selected GPIO lines such as
180 * "my-bitbanged-relay"
181 * @config: requested configuration for the lines.
182 * @num_lines: number of lines requested in this request, i.e. the number
208 * struct gpio_v2_line_info - Information about a certain GPIO line
209 * @name: the name of this GPIO line, such as the output pin of the line on
211 * GPIO chip, may be empty (i.e. name[0] == '\0')
212 * @consumer: a functional name for the consumer of this GPIO line as set
215 * @offset: the local offset on this GPIO chip, fill this in when
218 * @flags: flags for this GPIO line, with values from &enum
236 * enum gpio_v2_line_changed_type - &struct gpio_v2_line_changed.event_type
249 * struct gpio_v2_line_info_changed - Information about a change in status
250 * of a GPIO line
261 /* Pad struct to 64-bit boundary and reserve space for future use. */
266 * enum gpio_v2_line_event_id - &struct gpio_v2_line_event.id values
276 * struct gpio_v2_line_event - The actual event being pushed to userspace
281 * all the lines in this line request
288 * It does not provide the wall-clock time.
321 * struct gpioline_info - Information about a certain GPIO line
322 * @line_offset: the local offset on this GPIO device, fill this in when
325 * @name: the name of this GPIO line, such as the output pin of the line on the
326 * chip, a rail or a pin header name on a board, as specified by the gpio
328 * @consumer: a functional name for the consumer of this GPIO line as set by
353 * struct gpioline_info_changed - Information about a change in status
354 * of a GPIO line
361 * The &struct gpioline_info embedded here has 32-bit alignment on its own,
362 * but it works fine with 64-bit alignment too. With its 72 byte size, we can
364 * The 20-byte padding at the end makes sure we don't add any implicit padding
365 * at the end of the structure on 64-bit architectures.
388 * struct gpiohandle_request - Information about a GPIO handle request
389 * @lineoffsets: an array of desired lines, specified by offset index for the
390 * associated GPIO device
391 * @flags: desired flags for the desired GPIO lines, such as
393 * together. Note that even if multiple lines are requested, the same flags
394 * must be applicable to all of them, if you want lines with individual
396 * a batch of input or output lines, but they must all have the same
401 * @consumer_label: a desired consumer label for the selected GPIO line(s)
402 * such as "my-bitbanged-relay"
403 * @lines: number of lines requested in this request, i.e. the number of
417 __u32 lines; member
422 * struct gpiohandle_config - Configuration for a GPIO handle request
423 * @flags: updated flags for the requested GPIO lines, such as
441 * struct gpiohandle_data - Information of values on a GPIO handle
442 * @values: when getting the state of lines this contains the current
443 * state of a line, when setting the state of lines these should contain
459 * struct gpioevent_request - Information about a GPIO event request
461 * offset index for the associated GPIO device
462 * @handleflags: desired handle flags for the desired GPIO line, such as
464 * @eventflags: desired flags for the desired GPIO event line, such as
466 * @consumer_label: a desired consumer label for the selected GPIO line(s)
467 * such as "my-listener"
484 * GPIO event types
490 * struct gpioevent_data - The actual event being pushed to userspace