xref: /linux/Documentation/userspace-api/gpio/gpio-v2-line-set-values-ioctl.rst (revision 55d0969c451159cff86949b38c39171cab962069)
1.. SPDX-License-Identifier: GPL-2.0
2
3.. _GPIO_V2_LINE_SET_VALUES_IOCTL:
4
5*****************************
6GPIO_V2_LINE_SET_VALUES_IOCTL
7*****************************
8
9Name
10====
11
12GPIO_V2_LINE_SET_VALUES_IOCTL - Set the values of requested output lines.
13
14Synopsis
15========
16
17.. c:macro:: GPIO_V2_LINE_SET_VALUES_IOCTL
18
19``int ioctl(int req_fd, GPIO_V2_LINE_SET_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 set with the ``mask`` set
30    to indicate the subset of requested lines to set and ``bits`` set to
31    indicate the new value.
32
33Description
34===========
35
36Set the values of requested output lines.
37
38The values set are logical, indicating if the line is to be active or inactive.
39The ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` flag controls the mapping between logical
40values (active/inactive) and physical values (high/low).
41If ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` is not set then active is high and inactive
42is low.  If ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` is set then active is low and
43inactive is high.
44
45Only the values of output lines may be set.
46Attempting to set the value of an input line is an error (**EPERM**).
47
48Return Value
49============
50
51On success 0.
52
53On error -1 and the ``errno`` variable is set appropriately.
54Common error codes are described in error-codes.rst.
55