#include <linux/dma-mapping.h>
#include <linux/module.h>
#include <drm/bridge/dw_hdmi.h>
#include <drm/drm_crtc.h>
#include <sound/hdmi-codec.h>
#include "dw-hdmi.h"
#include "dw-hdmi-audio.h"
#define DRIVER_NAME …
static inline void hdmi_write(struct dw_hdmi_i2s_audio_data *audio,
u8 val, int offset)
{ … }
static inline u8 hdmi_read(struct dw_hdmi_i2s_audio_data *audio, int offset)
{ … }
static int dw_hdmi_i2s_hw_params(struct device *dev, void *data,
struct hdmi_codec_daifmt *fmt,
struct hdmi_codec_params *hparms)
{ … }
static int dw_hdmi_i2s_audio_startup(struct device *dev, void *data)
{ … }
static void dw_hdmi_i2s_audio_shutdown(struct device *dev, void *data)
{ … }
static int dw_hdmi_i2s_get_eld(struct device *dev, void *data, uint8_t *buf,
size_t len)
{ … }
static int dw_hdmi_i2s_get_dai_id(struct snd_soc_component *component,
struct device_node *endpoint)
{ … }
static int dw_hdmi_i2s_hook_plugged_cb(struct device *dev, void *data,
hdmi_codec_plugged_cb fn,
struct device *codec_dev)
{ … }
static const struct hdmi_codec_ops dw_hdmi_i2s_ops = …;
static int snd_dw_hdmi_probe(struct platform_device *pdev)
{ … }
static void snd_dw_hdmi_remove(struct platform_device *pdev)
{ … }
static struct platform_driver snd_dw_hdmi_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;