6a9c15083b
Update description of reconfiguration rules, adding requirement that a direction flag be set to enable changing configuration for a line. Signed-off-by: Kent Gibson <warthog618@gmail.com> Link: https://lore.kernel.org/r/20240626052925.174272-5-warthog618@gmail.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
62 lines
1.8 KiB
ReStructuredText
62 lines
1.8 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
.. _GPIO_V2_LINE_SET_CONFIG_IOCTL:
|
|
|
|
*****************************
|
|
GPIO_V2_LINE_SET_CONFIG_IOCTL
|
|
*****************************
|
|
|
|
Name
|
|
====
|
|
|
|
GPIO_V2_LINE_SET_CONFIG_IOCTL - Update the configuration of previously requested lines.
|
|
|
|
Synopsis
|
|
========
|
|
|
|
.. c:macro:: GPIO_V2_LINE_SET_CONFIG_IOCTL
|
|
|
|
``int ioctl(int req_fd, GPIO_V2_LINE_SET_CONFIG_IOCTL, struct gpio_v2_line_config *config)``
|
|
|
|
Arguments
|
|
=========
|
|
|
|
``req_fd``
|
|
The file descriptor of the GPIO character device, as returned in the
|
|
:c:type:`request.fd<gpio_v2_line_request>` by gpio-v2-get-line-ioctl.rst.
|
|
|
|
``config``
|
|
The new :c:type:`configuration<gpio_v2_line_config>` to apply to the
|
|
requested lines.
|
|
|
|
Description
|
|
===========
|
|
|
|
Update the configuration of previously requested lines, without releasing the
|
|
line or introducing potential glitches.
|
|
|
|
The new configuration must specify a configuration for all requested lines.
|
|
|
|
The same :ref:`gpio-v2-get-line-config-rules` and
|
|
:ref:`gpio-v2-get-line-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 to enable reconfiguration.
|
|
If no direction flag is set in the configuration for a given line then the
|
|
configuration for that line is left unchanged.
|
|
|
|
The motivating use case for this command is changing direction of
|
|
bi-directional lines between input and output, but it may also be used to
|
|
dynamically control edge detection, or more generally move lines seamlessly
|
|
from one configuration state to another.
|
|
|
|
To only change the value of output lines, use
|
|
gpio-v2-line-set-values-ioctl.rst.
|
|
|
|
Return Value
|
|
============
|
|
|
|
On success 0.
|
|
|
|
On error -1 and the ``errno`` variable is set appropriately.
|
|
Common error codes are described in error-codes.rst.
|