Re: [alsa-devel] [PATCH] ASoc: fix sound/soc/intel/skylake/slk-ssp-clk.c build error on IA64

From: Pierre-Louis Bossart
Date: Fri May 24 2019 - 09:06:11 EST




On 5/23/19 9:59 PM, Randy Dunlap wrote:
On 5/23/19 4:28 AM, Pierre-Louis Bossart wrote:


On 5/22/19 10:58 PM, Randy Dunlap wrote:
From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

skl-ssp-clk.c does not build on IA64 because the driver
uses the common clock interface, so make the driver depend
on COMMON_CLK.

Fixes this build error:
../sound/soc/intel/skylake/skl-ssp-clk.c:26:16: error: field 'hw' has incomplete type
ÂÂ struct clk_hw hw;
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ ^~

Reported-by: kbuild test robot <lkp@xxxxxxxxx>
Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Mark Brown <broonie@xxxxxxxxxx>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
Cc: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx>
Cc: Jie Yang <yang.jie@xxxxxxxxxxxxxxx>
Cc: alsa-devel@xxxxxxxxxxxxxxxx
---
 sound/soc/intel/Kconfig | 3 ++-
 sound/soc/intel/boards/Kconfig | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

--- lnx-52-rc1.orig/sound/soc/intel/Kconfig
+++ lnx-52-rc1/sound/soc/intel/Kconfig
@@ -104,7 +104,7 @@ config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
 config SND_SOC_INTEL_SKYLAKE
ÂÂÂÂÂ tristate "All Skylake/SST Platforms"
ÂÂÂÂÂ depends on PCI && ACPI
-ÂÂÂ select SND_SOC_INTEL_SKL
+ÂÂÂ select SND_SOC_INTEL_SKL if COMMON_CLK

Is this really necessary? The COMMON_CLK is only needed for the SND_SOC_INTEL_SKYLAKE_SSP_CLK option, isn't it?

It prevents this Kconfig warning:

WARNING: unmet direct dependencies detected for SND_SOC_INTEL_SKL
Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_INTEL_SST_TOPLEVEL [=y] && PCI [=y] && ACPI [=y] && COMMON_CLK [=n]
Selected by [y]:
- SND_SOC_INTEL_SKYLAKE [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_INTEL_SST_TOPLEVEL [=y] && PCI [=y] && ACPI [=y]

Humm, ok. Can you share the config? I'd like to look into this. There may be a need for this COMMON_CLK, but applying it here would not be fully correct: you can unselect SND_SOC_INTEL_SKYLAKE and only select SND_SOC_INTEL_SKL and still have the same problem.


ÂÂÂÂÂ select SND_SOC_INTEL_APL
ÂÂÂÂÂ select SND_SOC_INTEL_KBL
ÂÂÂÂÂ select SND_SOC_INTEL_GLK
@@ -120,6 +120,7 @@ config SND_SOC_INTEL_SKYLAKE
 config SND_SOC_INTEL_SKL
ÂÂÂÂÂ tristate "Skylake Platforms"
ÂÂÂÂÂ depends on PCI && ACPI
+ÂÂÂ depends on COMMON_CLK
ÂÂÂÂÂ select SND_SOC_INTEL_SKYLAKE_FAMILY
ÂÂÂÂÂ help
ÂÂÂÂÂÂÂ If you have a Intel Skylake platform with the DSP enabled
--- lnx-52-rc1.orig/sound/soc/intel/boards/Kconfig
+++ lnx-52-rc1/sound/soc/intel/boards/Kconfig
@@ -286,7 +286,7 @@ config SND_SOC_INTEL_KBL_RT5663_MAX98927
ÂÂÂÂÂ select SND_SOC_MAX98927
ÂÂÂÂÂ select SND_SOC_DMIC
ÂÂÂÂÂ select SND_SOC_HDAC_HDMI
-ÂÂÂ select SND_SOC_INTEL_SKYLAKE_SSP_CLK
+ÂÂÂ select SND_SOC_INTEL_SKYLAKE_SSP_CLK if COMMON_CLK

and here I would make it a depend. I guess your solution solves the compilation but doesn't fully represent the fact that this machine driver is not functional without COMMON_CLK+SKYLAKE_SSP_CLK.

Not functional on ia64 anyway. :)

Yeah, I am fine with this.