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