79 lines · 2.3 KB · Text
RawDownload
.. SPDX-License-Identifier: GPL-2.0 .. _gpio_errors: *******************GPIO Error Codes******************* .. _gpio-errors: .. tabularcolumns:: |p{2.5cm}|p{15.0cm}| .. flat-table:: Common GPIO error codes    :header-rows:  0    :stub-columns: 0    :widths: 1 16     -  -  ``EAGAIN`` (aka ``EWOULDBLOCK``)        -  The device was opened in non-blocking mode and a read can't          be performed as there is no data available.     -  -  ``EBADF``        -  The file descriptor is not valid.     -  -  ``EBUSY``        -  The ioctl can't be handled because the device is busy. Typically          returned when an ioctl attempts something that would require the          usage of a resource that was already allocated. The ioctl must not          be retried without performing another action to fix the problem          first.     -  -  ``EFAULT``        -  There was a failure while copying data from/to userspace, probably	  caused by an invalid pointer reference.     -  -  ``EINVAL``        -  One or more of the ioctl parameters are invalid or out of the          allowed range. This is a widely used error code.     -  -  ``ENODEV``        -  Device not found or was removed.     -  -  ``ENOMEM``        -  There's not enough memory to handle the desired operation.     -  -  ``EPERM``        -  Permission denied. Typically returned in response to an attempt          to perform an action incompatible with the current line          configuration.     -  -  ``EIO``        -  I/O error. Typically returned when there are problems communicating          with a hardware device or requesting features that hardware does not          support. This could indicate broken or flaky hardware.          It's a 'Something is wrong, I give up!' type of error.     -  - ``ENXIO``        -  Typically returned when a feature requiring interrupt support was          requested, but the line does not support interrupts. .. note::   #. This list is not exhaustive; ioctls may return other error codes.     Since errors may have side effects such as a driver reset,     applications should abort on unexpected errors, or otherwise     assume that the device is in a bad state.   #. Request-specific error codes are listed in the individual     requests descriptions.