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

1 /* SPDX-License-Identifier: GPL-2.0 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
84 * struct gpio_v2_line_values - Values of GPIO lines
97 * enum gpio_v2_line_attr_id - &struct gpio_v2_line_attribute.id values
110 * struct gpio_v2_line_attribute - a configurable attribute of a line
114 * line, with values from &enum gpio_v2_line_flag, such as
117 * gpio_v2_line_config for the associated line.
136 * struct gpio_v2_line_config_attribute - a configuration attribute
149 * struct gpio_v2_line_config - Configuration for GPIO lines
158 * lines. Any attribute should only be associated with a particular line
159 * once. If an attribute is associated with a line multiple times then the
171 * struct gpio_v2_line_request - Information about a request for GPIO lines
175 * "my-bitbanged-relay"
179 * request a single line
180 * @event_buffer_size: a suggested minimum number of line events that the
203 * struct gpio_v2_line_info - Information about a certain GPIO line
204 * @name: the name of this GPIO line, such as the output pin of the line on
205 * the chip, a rail or a pin header name on a board, as specified by the
206 * GPIO chip, may be empty (i.e. name[0] == '\0')
207 * @consumer: a functional name for the consumer of this GPIO line as set
211 * requesting the line information from the kernel
216 * @attrs: the configuration attributes associated with the line
220 char name[GPIO_MAX_NAME_SIZE]; member
231 * enum gpio_v2_line_changed_type - &struct gpio_v2_line_changed.event_type
233 * @GPIO_V2_LINE_CHANGED_REQUESTED: line has been requested
234 * @GPIO_V2_LINE_CHANGED_RELEASED: line has been released
235 * @GPIO_V2_LINE_CHANGED_CONFIG: line has been reconfigured
244 * struct gpio_v2_line_info_changed - Information about a change in status
245 * of a GPIO line
246 * @info: updated line information
256 /* Pad struct to 64-bit boundary and reserve space for future use. */
261 * enum gpio_v2_line_event_id - &struct gpio_v2_line_event.id values
271 * struct gpio_v2_line_event - The actual event being pushed to userspace
275 * the wall-clock time.
277 * @offset: the offset of the line that triggered the event
279 * all the lines in this line request
281 * events on this particular line
302 #define GPIOLINE_FLAG_KERNEL (1UL << 0) /* Line used by the kernel */
312 * struct gpioline_info - Information about a certain GPIO line
314 * requesting the line information from the kernel
315 * @flags: various flags for this line
316 * @name: the name of this GPIO line, such as the output pin of the line on the
317 * chip, a rail or a pin header name on a board, as specified by the gpio
318 * chip, may be empty (i.e. name[0] == '\0')
319 * @consumer: a functional name for the consumer of this GPIO line as set by
329 char name[GPIO_MAX_NAME_SIZE]; member
336 /* Possible line status change events */
344 * struct gpioline_info_changed - Information about a change in status
345 * of a GPIO line
346 * @info: updated line information
352 * The &struct gpioline_info embedded here has 32-bit alignment on its own,
353 * but it works fine with 64-bit alignment too. With its 72 byte size, we can
355 * The 20-byte padding at the end makes sure we don't add any implicit padding
356 * at the end of the structure on 64-bit architectures.
379 * struct gpiohandle_request - Information about a GPIO handle request
390 * line, this specifies the default output value, should be 0 (low) or
392 * @consumer_label: a desired consumer label for the selected GPIO line(s)
393 * such as "my-bitbanged-relay"
395 * valid fields in the above arrays, set to 1 to request a single line
413 * struct gpiohandle_config - Configuration for a GPIO handle request
432 * struct gpiohandle_data - Information of values on a GPIO handle
434 * state of a line, when setting the state of lines these should contain
450 * struct gpioevent_request - Information about a GPIO event request
451 * @lineoffset: the desired line to subscribe to events from, specified by
453 * @handleflags: desired handle flags for the desired GPIO line, such as
455 * @eventflags: desired flags for the desired GPIO event line, such as
457 * @consumer_label: a desired consumer label for the selected GPIO line(s)
458 * such as "my-listener"
481 * struct gpioevent_data - The actual event being pushed to userspace