#include <linux/list.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <media/v4l2-async.h>
#include <media/v4l2-common.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fwnode.h>
#include "xilinx-dma.h"
#include "xilinx-vipp.h"
#define XVIPP_DMA_S2MM …
#define XVIPP_DMA_MM2S …
struct xvip_graph_entity { … };
static inline struct xvip_graph_entity *
to_xvip_entity(struct v4l2_async_connection *asd)
{ … }
static struct xvip_graph_entity *
xvip_graph_find_entity(struct xvip_composite_device *xdev,
const struct fwnode_handle *fwnode)
{ … }
static int xvip_graph_build_one(struct xvip_composite_device *xdev,
struct xvip_graph_entity *entity)
{ … }
static struct xvip_dma *
xvip_graph_find_dma(struct xvip_composite_device *xdev, unsigned int port)
{ … }
static int xvip_graph_build_dma(struct xvip_composite_device *xdev)
{ … }
static int xvip_graph_notify_complete(struct v4l2_async_notifier *notifier)
{ … }
static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier,
struct v4l2_subdev *subdev,
struct v4l2_async_connection *asc)
{ … }
static const struct v4l2_async_notifier_operations xvip_graph_notify_ops = …;
static int xvip_graph_parse_one(struct xvip_composite_device *xdev,
struct fwnode_handle *fwnode)
{ … }
static int xvip_graph_parse(struct xvip_composite_device *xdev)
{ … }
static int xvip_graph_dma_init_one(struct xvip_composite_device *xdev,
struct device_node *node)
{ … }
static int xvip_graph_dma_init(struct xvip_composite_device *xdev)
{ … }
static void xvip_graph_cleanup(struct xvip_composite_device *xdev)
{ … }
static int xvip_graph_init(struct xvip_composite_device *xdev)
{ … }
static void xvip_composite_v4l2_cleanup(struct xvip_composite_device *xdev)
{ … }
static int xvip_composite_v4l2_init(struct xvip_composite_device *xdev)
{ … }
static int xvip_composite_probe(struct platform_device *pdev)
{ … }
static void xvip_composite_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id xvip_composite_of_id_table[] = …;
MODULE_DEVICE_TABLE(of, xvip_composite_of_id_table);
static struct platform_driver xvip_composite_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;