linux/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Driver for STM32 Digital Camera Memory Interface Pixel Processor
 *
 * Copyright (C) STMicroelectronics SA 2023
 * Authors: Hugues Fruchet <[email protected]>
 *          Alain Volmat <[email protected]>
 *          for STMicroelectronics.
 */

#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/pinctrl/consumer.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/property.h>
#include <linux/reset.h>
#include <media/media-device.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fwnode.h>

#include "dcmipp-common.h"

#define DCMIPP_MDEV_MODEL_NAME

#define DCMIPP_ENT_LINK(src, srcpad, sink, sinkpad, link_flags)

struct dcmipp_device {};

static inline struct dcmipp_device *
notifier_to_dcmipp(struct v4l2_async_notifier *n)
{}

/* Structure which describes individual configuration for each entity */
struct dcmipp_ent_config {};

/* Structure which describes links between entities */
struct dcmipp_ent_link {};

/* Structure which describes the whole topology */
struct dcmipp_pipeline_config {};

/* --------------------------------------------------------------------------
 * Topology Configuration
 */

static const struct dcmipp_ent_config stm32mp13_ent_config[] =;

#define ID_PARALLEL
#define ID_DUMP_BYTEPROC
#define ID_DUMP_CAPTURE

static const struct dcmipp_ent_link stm32mp13_ent_links[] =;

static const struct dcmipp_pipeline_config stm32mp13_pipe_cfg =;

#define LINK_FLAG_TO_STR(f)

static int dcmipp_create_links(struct dcmipp_device *dcmipp)
{}

static int dcmipp_graph_init(struct dcmipp_device *dcmipp);

static int dcmipp_create_subdevs(struct dcmipp_device *dcmipp)
{}

static const struct of_device_id dcmipp_of_match[] =;
MODULE_DEVICE_TABLE(of, dcmipp_of_match);

static irqreturn_t dcmipp_irq_thread(int irq, void *arg)
{}

static irqreturn_t dcmipp_irq_callback(int irq, void *arg)
{}

static int dcmipp_graph_notify_bound(struct v4l2_async_notifier *notifier,
				     struct v4l2_subdev *subdev,
				     struct v4l2_async_connection *asd)
{}

static void dcmipp_graph_notify_unbind(struct v4l2_async_notifier *notifier,
				       struct v4l2_subdev *sd,
				       struct v4l2_async_connection *asd)
{}

static int dcmipp_graph_notify_complete(struct v4l2_async_notifier *notifier)
{}

static const struct v4l2_async_notifier_operations dcmipp_graph_notify_ops =;

static int dcmipp_graph_init(struct dcmipp_device *dcmipp)
{}

static int dcmipp_probe(struct platform_device *pdev)
{}

static void dcmipp_remove(struct platform_device *pdev)
{}

static int dcmipp_runtime_suspend(struct device *dev)
{}

static int dcmipp_runtime_resume(struct device *dev)
{}

static int dcmipp_suspend(struct device *dev)
{}

static int dcmipp_resume(struct device *dev)
{}

static const struct dev_pm_ops dcmipp_pm_ops =;

static struct platform_driver dcmipp_pdrv =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();