diff --git a/include/libcamera/request.h b/include/libcamera/request.h
index 570924c5ef5e2425..f5de5257bba3f2bb 100644
--- a/include/libcamera/request.h
+++ b/include/libcamera/request.h
@@ -40,6 +40,7 @@ public:
 	~Request();
 
 	ControlList &controls() { return controls_; }
+	const ControlList &controls() const { return controls_; }
 	const std::map<Stream *, Buffer *> &buffers() const { return bufferMap_; }
 	int addBuffer(std::unique_ptr<Buffer> buffer);
 	Buffer *findBuffer(Stream *stream) const;
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
index b8b4dfb4b7549163..bdb4f908fb664ccf 100644
--- a/src/libcamera/request.cpp
+++ b/src/libcamera/request.cpp
@@ -84,6 +84,11 @@ Request::~Request()
  * \return A reference to the ControlList in this request
  */
 
+/**
+ * \fn Request::controls() const
+ * \sa Request::controls()
+ */
+
 /**
  * \fn Request::buffers()
  * \brief Retrieve the request's streams to buffers map
