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
86 * struct gpio_v2_line_values - Values of GPIO lines
87 * @bits: a bitmap containing the value of the lines, set to 1 for active
89 * @mask: a bitmap identifying the lines to get or set, with each bit
99 * enum gpio_v2_line_attr_id - &struct gpio_v2_line_attribute.id values
112 * struct gpio_v2_line_attribute - a configurable attribute of a line
115 * @flags: if id is %GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO
121 * containing the values to which the lines will be set, with each bit
138 * struct gpio_v2_line_config_attribute - a configuration attribute
139 * associated with one or more of the requested lines.
141 * @mask: a bitmap identifying the lines to which the attribute applies,
151 * struct gpio_v2_line_config - Configuration for GPIO lines
152 * @flags: flags for the GPIO lines, with values from &enum
155 * all requested lines but may be overridden for particular lines using
160 * lines. Any attribute should only be associated with a particular line
173 * struct gpio_v2_line_request - Information about a request for GPIO lines
174 * @offsets: an array of desired lines, specified by offset index for the
175 * associated GPIO chip
176 * @consumer: a desired consumer label for the selected GPIO lines such as
177 * "my-bitbanged-relay"
178 * @config: requested configuration for the lines.
179 * @num_lines: number of lines requested in this request, i.e. the number
205 * struct gpio_v2_line_info - Information about a certain GPIO line
206 * @name: the name of this GPIO line, such as the output pin of the line on
208 * GPIO chip, may be empty (i.e. name[0] == '\0')
209 * @consumer: a functional name for the consumer of this GPIO line as set
212 * @offset: the local offset on this GPIO chip, fill this in when
215 * @flags: flags for this GPIO line, with values from &enum
233 * enum gpio_v2_line_changed_type - &struct gpio_v2_line_changed.event_type
246 * struct gpio_v2_line_info_changed - Information about a change in status
247 * of a GPIO line
258 /* Pad struct to 64-bit boundary and reserve space for future use. */
263 * enum gpio_v2_line_event_id - &struct gpio_v2_line_event.id values
273 * struct gpio_v2_line_event - The actual event being pushed to userspace
278 * all the lines in this line request
285 * It does not provide the wall-clock time.
318 * struct gpioline_info - Information about a certain GPIO line
319 * @line_offset: the local offset on this GPIO device, fill this in when
322 * @name: the name of this GPIO line, such as the output pin of the line on the
323 * chip, a rail or a pin header name on a board, as specified by the gpio
325 * @consumer: a functional name for the consumer of this GPIO line as set by
350 * struct gpioline_info_changed - Information about a change in status
351 * of a GPIO line
358 * The &struct gpioline_info embedded here has 32-bit alignment on its own,
359 * but it works fine with 64-bit alignment too. With its 72 byte size, we can
361 * The 20-byte padding at the end makes sure we don't add any implicit padding
362 * at the end of the structure on 64-bit architectures.
385 * struct gpiohandle_request - Information about a GPIO handle request
386 * @lineoffsets: an array of desired lines, specified by offset index for the
387 * associated GPIO device
388 * @flags: desired flags for the desired GPIO lines, such as
390 * together. Note that even if multiple lines are requested, the same flags
391 * must be applicable to all of them, if you want lines with individual
393 * a batch of input or output lines, but they must all have the same
398 * @consumer_label: a desired consumer label for the selected GPIO line(s)
399 * such as "my-bitbanged-relay"
400 * @lines: number of lines requested in this request, i.e. the number of
414 __u32 lines; member
419 * struct gpiohandle_config - Configuration for a GPIO handle request
420 * @flags: updated flags for the requested GPIO lines, such as
438 * struct gpiohandle_data - Information of values on a GPIO handle
439 * @values: when getting the state of lines this contains the current
440 * state of a line, when setting the state of lines these should contain
456 * struct gpioevent_request - Information about a GPIO event request
458 * offset index for the associated GPIO device
459 * @handleflags: desired handle flags for the desired GPIO line, such as
461 * @eventflags: desired flags for the desired GPIO event line, such as
463 * @consumer_label: a desired consumer label for the selected GPIO line(s)
464 * such as "my-listener"
481 * GPIO event types
487 * struct gpioevent_data - The actual event being pushed to userspace