@@ -158,6 +158,13 @@ static void media_device_request_delete(struct media_device *mdev,
media_device_request_put(req);
}
+void media_device_request_complete(struct media_device *mdev,
+ struct media_device_request *req)
+{
+ media_device_request_delete(mdev, req);
+}
+EXPORT_SYMBOL_GPL(media_device_request_complete);
+
static int media_device_request_queue_apply(
struct media_device *mdev, struct media_device_request *req,
int (*fn)(struct media_device *mdev,
@@ -269,6 +269,7 @@ enum media_device_request_state {
MEDIA_DEVICE_REQUEST_STATE_IDLE,
MEDIA_DEVICE_REQUEST_STATE_QUEUED,
MEDIA_DEVICE_REQUEST_STATE_DELETED,
+ MEDIA_DEVICE_REQUEST_STATE_COMPLETE,
};
/**
@@ -764,5 +765,7 @@ struct media_device_request *
media_device_request_find(struct media_device *mdev, u16 reqid);
void media_device_request_get(struct media_device_request *req);
void media_device_request_put(struct media_device_request *req);
+void media_device_request_complete(struct media_device *mdev,
+ struct media_device_request *req);
#endif
Once the request has been queued and later on completed, a driver will mark the request complete by calling media_device_request_complete(). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> --- drivers/media/media-device.c | 7 +++++++ include/media/media-device.h | 3 +++ 2 files changed, 10 insertions(+)