#include <linux/anon_inodes.h>
#include <linux/file.h>
#include <linux/refcount.h>
#include <media/media-device.h>
#include <media/media-request.h>
static const char * const request_state[] = …;
static const char *
media_request_state_str(enum media_request_state state)
{ … }
static void media_request_clean(struct media_request *req)
{ … }
static void media_request_release(struct kref *kref)
{ … }
void media_request_put(struct media_request *req)
{ … }
EXPORT_SYMBOL_GPL(…);
static int media_request_close(struct inode *inode, struct file *filp)
{ … }
static __poll_t media_request_poll(struct file *filp,
struct poll_table_struct *wait)
{ … }
static long media_request_ioctl_queue(struct media_request *req)
{ … }
static long media_request_ioctl_reinit(struct media_request *req)
{ … }
static long media_request_ioctl(struct file *filp, unsigned int cmd,
unsigned long arg)
{ … }
static const struct file_operations request_fops = …;
struct media_request *
media_request_get_by_fd(struct media_device *mdev, int request_fd)
{ … }
EXPORT_SYMBOL_GPL(…);
int media_request_alloc(struct media_device *mdev, int *alloc_fd)
{ … }
static void media_request_object_release(struct kref *kref)
{ … }
struct media_request_object *
media_request_object_find(struct media_request *req,
const struct media_request_object_ops *ops,
void *priv)
{ … }
EXPORT_SYMBOL_GPL(…);
void media_request_object_put(struct media_request_object *obj)
{ … }
EXPORT_SYMBOL_GPL(…);
void media_request_object_init(struct media_request_object *obj)
{ … }
EXPORT_SYMBOL_GPL(…);
int media_request_object_bind(struct media_request *req,
const struct media_request_object_ops *ops,
void *priv, bool is_buffer,
struct media_request_object *obj)
{ … }
EXPORT_SYMBOL_GPL(…);
void media_request_object_unbind(struct media_request_object *obj)
{ … }
EXPORT_SYMBOL_GPL(…);
void media_request_object_complete(struct media_request_object *obj)
{ … }
EXPORT_SYMBOL_GPL(…);