Define the beginnings of a V4L2 device management object.
This basic class supports opening the device and parsing the device
capabilities including obtaining the driver and device (card) name.
The capabilities are validated to ensure that the device is a capture
device and supports the Streaming IO ioctls.
This series imports the linux/videodev2.h from kernel version v4.19.
Kieran Bingham (3):
include: linux: Import videodev2.h from Linux v4.19
libcamera: Add V4L2 Device object
test: v4l2_device: Add test suite and initial test
include/linux/videodev2.h | 2412 +++++++++++++++++++++++++
src/libcamera/include/v4l2_device.h | 45 +
src/libcamera/meson.build | 2 +
src/libcamera/v4l2_device.cpp | 150 ++
test/meson.build | 1 +
test/v4l2_device/double_open.cpp | 38 +
test/v4l2_device/meson.build | 12 +
test/v4l2_device/v4l2_device_test.cpp | 43 +
test/v4l2_device/v4l2_device_test.h | 27 +
9 files changed, 2730 insertions(+)
create mode 100644 include/linux/videodev2.h
create mode 100644 src/libcamera/include/v4l2_device.h
create mode 100644 src/libcamera/v4l2_device.cpp
create mode 100644 test/v4l2_device/double_open.cpp
create mode 100644 test/v4l2_device/meson.build
create mode 100644 test/v4l2_device/v4l2_device_test.cpp
create mode 100644 test/v4l2_device/v4l2_device_test.h