xref: /linux/Documentation/userspace-api/gpio/gpio-handle-set-line-values-ioctl.rst (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1.. SPDX-License-Identifier: GPL-2.0
2
3.. _GPIO_HANDLE_SET_LINE_VALUES_IOCTL:
4
5*********************************
6GPIO_HANDLE_SET_LINE_VALUES_IOCTL
7*********************************
8.. warning::
9    This ioctl is part of chardev_v1.rst and is obsoleted by
10    gpio-v2-line-set-values-ioctl.rst.
11
12Name
13====
14
15GPIO_HANDLE_SET_LINE_VALUES_IOCTL - Set the values of all requested output lines.
16
17Synopsis
18========
19
20.. c:macro:: GPIO_HANDLE_SET_LINE_VALUES_IOCTL
21
22``int ioctl(int handle_fd, GPIO_HANDLE_SET_LINE_VALUES_IOCTL, struct gpiohandle_data *values)``
23
24Arguments
25=========
26
27``handle_fd``
28    The file descriptor of the GPIO character device, as returned in the
29    :c:type:`request.fd<gpiohandle_request>` by gpio-get-linehandle-ioctl.rst.
30
31``values``
32    The :c:type:`line_values<gpiohandle_data>` to set.
33
34Description
35===========
36
37Set the values of all requested output lines.
38
39The values set are logical, indicating if the line is to be active or inactive.
40The ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` flag controls the mapping between logical
41values (active/inactive) and physical values (high/low).
42If  ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` is not set then active is high and
43inactive is low. If ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` is set then active is low
44and inactive is high.
45
46Only the values of output lines may be set.
47Attempting to set the value of input lines is an error (**EPERM**).
48
49Return Value
50============
51
52On success 0.
53
54On error -1 and the ``errno`` variable is set appropriately.
55Common error codes are described in error-codes.rst.
56