#include <linux/dma-mapping.h>
#include <linux/font.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <media/media-device.h>
#include <media/tpg/v4l2-tpg.h>
#include <media/v4l2-device.h>
#include "vimc-common.h"
unsigned int vimc_allocator;
module_param_named(allocator, vimc_allocator, uint, 0444);
MODULE_PARM_DESC(…) …;
#define VIMC_MDEV_MODEL_NAME …
#define VIMC_DATA_LINK(src, srcpad, sink, sinkpad, link_flags) …
#define VIMC_ANCILLARY_LINK(primary, ancillary) …
struct vimc_data_link { … };
enum vimc_data_link_ents { … };
struct vimc_ancillary_link { … };
struct vimc_pipeline_config { … };
static const struct vimc_ent_config ent_config[] = …;
static const struct vimc_data_link data_links[] = …;
static const struct vimc_ancillary_link ancillary_links[] = …;
static struct vimc_pipeline_config pipe_cfg = …;
static void vimc_rm_links(struct vimc_device *vimc)
{ … }
static int vimc_create_links(struct vimc_device *vimc)
{ … }
static void vimc_release_subdevs(struct vimc_device *vimc)
{ … }
static void vimc_unregister_subdevs(struct vimc_device *vimc)
{ … }
static int vimc_add_subdevs(struct vimc_device *vimc)
{ … }
static void vimc_v4l2_dev_release(struct v4l2_device *v4l2_dev)
{ … }
static int vimc_register_devices(struct vimc_device *vimc)
{ … }
static int vimc_probe(struct platform_device *pdev)
{ … }
static void vimc_remove(struct platform_device *pdev)
{ … }
static void vimc_dev_release(struct device *dev)
{ … }
static struct platform_device vimc_pdev = …;
static struct platform_driver vimc_pdrv = …;
static int __init vimc_init(void)
{ … }
static void __exit vimc_exit(void)
{ … }
module_init(…) …;
module_exit(vimc_exit);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;