[libcamera-devel,v4,2/8] libcamera: v4l2_subdevice: Inherit from Loggable

Message ID 20190227173837.6902-3-jacopo@jmondi.org
State Superseded
Headers show
Series
  • v4l2_(sub)dev: improvements and tests
Related show

Commit Message

Jacopo Mondi Feb. 27, 2019, 5:38 p.m. UTC
Prefix the V4L2Subdevice error messages with the name of the entity.
Remove the manually printed name from log messages where it was used and
standardize error messages while at there.

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/include/v4l2_subdevice.h | 6 +++++-
 src/libcamera/v4l2_subdevice.cpp       | 8 ++++----
 2 files changed, 9 insertions(+), 5 deletions(-)

Patch

diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h
index eac699a06109..dc311034a8ee 100644
--- a/src/libcamera/include/v4l2_subdevice.h
+++ b/src/libcamera/include/v4l2_subdevice.h
@@ -9,6 +9,7 @@ 
 
 #include <string>
 
+#include "log.h"
 #include "media_object.h"
 
 namespace libcamera {
@@ -21,7 +22,7 @@  struct V4L2SubdeviceFormat {
 	uint32_t height;
 };
 
-class V4L2Subdevice
+class V4L2Subdevice : protected Loggable
 {
 public:
 	explicit V4L2Subdevice(const MediaEntity *entity);
@@ -41,6 +42,9 @@  public:
 	int getFormat(unsigned int pad, V4L2SubdeviceFormat *format);
 	int setFormat(unsigned int pad, V4L2SubdeviceFormat *format);
 
+protected:
+	std::string logPrefix() const { return "'" + deviceName() + "'"; }
+
 private:
 	int setSelection(unsigned int pad, unsigned int target,
 			 Rectangle *rect);
diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
index c44cafd4b4c5..dbb54506ee41 100644
--- a/src/libcamera/v4l2_subdevice.cpp
+++ b/src/libcamera/v4l2_subdevice.cpp
@@ -196,7 +196,7 @@  int V4L2Subdevice::getFormat(unsigned int pad, V4L2SubdeviceFormat *format)
 		ret = -errno;
 		LOG(V4L2Subdev, Error)
 			<< "Unable to get format on pad " << pad
-			<< " of " << deviceNode() << ": " << strerror(-ret);
+			<< ": " << strerror(-ret);
 		return ret;
 	}
 
@@ -231,7 +231,8 @@  int V4L2Subdevice::setFormat(unsigned int pad, V4L2SubdeviceFormat *format)
 	if (ret) {
 		ret = -errno;
 		LOG(V4L2Subdev, Error)
-			<< "Unable to set format: " << strerror(-ret);
+			<< "Unable to set format on pad " << pad
+			<< ": " << strerror(-ret);
 		return ret;
 	}
 
@@ -262,8 +263,7 @@  int V4L2Subdevice::setSelection(unsigned int pad, unsigned int target,
 		ret = -errno;
 		LOG(V4L2Subdev, Error)
 			<< "Unable to set rectangle " << target << " on pad "
-			<< pad << " of " << deviceNode() << ": "
-			<< strerror(-ret);
+			<< pad << ": " << strerror(-ret);
 		return ret;
 	}