#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/videodev2.h>
#include <media/v4l2-fwnode.h>
#include <media/v4l2-mc.h>
#include "stf-camss.h"
static const char * const stfcamss_clocks[] = …;
static const char * const stfcamss_resets[] = …;
static const struct stf_isr_data stf_isrs[] = …;
static int stfcamss_get_mem_res(struct stfcamss *stfcamss)
{ … }
static int stfcamss_of_parse_endpoint_node(struct stfcamss *stfcamss,
struct device_node *node,
struct stfcamss_async_subdev *csd)
{ … }
static int stfcamss_of_parse_ports(struct stfcamss *stfcamss)
{ … }
static int stfcamss_register_devs(struct stfcamss *stfcamss)
{ … }
static void stfcamss_unregister_devs(struct stfcamss *stfcamss)
{ … }
static int stfcamss_subdev_notifier_bound(struct v4l2_async_notifier *async,
struct v4l2_subdev *subdev,
struct v4l2_async_connection *asc)
{ … }
static int stfcamss_subdev_notifier_complete(struct v4l2_async_notifier *ntf)
{ … }
static const struct v4l2_async_notifier_operations
stfcamss_subdev_notifier_ops = …;
static void stfcamss_mc_init(struct platform_device *pdev,
struct stfcamss *stfcamss)
{ … }
static int stfcamss_probe(struct platform_device *pdev)
{ … }
static void stfcamss_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id stfcamss_of_match[] = …;
MODULE_DEVICE_TABLE(of, stfcamss_of_match);
static int __maybe_unused stfcamss_runtime_suspend(struct device *dev)
{ … }
static int __maybe_unused stfcamss_runtime_resume(struct device *dev)
{ … }
static const struct dev_pm_ops stfcamss_pm_ops = …;
static struct platform_driver stfcamss_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;