Documentation/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl.rst
.. SPDX-License-Identifier: GPL-2.0
.. _GPIO_V2_GET_LINEINFO_WATCH_IOCTL:
GPIO_V2_GET_LINEINFO_WATCH_IOCTL
GPIO_V2_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its request state and configuration information.
.. c:macro:: GPIO_V2_GET_LINEINFO_WATCH_IOCTL
int ioctl(int chip_fd, GPIO_V2_GET_LINEINFO_WATCH_IOCTL, struct gpio_v2_line_info *info)
chip_fd
The file descriptor of the GPIO character device returned by open().
info
The :c:type:line_info<gpio_v2_line_info> struct to be populated, with
the offset set to indicate the line to watch
Enable watching a line for changes to its request state and configuration information. Changes to line info include a line being requested, released or reconfigured.
.. note:: Watching line info is not generally required, and would typically only be used by a system monitoring component.
The line info does NOT include the line value.
The line must be requested using gpio-v2-get-line-ioctl.rst to access
its value, and the line request can monitor a line for events using
gpio-v2-line-event-read.rst.
By default all lines are unwatched when the GPIO chip is opened.
Multiple lines may be watched simultaneously by adding a watch for each.
Once a watch is set, any changes to line info will generate events which can be
read from the chip_fd as described in
gpio-v2-lineinfo-changed-read.rst.
Adding a watch to a line that is already watched is an error (EBUSY).
Watches are specific to the chip_fd and are independent of watches
on the same GPIO chip opened with a separate call to open().
On success 0 and info is populated with the current line info.
On error -1 and the errno variable is set appropriately.
Common error codes are described in error-codes.rst.