diff --git a/include/libcamera/internal/camera.h b/include/libcamera/internal/camera.h
index 0bef0980e..fe47a49b7 100644
--- a/include/libcamera/internal/camera.h
+++ b/include/libcamera/internal/camera.h
@@ -43,6 +43,9 @@ public:
 
 	const CameraControlValidator *validator() const { return validator_.get(); }
 
+protected:
+	bool isAcquired() const;
+
 private:
 	enum State {
 		CameraAvailable,
@@ -52,7 +55,6 @@ private:
 		CameraRunning,
 	};
 
-	bool isAcquired() const;
 	bool isRunning() const;
 	int isAccessAllowed(State state, bool allowDisconnected = false,
 			    const char *from = __builtin_FUNCTION()) const;
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index ef5a6725f..38aa4ad22 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -670,6 +670,9 @@ static const char *const camera_state_names[] = {
 	"Running",
 };
 
+/**
+ * \return True if the camera is acquired, false otherwise
+ */
 bool Camera::Private::isAcquired() const
 {
 	return state_.load(std::memory_order_acquire) != CameraAvailable;
