| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- .. SPDX-License-Identifier: GPL-2.0
- .. _GPIOHANDLE_SET_CONFIG_IOCTL:
- ***************************
- GPIOHANDLE_SET_CONFIG_IOCTL
- ***************************
- .. warning::
- This ioctl is part of chardev_v1.rst and is obsoleted by
- gpio-v2-line-set-config-ioctl.rst.
- Name
- ====
- GPIOHANDLE_SET_CONFIG_IOCTL - Update the configuration of previously requested lines.
- Synopsis
- ========
- .. c:macro:: GPIOHANDLE_SET_CONFIG_IOCTL
- ``int ioctl(int handle_fd, GPIOHANDLE_SET_CONFIG_IOCTL, struct gpiohandle_config *config)``
- 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.
- ``config``
- The new :c:type:`configuration<gpiohandle_config>` to apply to the
- requested lines.
- Description
- ===========
- Update the configuration of previously requested lines, without releasing the
- line or introducing potential glitches.
- The configuration applies to all requested lines.
- The same :ref:`gpio-get-linehandle-config-rules` and
- :ref:`gpio-get-linehandle-config-support` that apply when requesting the
- lines also apply when updating the line configuration, with the additional
- restriction that a direction flag must be set. Requesting an invalid
- configuration, including without a direction flag set, is an error
- (**EINVAL**).
- The motivating use case for this command is changing direction of
- bi-directional lines between input and output, but it may be used more
- generally to move lines seamlessly from one configuration state to another.
- To only change the value of output lines, use
- gpio-handle-set-line-values-ioctl.rst.
- First added in 5.5.
- Return Value
- ============
- On success 0.
- On error -1 and the ``errno`` variable is set appropriately.
- Common error codes are described in error-codes.rst.
|