Documentation / userspace-api / gpio / gpio-handle-set-line-values-ioctl.rst


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
.. SPDX-License-Identifier: GPL-2.0

.. _GPIO_HANDLE_SET_LINE_VALUES_IOCTL:

*********************************
GPIO_HANDLE_SET_LINE_VALUES_IOCTL
*********************************
.. warning::
    This ioctl is part of chardev_v1.rst and is obsoleted by
    gpio-v2-line-set-values-ioctl.rst.

Name
====

GPIO_HANDLE_SET_LINE_VALUES_IOCTL - Set the values of all requested output lines.

Synopsis
========

.. c:macro:: GPIO_HANDLE_SET_LINE_VALUES_IOCTL

``int ioctl(int handle_fd, GPIO_HANDLE_SET_LINE_VALUES_IOCTL, struct gpiohandle_data *values)``

Arguments
=========

``handle_fd``
    The file descriptor of the GPIO character device, as returned in the
    :c:type:`request.fd<gpiohandle_request>` by gpio-get-linehandle-ioctl.rst.

``values``
    The :c:type:`line_values<gpiohandle_data>` to set.

Description
===========

Set the values of all requested output lines.

The values set are logical, indicating if the line is to be active or inactive.
The ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` flag controls the mapping between logical
values (active/inactive) and physical values (high/low).
If  ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` is not set then active is high and
inactive is low. If ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` is set then active is low
and inactive is high.

Only the values of output lines may be set.
Attempting to set the value of input lines is an error (**EPERM**).

Return Value
============

On success 0.

On error -1 and the ``errno`` variable is set appropriately.
Common error codes are described in error-codes.rst.