#define DSS_SUBSYS_NAME …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/string.h>
#include <linux/seq_file.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>
#include <linux/pm_runtime.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/component.h>
#include <linux/sys_soc.h>
#include <drm/drm_bridge.h>
#include "omapdss.h"
#include "dss.h"
#define VENC_REV_ID …
#define VENC_STATUS …
#define VENC_F_CONTROL …
#define VENC_VIDOUT_CTRL …
#define VENC_SYNC_CTRL …
#define VENC_LLEN …
#define VENC_FLENS …
#define VENC_HFLTR_CTRL …
#define VENC_CC_CARR_WSS_CARR …
#define VENC_C_PHASE …
#define VENC_GAIN_U …
#define VENC_GAIN_V …
#define VENC_GAIN_Y …
#define VENC_BLACK_LEVEL …
#define VENC_BLANK_LEVEL …
#define VENC_X_COLOR …
#define VENC_M_CONTROL …
#define VENC_BSTAMP_WSS_DATA …
#define VENC_S_CARR …
#define VENC_LINE21 …
#define VENC_LN_SEL …
#define VENC_L21__WC_CTL …
#define VENC_HTRIGGER_VTRIGGER …
#define VENC_SAVID__EAVID …
#define VENC_FLEN__FAL …
#define VENC_LAL__PHASE_RESET …
#define VENC_HS_INT_START_STOP_X …
#define VENC_HS_EXT_START_STOP_X …
#define VENC_VS_INT_START_X …
#define VENC_VS_INT_STOP_X__VS_INT_START_Y …
#define VENC_VS_INT_STOP_Y__VS_EXT_START_X …
#define VENC_VS_EXT_STOP_X__VS_EXT_START_Y …
#define VENC_VS_EXT_STOP_Y …
#define VENC_AVID_START_STOP_X …
#define VENC_AVID_START_STOP_Y …
#define VENC_FID_INT_START_X__FID_INT_START_Y …
#define VENC_FID_INT_OFFSET_Y__FID_EXT_START_X …
#define VENC_FID_EXT_START_Y__FID_EXT_OFFSET_Y …
#define VENC_TVDETGP_INT_START_STOP_X …
#define VENC_TVDETGP_INT_START_STOP_Y …
#define VENC_GEN_CTRL …
#define VENC_OUTPUT_CONTROL …
#define VENC_OUTPUT_TEST …
#define VENC_DAC_B__DAC_C …
struct venc_config { … };
static const struct venc_config venc_config_pal_trm = …;
static const struct venc_config venc_config_ntsc_trm = …;
enum venc_videomode { … };
static const struct drm_display_mode omap_dss_pal_mode = …;
static const struct drm_display_mode omap_dss_ntsc_mode = …;
struct venc_device { … };
#define drm_bridge_to_venc(b) …
static inline void venc_write_reg(struct venc_device *venc, int idx, u32 val)
{ … }
static inline u32 venc_read_reg(struct venc_device *venc, int idx)
{ … }
static void venc_write_config(struct venc_device *venc,
const struct venc_config *config)
{ … }
static void venc_reset(struct venc_device *venc)
{ … }
static int venc_runtime_get(struct venc_device *venc)
{ … }
static void venc_runtime_put(struct venc_device *venc)
{ … }
static int venc_power_on(struct venc_device *venc)
{ … }
static void venc_power_off(struct venc_device *venc)
{ … }
static enum venc_videomode venc_get_videomode(const struct drm_display_mode *mode)
{ … }
static int venc_dump_regs(struct seq_file *s, void *p)
{ … }
static int venc_get_clocks(struct venc_device *venc)
{ … }
static int venc_bridge_attach(struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags)
{ … }
static enum drm_mode_status
venc_bridge_mode_valid(struct drm_bridge *bridge,
const struct drm_display_info *info,
const struct drm_display_mode *mode)
{ … }
static bool venc_bridge_mode_fixup(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)
{ … }
static void venc_bridge_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adjusted_mode)
{ … }
static void venc_bridge_enable(struct drm_bridge *bridge)
{ … }
static void venc_bridge_disable(struct drm_bridge *bridge)
{ … }
static int venc_bridge_get_modes(struct drm_bridge *bridge,
struct drm_connector *connector)
{ … }
static const struct drm_bridge_funcs venc_bridge_funcs = …;
static void venc_bridge_init(struct venc_device *venc)
{ … }
static void venc_bridge_cleanup(struct venc_device *venc)
{ … }
static int venc_bind(struct device *dev, struct device *master, void *data)
{ … }
static void venc_unbind(struct device *dev, struct device *master, void *data)
{ … }
static const struct component_ops venc_component_ops = …;
static int venc_init_output(struct venc_device *venc)
{ … }
static void venc_uninit_output(struct venc_device *venc)
{ … }
static int venc_probe_of(struct venc_device *venc)
{ … }
static const struct soc_device_attribute venc_soc_devices[] = …;
static int venc_probe(struct platform_device *pdev)
{ … }
static void venc_remove(struct platform_device *pdev)
{ … }
static __maybe_unused int venc_runtime_suspend(struct device *dev)
{ … }
static __maybe_unused int venc_runtime_resume(struct device *dev)
{ … }
static const struct dev_pm_ops venc_pm_ops = …;
static const struct of_device_id venc_of_match[] = …;
struct platform_driver omap_venchw_driver = …;