diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h
index afcef805801a43b5..d6db6138ca11d5fe 100644
--- a/include/libcamera/buffer.h
+++ b/include/libcamera/buffer.h
@@ -135,8 +135,6 @@ private:
 
 	void cancel();
 
-	void setRequest(Request *request) { request_ = request; }
-
 	unsigned int index_;
 	std::array<int, 3> dmabuf_;
 	BufferMemory *mem_;
diff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp
index 82b4799a2510d02f..7043345c3f3207cd 100644
--- a/src/libcamera/buffer.cpp
+++ b/src/libcamera/buffer.cpp
@@ -462,7 +462,6 @@ Buffer::Buffer(unsigned int index, const Buffer *metadata)
  *
  * \return The Request the Buffer belongs to, or nullptr if the buffer is
  * either completed or not associated with a request
- * \sa Buffer::setRequest()
  */
 
 /**
@@ -489,13 +488,6 @@ void Buffer::cancel()
 	status_ = BufferCancelled;
 }
 
-/**
- * \fn Buffer::setRequest()
- * \brief Set the request this buffer belongs to
- *
- * The intended callers are Request::prepare() and Request::completeBuffer().
- */
-
 /**
  * \class FrameBuffer
  * \brief A buffer handle and dynamic metadata
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
index c14ed1a4d3ce55d0..c2854dc2e8caab2e 100644
--- a/src/libcamera/request.cpp
+++ b/src/libcamera/request.cpp
@@ -220,7 +220,7 @@ int Request::prepare()
 
 	for (auto const &pair : bufferMap_) {
 		Buffer *buffer = pair.second;
-		buffer->setRequest(this);
+		buffer->request_ = this;
 		pending_.insert(buffer);
 	}
 
@@ -258,7 +258,7 @@ bool Request::completeBuffer(Buffer *buffer)
 	int ret = pending_.erase(buffer);
 	ASSERT(ret == 1);
 
-	buffer->setRequest(nullptr);
+	buffer->request_ = nullptr;
 
 	if (buffer->status() == Buffer::BufferCancelled)
 		cancelled_ = true;
