ioctls currently go through the labor of converting the ioctl result into a higher-level, safer representation. This comes with a few disadvantages:
- Each ioctl error type must include a specific variant to handle conversion errors,
- The returned type must be
TryFrom, meaning that types that could just be From need to have their errors checked as well.
Wouldn't it be better to just return the raw V4L2 type (with the exception of v4l2_buffer and v4l2_ext_controls) and let the caller perform the conversion they want?