[{"id":1907,"web_url":"https://patchwork.libcamera.org/comment/1907/","msgid":"<20190618204723.GE23556@pendragon.ideasonboard.com>","date":"2019-06-18T20:47:23","subject":"Re: [libcamera-devel] [PATCH v4 1/2] libcamera: Rename V4L2Device\n\tto V4L2VideoDevice","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nThank you for the patch.\n\nOn Thu, Jun 13, 2019 at 09:49:54AM +0200, Jacopo Mondi wrote:\n> In preparation of creating a new V4L2Device base class, rename\n> V4L2Device to V4L2VideoDevice.\n> \n> This is a project wide rename without any intended functional change.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> ---\n>  include/libcamera/buffer.h                    |   2 +-\n>  .../{v4l2_device.h => v4l2_videodevice.h}     |  24 ++---\n>  src/libcamera/meson.build                     |   4 +-\n>  src/libcamera/pipeline/ipu3/ipu3.cpp          |  24 ++---\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   6 +-\n>  src/libcamera/pipeline/uvcvideo.cpp           |   6 +-\n>  src/libcamera/pipeline/vimc.cpp               |   6 +-\n>  src/libcamera/v4l2_subdevice.cpp              |   2 +-\n>  .../{v4l2_device.cpp => v4l2_videodevice.cpp} | 101 +++++++++---------\n>  test/meson.build                              |   2 +-\n>  .../buffer_sharing.cpp                        |  18 ++--\n>  .../capture_async.cpp                         |   6 +-\n>  .../double_open.cpp                           |   8 +-\n>  .../formats.cpp                               |   8 +-\n>  .../meson.build                               |   8 +-\n>  .../request_buffers.cpp                       |   6 +-\n>  .../stream_on_off.cpp                         |   6 +-\n>  .../v4l2_videodevice_test.cpp}                |   8 +-\n>  .../v4l2_videodevice_test.h}                  |   8 +-\n>  19 files changed, 127 insertions(+), 126 deletions(-)\n>  rename src/libcamera/include/{v4l2_device.h => v4l2_videodevice.h} (86%)\n>  rename src/libcamera/{v4l2_device.cpp => v4l2_videodevice.cpp} (90%)\n>  rename test/{v4l2_device => v4l2_videodevice}/buffer_sharing.cpp (90%)\n>  rename test/{v4l2_device => v4l2_videodevice}/capture_async.cpp (91%)\n>  rename test/{v4l2_device => v4l2_videodevice}/double_open.cpp (75%)\n>  rename test/{v4l2_device => v4l2_videodevice}/formats.cpp (85%)\n>  rename test/{v4l2_device => v4l2_videodevice}/meson.build (74%)\n>  rename test/{v4l2_device => v4l2_videodevice}/request_buffers.cpp (77%)\n>  rename test/{v4l2_device => v4l2_videodevice}/stream_on_off.cpp (78%)\n>  rename test/{v4l2_device/v4l2_device_test.cpp => v4l2_videodevice/v4l2_videodevice_test.cpp} (90%)\n>  rename test/{v4l2_device/v4l2_device_test.h => v4l2_videodevice/v4l2_videodevice_test.h} (81%)\n> \n> diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h\n> index 8f9b42e39339..260a62e9e77e 100644\n> --- a/include/libcamera/buffer.h\n> +++ b/include/libcamera/buffer.h\n> @@ -59,7 +59,7 @@ private:\n>  \tfriend class BufferPool;\n>  \tfriend class PipelineHandler;\n>  \tfriend class Request;\n> -\tfriend class V4L2Device;\n> +\tfriend class V4L2VideoDevice;\n>  \n>  \tvoid cancel();\n>  \n> diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_videodevice.h\n> similarity index 86%\n> rename from src/libcamera/include/v4l2_device.h\n> rename to src/libcamera/include/v4l2_videodevice.h\n> index bdecc087fe5a..6ecdb64e5f3c 100644\n> --- a/src/libcamera/include/v4l2_device.h\n> +++ b/src/libcamera/include/v4l2_videodevice.h\n> @@ -2,10 +2,10 @@\n>  /*\n>   * Copyright (C) 2019, Google Inc.\n>   *\n> - * v4l2_device.h - V4L2 Device\n> + * v4l2_videodevice.h - V4L2 Video Device\n>   */\n> -#ifndef __LIBCAMERA_V4L2_DEVICE_H__\n> -#define __LIBCAMERA_V4L2_DEVICE_H__\n> +#ifndef __LIBCAMERA_V4L2_VIDEODEVICE_H__\n> +#define __LIBCAMERA_V4L2_VIDEODEVICE_H__\n>  \n>  #include <atomic>\n>  #include <string>\n> @@ -111,15 +111,15 @@ public:\n>  \tconst std::string toString() const;\n>  };\n>  \n> -class V4L2Device : protected Loggable\n> +class V4L2VideoDevice : protected Loggable\n>  {\n>  public:\n> -\texplicit V4L2Device(const std::string &deviceNode);\n> -\texplicit V4L2Device(const MediaEntity *entity);\n> -\tV4L2Device(const V4L2Device &) = delete;\n> -\t~V4L2Device();\n> +\texplicit V4L2VideoDevice(const std::string &deviceNode);\n> +\texplicit V4L2VideoDevice(const MediaEntity *entity);\n> +\tV4L2VideoDevice(const V4L2VideoDevice &) = delete;\n> +\t~V4L2VideoDevice();\n>  \n> -\tV4L2Device &operator=(const V4L2Device &) = delete;\n> +\tV4L2VideoDevice &operator=(const V4L2VideoDevice &) = delete;\n>  \n>  \tint open();\n>  \tbool isOpen() const;\n> @@ -143,8 +143,8 @@ public:\n>  \tint streamOn();\n>  \tint streamOff();\n>  \n> -\tstatic V4L2Device *fromEntityName(const MediaDevice *media,\n> -\t\t\t\t\t  const std::string &entity);\n> +\tstatic V4L2VideoDevice *fromEntityName(const MediaDevice *media,\n> +\t\t\t\t\t       const std::string &entity);\n>  \n>  protected:\n>  \tstd::string logPrefix() const;\n> @@ -181,4 +181,4 @@ private:\n>  \n>  } /* namespace libcamera */\n>  \n> -#endif /* __LIBCAMERA_V4L2_DEVICE_H__ */\n> +#endif /* __LIBCAMERA_V4L2_VIDEODEVICE_H__ */\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index 1ca1083cf5c7..15ab53b1abbe 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -23,8 +23,8 @@ libcamera_sources = files([\n>      'stream.cpp',\n>      'timer.cpp',\n>      'utils.cpp',\n> -    'v4l2_device.cpp',\n>      'v4l2_subdevice.cpp',\n> +    'v4l2_videodevice.cpp',\n>  ])\n>  \n>  libcamera_headers = files([\n> @@ -41,8 +41,8 @@ libcamera_headers = files([\n>      'include/media_object.h',\n>      'include/pipeline_handler.h',\n>      'include/utils.h',\n> -    'include/v4l2_device.h',\n>      'include/v4l2_subdevice.h',\n> +    'include/v4l2_videodevice.h',\n>  ])\n>  \n>  libcamera_internal_includes =  include_directories('include')\n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index f2bdecbac20f..1c0a9825b4cd 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -22,8 +22,8 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n>  #include \"v4l2_subdevice.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -39,7 +39,7 @@ public:\n>  \n>  \t/* ImgU output descriptor: group data specific to an ImgU output. */\n>  \tstruct ImgUOutput {\n> -\t\tV4L2Device *dev;\n> +\t\tV4L2VideoDevice *dev;\n>  \t\tunsigned int pad;\n>  \t\tstd::string name;\n>  \t\tBufferPool *pool;\n> @@ -85,7 +85,7 @@ public:\n>  \tMediaDevice *media_;\n>  \n>  \tV4L2Subdevice *imgu_;\n> -\tV4L2Device *input_;\n> +\tV4L2VideoDevice *input_;\n>  \tImgUOutput output_;\n>  \tImgUOutput viewfinder_;\n>  \tImgUOutput stat_;\n> @@ -125,7 +125,7 @@ public:\n>  \n>  \tstatic int mediaBusToFormat(unsigned int code);\n>  \n> -\tV4L2Device *output_;\n> +\tV4L2VideoDevice *output_;\n>  \tV4L2Subdevice *csi2_;\n>  \tCameraSensor *sensor_;\n>  \n> @@ -943,7 +943,7 @@ void IPU3CameraData::cio2BufferReady(Buffer *buffer)\n>   * Create and open the V4L2 devices and subdevices of the ImgU instance\n>   * with \\a index.\n>   *\n> - * In case of errors the created V4L2Device and V4L2Subdevice instances\n> + * In case of errors the created V4L2VideoDevice and V4L2Subdevice instances\n>   * are destroyed at pipeline handler delete time.\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n> @@ -966,12 +966,12 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n>  \tif (ret)\n>  \t\treturn ret;\n>  \n> -\tinput_ = V4L2Device::fromEntityName(media, name_ + \" input\");\n> +\tinput_ = V4L2VideoDevice::fromEntityName(media, name_ + \" input\");\n>  \tret = input_->open();\n>  \tif (ret)\n>  \t\treturn ret;\n>  \n> -\toutput_.dev = V4L2Device::fromEntityName(media, name_ + \" output\");\n> +\toutput_.dev = V4L2VideoDevice::fromEntityName(media, name_ + \" output\");\n>  \tret = output_.dev->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> @@ -980,8 +980,8 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n>  \toutput_.name = \"output\";\n>  \toutput_.pool = &outPool_;\n>  \n> -\tviewfinder_.dev = V4L2Device::fromEntityName(media,\n> -\t\t\t\t\t\t     name_ + \" viewfinder\");\n> +\tviewfinder_.dev = V4L2VideoDevice::fromEntityName(media,\n> +\t\t\t\t\t\t\t  name_ + \" viewfinder\");\n>  \tret = viewfinder_.dev->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> @@ -990,7 +990,7 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n>  \tviewfinder_.name = \"viewfinder\";\n>  \tviewfinder_.pool = &vfPool_;\n>  \n> -\tstat_.dev = V4L2Device::fromEntityName(media, name_ + \" 3a stat\");\n> +\tstat_.dev = V4L2VideoDevice::fromEntityName(media, name_ + \" 3a stat\");\n>  \tret = stat_.dev->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> @@ -1067,7 +1067,7 @@ int ImgUDevice::configureInput(const Size &size,\n>  int ImgUDevice::configureOutput(ImgUOutput *output,\n>  \t\t\t\tconst StreamConfiguration &cfg)\n>  {\n> -\tV4L2Device *dev = output->dev;\n> +\tV4L2VideoDevice *dev = output->dev;\n>  \tunsigned int pad = output->pad;\n>  \n>  \tV4L2SubdeviceFormat imguFormat = {};\n> @@ -1337,7 +1337,7 @@ int CIO2Device::init(const MediaDevice *media, unsigned int index)\n>  \t\treturn ret;\n>  \n>  \tstd::string cio2Name = \"ipu3-cio2 \" + std::to_string(index);\n> -\toutput_ = V4L2Device::fromEntityName(media, cio2Name);\n> +\toutput_ = V4L2VideoDevice::fromEntityName(media, cio2Name);\n>  \tret = output_->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 9b3eea2f6dd3..4a5898d25f91 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -23,8 +23,8 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n>  #include \"v4l2_subdevice.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -106,7 +106,7 @@ private:\n>  \tMediaDevice *media_;\n>  \tV4L2Subdevice *dphy_;\n>  \tV4L2Subdevice *isp_;\n> -\tV4L2Device *video_;\n> +\tV4L2VideoDevice *video_;\n>  \n>  \tCamera *activeCamera_;\n>  };\n> @@ -458,7 +458,7 @@ bool PipelineHandlerRkISP1::match(DeviceEnumerator *enumerator)\n>  \t\treturn false;\n>  \n>  \t/* Locate and open the capture video node. */\n> -\tvideo_ = V4L2Device::fromEntityName(media_, \"rkisp1_mainpath\");\n> +\tvideo_ = V4L2VideoDevice::fromEntityName(media_, \"rkisp1_mainpath\");\n>  \tif (video_->open() < 0)\n>  \t\treturn false;\n>  \n> diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp\n> index 45260f34c8f5..b0d768628a19 100644\n> --- a/src/libcamera/pipeline/uvcvideo.cpp\n> +++ b/src/libcamera/pipeline/uvcvideo.cpp\n> @@ -14,7 +14,7 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -35,7 +35,7 @@ public:\n>  \n>  \tvoid bufferReady(Buffer *buffer);\n>  \n> -\tV4L2Device *video_;\n> +\tV4L2VideoDevice *video_;\n>  \tStream stream_;\n>  };\n>  \n> @@ -229,7 +229,7 @@ bool PipelineHandlerUVC::match(DeviceEnumerator *enumerator)\n>  \t/* Locate and open the default video node. */\n>  \tfor (MediaEntity *entity : media->entities()) {\n>  \t\tif (entity->flags() & MEDIA_ENT_FL_DEFAULT) {\n> -\t\t\tdata->video_ = new V4L2Device(entity);\n> +\t\t\tdata->video_ = new V4L2VideoDevice(entity);\n>  \t\t\tbreak;\n>  \t\t}\n>  \t}\n> diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp\n> index ad4577acd9d6..6833213650dc 100644\n> --- a/src/libcamera/pipeline/vimc.cpp\n> +++ b/src/libcamera/pipeline/vimc.cpp\n> @@ -20,7 +20,7 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -41,7 +41,7 @@ public:\n>  \n>  \tvoid bufferReady(Buffer *buffer);\n>  \n> -\tV4L2Device *video_;\n> +\tV4L2VideoDevice *video_;\n>  \tStream stream_;\n>  };\n>  \n> @@ -262,7 +262,7 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)\n>  \tstd::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this);\n>  \n>  \t/* Locate and open the capture video node. */\n> -\tdata->video_ = new V4L2Device(media->getEntityByName(\"Raw Capture 1\"));\n> +\tdata->video_ = new V4L2VideoDevice(media->getEntityByName(\"Raw Capture 1\"));\n>  \tif (data->video_->open())\n>  \t\treturn false;\n>  \n> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> index fceee33156e9..6681c1920065 100644\n> --- a/src/libcamera/v4l2_subdevice.cpp\n> +++ b/src/libcamera/v4l2_subdevice.cpp\n> @@ -44,7 +44,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev)\n>   * as the \"media bus format\", and it is identified by a resolution and a pixel\n>   * format identification code, known as the \"media bus code\", not to be confused\n>   * with the fourcc code that identify the format of images when stored in memory\n> - * (see V4L2Device::V4L2DeviceFormat).\n> + * (see V4L2VideoDevice::V4L2DeviceFormat).\n\nI wonder if we should rename V4L2DeviceFormat format too, but that can\ncome in a second step.\n\n>   *\n>   * Media Bus formats supported by the V4L2 APIs are described in Section\n>   * 4.15.3.4.1 of the \"Part I - Video for Linux API\" chapter of the \"Linux Media\n> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_videodevice.cpp\n> similarity index 90%\n> rename from src/libcamera/v4l2_device.cpp\n> rename to src/libcamera/v4l2_videodevice.cpp\n> index 0821bd75fb42..8957cf8f97d3 100644\n> --- a/src/libcamera/v4l2_device.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -2,10 +2,10 @@\n>  /*\n>   * Copyright (C) 2019, Google Inc.\n>   *\n> - * v4l2_device.cpp - V4L2 Device\n> + * v4l2_videodevice.cpp - V4L2 Video Device\n>   */\n>  \n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  #include <fcntl.h>\n>  #include <iomanip>\n> @@ -25,8 +25,8 @@\n>  #include \"media_object.h\"\n>  \n>  /**\n> - * \\file v4l2_device.h\n> - * \\brief V4L2 Device API\n> + * \\file v4l2_videodevice.h\n> + * \\brief V4L2 Video Device API\n>   */\n>  namespace libcamera {\n>  \n> @@ -243,8 +243,8 @@ const std::string V4L2DeviceFormat::toString() const\n>  }\n>  \n>  /**\n> - * \\class V4L2Device\n> - * \\brief V4L2Device object and API\n> + * \\class V4L2VideoDevice\n> + * \\brief V4L2VideoDevice object and API\n>   *\n>   * The V4L2 Device API class models an instance of a V4L2 device node.\n\n\"V4L2 Video Device API\" and \"V4L2 video device node\". Could you have a\nlook through the documentation to see if there are other instances ?\n\n>   * It is constructed with the path to a V4L2 video device node. The device node\n> @@ -257,7 +257,7 @@ const std::string V4L2DeviceFormat::toString() const\n>   * No API call other than open(), isOpen() and close() shall be called on an\n>   * unopened device instance.\n>   *\n> - * The V4L2Device class tracks queued buffers and handles buffer events. It\n> + * The V4L2VideoDevice class tracks queued buffers and handles buffer events. It\n>   * automatically dequeues completed buffers and emits the \\ref bufferReady\n>   * signal.\n>   *\n> @@ -266,10 +266,10 @@ const std::string V4L2DeviceFormat::toString() const\n>   */\n>  \n>  /**\n> - * \\brief Construct a V4L2Device\n> + * \\brief Construct a V4L2VideoDevice\n>   * \\param[in] deviceNode The file-system path to the video device node\n>   */\n> -V4L2Device::V4L2Device(const std::string &deviceNode)\n> +V4L2VideoDevice::V4L2VideoDevice(const std::string &deviceNode)\n>  \t: deviceNode_(deviceNode), fd_(-1), bufferPool_(nullptr),\n>  \t  queuedBuffersCount_(0), fdEvent_(nullptr)\n>  {\n> @@ -282,17 +282,17 @@ V4L2Device::V4L2Device(const std::string &deviceNode)\n>  }\n>  \n>  /**\n> - * \\brief Construct a V4L2Device from a MediaEntity\n> + * \\brief Construct a V4L2VideoDevice from a MediaEntity\n>   * \\param[in] entity The MediaEntity to build the device from\n>   *\n> - * Construct a V4L2Device from a MediaEntity's device node path.\n> + * Construct a V4L2VideoDevice from a MediaEntity's device node path.\n>   */\n> -V4L2Device::V4L2Device(const MediaEntity *entity)\n> -\t: V4L2Device(entity->deviceNode())\n> +V4L2VideoDevice::V4L2VideoDevice(const MediaEntity *entity)\n> +\t: V4L2VideoDevice(entity->deviceNode())\n>  {\n>  }\n>  \n> -V4L2Device::~V4L2Device()\n> +V4L2VideoDevice::~V4L2VideoDevice()\n>  {\n>  \tclose();\n>  }\n> @@ -301,7 +301,7 @@ V4L2Device::~V4L2Device()\n>   * \\brief Open a V4L2 device and query its capabilities\n\nHere's another one, \"V4L2 video device\".\n\nWith the documentation addressed,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nIf you would like the documentation changes to be reviewed, you can send\na separate patch on top of this one, and then squash the two when\nmerging.\n\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::open()\n> +int V4L2VideoDevice::open()\n>  {\n>  \tint ret;\n>  \n> @@ -362,7 +362,7 @@ int V4L2Device::open()\n>  \t\treturn -EINVAL;\n>  \t}\n>  \n> -\tfdEvent_->activated.connect(this, &V4L2Device::bufferAvailable);\n> +\tfdEvent_->activated.connect(this, &V4L2VideoDevice::bufferAvailable);\n>  \tfdEvent_->setEnabled(false);\n>  \n>  \treturn 0;\n> @@ -372,7 +372,7 @@ int V4L2Device::open()\n>   * \\brief Check if device is successfully opened\n>   * \\return True if the device is open, false otherwise\n>   */\n> -bool V4L2Device::isOpen() const\n> +bool V4L2VideoDevice::isOpen() const\n>  {\n>  \treturn fd_ != -1;\n>  }\n> @@ -380,7 +380,7 @@ bool V4L2Device::isOpen() const\n>  /**\n>   * \\brief Close the device, releasing any resources acquired by open()\n>   */\n> -void V4L2Device::close()\n> +void V4L2VideoDevice::close()\n>  {\n>  \tif (fd_ < 0)\n>  \t\treturn;\n> @@ -393,30 +393,30 @@ void V4L2Device::close()\n>  }\n>  \n>  /**\n> - * \\fn V4L2Device::driverName()\n> + * \\fn V4L2VideoDevice::driverName()\n>   * \\brief Retrieve the name of the V4L2 device driver\n>   * \\return The string containing the driver name\n>   */\n>  \n>  /**\n> - * \\fn V4L2Device::deviceName()\n> + * \\fn V4L2VideoDevice::deviceName()\n>   * \\brief Retrieve the name of the V4L2 device\n>   * \\return The string containing the device name\n>   */\n>  \n>  /**\n> - * \\fn V4L2Device::busName()\n> + * \\fn V4L2VideoDevice::busName()\n>   * \\brief Retrieve the location of the device in the system\n>   * \\return The string containing the device location\n>   */\n>  \n>  /**\n> - * \\fn V4L2Device::deviceNode()\n> + * \\fn V4L2VideoDevice::deviceNode()\n>   * \\brief Retrieve the video device node path\n>   * \\return The video device device node path\n>   */\n>  \n> -std::string V4L2Device::logPrefix() const\n> +std::string V4L2VideoDevice::logPrefix() const\n>  {\n>  \treturn deviceNode_ + (V4L2_TYPE_IS_OUTPUT(bufferType_) ? \"[out]\" : \"[cap]\");\n>  }\n> @@ -426,7 +426,7 @@ std::string V4L2Device::logPrefix() const\n>   * \\param[out] format The image format applied on the device\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::getFormat(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormat(V4L2DeviceFormat *format)\n>  {\n>  \tif (caps_.isMeta())\n>  \t\treturn getFormatMeta(format);\n> @@ -441,11 +441,11 @@ int V4L2Device::getFormat(V4L2DeviceFormat *format)\n>   * \\param[inout] format The image format to apply to the device\n>   *\n>   * Apply the supplied \\a format to the device, and return the actually\n> - * applied format parameters, as \\ref V4L2Device::getFormat would do.\n> + * applied format parameters, as \\ref V4L2VideoDevice::getFormat would do.\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::setFormat(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormat(V4L2DeviceFormat *format)\n>  {\n>  \tif (caps_.isMeta())\n>  \t\treturn setFormatMeta(format);\n> @@ -455,7 +455,7 @@ int V4L2Device::setFormat(V4L2DeviceFormat *format)\n>  \t\treturn setFormatSingleplane(format);\n>  }\n>  \n> -int V4L2Device::getFormatMeta(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormatMeta(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_meta_format *pix = &v4l2Format.fmt.meta;\n> @@ -479,7 +479,7 @@ int V4L2Device::getFormatMeta(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::setFormatMeta(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormatMeta(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_meta_format *pix = &v4l2Format.fmt.meta;\n> @@ -509,7 +509,7 @@ int V4L2Device::setFormatMeta(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::getFormatMultiplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormatMultiplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format_mplane *pix = &v4l2Format.fmt.pix_mp;\n> @@ -536,7 +536,7 @@ int V4L2Device::getFormatMultiplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormatMultiplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format_mplane *pix = &v4l2Format.fmt.pix_mp;\n> @@ -577,7 +577,7 @@ int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::getFormatSingleplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormatSingleplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format *pix = &v4l2Format.fmt.pix;\n> @@ -601,7 +601,7 @@ int V4L2Device::getFormatSingleplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormatSingleplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format *pix = &v4l2Format.fmt.pix;\n> @@ -634,7 +634,7 @@ int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::requestBuffers(unsigned int count)\n> +int V4L2VideoDevice::requestBuffers(unsigned int count)\n>  {\n>  \tstruct v4l2_requestbuffers rb = {};\n>  \tint ret;\n> @@ -663,7 +663,7 @@ int V4L2Device::requestBuffers(unsigned int count)\n>   * \\param[out] pool BufferPool to populate with buffers\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::exportBuffers(BufferPool *pool)\n> +int V4L2VideoDevice::exportBuffers(BufferPool *pool)\n>  {\n>  \tunsigned int allocatedBuffers;\n>  \tunsigned int i;\n> @@ -677,7 +677,8 @@ int V4L2Device::exportBuffers(BufferPool *pool)\n>  \n>  \tallocatedBuffers = ret;\n>  \tif (allocatedBuffers < pool->count()) {\n> -\t\tLOG(V4L2, Error) << \"Not enough buffers provided by V4L2Device\";\n> +\t\tLOG(V4L2, Error)\n> +\t\t\t<< \"Not enough buffers provided by V4L2VideoDevice\";\n>  \t\trequestBuffers(0);\n>  \t\treturn -ENOMEM;\n>  \t}\n> @@ -731,8 +732,8 @@ int V4L2Device::exportBuffers(BufferPool *pool)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::createPlane(Buffer *buffer, unsigned int planeIndex,\n> -\t\t\t    unsigned int length)\n> +int V4L2VideoDevice::createPlane(Buffer *buffer, unsigned int planeIndex,\n> +\t\t\t\t unsigned int length)\n>  {\n>  \tstruct v4l2_exportbuffer expbuf = {};\n>  \tint ret;\n> @@ -768,7 +769,7 @@ int V4L2Device::createPlane(Buffer *buffer, unsigned int planeIndex,\n>   * \\param[in] pool BufferPool of buffers to import\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::importBuffers(BufferPool *pool)\n> +int V4L2VideoDevice::importBuffers(BufferPool *pool)\n>  {\n>  \tunsigned int allocatedBuffers;\n>  \tint ret;\n> @@ -782,7 +783,7 @@ int V4L2Device::importBuffers(BufferPool *pool)\n>  \tallocatedBuffers = ret;\n>  \tif (allocatedBuffers < pool->count()) {\n>  \t\tLOG(V4L2, Error)\n> -\t\t\t<< \"Not enough buffers provided by V4L2Device\";\n> +\t\t\t<< \"Not enough buffers provided by V4L2VideoDevice\";\n>  \t\trequestBuffers(0);\n>  \t\treturn -ENOMEM;\n>  \t}\n> @@ -796,7 +797,7 @@ int V4L2Device::importBuffers(BufferPool *pool)\n>  /**\n>   * \\brief Release all internally allocated buffers\n>   */\n> -int V4L2Device::releaseBuffers()\n> +int V4L2VideoDevice::releaseBuffers()\n>  {\n>  \tLOG(V4L2, Debug) << \"Releasing bufferPool\";\n>  \n> @@ -816,7 +817,7 @@ int V4L2Device::releaseBuffers()\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::queueBuffer(Buffer *buffer)\n> +int V4L2VideoDevice::queueBuffer(Buffer *buffer)\n>  {\n>  \tstruct v4l2_buffer buf = {};\n>  \tstruct v4l2_plane planes[VIDEO_MAX_PLANES] = {};\n> @@ -877,7 +878,7 @@ int V4L2Device::queueBuffer(Buffer *buffer)\n>   *\n>   * \\return A pointer to the dequeued buffer on success, or nullptr otherwise\n>   */\n> -Buffer *V4L2Device::dequeueBuffer()\n> +Buffer *V4L2VideoDevice::dequeueBuffer()\n>  {\n>  \tstruct v4l2_buffer buf = {};\n>  \tstruct v4l2_plane planes[VIDEO_MAX_PLANES] = {};\n> @@ -926,7 +927,7 @@ Buffer *V4L2Device::dequeueBuffer()\n>   * For Capture devices the Buffer will contain valid data.\n>   * For Output devices the Buffer can be considered empty.\n>   */\n> -void V4L2Device::bufferAvailable(EventNotifier *notifier)\n> +void V4L2VideoDevice::bufferAvailable(EventNotifier *notifier)\n>  {\n>  \tBuffer *buffer = dequeueBuffer();\n>  \tif (!buffer)\n> @@ -939,7 +940,7 @@ void V4L2Device::bufferAvailable(EventNotifier *notifier)\n>  }\n>  \n>  /**\n> - * \\var V4L2Device::bufferReady\n> + * \\var V4L2VideoDevice::bufferReady\n>   * \\brief A Signal emitted when a buffer completes\n>   */\n>  \n> @@ -947,7 +948,7 @@ void V4L2Device::bufferAvailable(EventNotifier *notifier)\n>   * \\brief Start the video stream\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::streamOn()\n> +int V4L2VideoDevice::streamOn()\n>  {\n>  \tint ret;\n>  \n> @@ -970,7 +971,7 @@ int V4L2Device::streamOn()\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::streamOff()\n> +int V4L2VideoDevice::streamOff()\n>  {\n>  \tint ret;\n>  \n> @@ -997,16 +998,16 @@ int V4L2Device::streamOff()\n>   * Releasing memory of the newly created instance is responsibility of the\n>   * caller of this function.\n>   *\n> - * \\return A newly created V4L2Device on success, nullptr otherwise\n> + * \\return A newly created V4L2VideoDevice on success, nullptr otherwise\n>   */\n> -V4L2Device *V4L2Device::fromEntityName(const MediaDevice *media,\n> -\t\t\t\t       const std::string &entity)\n> +V4L2VideoDevice *V4L2VideoDevice::fromEntityName(const MediaDevice *media,\n> +\t\t\t\t\t\t const std::string &entity)\n>  {\n>  \tMediaEntity *mediaEntity = media->getEntityByName(entity);\n>  \tif (!mediaEntity)\n>  \t\treturn nullptr;\n>  \n> -\treturn new V4L2Device(mediaEntity);\n> +\treturn new V4L2VideoDevice(mediaEntity);\n>  }\n>  \n>  } /* namespace libcamera */\n> diff --git a/test/meson.build b/test/meson.build\n> index 609aeab80e7d..82b29d8dc7eb 100644\n> --- a/test/meson.build\n> +++ b/test/meson.build\n> @@ -4,8 +4,8 @@ subdir('camera')\n>  subdir('ipa')\n>  subdir('media_device')\n>  subdir('pipeline')\n> -subdir('v4l2_device')\n>  subdir('v4l2_subdevice')\n> +subdir('v4l2_videodevice')\n>  \n>  public_tests = [\n>      ['event',                           'event.cpp'],\n> diff --git a/test/v4l2_device/buffer_sharing.cpp b/test/v4l2_videodevice/buffer_sharing.cpp\n> similarity index 90%\n> rename from test/v4l2_device/buffer_sharing.cpp\n> rename to test/v4l2_videodevice/buffer_sharing.cpp\n> index e63ddff85689..1bc478fe8f8e 100644\n> --- a/test/v4l2_device/buffer_sharing.cpp\n> +++ b/test/v4l2_videodevice/buffer_sharing.cpp\n> @@ -4,8 +4,8 @@\n>   *\n>   * libcamera V4L2 API tests\n>   *\n> - * Validate the function of exporting buffers from a V4L2Device and\n> - * the ability to import them to another V4L2Device instance.\n> + * Validate the function of exporting buffers from a V4L2VideoDevice and\n> + * the ability to import them to another V4L2VideoDevice instance.\n>   * Ensure that the Buffers can successfully be queued and dequeued\n>   * between both devices.\n>   */\n> @@ -17,19 +17,19 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class BufferSharingTest : public V4L2DeviceTest\n> +class BufferSharingTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tBufferSharingTest()\n> -\t\t: V4L2DeviceTest(\"vivid\", \"vivid-000-vid-cap\"),\n> +\t\t: V4L2VideoDeviceTest(\"vivid\", \"vivid-000-vid-cap\"),\n>  \t\t  output_(nullptr), framesCaptured_(0), framesOutput_(0) {}\n>  \n>  protected:\n>  \tint init()\n>  \t{\n> -\t\tint ret = V4L2DeviceTest::init();\n> +\t\tint ret = V4L2VideoDeviceTest::init();\n>  \t\tif (ret)\n>  \t\t\treturn ret;\n>  \n> @@ -38,7 +38,7 @@ protected:\n>  \t\tif (!entity)\n>  \t\t\treturn TestSkip;\n>  \n> -\t\toutput_ = new V4L2Device(entity);\n> +\t\toutput_ = new V4L2VideoDevice(entity);\n>  \t\tif (!output_) {\n>  \t\t\tstd::cout << \"Failed to create output device\" << std::endl;\n>  \t\t\treturn TestFail;\n> @@ -171,13 +171,13 @@ protected:\n>  \n>  \t\tdelete output_;\n>  \n> -\t\tV4L2DeviceTest::cleanup();\n> +\t\tV4L2VideoDeviceTest::cleanup();\n>  \t}\n>  \n>  private:\n>  \tconst unsigned int bufferCount = 4;\n>  \n> -\tV4L2Device *output_;\n> +\tV4L2VideoDevice *output_;\n>  \n>  \tunsigned int framesCaptured_;\n>  \tunsigned int framesOutput_;\n> diff --git a/test/v4l2_device/capture_async.cpp b/test/v4l2_videodevice/capture_async.cpp\n> similarity index 91%\n> rename from test/v4l2_device/capture_async.cpp\n> rename to test/v4l2_videodevice/capture_async.cpp\n> index 69b1d5a13ed8..cea4fffbf7a5 100644\n> --- a/test/v4l2_device/capture_async.cpp\n> +++ b/test/v4l2_videodevice/capture_async.cpp\n> @@ -12,13 +12,13 @@\n>  \n>  #include <iostream>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class CaptureAsyncTest : public V4L2DeviceTest\n> +class CaptureAsyncTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tCaptureAsyncTest()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\"), frames(0) {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\"), frames(0) {}\n>  \n>  \tvoid receiveBuffer(Buffer *buffer)\n>  \t{\n> diff --git a/test/v4l2_device/double_open.cpp b/test/v4l2_videodevice/double_open.cpp\n> similarity index 75%\n> rename from test/v4l2_device/double_open.cpp\n> rename to test/v4l2_videodevice/double_open.cpp\n> index 53850620889b..5768d4043d0b 100644\n> --- a/test/v4l2_device/double_open.cpp\n> +++ b/test/v4l2_videodevice/double_open.cpp\n> @@ -7,15 +7,15 @@\n>  \n>  #include <iostream>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n>  namespace {\n>  \n> -class DoubleOpen : public V4L2DeviceTest\n> +class DoubleOpen : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tDoubleOpen()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  protected:\n>  \tint run()\n>  \t{\n> @@ -23,7 +23,7 @@ protected:\n>  \n>  \t\t/*\n>  \t\t * Expect failure: The device has already been opened by the\n> -\t\t * V4L2DeviceTest base class\n> +\t\t * V4L2VideoDeviceTest base class\n>  \t\t */\n>  \t\tret = capture_->open();\n>  \t\tif (!ret) {\n> diff --git a/test/v4l2_device/formats.cpp b/test/v4l2_videodevice/formats.cpp\n> similarity index 85%\n> rename from test/v4l2_device/formats.cpp\n> rename to test/v4l2_videodevice/formats.cpp\n> index 6be045ff754c..ee7d357de075 100644\n> --- a/test/v4l2_device/formats.cpp\n> +++ b/test/v4l2_videodevice/formats.cpp\n> @@ -8,18 +8,18 @@\n>  #include <climits>\n>  #include <iostream>\n>  \n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n>  using namespace std;\n>  using namespace libcamera;\n>  \n> -class Format : public V4L2DeviceTest\n> +class Format : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tFormat()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  protected:\n>  \tint run()\n>  \t{\n> diff --git a/test/v4l2_device/meson.build b/test/v4l2_videodevice/meson.build\n> similarity index 74%\n> rename from test/v4l2_device/meson.build\n> rename to test/v4l2_videodevice/meson.build\n> index de540b1ba6f5..76be5e142bb6 100644\n> --- a/test/v4l2_device/meson.build\n> +++ b/test/v4l2_videodevice/meson.build\n> @@ -1,6 +1,6 @@\n>  # Tests are listed in order of complexity.\n>  # They are not alphabetically sorted.\n> -v4l2_device_tests = [\n> +v4l2_videodevice_tests = [\n>      [ 'double_open',        'double_open.cpp' ],\n>      [ 'formats',            'formats.cpp' ],\n>      [ 'request_buffers',    'request_buffers.cpp' ],\n> @@ -9,10 +9,10 @@ v4l2_device_tests = [\n>      [ 'buffer_sharing',     'buffer_sharing.cpp' ],\n>  ]\n>  \n> -foreach t : v4l2_device_tests\n> -    exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'],\n> +foreach t : v4l2_videodevice_tests\n> +    exe = executable(t[0], [t[1], 'v4l2_videodevice_test.cpp'],\n>                       dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_internal)\n> -    test(t[0], exe, suite : 'v4l2_device', is_parallel : false)\n> +    test(t[0], exe, suite : 'v4l2_videodevice', is_parallel : false)\n>  endforeach\n> diff --git a/test/v4l2_device/request_buffers.cpp b/test/v4l2_videodevice/request_buffers.cpp\n> similarity index 77%\n> rename from test/v4l2_device/request_buffers.cpp\n> rename to test/v4l2_videodevice/request_buffers.cpp\n> index 7b7b06b2b409..c4aedf7b3cd6 100644\n> --- a/test/v4l2_device/request_buffers.cpp\n> +++ b/test/v4l2_videodevice/request_buffers.cpp\n> @@ -5,13 +5,13 @@\n>   * libcamera V4L2 API tests\n>   */\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class RequestBuffersTest : public V4L2DeviceTest\n> +class RequestBuffersTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tRequestBuffersTest()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  \n>  protected:\n>  \tint run()\n> diff --git a/test/v4l2_device/stream_on_off.cpp b/test/v4l2_videodevice/stream_on_off.cpp\n> similarity index 78%\n> rename from test/v4l2_device/stream_on_off.cpp\n> rename to test/v4l2_videodevice/stream_on_off.cpp\n> index b158b8e402c8..7664adc4c1f0 100644\n> --- a/test/v4l2_device/stream_on_off.cpp\n> +++ b/test/v4l2_videodevice/stream_on_off.cpp\n> @@ -5,13 +5,13 @@\n>   * libcamera V4L2 API tests\n>   */\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class StreamOnStreamOffTest : public V4L2DeviceTest\n> +class StreamOnStreamOffTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tStreamOnStreamOffTest()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  protected:\n>  \tint run()\n>  \t{\n> diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> similarity index 90%\n> rename from test/v4l2_device/v4l2_device_test.cpp\n> rename to test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> index baad48f8aa9e..b26d06ad4519 100644\n> --- a/test/v4l2_device/v4l2_device_test.cpp\n> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> @@ -8,7 +8,7 @@\n>  #include <iostream>\n>  #include <sys/stat.h>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n>  #include \"device_enumerator.h\"\n>  #include \"media_device.h\"\n> @@ -26,7 +26,7 @@ bool exists(const std::string &path)\n>  \treturn false;\n>  }\n>  \n> -int V4L2DeviceTest::init()\n> +int V4L2VideoDeviceTest::init()\n>  {\n>  \tenumerator_ = DeviceEnumerator::create();\n>  \tif (!enumerator_) {\n> @@ -50,7 +50,7 @@ int V4L2DeviceTest::init()\n>  \tif (!entity)\n>  \t\treturn TestSkip;\n>  \n> -\tcapture_ = new V4L2Device(entity);\n> +\tcapture_ = new V4L2VideoDevice(entity);\n>  \tif (!capture_)\n>  \t\treturn TestFail;\n>  \n> @@ -77,7 +77,7 @@ int V4L2DeviceTest::init()\n>  \treturn TestPass;\n>  }\n>  \n> -void V4L2DeviceTest::cleanup()\n> +void V4L2VideoDeviceTest::cleanup()\n>  {\n>  \tcapture_->streamOff();\n>  \tcapture_->releaseBuffers();\n> diff --git a/test/v4l2_device/v4l2_device_test.h b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> similarity index 81%\n> rename from test/v4l2_device/v4l2_device_test.h\n> rename to test/v4l2_videodevice/v4l2_videodevice_test.h\n> index 651c005f4e54..3321b5a4f98f 100644\n> --- a/test/v4l2_device/v4l2_device_test.h\n> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> @@ -15,14 +15,14 @@\n>  \n>  #include \"device_enumerator.h\"\n>  #include \"media_device.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  using namespace libcamera;\n>  \n> -class V4L2DeviceTest : public Test\n> +class V4L2VideoDeviceTest : public Test\n>  {\n>  public:\n> -\tV4L2DeviceTest(const char *driver, const char *entity)\n> +\tV4L2VideoDeviceTest(const char *driver, const char *entity)\n>  \t\t: driver_(driver), entity_(entity), capture_(nullptr)\n>  \t{\n>  \t}\n> @@ -35,7 +35,7 @@ protected:\n>  \tstd::string entity_;\n>  \tstd::unique_ptr<DeviceEnumerator> enumerator_;\n>  \tstd::shared_ptr<MediaDevice> media_;\n> -\tV4L2Device *capture_;\n> +\tV4L2VideoDevice *capture_;\n>  \tBufferPool pool_;\n>  };\n>","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 16F8B618F7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 18 Jun 2019 22:47:55 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi\n\t[IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 75C06D5;\n\tTue, 18 Jun 2019 22:47:54 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1560890874;\n\tbh=ikYAxl+UKuGLHXZ4bS0/wr7Ee/6owVcIHTdgybx631A=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=LNk0yRosXcbruts5mnjPwOd9+T7E784ZDN8k1b5AmQdgMtrcvQgnHCI3U56xOceEt\n\ts4cNIZwn3IlUAr4S8SmalN5FxTV/uZcsoVWJwyOpL/yDJa4fl3l2jLJzz2Huwt9yPB\n\tKSItErPXYkcQmiYj2647JYT1H979NFd9kucVa3UQ=","Date":"Tue, 18 Jun 2019 23:47:23 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190618204723.GE23556@pendragon.ideasonboard.com>","References":"<20190613074955.14512-1-jacopo@jmondi.org>\n\t<20190613074955.14512-2-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20190613074955.14512-2-jacopo@jmondi.org>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v4 1/2] libcamera: Rename V4L2Device\n\tto V4L2VideoDevice","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 18 Jun 2019 20:47:55 -0000"}},{"id":1926,"web_url":"https://patchwork.libcamera.org/comment/1926/","msgid":"<20190619072905.s4d2pb62jp4k77ve@uno.localdomain>","date":"2019-06-19T07:29:05","subject":"Re: [libcamera-devel] [PATCH v4 1/2] libcamera: Rename V4L2Device\n\tto V4L2VideoDevice","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n\nOn Tue, Jun 18, 2019 at 11:47:23PM +0300, Laurent Pinchart wrote:\n> Hi Jacopo,\n>\n> Thank you for the patch.\n>\n> On Thu, Jun 13, 2019 at 09:49:54AM +0200, Jacopo Mondi wrote:\n> > In preparation of creating a new V4L2Device base class, rename\n> > V4L2Device to V4L2VideoDevice.\n> >\n> > This is a project wide rename without any intended functional change.\n> >\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> > ---\n> >  include/libcamera/buffer.h                    |   2 +-\n> >  .../{v4l2_device.h => v4l2_videodevice.h}     |  24 ++---\n> >  src/libcamera/meson.build                     |   4 +-\n> >  src/libcamera/pipeline/ipu3/ipu3.cpp          |  24 ++---\n> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   6 +-\n> >  src/libcamera/pipeline/uvcvideo.cpp           |   6 +-\n> >  src/libcamera/pipeline/vimc.cpp               |   6 +-\n> >  src/libcamera/v4l2_subdevice.cpp              |   2 +-\n> >  .../{v4l2_device.cpp => v4l2_videodevice.cpp} | 101 +++++++++---------\n> >  test/meson.build                              |   2 +-\n> >  .../buffer_sharing.cpp                        |  18 ++--\n> >  .../capture_async.cpp                         |   6 +-\n> >  .../double_open.cpp                           |   8 +-\n> >  .../formats.cpp                               |   8 +-\n> >  .../meson.build                               |   8 +-\n> >  .../request_buffers.cpp                       |   6 +-\n> >  .../stream_on_off.cpp                         |   6 +-\n> >  .../v4l2_videodevice_test.cpp}                |   8 +-\n> >  .../v4l2_videodevice_test.h}                  |   8 +-\n> >  19 files changed, 127 insertions(+), 126 deletions(-)\n> >  rename src/libcamera/include/{v4l2_device.h => v4l2_videodevice.h} (86%)\n> >  rename src/libcamera/{v4l2_device.cpp => v4l2_videodevice.cpp} (90%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/buffer_sharing.cpp (90%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/capture_async.cpp (91%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/double_open.cpp (75%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/formats.cpp (85%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/meson.build (74%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/request_buffers.cpp (77%)\n> >  rename test/{v4l2_device => v4l2_videodevice}/stream_on_off.cpp (78%)\n> >  rename test/{v4l2_device/v4l2_device_test.cpp => v4l2_videodevice/v4l2_videodevice_test.cpp} (90%)\n> >  rename test/{v4l2_device/v4l2_device_test.h => v4l2_videodevice/v4l2_videodevice_test.h} (81%)\n> >\n> > diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h\n> > index 8f9b42e39339..260a62e9e77e 100644\n> > --- a/include/libcamera/buffer.h\n> > +++ b/include/libcamera/buffer.h\n> > @@ -59,7 +59,7 @@ private:\n> >  \tfriend class BufferPool;\n> >  \tfriend class PipelineHandler;\n> >  \tfriend class Request;\n> > -\tfriend class V4L2Device;\n> > +\tfriend class V4L2VideoDevice;\n> >\n> >  \tvoid cancel();\n> >\n> > diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_videodevice.h\n> > similarity index 86%\n> > rename from src/libcamera/include/v4l2_device.h\n> > rename to src/libcamera/include/v4l2_videodevice.h\n> > index bdecc087fe5a..6ecdb64e5f3c 100644\n> > --- a/src/libcamera/include/v4l2_device.h\n> > +++ b/src/libcamera/include/v4l2_videodevice.h\n> > @@ -2,10 +2,10 @@\n> >  /*\n> >   * Copyright (C) 2019, Google Inc.\n> >   *\n> > - * v4l2_device.h - V4L2 Device\n> > + * v4l2_videodevice.h - V4L2 Video Device\n> >   */\n> > -#ifndef __LIBCAMERA_V4L2_DEVICE_H__\n> > -#define __LIBCAMERA_V4L2_DEVICE_H__\n> > +#ifndef __LIBCAMERA_V4L2_VIDEODEVICE_H__\n> > +#define __LIBCAMERA_V4L2_VIDEODEVICE_H__\n> >\n> >  #include <atomic>\n> >  #include <string>\n> > @@ -111,15 +111,15 @@ public:\n> >  \tconst std::string toString() const;\n> >  };\n> >\n> > -class V4L2Device : protected Loggable\n> > +class V4L2VideoDevice : protected Loggable\n> >  {\n> >  public:\n> > -\texplicit V4L2Device(const std::string &deviceNode);\n> > -\texplicit V4L2Device(const MediaEntity *entity);\n> > -\tV4L2Device(const V4L2Device &) = delete;\n> > -\t~V4L2Device();\n> > +\texplicit V4L2VideoDevice(const std::string &deviceNode);\n> > +\texplicit V4L2VideoDevice(const MediaEntity *entity);\n> > +\tV4L2VideoDevice(const V4L2VideoDevice &) = delete;\n> > +\t~V4L2VideoDevice();\n> >\n> > -\tV4L2Device &operator=(const V4L2Device &) = delete;\n> > +\tV4L2VideoDevice &operator=(const V4L2VideoDevice &) = delete;\n> >\n> >  \tint open();\n> >  \tbool isOpen() const;\n> > @@ -143,8 +143,8 @@ public:\n> >  \tint streamOn();\n> >  \tint streamOff();\n> >\n> > -\tstatic V4L2Device *fromEntityName(const MediaDevice *media,\n> > -\t\t\t\t\t  const std::string &entity);\n> > +\tstatic V4L2VideoDevice *fromEntityName(const MediaDevice *media,\n> > +\t\t\t\t\t       const std::string &entity);\n> >\n> >  protected:\n> >  \tstd::string logPrefix() const;\n> > @@ -181,4 +181,4 @@ private:\n> >\n> >  } /* namespace libcamera */\n> >\n> > -#endif /* __LIBCAMERA_V4L2_DEVICE_H__ */\n> > +#endif /* __LIBCAMERA_V4L2_VIDEODEVICE_H__ */\n> > diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> > index 1ca1083cf5c7..15ab53b1abbe 100644\n> > --- a/src/libcamera/meson.build\n> > +++ b/src/libcamera/meson.build\n> > @@ -23,8 +23,8 @@ libcamera_sources = files([\n> >      'stream.cpp',\n> >      'timer.cpp',\n> >      'utils.cpp',\n> > -    'v4l2_device.cpp',\n> >      'v4l2_subdevice.cpp',\n> > +    'v4l2_videodevice.cpp',\n> >  ])\n> >\n> >  libcamera_headers = files([\n> > @@ -41,8 +41,8 @@ libcamera_headers = files([\n> >      'include/media_object.h',\n> >      'include/pipeline_handler.h',\n> >      'include/utils.h',\n> > -    'include/v4l2_device.h',\n> >      'include/v4l2_subdevice.h',\n> > +    'include/v4l2_videodevice.h',\n> >  ])\n> >\n> >  libcamera_internal_includes =  include_directories('include')\n> > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > index f2bdecbac20f..1c0a9825b4cd 100644\n> > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > @@ -22,8 +22,8 @@\n> >  #include \"media_device.h\"\n> >  #include \"pipeline_handler.h\"\n> >  #include \"utils.h\"\n> > -#include \"v4l2_device.h\"\n> >  #include \"v4l2_subdevice.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> >  namespace libcamera {\n> >\n> > @@ -39,7 +39,7 @@ public:\n> >\n> >  \t/* ImgU output descriptor: group data specific to an ImgU output. */\n> >  \tstruct ImgUOutput {\n> > -\t\tV4L2Device *dev;\n> > +\t\tV4L2VideoDevice *dev;\n> >  \t\tunsigned int pad;\n> >  \t\tstd::string name;\n> >  \t\tBufferPool *pool;\n> > @@ -85,7 +85,7 @@ public:\n> >  \tMediaDevice *media_;\n> >\n> >  \tV4L2Subdevice *imgu_;\n> > -\tV4L2Device *input_;\n> > +\tV4L2VideoDevice *input_;\n> >  \tImgUOutput output_;\n> >  \tImgUOutput viewfinder_;\n> >  \tImgUOutput stat_;\n> > @@ -125,7 +125,7 @@ public:\n> >\n> >  \tstatic int mediaBusToFormat(unsigned int code);\n> >\n> > -\tV4L2Device *output_;\n> > +\tV4L2VideoDevice *output_;\n> >  \tV4L2Subdevice *csi2_;\n> >  \tCameraSensor *sensor_;\n> >\n> > @@ -943,7 +943,7 @@ void IPU3CameraData::cio2BufferReady(Buffer *buffer)\n> >   * Create and open the V4L2 devices and subdevices of the ImgU instance\n> >   * with \\a index.\n> >   *\n> > - * In case of errors the created V4L2Device and V4L2Subdevice instances\n> > + * In case of errors the created V4L2VideoDevice and V4L2Subdevice instances\n> >   * are destroyed at pipeline handler delete time.\n> >   *\n> >   * \\return 0 on success or a negative error code otherwise\n> > @@ -966,12 +966,12 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n> >  \tif (ret)\n> >  \t\treturn ret;\n> >\n> > -\tinput_ = V4L2Device::fromEntityName(media, name_ + \" input\");\n> > +\tinput_ = V4L2VideoDevice::fromEntityName(media, name_ + \" input\");\n> >  \tret = input_->open();\n> >  \tif (ret)\n> >  \t\treturn ret;\n> >\n> > -\toutput_.dev = V4L2Device::fromEntityName(media, name_ + \" output\");\n> > +\toutput_.dev = V4L2VideoDevice::fromEntityName(media, name_ + \" output\");\n> >  \tret = output_.dev->open();\n> >  \tif (ret)\n> >  \t\treturn ret;\n> > @@ -980,8 +980,8 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n> >  \toutput_.name = \"output\";\n> >  \toutput_.pool = &outPool_;\n> >\n> > -\tviewfinder_.dev = V4L2Device::fromEntityName(media,\n> > -\t\t\t\t\t\t     name_ + \" viewfinder\");\n> > +\tviewfinder_.dev = V4L2VideoDevice::fromEntityName(media,\n> > +\t\t\t\t\t\t\t  name_ + \" viewfinder\");\n> >  \tret = viewfinder_.dev->open();\n> >  \tif (ret)\n> >  \t\treturn ret;\n> > @@ -990,7 +990,7 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n> >  \tviewfinder_.name = \"viewfinder\";\n> >  \tviewfinder_.pool = &vfPool_;\n> >\n> > -\tstat_.dev = V4L2Device::fromEntityName(media, name_ + \" 3a stat\");\n> > +\tstat_.dev = V4L2VideoDevice::fromEntityName(media, name_ + \" 3a stat\");\n> >  \tret = stat_.dev->open();\n> >  \tif (ret)\n> >  \t\treturn ret;\n> > @@ -1067,7 +1067,7 @@ int ImgUDevice::configureInput(const Size &size,\n> >  int ImgUDevice::configureOutput(ImgUOutput *output,\n> >  \t\t\t\tconst StreamConfiguration &cfg)\n> >  {\n> > -\tV4L2Device *dev = output->dev;\n> > +\tV4L2VideoDevice *dev = output->dev;\n> >  \tunsigned int pad = output->pad;\n> >\n> >  \tV4L2SubdeviceFormat imguFormat = {};\n> > @@ -1337,7 +1337,7 @@ int CIO2Device::init(const MediaDevice *media, unsigned int index)\n> >  \t\treturn ret;\n> >\n> >  \tstd::string cio2Name = \"ipu3-cio2 \" + std::to_string(index);\n> > -\toutput_ = V4L2Device::fromEntityName(media, cio2Name);\n> > +\toutput_ = V4L2VideoDevice::fromEntityName(media, cio2Name);\n> >  \tret = output_->open();\n> >  \tif (ret)\n> >  \t\treturn ret;\n> > diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> > index 9b3eea2f6dd3..4a5898d25f91 100644\n> > --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> > +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> > @@ -23,8 +23,8 @@\n> >  #include \"media_device.h\"\n> >  #include \"pipeline_handler.h\"\n> >  #include \"utils.h\"\n> > -#include \"v4l2_device.h\"\n> >  #include \"v4l2_subdevice.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> >  namespace libcamera {\n> >\n> > @@ -106,7 +106,7 @@ private:\n> >  \tMediaDevice *media_;\n> >  \tV4L2Subdevice *dphy_;\n> >  \tV4L2Subdevice *isp_;\n> > -\tV4L2Device *video_;\n> > +\tV4L2VideoDevice *video_;\n> >\n> >  \tCamera *activeCamera_;\n> >  };\n> > @@ -458,7 +458,7 @@ bool PipelineHandlerRkISP1::match(DeviceEnumerator *enumerator)\n> >  \t\treturn false;\n> >\n> >  \t/* Locate and open the capture video node. */\n> > -\tvideo_ = V4L2Device::fromEntityName(media_, \"rkisp1_mainpath\");\n> > +\tvideo_ = V4L2VideoDevice::fromEntityName(media_, \"rkisp1_mainpath\");\n> >  \tif (video_->open() < 0)\n> >  \t\treturn false;\n> >\n> > diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp\n> > index 45260f34c8f5..b0d768628a19 100644\n> > --- a/src/libcamera/pipeline/uvcvideo.cpp\n> > +++ b/src/libcamera/pipeline/uvcvideo.cpp\n> > @@ -14,7 +14,7 @@\n> >  #include \"media_device.h\"\n> >  #include \"pipeline_handler.h\"\n> >  #include \"utils.h\"\n> > -#include \"v4l2_device.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> >  namespace libcamera {\n> >\n> > @@ -35,7 +35,7 @@ public:\n> >\n> >  \tvoid bufferReady(Buffer *buffer);\n> >\n> > -\tV4L2Device *video_;\n> > +\tV4L2VideoDevice *video_;\n> >  \tStream stream_;\n> >  };\n> >\n> > @@ -229,7 +229,7 @@ bool PipelineHandlerUVC::match(DeviceEnumerator *enumerator)\n> >  \t/* Locate and open the default video node. */\n> >  \tfor (MediaEntity *entity : media->entities()) {\n> >  \t\tif (entity->flags() & MEDIA_ENT_FL_DEFAULT) {\n> > -\t\t\tdata->video_ = new V4L2Device(entity);\n> > +\t\t\tdata->video_ = new V4L2VideoDevice(entity);\n> >  \t\t\tbreak;\n> >  \t\t}\n> >  \t}\n> > diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp\n> > index ad4577acd9d6..6833213650dc 100644\n> > --- a/src/libcamera/pipeline/vimc.cpp\n> > +++ b/src/libcamera/pipeline/vimc.cpp\n> > @@ -20,7 +20,7 @@\n> >  #include \"media_device.h\"\n> >  #include \"pipeline_handler.h\"\n> >  #include \"utils.h\"\n> > -#include \"v4l2_device.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> >  namespace libcamera {\n> >\n> > @@ -41,7 +41,7 @@ public:\n> >\n> >  \tvoid bufferReady(Buffer *buffer);\n> >\n> > -\tV4L2Device *video_;\n> > +\tV4L2VideoDevice *video_;\n> >  \tStream stream_;\n> >  };\n> >\n> > @@ -262,7 +262,7 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)\n> >  \tstd::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this);\n> >\n> >  \t/* Locate and open the capture video node. */\n> > -\tdata->video_ = new V4L2Device(media->getEntityByName(\"Raw Capture 1\"));\n> > +\tdata->video_ = new V4L2VideoDevice(media->getEntityByName(\"Raw Capture 1\"));\n> >  \tif (data->video_->open())\n> >  \t\treturn false;\n> >\n> > diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> > index fceee33156e9..6681c1920065 100644\n> > --- a/src/libcamera/v4l2_subdevice.cpp\n> > +++ b/src/libcamera/v4l2_subdevice.cpp\n> > @@ -44,7 +44,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev)\n> >   * as the \"media bus format\", and it is identified by a resolution and a pixel\n> >   * format identification code, known as the \"media bus code\", not to be confused\n> >   * with the fourcc code that identify the format of images when stored in memory\n> > - * (see V4L2Device::V4L2DeviceFormat).\n> > + * (see V4L2VideoDevice::V4L2DeviceFormat).\n>\n> I wonder if we should rename V4L2DeviceFormat format too, but that can\n> come in a second step.\n>\n\nI intentionally left them out as Niklas' series removes them\n\n> >   *\n> >   * Media Bus formats supported by the V4L2 APIs are described in Section\n> >   * 4.15.3.4.1 of the \"Part I - Video for Linux API\" chapter of the \"Linux Media\n> > diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_videodevice.cpp\n> > similarity index 90%\n> > rename from src/libcamera/v4l2_device.cpp\n> > rename to src/libcamera/v4l2_videodevice.cpp\n> > index 0821bd75fb42..8957cf8f97d3 100644\n> > --- a/src/libcamera/v4l2_device.cpp\n> > +++ b/src/libcamera/v4l2_videodevice.cpp\n> > @@ -2,10 +2,10 @@\n> >  /*\n> >   * Copyright (C) 2019, Google Inc.\n> >   *\n> > - * v4l2_device.cpp - V4L2 Device\n> > + * v4l2_videodevice.cpp - V4L2 Video Device\n> >   */\n> >\n> > -#include \"v4l2_device.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> >  #include <fcntl.h>\n> >  #include <iomanip>\n> > @@ -25,8 +25,8 @@\n> >  #include \"media_object.h\"\n> >\n> >  /**\n> > - * \\file v4l2_device.h\n> > - * \\brief V4L2 Device API\n> > + * \\file v4l2_videodevice.h\n> > + * \\brief V4L2 Video Device API\n> >   */\n> >  namespace libcamera {\n> >\n> > @@ -243,8 +243,8 @@ const std::string V4L2DeviceFormat::toString() const\n> >  }\n> >\n> >  /**\n> > - * \\class V4L2Device\n> > - * \\brief V4L2Device object and API\n> > + * \\class V4L2VideoDevice\n> > + * \\brief V4L2VideoDevice object and API\n> >   *\n> >   * The V4L2 Device API class models an instance of a V4L2 device node.\n>\n> \"V4L2 Video Device API\" and \"V4L2 video device node\". Could you have a\n> look through the documentation to see if there are other instances ?\n>\n> >   * It is constructed with the path to a V4L2 video device node. The device node\n> > @@ -257,7 +257,7 @@ const std::string V4L2DeviceFormat::toString() const\n> >   * No API call other than open(), isOpen() and close() shall be called on an\n> >   * unopened device instance.\n> >   *\n> > - * The V4L2Device class tracks queued buffers and handles buffer events. It\n> > + * The V4L2VideoDevice class tracks queued buffers and handles buffer events. It\n> >   * automatically dequeues completed buffers and emits the \\ref bufferReady\n> >   * signal.\n> >   *\n> > @@ -266,10 +266,10 @@ const std::string V4L2DeviceFormat::toString() const\n> >   */\n> >\n> >  /**\n> > - * \\brief Construct a V4L2Device\n> > + * \\brief Construct a V4L2VideoDevice\n> >   * \\param[in] deviceNode The file-system path to the video device node\n> >   */\n> > -V4L2Device::V4L2Device(const std::string &deviceNode)\n> > +V4L2VideoDevice::V4L2VideoDevice(const std::string &deviceNode)\n> >  \t: deviceNode_(deviceNode), fd_(-1), bufferPool_(nullptr),\n> >  \t  queuedBuffersCount_(0), fdEvent_(nullptr)\n> >  {\n> > @@ -282,17 +282,17 @@ V4L2Device::V4L2Device(const std::string &deviceNode)\n> >  }\n> >\n> >  /**\n> > - * \\brief Construct a V4L2Device from a MediaEntity\n> > + * \\brief Construct a V4L2VideoDevice from a MediaEntity\n> >   * \\param[in] entity The MediaEntity to build the device from\n> >   *\n> > - * Construct a V4L2Device from a MediaEntity's device node path.\n> > + * Construct a V4L2VideoDevice from a MediaEntity's device node path.\n> >   */\n> > -V4L2Device::V4L2Device(const MediaEntity *entity)\n> > -\t: V4L2Device(entity->deviceNode())\n> > +V4L2VideoDevice::V4L2VideoDevice(const MediaEntity *entity)\n> > +\t: V4L2VideoDevice(entity->deviceNode())\n> >  {\n> >  }\n> >\n> > -V4L2Device::~V4L2Device()\n> > +V4L2VideoDevice::~V4L2VideoDevice()\n> >  {\n> >  \tclose();\n> >  }\n> > @@ -301,7 +301,7 @@ V4L2Device::~V4L2Device()\n> >   * \\brief Open a V4L2 device and query its capabilities\n>\n> Here's another one, \"V4L2 video device\".\n>\n> With the documentation addressed,\n>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> If you would like the documentation changes to be reviewed, you can send\n> a separate patch on top of this one, and then squash the two when\n> merging.\n>\n\nAck\n\nThanks\n   j\n\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::open()\n> > +int V4L2VideoDevice::open()\n> >  {\n> >  \tint ret;\n> >\n> > @@ -362,7 +362,7 @@ int V4L2Device::open()\n> >  \t\treturn -EINVAL;\n> >  \t}\n> >\n> > -\tfdEvent_->activated.connect(this, &V4L2Device::bufferAvailable);\n> > +\tfdEvent_->activated.connect(this, &V4L2VideoDevice::bufferAvailable);\n> >  \tfdEvent_->setEnabled(false);\n> >\n> >  \treturn 0;\n> > @@ -372,7 +372,7 @@ int V4L2Device::open()\n> >   * \\brief Check if device is successfully opened\n> >   * \\return True if the device is open, false otherwise\n> >   */\n> > -bool V4L2Device::isOpen() const\n> > +bool V4L2VideoDevice::isOpen() const\n> >  {\n> >  \treturn fd_ != -1;\n> >  }\n> > @@ -380,7 +380,7 @@ bool V4L2Device::isOpen() const\n> >  /**\n> >   * \\brief Close the device, releasing any resources acquired by open()\n> >   */\n> > -void V4L2Device::close()\n> > +void V4L2VideoDevice::close()\n> >  {\n> >  \tif (fd_ < 0)\n> >  \t\treturn;\n> > @@ -393,30 +393,30 @@ void V4L2Device::close()\n> >  }\n> >\n> >  /**\n> > - * \\fn V4L2Device::driverName()\n> > + * \\fn V4L2VideoDevice::driverName()\n> >   * \\brief Retrieve the name of the V4L2 device driver\n> >   * \\return The string containing the driver name\n> >   */\n> >\n> >  /**\n> > - * \\fn V4L2Device::deviceName()\n> > + * \\fn V4L2VideoDevice::deviceName()\n> >   * \\brief Retrieve the name of the V4L2 device\n> >   * \\return The string containing the device name\n> >   */\n> >\n> >  /**\n> > - * \\fn V4L2Device::busName()\n> > + * \\fn V4L2VideoDevice::busName()\n> >   * \\brief Retrieve the location of the device in the system\n> >   * \\return The string containing the device location\n> >   */\n> >\n> >  /**\n> > - * \\fn V4L2Device::deviceNode()\n> > + * \\fn V4L2VideoDevice::deviceNode()\n> >   * \\brief Retrieve the video device node path\n> >   * \\return The video device device node path\n> >   */\n> >\n> > -std::string V4L2Device::logPrefix() const\n> > +std::string V4L2VideoDevice::logPrefix() const\n> >  {\n> >  \treturn deviceNode_ + (V4L2_TYPE_IS_OUTPUT(bufferType_) ? \"[out]\" : \"[cap]\");\n> >  }\n> > @@ -426,7 +426,7 @@ std::string V4L2Device::logPrefix() const\n> >   * \\param[out] format The image format applied on the device\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::getFormat(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::getFormat(V4L2DeviceFormat *format)\n> >  {\n> >  \tif (caps_.isMeta())\n> >  \t\treturn getFormatMeta(format);\n> > @@ -441,11 +441,11 @@ int V4L2Device::getFormat(V4L2DeviceFormat *format)\n> >   * \\param[inout] format The image format to apply to the device\n> >   *\n> >   * Apply the supplied \\a format to the device, and return the actually\n> > - * applied format parameters, as \\ref V4L2Device::getFormat would do.\n> > + * applied format parameters, as \\ref V4L2VideoDevice::getFormat would do.\n> >   *\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::setFormat(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::setFormat(V4L2DeviceFormat *format)\n> >  {\n> >  \tif (caps_.isMeta())\n> >  \t\treturn setFormatMeta(format);\n> > @@ -455,7 +455,7 @@ int V4L2Device::setFormat(V4L2DeviceFormat *format)\n> >  \t\treturn setFormatSingleplane(format);\n> >  }\n> >\n> > -int V4L2Device::getFormatMeta(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::getFormatMeta(V4L2DeviceFormat *format)\n> >  {\n> >  \tstruct v4l2_format v4l2Format = {};\n> >  \tstruct v4l2_meta_format *pix = &v4l2Format.fmt.meta;\n> > @@ -479,7 +479,7 @@ int V4L2Device::getFormatMeta(V4L2DeviceFormat *format)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::setFormatMeta(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::setFormatMeta(V4L2DeviceFormat *format)\n> >  {\n> >  \tstruct v4l2_format v4l2Format = {};\n> >  \tstruct v4l2_meta_format *pix = &v4l2Format.fmt.meta;\n> > @@ -509,7 +509,7 @@ int V4L2Device::setFormatMeta(V4L2DeviceFormat *format)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::getFormatMultiplane(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::getFormatMultiplane(V4L2DeviceFormat *format)\n> >  {\n> >  \tstruct v4l2_format v4l2Format = {};\n> >  \tstruct v4l2_pix_format_mplane *pix = &v4l2Format.fmt.pix_mp;\n> > @@ -536,7 +536,7 @@ int V4L2Device::getFormatMultiplane(V4L2DeviceFormat *format)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::setFormatMultiplane(V4L2DeviceFormat *format)\n> >  {\n> >  \tstruct v4l2_format v4l2Format = {};\n> >  \tstruct v4l2_pix_format_mplane *pix = &v4l2Format.fmt.pix_mp;\n> > @@ -577,7 +577,7 @@ int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::getFormatSingleplane(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::getFormatSingleplane(V4L2DeviceFormat *format)\n> >  {\n> >  \tstruct v4l2_format v4l2Format = {};\n> >  \tstruct v4l2_pix_format *pix = &v4l2Format.fmt.pix;\n> > @@ -601,7 +601,7 @@ int V4L2Device::getFormatSingleplane(V4L2DeviceFormat *format)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)\n> > +int V4L2VideoDevice::setFormatSingleplane(V4L2DeviceFormat *format)\n> >  {\n> >  \tstruct v4l2_format v4l2Format = {};\n> >  \tstruct v4l2_pix_format *pix = &v4l2Format.fmt.pix;\n> > @@ -634,7 +634,7 @@ int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::requestBuffers(unsigned int count)\n> > +int V4L2VideoDevice::requestBuffers(unsigned int count)\n> >  {\n> >  \tstruct v4l2_requestbuffers rb = {};\n> >  \tint ret;\n> > @@ -663,7 +663,7 @@ int V4L2Device::requestBuffers(unsigned int count)\n> >   * \\param[out] pool BufferPool to populate with buffers\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::exportBuffers(BufferPool *pool)\n> > +int V4L2VideoDevice::exportBuffers(BufferPool *pool)\n> >  {\n> >  \tunsigned int allocatedBuffers;\n> >  \tunsigned int i;\n> > @@ -677,7 +677,8 @@ int V4L2Device::exportBuffers(BufferPool *pool)\n> >\n> >  \tallocatedBuffers = ret;\n> >  \tif (allocatedBuffers < pool->count()) {\n> > -\t\tLOG(V4L2, Error) << \"Not enough buffers provided by V4L2Device\";\n> > +\t\tLOG(V4L2, Error)\n> > +\t\t\t<< \"Not enough buffers provided by V4L2VideoDevice\";\n> >  \t\trequestBuffers(0);\n> >  \t\treturn -ENOMEM;\n> >  \t}\n> > @@ -731,8 +732,8 @@ int V4L2Device::exportBuffers(BufferPool *pool)\n> >  \treturn 0;\n> >  }\n> >\n> > -int V4L2Device::createPlane(Buffer *buffer, unsigned int planeIndex,\n> > -\t\t\t    unsigned int length)\n> > +int V4L2VideoDevice::createPlane(Buffer *buffer, unsigned int planeIndex,\n> > +\t\t\t\t unsigned int length)\n> >  {\n> >  \tstruct v4l2_exportbuffer expbuf = {};\n> >  \tint ret;\n> > @@ -768,7 +769,7 @@ int V4L2Device::createPlane(Buffer *buffer, unsigned int planeIndex,\n> >   * \\param[in] pool BufferPool of buffers to import\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::importBuffers(BufferPool *pool)\n> > +int V4L2VideoDevice::importBuffers(BufferPool *pool)\n> >  {\n> >  \tunsigned int allocatedBuffers;\n> >  \tint ret;\n> > @@ -782,7 +783,7 @@ int V4L2Device::importBuffers(BufferPool *pool)\n> >  \tallocatedBuffers = ret;\n> >  \tif (allocatedBuffers < pool->count()) {\n> >  \t\tLOG(V4L2, Error)\n> > -\t\t\t<< \"Not enough buffers provided by V4L2Device\";\n> > +\t\t\t<< \"Not enough buffers provided by V4L2VideoDevice\";\n> >  \t\trequestBuffers(0);\n> >  \t\treturn -ENOMEM;\n> >  \t}\n> > @@ -796,7 +797,7 @@ int V4L2Device::importBuffers(BufferPool *pool)\n> >  /**\n> >   * \\brief Release all internally allocated buffers\n> >   */\n> > -int V4L2Device::releaseBuffers()\n> > +int V4L2VideoDevice::releaseBuffers()\n> >  {\n> >  \tLOG(V4L2, Debug) << \"Releasing bufferPool\";\n> >\n> > @@ -816,7 +817,7 @@ int V4L2Device::releaseBuffers()\n> >   *\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::queueBuffer(Buffer *buffer)\n> > +int V4L2VideoDevice::queueBuffer(Buffer *buffer)\n> >  {\n> >  \tstruct v4l2_buffer buf = {};\n> >  \tstruct v4l2_plane planes[VIDEO_MAX_PLANES] = {};\n> > @@ -877,7 +878,7 @@ int V4L2Device::queueBuffer(Buffer *buffer)\n> >   *\n> >   * \\return A pointer to the dequeued buffer on success, or nullptr otherwise\n> >   */\n> > -Buffer *V4L2Device::dequeueBuffer()\n> > +Buffer *V4L2VideoDevice::dequeueBuffer()\n> >  {\n> >  \tstruct v4l2_buffer buf = {};\n> >  \tstruct v4l2_plane planes[VIDEO_MAX_PLANES] = {};\n> > @@ -926,7 +927,7 @@ Buffer *V4L2Device::dequeueBuffer()\n> >   * For Capture devices the Buffer will contain valid data.\n> >   * For Output devices the Buffer can be considered empty.\n> >   */\n> > -void V4L2Device::bufferAvailable(EventNotifier *notifier)\n> > +void V4L2VideoDevice::bufferAvailable(EventNotifier *notifier)\n> >  {\n> >  \tBuffer *buffer = dequeueBuffer();\n> >  \tif (!buffer)\n> > @@ -939,7 +940,7 @@ void V4L2Device::bufferAvailable(EventNotifier *notifier)\n> >  }\n> >\n> >  /**\n> > - * \\var V4L2Device::bufferReady\n> > + * \\var V4L2VideoDevice::bufferReady\n> >   * \\brief A Signal emitted when a buffer completes\n> >   */\n> >\n> > @@ -947,7 +948,7 @@ void V4L2Device::bufferAvailable(EventNotifier *notifier)\n> >   * \\brief Start the video stream\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::streamOn()\n> > +int V4L2VideoDevice::streamOn()\n> >  {\n> >  \tint ret;\n> >\n> > @@ -970,7 +971,7 @@ int V4L2Device::streamOn()\n> >   *\n> >   * \\return 0 on success or a negative error code otherwise\n> >   */\n> > -int V4L2Device::streamOff()\n> > +int V4L2VideoDevice::streamOff()\n> >  {\n> >  \tint ret;\n> >\n> > @@ -997,16 +998,16 @@ int V4L2Device::streamOff()\n> >   * Releasing memory of the newly created instance is responsibility of the\n> >   * caller of this function.\n> >   *\n> > - * \\return A newly created V4L2Device on success, nullptr otherwise\n> > + * \\return A newly created V4L2VideoDevice on success, nullptr otherwise\n> >   */\n> > -V4L2Device *V4L2Device::fromEntityName(const MediaDevice *media,\n> > -\t\t\t\t       const std::string &entity)\n> > +V4L2VideoDevice *V4L2VideoDevice::fromEntityName(const MediaDevice *media,\n> > +\t\t\t\t\t\t const std::string &entity)\n> >  {\n> >  \tMediaEntity *mediaEntity = media->getEntityByName(entity);\n> >  \tif (!mediaEntity)\n> >  \t\treturn nullptr;\n> >\n> > -\treturn new V4L2Device(mediaEntity);\n> > +\treturn new V4L2VideoDevice(mediaEntity);\n> >  }\n> >\n> >  } /* namespace libcamera */\n> > diff --git a/test/meson.build b/test/meson.build\n> > index 609aeab80e7d..82b29d8dc7eb 100644\n> > --- a/test/meson.build\n> > +++ b/test/meson.build\n> > @@ -4,8 +4,8 @@ subdir('camera')\n> >  subdir('ipa')\n> >  subdir('media_device')\n> >  subdir('pipeline')\n> > -subdir('v4l2_device')\n> >  subdir('v4l2_subdevice')\n> > +subdir('v4l2_videodevice')\n> >\n> >  public_tests = [\n> >      ['event',                           'event.cpp'],\n> > diff --git a/test/v4l2_device/buffer_sharing.cpp b/test/v4l2_videodevice/buffer_sharing.cpp\n> > similarity index 90%\n> > rename from test/v4l2_device/buffer_sharing.cpp\n> > rename to test/v4l2_videodevice/buffer_sharing.cpp\n> > index e63ddff85689..1bc478fe8f8e 100644\n> > --- a/test/v4l2_device/buffer_sharing.cpp\n> > +++ b/test/v4l2_videodevice/buffer_sharing.cpp\n> > @@ -4,8 +4,8 @@\n> >   *\n> >   * libcamera V4L2 API tests\n> >   *\n> > - * Validate the function of exporting buffers from a V4L2Device and\n> > - * the ability to import them to another V4L2Device instance.\n> > + * Validate the function of exporting buffers from a V4L2VideoDevice and\n> > + * the ability to import them to another V4L2VideoDevice instance.\n> >   * Ensure that the Buffers can successfully be queued and dequeued\n> >   * between both devices.\n> >   */\n> > @@ -17,19 +17,19 @@\n> >  #include <libcamera/event_dispatcher.h>\n> >  #include <libcamera/timer.h>\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> > -class BufferSharingTest : public V4L2DeviceTest\n> > +class BufferSharingTest : public V4L2VideoDeviceTest\n> >  {\n> >  public:\n> >  \tBufferSharingTest()\n> > -\t\t: V4L2DeviceTest(\"vivid\", \"vivid-000-vid-cap\"),\n> > +\t\t: V4L2VideoDeviceTest(\"vivid\", \"vivid-000-vid-cap\"),\n> >  \t\t  output_(nullptr), framesCaptured_(0), framesOutput_(0) {}\n> >\n> >  protected:\n> >  \tint init()\n> >  \t{\n> > -\t\tint ret = V4L2DeviceTest::init();\n> > +\t\tint ret = V4L2VideoDeviceTest::init();\n> >  \t\tif (ret)\n> >  \t\t\treturn ret;\n> >\n> > @@ -38,7 +38,7 @@ protected:\n> >  \t\tif (!entity)\n> >  \t\t\treturn TestSkip;\n> >\n> > -\t\toutput_ = new V4L2Device(entity);\n> > +\t\toutput_ = new V4L2VideoDevice(entity);\n> >  \t\tif (!output_) {\n> >  \t\t\tstd::cout << \"Failed to create output device\" << std::endl;\n> >  \t\t\treturn TestFail;\n> > @@ -171,13 +171,13 @@ protected:\n> >\n> >  \t\tdelete output_;\n> >\n> > -\t\tV4L2DeviceTest::cleanup();\n> > +\t\tV4L2VideoDeviceTest::cleanup();\n> >  \t}\n> >\n> >  private:\n> >  \tconst unsigned int bufferCount = 4;\n> >\n> > -\tV4L2Device *output_;\n> > +\tV4L2VideoDevice *output_;\n> >\n> >  \tunsigned int framesCaptured_;\n> >  \tunsigned int framesOutput_;\n> > diff --git a/test/v4l2_device/capture_async.cpp b/test/v4l2_videodevice/capture_async.cpp\n> > similarity index 91%\n> > rename from test/v4l2_device/capture_async.cpp\n> > rename to test/v4l2_videodevice/capture_async.cpp\n> > index 69b1d5a13ed8..cea4fffbf7a5 100644\n> > --- a/test/v4l2_device/capture_async.cpp\n> > +++ b/test/v4l2_videodevice/capture_async.cpp\n> > @@ -12,13 +12,13 @@\n> >\n> >  #include <iostream>\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> > -class CaptureAsyncTest : public V4L2DeviceTest\n> > +class CaptureAsyncTest : public V4L2VideoDeviceTest\n> >  {\n> >  public:\n> >  \tCaptureAsyncTest()\n> > -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\"), frames(0) {}\n> > +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\"), frames(0) {}\n> >\n> >  \tvoid receiveBuffer(Buffer *buffer)\n> >  \t{\n> > diff --git a/test/v4l2_device/double_open.cpp b/test/v4l2_videodevice/double_open.cpp\n> > similarity index 75%\n> > rename from test/v4l2_device/double_open.cpp\n> > rename to test/v4l2_videodevice/double_open.cpp\n> > index 53850620889b..5768d4043d0b 100644\n> > --- a/test/v4l2_device/double_open.cpp\n> > +++ b/test/v4l2_videodevice/double_open.cpp\n> > @@ -7,15 +7,15 @@\n> >\n> >  #include <iostream>\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> >  namespace {\n> >\n> > -class DoubleOpen : public V4L2DeviceTest\n> > +class DoubleOpen : public V4L2VideoDeviceTest\n> >  {\n> >  public:\n> >  \tDoubleOpen()\n> > -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> > +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> >  protected:\n> >  \tint run()\n> >  \t{\n> > @@ -23,7 +23,7 @@ protected:\n> >\n> >  \t\t/*\n> >  \t\t * Expect failure: The device has already been opened by the\n> > -\t\t * V4L2DeviceTest base class\n> > +\t\t * V4L2VideoDeviceTest base class\n> >  \t\t */\n> >  \t\tret = capture_->open();\n> >  \t\tif (!ret) {\n> > diff --git a/test/v4l2_device/formats.cpp b/test/v4l2_videodevice/formats.cpp\n> > similarity index 85%\n> > rename from test/v4l2_device/formats.cpp\n> > rename to test/v4l2_videodevice/formats.cpp\n> > index 6be045ff754c..ee7d357de075 100644\n> > --- a/test/v4l2_device/formats.cpp\n> > +++ b/test/v4l2_videodevice/formats.cpp\n> > @@ -8,18 +8,18 @@\n> >  #include <climits>\n> >  #include <iostream>\n> >\n> > -#include \"v4l2_device.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> >  using namespace std;\n> >  using namespace libcamera;\n> >\n> > -class Format : public V4L2DeviceTest\n> > +class Format : public V4L2VideoDeviceTest\n> >  {\n> >  public:\n> >  \tFormat()\n> > -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> > +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> >  protected:\n> >  \tint run()\n> >  \t{\n> > diff --git a/test/v4l2_device/meson.build b/test/v4l2_videodevice/meson.build\n> > similarity index 74%\n> > rename from test/v4l2_device/meson.build\n> > rename to test/v4l2_videodevice/meson.build\n> > index de540b1ba6f5..76be5e142bb6 100644\n> > --- a/test/v4l2_device/meson.build\n> > +++ b/test/v4l2_videodevice/meson.build\n> > @@ -1,6 +1,6 @@\n> >  # Tests are listed in order of complexity.\n> >  # They are not alphabetically sorted.\n> > -v4l2_device_tests = [\n> > +v4l2_videodevice_tests = [\n> >      [ 'double_open',        'double_open.cpp' ],\n> >      [ 'formats',            'formats.cpp' ],\n> >      [ 'request_buffers',    'request_buffers.cpp' ],\n> > @@ -9,10 +9,10 @@ v4l2_device_tests = [\n> >      [ 'buffer_sharing',     'buffer_sharing.cpp' ],\n> >  ]\n> >\n> > -foreach t : v4l2_device_tests\n> > -    exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'],\n> > +foreach t : v4l2_videodevice_tests\n> > +    exe = executable(t[0], [t[1], 'v4l2_videodevice_test.cpp'],\n> >                       dependencies : libcamera_dep,\n> >                       link_with : test_libraries,\n> >                       include_directories : test_includes_internal)\n> > -    test(t[0], exe, suite : 'v4l2_device', is_parallel : false)\n> > +    test(t[0], exe, suite : 'v4l2_videodevice', is_parallel : false)\n> >  endforeach\n> > diff --git a/test/v4l2_device/request_buffers.cpp b/test/v4l2_videodevice/request_buffers.cpp\n> > similarity index 77%\n> > rename from test/v4l2_device/request_buffers.cpp\n> > rename to test/v4l2_videodevice/request_buffers.cpp\n> > index 7b7b06b2b409..c4aedf7b3cd6 100644\n> > --- a/test/v4l2_device/request_buffers.cpp\n> > +++ b/test/v4l2_videodevice/request_buffers.cpp\n> > @@ -5,13 +5,13 @@\n> >   * libcamera V4L2 API tests\n> >   */\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> > -class RequestBuffersTest : public V4L2DeviceTest\n> > +class RequestBuffersTest : public V4L2VideoDeviceTest\n> >  {\n> >  public:\n> >  \tRequestBuffersTest()\n> > -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> > +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> >\n> >  protected:\n> >  \tint run()\n> > diff --git a/test/v4l2_device/stream_on_off.cpp b/test/v4l2_videodevice/stream_on_off.cpp\n> > similarity index 78%\n> > rename from test/v4l2_device/stream_on_off.cpp\n> > rename to test/v4l2_videodevice/stream_on_off.cpp\n> > index b158b8e402c8..7664adc4c1f0 100644\n> > --- a/test/v4l2_device/stream_on_off.cpp\n> > +++ b/test/v4l2_videodevice/stream_on_off.cpp\n> > @@ -5,13 +5,13 @@\n> >   * libcamera V4L2 API tests\n> >   */\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> > -class StreamOnStreamOffTest : public V4L2DeviceTest\n> > +class StreamOnStreamOffTest : public V4L2VideoDeviceTest\n> >  {\n> >  public:\n> >  \tStreamOnStreamOffTest()\n> > -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> > +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> >  protected:\n> >  \tint run()\n> >  \t{\n> > diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> > similarity index 90%\n> > rename from test/v4l2_device/v4l2_device_test.cpp\n> > rename to test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> > index baad48f8aa9e..b26d06ad4519 100644\n> > --- a/test/v4l2_device/v4l2_device_test.cpp\n> > +++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> > @@ -8,7 +8,7 @@\n> >  #include <iostream>\n> >  #include <sys/stat.h>\n> >\n> > -#include \"v4l2_device_test.h\"\n> > +#include \"v4l2_videodevice_test.h\"\n> >\n> >  #include \"device_enumerator.h\"\n> >  #include \"media_device.h\"\n> > @@ -26,7 +26,7 @@ bool exists(const std::string &path)\n> >  \treturn false;\n> >  }\n> >\n> > -int V4L2DeviceTest::init()\n> > +int V4L2VideoDeviceTest::init()\n> >  {\n> >  \tenumerator_ = DeviceEnumerator::create();\n> >  \tif (!enumerator_) {\n> > @@ -50,7 +50,7 @@ int V4L2DeviceTest::init()\n> >  \tif (!entity)\n> >  \t\treturn TestSkip;\n> >\n> > -\tcapture_ = new V4L2Device(entity);\n> > +\tcapture_ = new V4L2VideoDevice(entity);\n> >  \tif (!capture_)\n> >  \t\treturn TestFail;\n> >\n> > @@ -77,7 +77,7 @@ int V4L2DeviceTest::init()\n> >  \treturn TestPass;\n> >  }\n> >\n> > -void V4L2DeviceTest::cleanup()\n> > +void V4L2VideoDeviceTest::cleanup()\n> >  {\n> >  \tcapture_->streamOff();\n> >  \tcapture_->releaseBuffers();\n> > diff --git a/test/v4l2_device/v4l2_device_test.h b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> > similarity index 81%\n> > rename from test/v4l2_device/v4l2_device_test.h\n> > rename to test/v4l2_videodevice/v4l2_videodevice_test.h\n> > index 651c005f4e54..3321b5a4f98f 100644\n> > --- a/test/v4l2_device/v4l2_device_test.h\n> > +++ b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> > @@ -15,14 +15,14 @@\n> >\n> >  #include \"device_enumerator.h\"\n> >  #include \"media_device.h\"\n> > -#include \"v4l2_device.h\"\n> > +#include \"v4l2_videodevice.h\"\n> >\n> >  using namespace libcamera;\n> >\n> > -class V4L2DeviceTest : public Test\n> > +class V4L2VideoDeviceTest : public Test\n> >  {\n> >  public:\n> > -\tV4L2DeviceTest(const char *driver, const char *entity)\n> > +\tV4L2VideoDeviceTest(const char *driver, const char *entity)\n> >  \t\t: driver_(driver), entity_(entity), capture_(nullptr)\n> >  \t{\n> >  \t}\n> > @@ -35,7 +35,7 @@ protected:\n> >  \tstd::string entity_;\n> >  \tstd::unique_ptr<DeviceEnumerator> enumerator_;\n> >  \tstd::shared_ptr<MediaDevice> media_;\n> > -\tV4L2Device *capture_;\n> > +\tV4L2VideoDevice *capture_;\n> >  \tBufferPool pool_;\n> >  };\n> >\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n\t[217.70.183.200])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AFF1261A15\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Jun 2019 09:27:52 +0200 (CEST)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 07BE820006;\n\tWed, 19 Jun 2019 07:27:51 +0000 (UTC)"],"X-Originating-IP":"2.224.242.101","Date":"Wed, 19 Jun 2019 09:29:05 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190619072905.s4d2pb62jp4k77ve@uno.localdomain>","References":"<20190613074955.14512-1-jacopo@jmondi.org>\n\t<20190613074955.14512-2-jacopo@jmondi.org>\n\t<20190618204723.GE23556@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"fjakipanjzig6pxc\"","Content-Disposition":"inline","In-Reply-To":"<20190618204723.GE23556@pendragon.ideasonboard.com>","User-Agent":"NeoMutt/20180716","Subject":"Re: [libcamera-devel] [PATCH v4 1/2] libcamera: Rename V4L2Device\n\tto V4L2VideoDevice","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Wed, 19 Jun 2019 07:27:52 -0000"}}]