Re: [PATCH] ASoC: SOF: Intel: Add missing include file hdac_hda.h

From: Takashi Iwai
Date: Fri Aug 09 2019 - 06:04:26 EST


On Fri, 09 Aug 2019 11:55:50 +0200,
YueHaibing wrote:
>
> Building with SND_SOC_SOF_HDA_AUDIO_CODEC fails:
>
> sound/soc/sof/intel/hda-bus.c: In function sof_hda_bus_init:
> sound/soc/sof/intel/hda-bus.c:16:25: error: implicit declaration of function
> snd_soc_hdac_hda_get_ops; did you mean snd_soc_jack_add_gpiods? [-Werror=implicit-function-declaration]
> #define sof_hda_ext_ops snd_soc_hdac_hda_get_ops()
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Fixes: d4ff1b3917a5 ('ASoC: SOF: Intel: Initialize hdaudio bus properly")
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>

Damn, it seems another oversight.

And now the inclusion in sound/soc/sof/intel/hda.c is superfluous,
too, so we should just move like

diff --git a/sound/soc/sof/intel/hda-bus.c b/sound/soc/sof/intel/hda-bus.c
index 0caec3a070d3..2b384134a3db 100644
--- a/sound/soc/sof/intel/hda-bus.c
+++ b/sound/soc/sof/intel/hda-bus.c
@@ -11,6 +11,9 @@
#include <sound/hdaudio.h>
#include "../sof-priv.h"
#include "hda.h"
+#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
+#include "../../codecs/hdac_hda.h"
+#endif

#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
#define sof_hda_ext_ops snd_soc_hdac_hda_get_ops()
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
index 7ca27000c34d..dd6c8ad62b3e 100644
--- a/sound/soc/sof/intel/hda.c
+++ b/sound/soc/sof/intel/hda.c
@@ -23,9 +23,6 @@
#include <sound/sof/xtensa.h>
#include "../ops.h"
#include "hda.h"
-#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
-#include "../../codecs/hdac_hda.h"
-#endif

#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
#include <sound/soc-acpi-intel-match.h>


Could you check whether this works instead?


BTW, the inclusion of "../../codecs/hdac_hdac.h" is very ugly...
In general if a header file is referred from another driver, it should
be in a more public place under include/sound. If any, we can create
a subdirectory like include/sound/codecs.


thanks,

Takashi