[libcamera-devel,v3,1/3] libcamera: media_device: add hwRevision method
diff mbox series

Message ID 20210309063829.8710-2-dafna.hirschfeld@collabora.com
State Accepted
Headers show
Series
  • rkisp1: add an initial support to different hw revision
Related show

Commit Message

Dafna Hirschfeld March 9, 2021, 6:38 a.m. UTC
Add a method 'hwRevision' to return the
info.hw_version reported by the driver.

Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
---
 include/libcamera/internal/media_device.h |  2 ++
 src/libcamera/media_device.cpp            | 10 ++++++++++
 2 files changed, 12 insertions(+)

Comments

Laurent Pinchart March 9, 2021, 10:21 p.m. UTC | #1
Hi Dafna,

Thank you for the patch.

On Tue, Mar 09, 2021 at 07:38:27AM +0100, Dafna Hirschfeld wrote:
> Add a method 'hwRevision' to return the
> info.hw_version reported by the driver.
> 
> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  include/libcamera/internal/media_device.h |  2 ++
>  src/libcamera/media_device.cpp            | 10 ++++++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/include/libcamera/internal/media_device.h b/include/libcamera/internal/media_device.h
> index d0459cde..c3292508 100644
> --- a/include/libcamera/internal/media_device.h
> +++ b/include/libcamera/internal/media_device.h
> @@ -41,6 +41,7 @@ public:
>  	const std::string deviceNode() const { return deviceNode_; }
>  	const std::string model() const { return model_; }
>  	unsigned int version() const { return version_; }
> +	unsigned int hwRevision() const { return hwRevision_; }
>  
>  	const std::vector<MediaEntity *> &entities() const { return entities_; }
>  	MediaEntity *getEntityByName(const std::string &name) const;
> @@ -79,6 +80,7 @@ private:
>  	std::string deviceNode_;
>  	std::string model_;
>  	unsigned int version_;
> +	unsigned int hwRevision_;
>  
>  	int fd_;
>  	bool valid_;
> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
> index 8987de12..3c8ccd81 100644
> --- a/src/libcamera/media_device.cpp
> +++ b/src/libcamera/media_device.cpp
> @@ -231,6 +231,7 @@ int MediaDevice::populate()
>  	driver_ = info.driver;
>  	model_ = info.model;
>  	version_ = info.media_version;
> +	hwRevision_ = info.hw_revision;
>  
>  	/*
>  	 * Keep calling G_TOPOLOGY until the version number stays stable.
> @@ -323,6 +324,15 @@ done:
>   * \return The MediaDevice API version
>   */
>  
> +/**
> + * \fn MediaDevice::hwRevision()
> + * \brief Retrieve the media device hardware revision
> + *
> + * The hardware revision is in a driver-specific format.
> + *
> + * \return The MediaDevice API hardware revision

I'd drop 'API' here as it's the hardware revision, not an API revision.
Other than that,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> + */
> +
>  /**
>   * \fn MediaDevice::entities()
>   * \brief Retrieve the list of entities in the media graph

Patch
diff mbox series

diff --git a/include/libcamera/internal/media_device.h b/include/libcamera/internal/media_device.h
index d0459cde..c3292508 100644
--- a/include/libcamera/internal/media_device.h
+++ b/include/libcamera/internal/media_device.h
@@ -41,6 +41,7 @@  public:
 	const std::string deviceNode() const { return deviceNode_; }
 	const std::string model() const { return model_; }
 	unsigned int version() const { return version_; }
+	unsigned int hwRevision() const { return hwRevision_; }
 
 	const std::vector<MediaEntity *> &entities() const { return entities_; }
 	MediaEntity *getEntityByName(const std::string &name) const;
@@ -79,6 +80,7 @@  private:
 	std::string deviceNode_;
 	std::string model_;
 	unsigned int version_;
+	unsigned int hwRevision_;
 
 	int fd_;
 	bool valid_;
diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
index 8987de12..3c8ccd81 100644
--- a/src/libcamera/media_device.cpp
+++ b/src/libcamera/media_device.cpp
@@ -231,6 +231,7 @@  int MediaDevice::populate()
 	driver_ = info.driver;
 	model_ = info.model;
 	version_ = info.media_version;
+	hwRevision_ = info.hw_revision;
 
 	/*
 	 * Keep calling G_TOPOLOGY until the version number stays stable.
@@ -323,6 +324,15 @@  done:
  * \return The MediaDevice API version
  */
 
+/**
+ * \fn MediaDevice::hwRevision()
+ * \brief Retrieve the media device hardware revision
+ *
+ * The hardware revision is in a driver-specific format.
+ *
+ * \return The MediaDevice API hardware revision
+ */
+
 /**
  * \fn MediaDevice::entities()
  * \brief Retrieve the list of entities in the media graph