| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- .. SPDX-License-Identifier: GPL-2.0
- .. _GPIO_GET_LINEINFO_WATCH_IOCTL:
- *****************************
- GPIO_GET_LINEINFO_WATCH_IOCTL
- *****************************
- .. warning::
- This ioctl is part of chardev_v1.rst and is obsoleted by
- gpio-v2-get-lineinfo-watch-ioctl.rst.
- Name
- ====
- GPIO_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its
- request state and configuration information.
- Synopsis
- ========
- .. c:macro:: GPIO_GET_LINEINFO_WATCH_IOCTL
- ``int ioctl(int chip_fd, GPIO_GET_LINEINFO_WATCH_IOCTL, struct gpioline_info *info)``
- Arguments
- =========
- ``chip_fd``
- The file descriptor of the GPIO character device returned by `open()`.
- ``info``
- The :c:type:`line_info<gpioline_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-get-linehandle-ioctl.rst or
- gpio-get-lineevent-ioctl.rst to access its value, and the line event can
- monitor a line for events using gpio-lineevent-data-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-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()`.
- First added in 5.7.
- 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.
|