ASoC: OMAP: HDMI: Correct signature of ASoC functions
These functions require access to IP-secific data. However, it is not possible to pass such data as a function argument as such functions have a specific signature specified by ASoC. Instead, they will have access to the IP-specific data by calling snd_soc_codec_get_drvdata. The codec driver data is set at probe time. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
b17ce11732
commit
284cb318c8
|
@ -561,11 +561,13 @@ void omapdss_hdmi_display_disable(struct omap_dss_device *dssdev)
|
||||||
#if defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI) || \
|
#if defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI) || \
|
||||||
defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI_MODULE)
|
defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI_MODULE)
|
||||||
|
|
||||||
static int hdmi_audio_hw_params(struct hdmi_ip_data *ip_data,
|
static int hdmi_audio_hw_params(struct snd_pcm_substream *substream,
|
||||||
struct snd_pcm_substream *substream,
|
|
||||||
struct snd_pcm_hw_params *params,
|
struct snd_pcm_hw_params *params,
|
||||||
struct snd_soc_dai *dai)
|
struct snd_soc_dai *dai)
|
||||||
{
|
{
|
||||||
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
|
struct snd_soc_codec *codec = rtd->codec;
|
||||||
|
struct hdmi_ip_data *ip_data = snd_soc_codec_get_drvdata(codec);
|
||||||
struct hdmi_audio_format audio_format;
|
struct hdmi_audio_format audio_format;
|
||||||
struct hdmi_audio_dma audio_dma;
|
struct hdmi_audio_dma audio_dma;
|
||||||
struct hdmi_core_audio_config core_cfg;
|
struct hdmi_core_audio_config core_cfg;
|
||||||
|
|
|
@ -1204,11 +1204,14 @@ int hdmi_config_audio_acr(struct hdmi_ip_data *ip_data,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int hdmi_audio_trigger(struct hdmi_ip_data *ip_data,
|
int hdmi_audio_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||||
struct snd_pcm_substream *substream, int cmd,
|
|
||||||
struct snd_soc_dai *dai)
|
struct snd_soc_dai *dai)
|
||||||
{
|
{
|
||||||
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
|
struct snd_soc_codec *codec = rtd->codec;
|
||||||
|
struct hdmi_ip_data *ip_data = snd_soc_codec_get_drvdata(codec);
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case SNDRV_PCM_TRIGGER_START:
|
case SNDRV_PCM_TRIGGER_START:
|
||||||
case SNDRV_PCM_TRIGGER_RESUME:
|
case SNDRV_PCM_TRIGGER_RESUME:
|
||||||
|
|
|
@ -576,8 +576,7 @@ struct hdmi_core_audio_config {
|
||||||
|
|
||||||
#if defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI) || \
|
#if defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI) || \
|
||||||
defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI_MODULE)
|
defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI_MODULE)
|
||||||
int hdmi_audio_trigger(struct hdmi_ip_data *ip_data,
|
int hdmi_audio_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||||
struct snd_pcm_substream *substream, int cmd,
|
|
||||||
struct snd_soc_dai *dai);
|
struct snd_soc_dai *dai);
|
||||||
int hdmi_config_audio_acr(struct hdmi_ip_data *ip_data,
|
int hdmi_config_audio_acr(struct hdmi_ip_data *ip_data,
|
||||||
u32 sample_freq, u32 *n, u32 *cts);
|
u32 sample_freq, u32 *n, u32 *cts);
|
||||||
|
|
Loading…
Reference in New Issue