1.. SPDX-License-Identifier: GPL-2.0 2 3.. _GPIOHANDLE_SET_CONFIG_IOCTL: 4 5*************************** 6GPIOHANDLE_SET_CONFIG_IOCTL 7*************************** 8 9.. warning:: 10 This ioctl is part of chardev_v1.rst and is obsoleted by 11 gpio-v2-line-set-config-ioctl.rst. 12 13Name 14==== 15 16GPIOHANDLE_SET_CONFIG_IOCTL - Update the configuration of previously requested lines. 17 18Synopsis 19======== 20 21.. c:macro:: GPIOHANDLE_SET_CONFIG_IOCTL 22 23``int ioctl(int handle_fd, GPIOHANDLE_SET_CONFIG_IOCTL, struct gpiohandle_config *config)`` 24 25Arguments 26========= 27 28``handle_fd`` 29 The file descriptor of the GPIO character device, as returned in the 30 :c:type:`request.fd<gpiohandle_request>` by gpio-get-linehandle-ioctl.rst. 31 32``config`` 33 The new :c:type:`configuration<gpiohandle_config>` to apply to the 34 requested lines. 35 36Description 37=========== 38 39Update the configuration of previously requested lines, without releasing the 40line or introducing potential glitches. 41 42The configuration applies to all requested lines. 43 44The same :ref:`gpio-get-linehandle-config-rules` and 45:ref:`gpio-get-linehandle-config-support` that apply when requesting the 46lines also apply when updating the line configuration, with the additional 47restriction that a direction flag must be set. Requesting an invalid 48configuration, including without a direction flag set, is an error 49(**EINVAL**). 50 51The motivating use case for this command is changing direction of 52bi-directional lines between input and output, but it may be used more 53generally to move lines seamlessly from one configuration state to another. 54 55To only change the value of output lines, use 56gpio-handle-set-line-values-ioctl.rst. 57 58First added in 5.5. 59 60Return Value 61============ 62 63On success 0. 64 65On error -1 and the ``errno`` variable is set appropriately. 66Common error codes are described in error-codes.rst. 67