1.. SPDX-License-Identifier: GPL-2.0 2 3.. _GPIO_V2_LINE_SET_CONFIG_IOCTL: 4 5***************************** 6GPIO_V2_LINE_SET_CONFIG_IOCTL 7***************************** 8 9Name 10==== 11 12GPIO_V2_LINE_SET_CONFIG_IOCTL - Update the configuration of previously requested lines. 13 14Synopsis 15======== 16 17.. c:macro:: GPIO_V2_LINE_SET_CONFIG_IOCTL 18 19``int ioctl(int req_fd, GPIO_V2_LINE_SET_CONFIG_IOCTL, struct gpio_v2_line_config *config)`` 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``config`` 29 The new :c:type:`configuration<gpio_v2_line_config>` to apply to the 30 requested lines. 31 32Description 33=========== 34 35Update the configuration of previously requested lines, without releasing the 36line or introducing potential glitches. 37 38The new configuration must specify a configuration for all requested lines. 39 40The same :ref:`gpio-v2-get-line-config-rules` and 41:ref:`gpio-v2-get-line-config-support` that apply when requesting the lines 42also apply when updating the line configuration, with the additional 43restriction that a direction flag must be set to enable reconfiguration. 44If no direction flag is set in the configuration for a given line then the 45configuration for that line is left unchanged. 46 47The motivating use case for this command is changing direction of 48bi-directional lines between input and output, but it may also be used to 49dynamically control edge detection, or more generally move lines seamlessly 50from one configuration state to another. 51 52To only change the value of output lines, use 53gpio-v2-line-set-values-ioctl.rst. 54 55Return Value 56============ 57 58On success 0. 59 60On error -1 and the ``errno`` variable is set appropriately. 61Common error codes are described in error-codes.rst. 62