1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 .. _GPIO_GET_LINEEVENT_IOCTL: 3 .. _GPIO_GET_LINEEVENT_IOCTL: 4 4 5 ************************ 5 ************************ 6 GPIO_GET_LINEEVENT_IOCTL 6 GPIO_GET_LINEEVENT_IOCTL 7 ************************ 7 ************************ 8 8 9 .. warning:: 9 .. warning:: 10 This ioctl is part of chardev_v1.rst and i 10 This ioctl is part of chardev_v1.rst and is obsoleted by 11 gpio-v2-get-line-ioctl.rst. 11 gpio-v2-get-line-ioctl.rst. 12 12 13 Name 13 Name 14 ==== 14 ==== 15 15 16 GPIO_GET_LINEEVENT_IOCTL - Request a line with 16 GPIO_GET_LINEEVENT_IOCTL - Request a line with edge detection from the kernel. 17 17 18 Synopsis 18 Synopsis 19 ======== 19 ======== 20 20 21 .. c:macro:: GPIO_GET_LINEEVENT_IOCTL 21 .. c:macro:: GPIO_GET_LINEEVENT_IOCTL 22 22 23 ``int ioctl(int chip_fd, GPIO_GET_LINEEVENT_IO 23 ``int ioctl(int chip_fd, GPIO_GET_LINEEVENT_IOCTL, struct gpioevent_request *request)`` 24 24 25 Arguments 25 Arguments 26 ========= 26 ========= 27 27 28 ``chip_fd`` 28 ``chip_fd`` 29 The file descriptor of the GPIO character 29 The file descriptor of the GPIO character device returned by `open()`. 30 30 31 ``request`` 31 ``request`` 32 The :c:type:`event_request<gpioevent_reque 32 The :c:type:`event_request<gpioevent_request>` specifying the line 33 to request and its configuration. 33 to request and its configuration. 34 34 35 Description 35 Description 36 =========== 36 =========== 37 37 38 Request a line with edge detection from the ke 38 Request a line with edge detection from the kernel. 39 39 40 On success, the requesting process is granted 40 On success, the requesting process is granted exclusive access to the line 41 value and may receive events when edges are de 41 value and may receive events when edges are detected on the line, as 42 described in gpio-lineevent-data-read.rst. 42 described in gpio-lineevent-data-read.rst. 43 43 44 The state of a line is guaranteed to remain as 44 The state of a line is guaranteed to remain as requested until the returned 45 file descriptor is closed. Once the file descr 45 file descriptor is closed. Once the file descriptor is closed, the state of 46 the line becomes uncontrolled from the userspa 46 the line becomes uncontrolled from the userspace perspective, and may revert 47 to its default state. 47 to its default state. 48 48 49 Requesting a line already in use is an error ( 49 Requesting a line already in use is an error (**EBUSY**). 50 50 51 Requesting edge detection on a line that does 51 Requesting edge detection on a line that does not support interrupts is an 52 error (**ENXIO**). 52 error (**ENXIO**). 53 53 54 As with the :ref:`line handle<gpio-get-linehan 54 As with the :ref:`line handle<gpio-get-linehandle-config-support>`, the 55 bias configuration is best effort. 55 bias configuration is best effort. 56 56 57 Closing the ``chip_fd`` has no effect on exist 57 Closing the ``chip_fd`` has no effect on existing line events. 58 58 59 Configuration Rules 59 Configuration Rules 60 ------------------- 60 ------------------- 61 61 62 The following configuration rules apply: 62 The following configuration rules apply: 63 63 64 The line event is requested as an input, so no 64 The line event is requested as an input, so no flags specific to output lines, 65 ``GPIOHANDLE_REQUEST_OUTPUT``, ``GPIOHANDLE_RE 65 ``GPIOHANDLE_REQUEST_OUTPUT``, ``GPIOHANDLE_REQUEST_OPEN_DRAIN``, or 66 ``GPIOHANDLE_REQUEST_OPEN_SOURCE``, may be set 66 ``GPIOHANDLE_REQUEST_OPEN_SOURCE``, may be set. 67 67 68 Only one bias flag, ``GPIOHANDLE_REQUEST_BIAS_ 68 Only one bias flag, ``GPIOHANDLE_REQUEST_BIAS_xxx``, may be set. 69 If no bias flags are set then the bias configu 69 If no bias flags are set then the bias configuration is not changed. 70 70 71 The edge flags, ``GPIOEVENT_REQUEST_RISING_EDG 71 The edge flags, ``GPIOEVENT_REQUEST_RISING_EDGE`` and 72 ``GPIOEVENT_REQUEST_FALLING_EDGE``, may be com 72 ``GPIOEVENT_REQUEST_FALLING_EDGE``, may be combined to detect both rising 73 and falling edges. 73 and falling edges. 74 74 75 Requesting an invalid configuration is an erro 75 Requesting an invalid configuration is an error (**EINVAL**). 76 76 77 Return Value 77 Return Value 78 ============ 78 ============ 79 79 80 On success 0 and the :c:type:`request.fd<gpioe 80 On success 0 and the :c:type:`request.fd<gpioevent_request>` contains the file 81 descriptor for the request. 81 descriptor for the request. 82 82 83 On error -1 and the ``errno`` variable is set 83 On error -1 and the ``errno`` variable is set appropriately. 84 Common error codes are described in error-code 84 Common error codes are described in error-codes.rst.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.