32a0a0da53
Add documentation for the GPIO character device userspace API. Added to the userspace-api book, but also provide a link from the admin-guide book, as historically the GPIO documentation has been there. Signed-off-by: Kent Gibson <warthog618@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
68 lines
1.9 KiB
ReStructuredText
68 lines
1.9 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
.. _GPIO_V2_GET_LINEINFO_WATCH_IOCTL:
|
|
|
|
********************************
|
|
GPIO_V2_GET_LINEINFO_WATCH_IOCTL
|
|
********************************
|
|
|
|
Name
|
|
====
|
|
|
|
GPIO_V2_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its
|
|
request state and configuration information.
|
|
|
|
Synopsis
|
|
========
|
|
|
|
.. 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)``
|
|
|
|
Arguments
|
|
=========
|
|
|
|
``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
|
|
|
|
Description
|
|
===========
|
|
|
|
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()`.
|
|
|
|
Return Value
|
|
============
|
|
|
|
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.
|