Lines Matching +full:line +full:- +full:name

1 /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
3 * <linux/gpio.h> - userspace ABI for the GPIO character devices
19 * The maximum size of name and label arrays.
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
33 char name[GPIO_MAX_NAME_SIZE]; member
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
48 * The maximum number of configuration attributes associated with a line
54 * enum gpio_v2_line_flag - &struct gpio_v2_line_attribute.flags values
55 * @GPIO_V2_LINE_FLAG_USED: line is not available for request
56 * @GPIO_V2_LINE_FLAG_ACTIVE_LOW: line active state is physical low
57 * @GPIO_V2_LINE_FLAG_INPUT: line is an input
58 * @GPIO_V2_LINE_FLAG_OUTPUT: line is an output
59 * @GPIO_V2_LINE_FLAG_EDGE_RISING: line detects rising (inactive to active)
61 * @GPIO_V2_LINE_FLAG_EDGE_FALLING: line detects falling (active to
63 * @GPIO_V2_LINE_FLAG_OPEN_DRAIN: line is an open drain output
64 * @GPIO_V2_LINE_FLAG_OPEN_SOURCE: line is an open source output
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
67 * @GPIO_V2_LINE_FLAG_BIAS_DISABLED: line has bias disabled
68 * @GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME: line events contain REALTIME timestamps
86 * struct gpio_v2_line_values - Values of GPIO lines
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
116 * line, with values from &enum gpio_v2_line_flag, such as
119 * gpio_v2_line_config for the associated line.
138 * struct gpio_v2_line_config_attribute - a configuration attribute
151 * struct gpio_v2_line_config - Configuration for GPIO lines
160 * lines. Any attribute should only be associated with a particular line
161 * once. If an attribute is associated with a line multiple times then the
173 * struct gpio_v2_line_request - Information about a request for GPIO lines
177 * "my-bitbanged-relay"
181 * request a single line
182 * @event_buffer_size: a suggested minimum number of line events that the
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
207 * the chip, a rail or a pin header name on a board, as specified by the
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
213 * requesting the line information from the kernel
215 * @flags: flags for this GPIO line, with values from &enum
218 * @attrs: the configuration attributes associated with the line
222 char name[GPIO_MAX_NAME_SIZE]; member
233 * enum gpio_v2_line_changed_type - &struct gpio_v2_line_changed.event_type
235 * @GPIO_V2_LINE_CHANGED_REQUESTED: line has been requested
236 * @GPIO_V2_LINE_CHANGED_RELEASED: line has been released
237 * @GPIO_V2_LINE_CHANGED_CONFIG: line has been reconfigured
246 * struct gpio_v2_line_info_changed - Information about a change in status
247 * of a GPIO line
248 * @info: updated line information
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
276 * @offset: the offset of the line that triggered the event
278 * all the lines in this line request
280 * events on this particular line
285 * It does not provide the wall-clock time.
308 #define GPIOLINE_FLAG_KERNEL (1UL << 0) /* Line used by the kernel */
318 * struct gpioline_info - Information about a certain GPIO line
320 * requesting the line information from the kernel
321 * @flags: various flags for this line
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
324 * chip, may be empty (i.e. name[0] == '\0')
325 * @consumer: a functional name for the consumer of this GPIO line as set by
335 char name[GPIO_MAX_NAME_SIZE]; member
342 /* Possible line status change events */
350 * struct gpioline_info_changed - Information about a change in status
351 * of a GPIO line
352 * @info: updated line information
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
396 * line, this specifies the default output value, should be 0 (low) or
398 * @consumer_label: a desired consumer label for the selected GPIO line(s)
399 * such as "my-bitbanged-relay"
401 * valid fields in the above arrays, set to 1 to request a single line
419 * struct gpiohandle_config - Configuration for a GPIO handle request
438 * struct gpiohandle_data - Information of values on a GPIO handle
440 * state of a line, when setting the state of lines these should contain
456 * struct gpioevent_request - Information about a GPIO event request
457 * @lineoffset: the desired line to subscribe to events from, specified by
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"
487 * struct gpioevent_data - The actual event being pushed to userspace