diff options
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/media-request.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/media/media-request.h b/include/media/media-request.h index 1c3e5d804d07..ac02019c1d77 100644 --- a/include/media/media-request.h +++ b/include/media/media-request.h @@ -254,6 +254,26 @@ static inline void media_request_object_get(struct media_request_object *obj) void media_request_object_put(struct media_request_object *obj); /** + * media_request_object_find - Find an object in a request + * + * @req: The media request + * @ops: Find an object with this ops value + * @priv: Find an object with this priv value + * + * Both @ops and @priv must be non-NULL. + * + * Returns the object pointer or NULL if not found. The caller must + * call media_request_object_put() once it finished using the object. + * + * Since this function needs to walk the list of objects it takes + * the @req->lock spin lock to make this safe. + */ +struct media_request_object * +media_request_object_find(struct media_request *req, + const struct media_request_object_ops *ops, + void *priv); + +/** * media_request_object_init - Initialise a media request object * * @obj: The object @@ -331,6 +351,14 @@ static inline void media_request_object_put(struct media_request_object *obj) { } +static inline struct media_request_object * +media_request_object_find(struct media_request *req, + const struct media_request_object_ops *ops, + void *priv) +{ + return NULL; +} + static inline void media_request_object_init(struct media_request_object *obj) { obj->ops = NULL; |