linux/drivers/media/platform/video-mux.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * video stream multiplexer controlled via mux control
 *
 * Copyright (C) 2013 Pengutronix, Sascha Hauer <[email protected]>
 * Copyright (C) 2016-2017 Pengutronix, Philipp Zabel <[email protected]>
 */

#include <linux/err.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/mux/consumer.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-device.h>
#include <media/v4l2-fwnode.h>
#include <media/v4l2-mc.h>
#include <media/v4l2-subdev.h>

struct video_mux {};

static const struct v4l2_mbus_framefmt video_mux_format_mbus_default =;

static inline struct video_mux *
notifier_to_video_mux(struct v4l2_async_notifier *n)
{}

static inline struct video_mux *v4l2_subdev_to_video_mux(struct v4l2_subdev *sd)
{}

static int video_mux_link_setup(struct media_entity *entity,
				const struct media_pad *local,
				const struct media_pad *remote, u32 flags)
{}

static const struct media_entity_operations video_mux_ops =;

static int video_mux_s_stream(struct v4l2_subdev *sd, int enable)
{}

static const struct v4l2_subdev_video_ops video_mux_subdev_video_ops =;

static int video_mux_set_format(struct v4l2_subdev *sd,
			    struct v4l2_subdev_state *sd_state,
			    struct v4l2_subdev_format *sdformat)
{}

static int video_mux_init_state(struct v4l2_subdev *sd,
				struct v4l2_subdev_state *sd_state)
{}

static const struct v4l2_subdev_pad_ops video_mux_pad_ops =;

static const struct v4l2_subdev_ops video_mux_subdev_ops =;

static const struct v4l2_subdev_internal_ops video_mux_internal_ops =;

static int video_mux_notify_bound(struct v4l2_async_notifier *notifier,
				  struct v4l2_subdev *sd,
				  struct v4l2_async_connection *asd)
{}

static const struct v4l2_async_notifier_operations video_mux_notify_ops =;

static int video_mux_async_register(struct video_mux *vmux,
				    unsigned int num_input_pads)
{}

static int video_mux_probe(struct platform_device *pdev)
{}

static void video_mux_remove(struct platform_device *pdev)
{}

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

static struct platform_driver video_mux_driver =;

module_platform_driver();

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