diff --git a/include/libcamera/request.h b/include/libcamera/request.h
index 58de6f00a554..5fae0d5fc838 100644
--- a/include/libcamera/request.h
+++ b/include/libcamera/request.h
@@ -10,6 +10,7 @@
 #include <map>
 #include <unordered_set>
 
+#include <libcamera/controls.h>
 #include <libcamera/signal.h>
 
 namespace libcamera {
@@ -36,6 +37,8 @@ public:
 	int setBuffers(const std::map<Stream *, Buffer *> &streamMap);
 	Buffer *findBuffer(Stream *stream) const;
 
+	std::set<Control> &controls() { return controls_; };
+
 	Status status() const { return status_; }
 
 	bool hasPendingBuffers() const { return !pending_.empty(); }
@@ -52,6 +55,7 @@ private:
 	Camera *camera_;
 	std::map<Stream *, Buffer *> bufferMap_;
 	std::unordered_set<Buffer *> pending_;
+	std::set<Control> controls_;
 
 	Status status_;
 };
