GPIO Error Codes¶
|
The device was opened in non-blocking mode and a read can’t be performed as there is no data available. |
|
The file descriptor is not valid. |
|
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. |
|
There was a failure while copying data from/to userspace, probably caused by an invalid pointer reference. |
|
One or more of the ioctl parameters are invalid or out of the allowed range. This is a widely used error code. |
|
Device not found or was removed. |
|
There’s not enough memory to handle the desired operation. |
|
Permission denied. Typically returned in response to an attempt to perform an action incompatible with the current line configuration. |
|
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. |
|
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.