xref: /linux/Documentation/userspace-api/gpio/gpio-v2-line-get-values-ioctl.rst (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1.. SPDX-License-Identifier: GPL-2.0
2
3.. _GPIO_V2_LINE_GET_VALUES_IOCTL:
4
5*****************************
6GPIO_V2_LINE_GET_VALUES_IOCTL
7*****************************
8
9Name
10====
11
12GPIO_V2_LINE_GET_VALUES_IOCTL - Get the values of requested lines.
13
14Synopsis
15========
16
17.. c:macro:: GPIO_V2_LINE_GET_VALUES_IOCTL
18
19``int ioctl(int req_fd, GPIO_V2_LINE_GET_VALUES_IOCTL, struct gpio_v2_line_values *values)``
20
21Arguments
22=========
23
24``req_fd``
25    The file descriptor of the GPIO character device, as returned in the
26    :c:type:`request.fd<gpio_v2_line_request>` by gpio-v2-get-line-ioctl.rst.
27
28``values``
29    The :c:type:`line_values<gpio_v2_line_values>` to get with the ``mask`` set
30    to indicate the subset of requested lines to get.
31
32Description
33===========
34
35Get the values of requested lines.
36
37The values returned are logical, indicating if the line is active or inactive.
38The ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` flag controls the mapping between physical
39values (high/low) and logical values (active/inactive).
40If ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` is not set then high is active and low is
41inactive.  If ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` is set then low is active and
42high is inactive.
43
44The values of both input and output lines may be read.
45
46For output lines, the value returned is driver and configuration dependent and
47may be either the output buffer (the last requested value set) or the input
48buffer (the actual level of the line), and depending on the hardware and
49configuration these may differ.
50
51Return Value
52============
53
54On success 0 and the corresponding :c:type:`values.bits<gpio_v2_line_values>`
55contain the value read.
56
57On error -1 and the ``errno`` variable is set appropriately.
58Common error codes are described in error-codes.rst.
59