1.. SPDX-License-Identifier: GPL-2.0 2 3.. _GPIO_V2_GET_LINEINFO_WATCH_IOCTL: 4 5******************************** 6GPIO_V2_GET_LINEINFO_WATCH_IOCTL 7******************************** 8 9Name 10==== 11 12GPIO_V2_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its 13request state and configuration information. 14 15Synopsis 16======== 17 18.. c:macro:: GPIO_V2_GET_LINEINFO_WATCH_IOCTL 19 20``int ioctl(int chip_fd, GPIO_V2_GET_LINEINFO_WATCH_IOCTL, struct gpio_v2_line_info *info)`` 21 22Arguments 23========= 24 25``chip_fd`` 26 The file descriptor of the GPIO character device returned by `open()`. 27 28``info`` 29 The :c:type:`line_info<gpio_v2_line_info>` struct to be populated, with 30 the ``offset`` set to indicate the line to watch 31 32Description 33=========== 34 35Enable watching a line for changes to its request state and configuration 36information. Changes to line info include a line being requested, released 37or reconfigured. 38 39.. note:: 40 Watching line info is not generally required, and would typically only be 41 used by a system monitoring component. 42 43 The line info does NOT include the line value. 44 The line must be requested using gpio-v2-get-line-ioctl.rst to access 45 its value, and the line request can monitor a line for events using 46 gpio-v2-line-event-read.rst. 47 48By default all lines are unwatched when the GPIO chip is opened. 49 50Multiple lines may be watched simultaneously by adding a watch for each. 51 52Once a watch is set, any changes to line info will generate events which can be 53read from the ``chip_fd`` as described in 54gpio-v2-lineinfo-changed-read.rst. 55 56Adding a watch to a line that is already watched is an error (**EBUSY**). 57 58Watches are specific to the ``chip_fd`` and are independent of watches 59on the same GPIO chip opened with a separate call to `open()`. 60 61Return Value 62============ 63 64On success 0 and ``info`` is populated with the current line info. 65 66On error -1 and the ``errno`` variable is set appropriately. 67Common error codes are described in error-codes.rst. 68