#include <linux/clk.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <media/v4l2-fwnode.h>
#include <media/v4l2-mc.h>
#include "rzg2l-cru.h"
static inline struct rzg2l_cru_dev *notifier_to_cru(struct v4l2_async_notifier *n)
{ … }
static const struct media_device_ops rzg2l_cru_media_ops = …;
static int rzg2l_cru_group_notify_complete(struct v4l2_async_notifier *notifier)
{ … }
static void rzg2l_cru_group_notify_unbind(struct v4l2_async_notifier *notifier,
struct v4l2_subdev *subdev,
struct v4l2_async_connection *asd)
{ … }
static int rzg2l_cru_group_notify_bound(struct v4l2_async_notifier *notifier,
struct v4l2_subdev *subdev,
struct v4l2_async_connection *asd)
{ … }
static const struct v4l2_async_notifier_operations rzg2l_cru_async_ops = …;
static int rzg2l_cru_mc_parse_of(struct rzg2l_cru_dev *cru)
{ … }
static int rzg2l_cru_mc_parse_of_graph(struct rzg2l_cru_dev *cru)
{ … }
static int rzg2l_cru_media_init(struct rzg2l_cru_dev *cru)
{ … }
static int rzg2l_cru_probe(struct platform_device *pdev)
{ … }
static void rzg2l_cru_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id rzg2l_cru_of_id_table[] = …;
MODULE_DEVICE_TABLE(of, rzg2l_cru_of_id_table);
static struct platform_driver rzg2l_cru_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;