Lines Matching +full:enum +full:- +full:as +full:- +full:flags

1 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
3 * <linux/gpio.h> - userspace ABI for the GPIO character devices
8 * under the terms of the GNU General Public License version 2 as published by
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
28 * @label: a functional name for this GPIO chip, such as a product
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
72 enum gpio_v2_line_flag {
89 * struct gpio_v2_line_values - Values of GPIO lines
102 * enum gpio_v2_line_attr_id - &struct gpio_v2_line_attribute.id values
104 * @GPIO_V2_LINE_ATTR_ID_FLAGS: flags field is in use
108 enum gpio_v2_line_attr_id {
115 * struct gpio_v2_line_attribute - a configurable attribute of a line
116 * @id: attribute identifier with value from &enum gpio_v2_line_attr_id
118 * @flags: if id is %GPIO_V2_LINE_ATTR_ID_FLAGS, the flags for the GPIO
119 * line, with values from &enum gpio_v2_line_flag, such as
121 * together. This overrides the default flags contained in the &struct
134 __aligned_u64 flags; member
141 * struct gpio_v2_line_config_attribute - a configuration attribute
154 * struct gpio_v2_line_config - Configuration for GPIO lines
155 * @flags: flags for the GPIO lines, with values from &enum
156 * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW,
168 __aligned_u64 flags; member
176 * struct gpio_v2_line_request - Information about a request for GPIO lines
179 * @consumer: a desired consumer label for the selected GPIO lines such as
180 * "my-bitbanged-relay"
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
210 * the chip, a rail or a pin header name on a board, as specified by the
212 * @consumer: a functional name for the consumer of this GPIO line as set
218 * @flags: flags for this GPIO line, with values from &enum
219 * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW,
229 __aligned_u64 flags; member
236 * enum gpio_v2_line_changed_type - &struct gpio_v2_line_changed.event_type
242 enum gpio_v2_line_changed_type {
249 * struct gpio_v2_line_info_changed - Information about a change in status
253 * @event_type: the type of change with a value from &enum
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
270 enum gpio_v2_line_event_id {
276 * struct gpio_v2_line_event - The actual event being pushed to userspace
278 * @id: event identifier with value from &enum gpio_v2_line_event_id
288 * It does not provide the wall-clock time.
310 /* Informational flags */
321 * struct gpioline_info - Information about a certain GPIO line
324 * @flags: various flags for this line
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
337 __u32 flags; member
346 enum {
353 * struct gpioline_info_changed - Information about a change in status
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.
377 /* Linerequest flags */
388 * struct gpiohandle_request - Information about a GPIO handle request
391 * @flags: desired flags for the desired GPIO lines, such as
393 * together. Note that even if multiple lines are requested, the same flags
395 * flags set, request them one by one. It is possible to select
400 * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high)
402 * such as "my-bitbanged-relay"
414 __u32 flags; member
422 * struct gpiohandle_config - Configuration for a GPIO handle request
423 * @flags: updated flags for the requested GPIO lines, such as
426 * @default_values: if the %GPIOHANDLE_REQUEST_OUTPUT is set in flags,
428 * 1 (high), anything else than 0 or 1 will be interpreted as 1 (high)
435 __u32 flags; member
441 * struct gpiohandle_data - Information of values on a GPIO handle
453 /* Eventrequest flags */
459 * struct gpioevent_request - Information about a GPIO event request
462 * @handleflags: desired handle flags for the desired GPIO line, such as
464 * @eventflags: desired flags for the desired GPIO event line, such as
467 * such as "my-listener"
490 * struct gpioevent_data - The actual event being pushed to userspace