diff --git a/include/libcamera/internal/media_object.h b/include/libcamera/internal/media_object.h
index 43a35bef8f35..2b336961f98d 100644
--- a/include/libcamera/internal/media_object.h
+++ b/include/libcamera/internal/media_object.h
@@ -22,6 +22,7 @@ class MediaObject
 {
 public:
 	MediaDevice *device() { return dev_; }
+	const MediaDevice *device() const { return dev_; }
 	unsigned int id() const { return id_; }
 
 protected:
diff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp
index 056036635902..94aeb50402ca 100644
--- a/src/libcamera/media_object.cpp
+++ b/src/libcamera/media_object.cpp
@@ -67,6 +67,11 @@ LOG_DECLARE_CATEGORY(MediaDevice)
 
 /**
  * \fn MediaObject::device()
+ * \copydoc MediaObject::device() const
+ */
+
+/**
+ * \fn MediaObject::device() const
  * \brief Retrieve the media device the media object belongs to
  * \return The MediaDevice
  */
