[libcamera-devel,v2,4/6] libcamera: media_device: Expose media device serial number

Message ID 20200728003058.2871461-5-niklas.soderlund@ragnatech.se
State Superseded
Headers show
Series
  • libcamera: Generate unique and stable camera names
Related show

Commit Message

Niklas Söderlund July 28, 2020, 12:30 a.m. UTC
Add a MediaDevice::serial() function to expose the media device serial
number. This can be useful to support driver changes in pipeline
handlers.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
---
 include/libcamera/internal/media_device.h | 2 ++
 src/libcamera/media_device.cpp            | 7 +++++++
 2 files changed, 9 insertions(+)

Patch

diff --git a/include/libcamera/internal/media_device.h b/include/libcamera/internal/media_device.h
index d0459cdefd3ece2a..1d23bdd2e9ba5270 100644
--- a/include/libcamera/internal/media_device.h
+++ b/include/libcamera/internal/media_device.h
@@ -40,6 +40,7 @@  public:
 	const std::string driver() const { return driver_; }
 	const std::string deviceNode() const { return deviceNode_; }
 	const std::string model() const { return model_; }
+	const std::string serial() const { return serial_; }
 	unsigned int version() const { return version_; }
 
 	const std::vector<MediaEntity *> &entities() const { return entities_; }
@@ -78,6 +79,7 @@  private:
 	std::string driver_;
 	std::string deviceNode_;
 	std::string model_;
+	std::string serial_;
 	unsigned int version_;
 
 	int fd_;
diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
index de18d572f4799931..f22a937d14cd8554 100644
--- a/src/libcamera/media_device.cpp
+++ b/src/libcamera/media_device.cpp
@@ -230,6 +230,7 @@  int MediaDevice::populate()
 
 	driver_ = info.driver;
 	model_ = info.model;
+	serial_ = info.serial;
 	version_ = info.media_version;
 
 	/*
@@ -314,6 +315,12 @@  done:
  * \return The MediaDevice model name
  */
 
+/**
+ * \fn MediaDevice::serial()
+ * \brief Retrieve the media device serial number
+ * \return The MediaDevice serial number
+ */
+
 /**
  * \fn MediaDevice::version()
  * \brief Retrieve the media device API version