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"
207 * struct gpio_v2_line_info - Information about a certain GPIO line
208 * @name: the name of this GPIO line, such as the output pin of the line on
209 * the chip, a rail or a pin header name on a board, as specified by the
211 * @consumer: a functional name for the consumer of this GPIO line as set
217 * @flags: flags for this GPIO line, with values from &enum
218 * gpio_v2_line_flag, such as %GPIO_V2_LINE_FLAG_ACTIVE_LOW,
228 __aligned_u64 flags; member
235 * enum gpio_v2_line_changed_type - &struct gpio_v2_line_changed.event_type
241 enum gpio_v2_line_changed_type {
248 * struct gpio_v2_line_info_changed - Information about a change in status
252 * @event_type: the type of change with a value from &enum
260 /* Pad struct to 64-bit boundary and reserve space for future use. */
265 * enum gpio_v2_line_event_id - &struct gpio_v2_line_event.id values
269 enum gpio_v2_line_event_id {
275 * struct gpio_v2_line_event - The actual event being pushed to userspace
277 * @id: event identifier with value from &enum gpio_v2_line_event_id
287 * It does not provide the wall-clock time.
313 /* Informational flags */
324 * struct gpioline_info - Information about a certain GPIO line
327 * @flags: various flags for this line
328 * @name: the name of this GPIO line, such as the output pin of the line on the
329 * chip, a rail or a pin header name on a board, as specified by the gpio
331 * @consumer: a functional name for the consumer of this GPIO line as set by
340 __u32 flags; member
349 enum {
356 * struct gpioline_info_changed - Information about a change in status
364 * The &struct gpioline_info embedded here has 32-bit alignment on its own,
365 * but it works fine with 64-bit alignment too. With its 72 byte size, we can
367 * The 20-byte padding at the end makes sure we don't add any implicit padding
368 * at the end of the structure on 64-bit architectures.
380 /* Linerequest flags */
391 * struct gpiohandle_request - Information about a GPIO handle request
394 * @flags: desired flags for the desired GPIO lines, such as
396 * together. Note that even if multiple lines are requested, the same flags
398 * flags set, request them one by one. It is possible to select
403 * 1 (active). Anything other than 0 or 1 will be interpreted as active.
405 * such as "my-bitbanged-relay"
416 __u32 flags; member
424 * struct gpiohandle_config - Configuration for a GPIO handle request
425 * @flags: updated flags for the requested GPIO lines, such as
428 * @default_values: if the %GPIOHANDLE_REQUEST_OUTPUT is set in flags,
430 * 1 (active). Anything other than 0 or 1 will be interpreted as active.
437 __u32 flags; member
443 * struct gpiohandle_data - Information of values on a GPIO handle
447 * When setting, anything other than 0 or 1 will be interpreted as active.
456 /* Eventrequest flags */
462 * struct gpioevent_request - Information about a GPIO event request
465 * @handleflags: desired handle flags for the desired GPIO line, such as
467 * @eventflags: desired flags for the desired GPIO event line, such as
470 * such as "my-listener"
492 * struct gpioevent_data - The actual event being pushed to userspace