linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] ASoC: Intel: Kconfig fixes
@ 2017-12-15  0:44 Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector Pierre-Louis Bossart
                   ` (10 more replies)
  0 siblings, 11 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

The first patch implements what Linus, Takashi and Mark
requested: a top-level selector defaulting to 'y' to easily filter all
other options and with no impact on code generation. There should be no
functionality change and will avoid breaking audio for people using
make oldnoconfig.

The rest of the patch series does a more in-depth cleanup. It was tested
on Baytrail/Cherrytrail/Skylake platforms with no regressions
observed and no reports of any compilation issues with 0-day or
randconfig.

The 4th patch is really the most important one, there were nested
configs which made no sense to me. I don't know the history which led
to such complicated stuff but simpler is better.

Patches 5..7 are just clean-ups of the machine driver configs,
for some reason there is no consistency in the settings so I tried to
apply common sense and use the same rules. At Andy Shevchenko's suggestion,
I also replaced the broken dependency on X86_INTEL_LPSS by MFD_INTEL_LPSS
for Skylake+ machines. No regressions were identified with this change.

Patches 8 and 9 are new in this series and are just cosmetic changes (comments
and text simplification).

Thanks to Vinod Koul for his contributions and comments.

Changes since RFCv2:
 Moved machine drivers to submenu
 Dropped SND_SOC_INTEL_COMMON since it was not needed
 Added more comments for if/endif
 Simplified text for options (dropped "ASoC Intel driver....")
 Fixed one 0-day warning
 
Changes since initial RFC:
 Removed default n
 Added help text for HASWELL, BAYTRAIL (legacy) and SKYLAKE options 
 Made top level machine driver selection dependent on INTEL_SST_TOPLEVEL.
 Added help text for PCI and HIFI2 platforms
 Replaced X86_INTEL_LPSS by MFD_INTEL_LPSS for Skylake+ devices
 Fixed a couple of indentation issues

Pierre-Louis Bossart (7):
  ASoC: Intel: Fix Kconfig with top-level selector
  ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
  ASoC: Intel: document what Kconfig options do
  ASoC: Intel: Fix nested/unnecessary Kconfig dependencies
  ASoC: Intel: boards: align Kconfig dependencies for Haswell/Broadwell
  ASoC: Intel: boards: align Kconfig configurations for HiFi2
  ASoC: Intel: boards: align/fix SKL/BXT/KBL Kconfigs

Vinod Koul (2):
  ASoC: Intel: kconfig: add some comments for if symbols
  ASoC: Intel: kconfig: drop boiler plate text from config items

 sound/soc/intel/Kconfig        | 117 ++++++++++++++++++-------
 sound/soc/intel/Makefile       |   2 +-
 sound/soc/intel/boards/Kconfig | 191 +++++++++++++++++++++--------------------
 3 files changed, 186 insertions(+), 124 deletions(-)

-- 
2.14.1

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15 11:07   ` Takashi Iwai
  2017-12-15 11:10   ` Andy Shevchenko
  2017-12-15  0:44 ` [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies Pierre-Louis Bossart
                   ` (9 subsequent siblings)
  10 siblings, 2 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

Follow network example suggested by Linus, move Intel definitions
in if/endif block and clarify in help text which options distro
configurations should enable - everything except legacy Baytrail stuff and
NOCODEC (test only)

To avoid user confusion, machine drivers are handled with a submenu made
dependent on this top-level selector.

There should be no functionality change - except that sound capabilities
are restored when using older configs without any user selection.

Note that the SND_SOC_ACPI_INTEL_MATCH config is not filtered out by
the top-level selector since it will also be selected with the upcoming
SOF drivers. Likewise the machine drivers are filtered by a top-level
selector which will allow for selection/reuse of the same machine driver
with existing SST or SOF-based platform drivers.

(simplification with submenu for machine drivers by Vinod Koul)

Fixes: f6a118a800e3 ("ASoC: Intel: clarify Kconfig dependencies")
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
 sound/soc/intel/Kconfig        | 71 +++++++++++++++++++++----------
 sound/soc/intel/Makefile       |  2 +-
 sound/soc/intel/boards/Kconfig | 94 +++++++++++++++++++++++-------------------
 3 files changed, 102 insertions(+), 65 deletions(-)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index 7b49d04e3c60..6c330f70cca7 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -1,3 +1,19 @@
+config SND_SOC_INTEL_SST_TOPLEVEL
+	bool "Intel ASoC SST drivers"
+	default y
+	depends on X86 || COMPILE_TEST
+	select SND_SOC_INTEL_MACH
+	help
+	  Intel ASoC SST Platform Drivers. If you have a Intel machine that
+	  has an audio controller with a DSP and I2S or DMIC port, then
+	  enable this option by saying Y
+
+	  Note that the answer to this question doesn't directly affect the
+	  kernel: saying N will just cause the configurator to skip all
+	  the questions about Intel SST drivers.
+
+if SND_SOC_INTEL_SST_TOPLEVEL
+
 config SND_SST_IPC
 	tristate
 
@@ -11,9 +27,6 @@ config SND_SST_IPC_ACPI
 	select SND_SOC_INTEL_SST
 	select IOSF_MBI
 
-config SND_SOC_INTEL_COMMON
-	tristate
-
 config SND_SOC_INTEL_SST
 	tristate
 	select SND_SOC_INTEL_SST_ACPI if ACPI
@@ -25,47 +38,61 @@ config SND_SOC_INTEL_SST_FIRMWARE
 config SND_SOC_INTEL_SST_ACPI
 	tristate
 
-config SND_SOC_ACPI_INTEL_MATCH
-	tristate
-	select SND_SOC_ACPI if ACPI
-
-config SND_SOC_INTEL_SST_TOPLEVEL
-	tristate "Intel ASoC SST drivers"
-	depends on X86 || COMPILE_TEST
-	select SND_SOC_INTEL_MACH
-	select SND_SOC_INTEL_COMMON
-	help
-          Intel ASoC Audio Drivers. If you have a Intel machine that
-          has audio controller with a DSP and I2S or DMIC port, then
-          enable this option by saying Y or M
-          If unsure select "N".
-
 config SND_SOC_INTEL_HASWELL
 	tristate "Intel ASoC SST driver for Haswell/Broadwell"
-	depends on SND_SOC_INTEL_SST_TOPLEVEL && SND_DMA_SGBUF
+	depends on SND_DMA_SGBUF
 	depends on DMADEVICES
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_FIRMWARE
+	select SND_SOC_ACPI_INTEL_MATCH
+	help
+	  If you have a Intel Haswell or Broadwell platform connected to
+	  an I2S codec, then enable this option by saying Y or m. This is
+	  typically used for Chromebooks. This is a recommended option.
 
 config SND_SOC_INTEL_BAYTRAIL
 	tristate "Intel ASoC SST driver for Baytrail (legacy)"
-	depends on SND_SOC_INTEL_SST_TOPLEVEL
 	depends on DMADEVICES
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_FIRMWARE
+	select SND_SOC_ACPI_INTEL_MATCH
+	help
+	  If you have a Intel Baytrail platform connected to an I2S codec,
+	  then enable this option by saying Y or m. This was typically used
+	  for Baytrail Chromebooks but this option is now deprecated and is
+	  not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
 
 config SND_SST_ATOM_HIFI2_PLATFORM
 	tristate "Intel ASoC SST driver for HiFi2 platforms (*field, *trail)"
-	depends on SND_SOC_INTEL_SST_TOPLEVEL && X86
+	depends on X86
 	select SND_SOC_COMPRESS
+	select SND_SOC_ACPI_INTEL_MATCH
 
 config SND_SOC_INTEL_SKYLAKE
 	tristate "Intel ASoC SST driver for SKL/BXT/KBL/GLK/CNL"
-	depends on SND_SOC_INTEL_SST_TOPLEVEL && PCI && ACPI
+	depends on PCI && ACPI
 	select SND_HDA_EXT_CORE
 	select SND_HDA_DSP_LOADER
 	select SND_SOC_TOPOLOGY
 	select SND_SOC_INTEL_SST
+	select SND_SOC_ACPI_INTEL_MATCH
+	help
+	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
+	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
+	  then enable this option by saying Y or m.
+
+endif ## SND_SOC_INTEL_SST_TOPLEVEL
 
 # ASoC codec drivers
 source "sound/soc/intel/boards/Kconfig"
+
+# configs common to SST and SOF to use matching tables
+
+config SND_SOC_ACPI_INTEL_MATCH
+	tristate
+	depends on X86 && ACPI
+	select SND_SOC_ACPI
+	# this option controls the compilation of ACPI matching tables and
+	# helpers and is not meant to be selected by the user. It is not
+	# filtered out on purpose by the top-level selector since it will
+	# be selected by SST or SOF platform driver options
diff --git a/sound/soc/intel/Makefile b/sound/soc/intel/Makefile
index b973d457e834..8160520fd74c 100644
--- a/sound/soc/intel/Makefile
+++ b/sound/soc/intel/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 # Core support
-obj-$(CONFIG_SND_SOC_INTEL_COMMON) += common/
+obj-$(CONFIG_SND_SOC) += common/
 
 # Platform Support
 obj-$(CONFIG_SND_SOC_INTEL_HASWELL) += haswell/
diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 6f754708a48c..08481882c240 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -1,7 +1,14 @@
-config SND_SOC_INTEL_MACH
-	tristate "Intel Audio machine drivers"
+menuconfig SND_SOC_INTEL_MACH
+	bool "Intel Machine drivers"
 	depends on SND_SOC_INTEL_SST_TOPLEVEL
-	select SND_SOC_ACPI_INTEL_MATCH if ACPI
+	help
+         Intel ASoC Machine Drivers. If you have a Intel machine that
+         has an audio controller with a DSP and I2S or DMIC port, then
+         enable this option by saying Y
+
+         Note that the answer to this question doesn't directly affect the
+         kernel: saying N will just cause the configurator to skip all
+         the questions about Intel ASoC machine drivers.
 
 if SND_SOC_INTEL_MACH
 
@@ -17,103 +24,106 @@ config SND_MFLD_MACHINE
           Say Y if you have such a device.
           If unsure select "N".
 
+if SND_SOC_INTEL_HASWELL
+
 config SND_SOC_INTEL_HASWELL_MACH
 	tristate "ASoC Audio DSP support for Intel Haswell Lynxpoint"
 	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
-	depends on SND_SOC_INTEL_HASWELL
 	select SND_SOC_RT5640
 	help
 	  This adds support for the Lynxpoint Audio DSP on Intel(R) Haswell
-	  Ultrabook platforms.
-	  Say Y if you have such a device.
+	  Ultrabook platforms. This is a recommended option.
+	  Say Y or m if you have such a device.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BDW_RT5677_MACH
 	tristate "ASoC Audio driver for Intel Broadwell with RT5677 codec"
 	depends on X86_INTEL_LPSS && GPIOLIB && I2C
-	depends on SND_SOC_INTEL_HASWELL
 	select SND_SOC_RT5677
 	help
 	  This adds support for Intel Broadwell platform based boards with
-	  the RT5677 audio codec.
+	  the RT5677 audio codec. This is a recommended option.
+	  Say Y or m if you have such a device.
+	  If unsure select "N".
 
 config SND_SOC_INTEL_BROADWELL_MACH
 	tristate "ASoC Audio DSP support for Intel Broadwell Wildcatpoint"
 	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
-	depends on SND_SOC_INTEL_HASWELL
 	select SND_SOC_RT286
 	help
 	  This adds support for the Wilcatpoint Audio DSP on Intel(R) Broadwell
 	  Ultrabook platforms.
-	  Say Y if you have such a device.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
+endif
+
+if SND_SOC_INTEL_BAYTRAIL
 
 config SND_SOC_INTEL_BYT_MAX98090_MACH
 	tristate "ASoC Audio driver for Intel Baytrail with MAX98090 codec"
 	depends on X86_INTEL_LPSS && I2C
-	depends on SND_SST_IPC_ACPI = n
-	depends on SND_SOC_INTEL_BAYTRAIL
 	select SND_SOC_MAX98090
 	help
 	  This adds audio driver for Intel Baytrail platform based boards
-	  with the MAX98090 audio codec.
+	  with the MAX98090 audio codec. This driver is deprecated, use
+	  SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH instead for better
+	  functionality.
 
 config SND_SOC_INTEL_BYT_RT5640_MACH
 	tristate "ASoC Audio driver for Intel Baytrail with RT5640 codec"
 	depends on X86_INTEL_LPSS && I2C
-	depends on SND_SST_IPC_ACPI = n
-	depends on SND_SOC_INTEL_BAYTRAIL
 	select SND_SOC_RT5640
 	help
 	  This adds audio driver for Intel Baytrail platform based boards
 	  with the RT5640 audio codec. This driver is deprecated, use
 	  SND_SOC_INTEL_BYTCR_RT5640_MACH instead for better functionality.
 
+endif
+
+if SND_SST_ATOM_HIFI2_PLATFORM
+
 config SND_SOC_INTEL_BYTCR_RT5640_MACH
         tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
 	depends on X86 && I2C && ACPI
 	select SND_SOC_RT5640
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
           This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
           platforms with RT5640 audio codec.
-          Say Y if you have such a device.
+          Say Y or m if you have such a device. This is a recommended option.
           If unsure select "N".
 
 config SND_SOC_INTEL_BYTCR_RT5651_MACH
         tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
 	depends on X86 && I2C && ACPI
 	select SND_SOC_RT5651
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
           This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
           platforms with RT5651 audio codec.
-          Say Y if you have such a device.
+          Say Y or m if you have such a device. This is a recommended option.
           If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
         tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
         select SND_SOC_RT5670
-        depends on SND_SST_ATOM_HIFI2_PLATFORM
         select SND_SST_IPC_ACPI
         help
           This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
           platforms with RT5672 audio codec.
-          Say Y if you have such a device.
+          Say Y or m if you have such a device. This is a recommended option.
           If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
 	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT5645
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
 	  platforms with RT5645/5650 audio codec.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
@@ -121,63 +131,67 @@ config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_MAX98090
 	select SND_SOC_TS3A227E
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
 	  platforms with MAX98090 audio codec it also can support TI jack chip as aux device.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with DA7212/7213 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_DA7213
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail & CherryTrail
 	  platforms with DA7212/7213 audio codec.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with ES8316 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_ES8316
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail &
 	  Cherrytrail platforms with ES8316 audio codec.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
 	depends on X86_INTEL_LPSS && I2C && ACPI
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
 	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for the MinnowBoard Max or
 	  Up boards and provides access to I2S signals on the Low-Speed
-	  connector
+	  connector. This is not a recommended option outside of these cases.
+	  It is not intended to be enabled by distros by default.
+	  Say Y or m if you have such a device.
+
 	  If unsure select "N".
 
+endif
+
+if SND_SOC_INTEL_SKYLAKE
+
 config SND_SOC_INTEL_SKL_RT286_MACH
 	tristate "ASoC Audio driver for SKL with RT286 I2S mode"
 	depends on X86 && ACPI && I2C
-	depends on SND_SOC_INTEL_SKYLAKE
 	select SND_SOC_RT286
 	select SND_SOC_DMIC
 	select SND_SOC_HDAC_HDMI
 	help
 	   This adds support for ASoC machine driver for Skylake platforms
 	   with RT286 I2S audio codec.
-	   Say Y if you have such a device.
+	   Say Y or m if you have such a device.
 	   If unsure select "N".
 
 config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
 	tristate "ASoC Audio driver for SKL with NAU88L25 and SSM4567 in I2S Mode"
 	depends on X86_INTEL_LPSS && I2C
-	depends on SND_SOC_INTEL_SKYLAKE
 	select SND_SOC_NAU8825
 	select SND_SOC_SSM4567
 	select SND_SOC_DMIC
@@ -185,13 +199,12 @@ config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
 	help
 	  This adds support for ASoC Onboard Codec I2S machine driver. This will
 	  create an alsa sound card for NAU88L25 + SSM4567.
-	  Say Y if you have such a device.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
 	tristate "ASoC Audio driver for SKL with NAU88L25 and MAX98357A in I2S Mode"
 	depends on X86_INTEL_LPSS && I2C
-	depends on SND_SOC_INTEL_SKYLAKE
 	select SND_SOC_NAU8825
 	select SND_SOC_MAX98357A
 	select SND_SOC_DMIC
@@ -199,13 +212,12 @@ config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
 	help
 	  This adds support for ASoC Onboard Codec I2S machine driver. This will
 	  create an alsa sound card for NAU88L25 + MAX98357A.
-	  Say Y if you have such a device.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
 	tristate "ASoC Audio driver for Broxton with DA7219 and MAX98357A in I2S Mode"
 	depends on X86 && ACPI && I2C
-	depends on SND_SOC_INTEL_SKYLAKE
 	select SND_SOC_DA7219
 	select SND_SOC_MAX98357A
 	select SND_SOC_DMIC
@@ -214,13 +226,12 @@ config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
 	help
 	   This adds support for ASoC machine driver for Broxton-P platforms
 	   with DA7219 + MAX98357A I2S audio codec.
-	   Say Y if you have such a device.
+	   Say Y or m if you have such a device. This is a recommended option.
 	   If unsure select "N".
 
 config SND_SOC_INTEL_BXT_RT298_MACH
 	tristate "ASoC Audio driver for Broxton with RT298 I2S mode"
 	depends on X86 && ACPI && I2C
-	depends on SND_SOC_INTEL_SKYLAKE
 	select SND_SOC_RT298
 	select SND_SOC_DMIC
 	select SND_SOC_HDAC_HDMI
@@ -228,14 +239,13 @@ config SND_SOC_INTEL_BXT_RT298_MACH
 	help
 	   This adds support for ASoC machine driver for Broxton platforms
 	   with RT286 I2S audio codec.
-	   Say Y if you have such a device.
+	   Say Y or m if you have such a device. This is a recommended option.
 	   If unsure select "N".
 
 config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
 	tristate "ASoC Audio driver for KBL with RT5663 and MAX98927 in I2S Mode"
 	depends on X86_INTEL_LPSS && I2C
 	select SND_SOC_INTEL_SST
-	depends on SND_SOC_INTEL_SKYLAKE
 	select SND_SOC_RT5663
 	select SND_SOC_MAX98927
 	select SND_SOC_DMIC
@@ -243,14 +253,13 @@ config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
 	help
 	  This adds support for ASoC Onboard Codec I2S machine driver. This will
 	  create an alsa sound card for RT5663 + MAX98927.
-	  Say Y if you have such a device.
+	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
 
 config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
         tristate "ASoC Audio driver for KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
         depends on X86_INTEL_LPSS && I2C && SPI
         select SND_SOC_INTEL_SST
-        depends on SND_SOC_INTEL_SKYLAKE
         select SND_SOC_RT5663
         select SND_SOC_RT5514
         select SND_SOC_RT5514_SPI
@@ -259,7 +268,8 @@ config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
         help
           This adds support for ASoC Onboard Codec I2S machine driver. This will
           create an alsa sound card for RT5663 + RT5514 + MAX98927.
-          Say Y if you have such a device.
+          Say Y or m if you have such a device. This is a recommended option.
           If unsure select "N".
-
 endif
+
+endif ## SND_SOC_INTEL_MACH
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15 10:58   ` Andy Shevchenko
  2017-12-15  0:44 ` [PATCH 3/9] ASoC: Intel: document what Kconfig options do Pierre-Louis Bossart
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

PCI/ACPI selections should not happen in Kconfig for machine drivers,
move to SOC selections.

Add distinction between PCI and ACPI HiFi2 platforms and help text.

There should be no functionality change.

The PCI-based platforms may be removed at some point since Medfield
is not really supported by anyone, and with Edison now defunct support for
Merrifield/Edison is to be determined.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/Kconfig        | 27 +++++++++++++++++++++++----
 sound/soc/intel/boards/Kconfig | 14 ++++----------
 2 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index 6c330f70cca7..e9e5f96290f6 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -40,7 +40,7 @@ config SND_SOC_INTEL_SST_ACPI
 
 config SND_SOC_INTEL_HASWELL
 	tristate "Intel ASoC SST driver for Haswell/Broadwell"
-	depends on SND_DMA_SGBUF
+	depends on SND_DMA_SGBUF && ACPI
 	depends on DMADEVICES
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_FIRMWARE
@@ -52,7 +52,7 @@ config SND_SOC_INTEL_HASWELL
 
 config SND_SOC_INTEL_BAYTRAIL
 	tristate "Intel ASoC SST driver for Baytrail (legacy)"
-	depends on DMADEVICES
+	depends on DMADEVICES && ACPI
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_FIRMWARE
 	select SND_SOC_ACPI_INTEL_MATCH
@@ -62,11 +62,30 @@ config SND_SOC_INTEL_BAYTRAIL
 	  for Baytrail Chromebooks but this option is now deprecated and is
 	  not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
 
+config SND_SST_ATOM_HIFI2_PLATFORM_PCI
+	tristate "Intel ASoC SST driver for PCI HiFi2 platforms (Medfield, Merrifield)"
+	depends on X86 && PCI
+	select SND_SST_IPC_PCI
+	select SND_SOC_COMPRESS
+	select SND_SOC_INTEL_COMMON
+	help
+	  If you have a Intel Medfield or Merrifield/Edison platform, then
+	  enable this option by saying Y or m. Distros will typically not
+	  enable this option: Medfield devices are not available to
+	  developers and while Merrifield/Edison can run a mainline kernel with
+	  limited functionality it will require a firmware file which
+	  is not in the standard firmware tree
+
 config SND_SST_ATOM_HIFI2_PLATFORM
-	tristate "Intel ASoC SST driver for HiFi2 platforms (*field, *trail)"
-	depends on X86
+	tristate "Intel ASoC SST driver for ACPI HiFi2 platforms (Baytrail, Cherrytrail)"
+	depends on X86 && ACPI
+	select SND_SST_IPC_ACPI
 	select SND_SOC_COMPRESS
 	select SND_SOC_ACPI_INTEL_MATCH
+	help
+	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
+	  codec, then enable this option by saying Y or m. This is a
+	  recommended option
 
 config SND_SOC_INTEL_SKYLAKE
 	tristate "Intel ASoC SST driver for SKL/BXT/KBL/GLK/CNL"
diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 08481882c240..e926f9747232 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -12,18 +12,20 @@ menuconfig SND_SOC_INTEL_MACH
 
 if SND_SOC_INTEL_MACH
 
+if SND_SST_ATOM_HIFI2_PLATFORM_PCI
+
 config SND_MFLD_MACHINE
 	tristate "SOC Machine Audio driver for Intel Medfield MID platform"
 	depends on INTEL_SCU_IPC
 	select SND_SOC_SN95031
-	depends on SND_SST_ATOM_HIFI2_PLATFORM
-	select SND_SST_IPC_PCI
 	help
           This adds support for ASoC machine driver for Intel(R) MID Medfield platform
           used as alsa device in audio substem in Intel(R) MID devices
           Say Y if you have such a device.
           If unsure select "N".
 
+endif
+
 if SND_SOC_INTEL_HASWELL
 
 config SND_SOC_INTEL_HASWELL_MACH
@@ -86,7 +88,6 @@ config SND_SOC_INTEL_BYTCR_RT5640_MACH
         tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
 	depends on X86 && I2C && ACPI
 	select SND_SOC_RT5640
-	select SND_SST_IPC_ACPI
 	help
           This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
           platforms with RT5640 audio codec.
@@ -97,7 +98,6 @@ config SND_SOC_INTEL_BYTCR_RT5651_MACH
         tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
 	depends on X86 && I2C && ACPI
 	select SND_SOC_RT5651
-	select SND_SST_IPC_ACPI
 	help
           This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
           platforms with RT5651 audio codec.
@@ -108,7 +108,6 @@ config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
         tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
         select SND_SOC_RT5670
-        select SND_SST_IPC_ACPI
         help
           This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
           platforms with RT5672 audio codec.
@@ -119,7 +118,6 @@ config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
 	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT5645
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
 	  platforms with RT5645/5650 audio codec.
@@ -131,7 +129,6 @@ config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_MAX98090
 	select SND_SOC_TS3A227E
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
 	  platforms with MAX98090 audio codec it also can support TI jack chip as aux device.
@@ -142,7 +139,6 @@ config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with DA7212/7213 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_DA7213
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail & CherryTrail
 	  platforms with DA7212/7213 audio codec.
@@ -153,7 +149,6 @@ config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with ES8316 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_ES8316
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail &
 	  Cherrytrail platforms with ES8316 audio codec.
@@ -163,7 +158,6 @@ config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
 config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
 	depends on X86_INTEL_LPSS && I2C && ACPI
-	select SND_SST_IPC_ACPI
 	help
 	  This adds support for ASoC machine driver for the MinnowBoard Max or
 	  Up boards and provides access to I2S signals on the Low-Speed
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 3/9] ASoC: Intel: document what Kconfig options do
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15 10:56   ` Andy Shevchenko
  2017-12-15  0:44 ` [PATCH 4/9] ASoC: Intel: Fix nested/unnecessary Kconfig dependencies Pierre-Louis Bossart
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

Document in comments what the options are supposed to mean, before
clean-up in next patch.

No functionality change here.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/Kconfig | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index e9e5f96290f6..f25edeb7cff6 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -16,16 +16,26 @@ if SND_SOC_INTEL_SST_TOPLEVEL
 
 config SND_SST_IPC
 	tristate
+	# This option controls the IPC core for HiFi2 platforms
 
 config SND_SST_IPC_PCI
 	tristate
 	select SND_SST_IPC
+	# This option controls the PCI-based IPC for HiFi2 platforms
+	#  (Medfield, Merrifield).
 
 config SND_SST_IPC_ACPI
 	tristate
 	select SND_SST_IPC
 	select SND_SOC_INTEL_SST
 	select IOSF_MBI
+	# This option controls the ACPI-based IPC for HiFi2 platforms
+	# (Baytrail, Cherrytrail)
+
+config SND_SOC_INTEL_SST_ACPI
+	tristate
+	# This option controls ACPI-based probing on Haswell/Broadwell/
+	#  Baytrail legacy and will be set when these platforms are enabled
 
 config SND_SOC_INTEL_SST
 	tristate
@@ -34,9 +44,8 @@ config SND_SOC_INTEL_SST
 config SND_SOC_INTEL_SST_FIRMWARE
 	tristate
 	select DW_DMAC_CORE
-
-config SND_SOC_INTEL_SST_ACPI
-	tristate
+	# This option controls firmware download on Haswell/Broadwell/
+	# Baytrail legacy and will be set when these platforms are enabled
 
 config SND_SOC_INTEL_HASWELL
 	tristate "Intel ASoC SST driver for Haswell/Broadwell"
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 4/9] ASoC: Intel: Fix nested/unnecessary Kconfig dependencies
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (2 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 3/9] ASoC: Intel: document what Kconfig options do Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 5/9] ASoC: Intel: boards: align Kconfig dependencies for Haswell/Broadwell Pierre-Louis Bossart
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

This patch fixes a number of issues:
1. IOSF_MBI is only needed for byt-cr detection, which is only supported
on Baytrail/Cherrytrail, move to HiFi2 config

2. SND_SOC_INTEL_SST should not select SND_SOC_INTEL_SST_ACPI, the latter
config is only valid for Haswell/Baytrail legacy but not needed by Skylake

3. SND_SST_IPC_ACPI, used only by the atom/sst driver, should not select
SND_SOC_INTEL_SST, none of the code under common/sst*.c is used

This nesting of configs really makes no sense, it's easier to maintain
if for each platform one can control what is strictly required.

Compiled-tested with each of Haswell, Baytrail legacy, HiFi2, SKL cases
selected independently. 0-day and explicit randconfig tests did not report
additional issues and no functionality loss was observed in Intel tests on
HIFI2 and SKYLAKE platforms

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/Kconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index f25edeb7cff6..e6f7fc91900c 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -27,8 +27,6 @@ config SND_SST_IPC_PCI
 config SND_SST_IPC_ACPI
 	tristate
 	select SND_SST_IPC
-	select SND_SOC_INTEL_SST
-	select IOSF_MBI
 	# This option controls the ACPI-based IPC for HiFi2 platforms
 	# (Baytrail, Cherrytrail)
 
@@ -39,7 +37,6 @@ config SND_SOC_INTEL_SST_ACPI
 
 config SND_SOC_INTEL_SST
 	tristate
-	select SND_SOC_INTEL_SST_ACPI if ACPI
 
 config SND_SOC_INTEL_SST_FIRMWARE
 	tristate
@@ -52,6 +49,7 @@ config SND_SOC_INTEL_HASWELL
 	depends on SND_DMA_SGBUF && ACPI
 	depends on DMADEVICES
 	select SND_SOC_INTEL_SST
+	select SND_SOC_INTEL_SST_ACPI
 	select SND_SOC_INTEL_SST_FIRMWARE
 	select SND_SOC_ACPI_INTEL_MATCH
 	help
@@ -63,6 +61,7 @@ config SND_SOC_INTEL_BAYTRAIL
 	tristate "Intel ASoC SST driver for Baytrail (legacy)"
 	depends on DMADEVICES && ACPI
 	select SND_SOC_INTEL_SST
+	select SND_SOC_INTEL_SST_ACPI
 	select SND_SOC_INTEL_SST_FIRMWARE
 	select SND_SOC_ACPI_INTEL_MATCH
 	help
@@ -89,6 +88,7 @@ config SND_SST_ATOM_HIFI2_PLATFORM
 	tristate "Intel ASoC SST driver for ACPI HiFi2 platforms (Baytrail, Cherrytrail)"
 	depends on X86 && ACPI
 	select SND_SST_IPC_ACPI
+	select IOSF_MBI
 	select SND_SOC_COMPRESS
 	select SND_SOC_ACPI_INTEL_MATCH
 	help
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 5/9] ASoC: Intel: boards: align Kconfig dependencies for Haswell/Broadwell
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (3 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 4/9] ASoC: Intel: Fix nested/unnecessary Kconfig dependencies Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 6/9] ASoC: Intel: boards: align Kconfig configurations for HiFi2 Pierre-Louis Bossart
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

Make sure that the same I2C/I2C_DESIGNWARE_PLATFORM are selected.
The latter might actually need to be moved to the SOC side of things,
it really has no place in a machine driver dependency

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index e926f9747232..358f8f33adc4 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -40,7 +40,7 @@ config SND_SOC_INTEL_HASWELL_MACH
 
 config SND_SOC_INTEL_BDW_RT5677_MACH
 	tristate "ASoC Audio driver for Intel Broadwell with RT5677 codec"
-	depends on X86_INTEL_LPSS && GPIOLIB && I2C
+	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM && GPIOLIB
 	select SND_SOC_RT5677
 	help
 	  This adds support for Intel Broadwell platform based boards with
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 6/9] ASoC: Intel: boards: align Kconfig configurations for HiFi2
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (4 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 5/9] ASoC: Intel: boards: align Kconfig dependencies for Haswell/Broadwell Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15 10:53   ` Andy Shevchenko
  2017-12-15  0:44 ` [PATCH 7/9] ASoC: Intel: boards: align/fix SKL/BXT/KBL Kconfigs Pierre-Louis Bossart
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

Make sure all the configs are aligned
Also add the missing dependencies on SOC_ACPI stuff used to fix
DAI names based on HID and fix a couple of indentation issues

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/Kconfig | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 358f8f33adc4..a0cbbe9e8db7 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -85,29 +85,32 @@ endif
 if SND_SST_ATOM_HIFI2_PLATFORM
 
 config SND_SOC_INTEL_BYTCR_RT5640_MACH
-        tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
-	depends on X86 && I2C && ACPI
+	tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
+	depends on X86_INTEL_LPSS && I2C && ACPI
+	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5640
 	help
-          This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
-          platforms with RT5640 audio codec.
-          Say Y or m if you have such a device. This is a recommended option.
-          If unsure select "N".
+	  This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
+	  platforms with RT5640 audio codec.
+	  Say Y or m if you have such a device. This is a recommended option.
+	  If unsure select "N".
 
 config SND_SOC_INTEL_BYTCR_RT5651_MACH
-        tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
-	depends on X86 && I2C && ACPI
+	tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
+	depends on X86_INTEL_LPSS && I2C && ACPI
+	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5651
 	help
-          This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
-          platforms with RT5651 audio codec.
-          Say Y or m if you have such a device. This is a recommended option.
-          If unsure select "N".
+	  This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
+	  platforms with RT5651 audio codec.
+	  Say Y or m if you have such a device. This is a recommended option.
+	  If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
-        tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
+	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
-        select SND_SOC_RT5670
+	select CONFIG_SND_SOC_ACPI
+	select SND_SOC_RT5670
         help
           This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
           platforms with RT5672 audio codec.
@@ -117,6 +120,7 @@ config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
 config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
 	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
+	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5645
 	help
 	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
@@ -138,6 +142,7 @@ config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
 config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
 	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with DA7212/7213 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
+	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_DA7213
 	help
 	  This adds support for ASoC machine driver for Intel(R) Baytrail & CherryTrail
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 7/9] ASoC: Intel: boards: align/fix SKL/BXT/KBL Kconfigs
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (5 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 6/9] ASoC: Intel: boards: align Kconfig configurations for HiFi2 Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 8/9] ASoC: Intel: kconfig: add some comments for if symbols Pierre-Louis Bossart
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

No reason why SND_SOC_INTEL_SST should be set here.
Also make sure same dependencies are used everywhere (only last one has SPI
in addition). Replace X86_INTEL_LPSS by MFD_INTEL_LPSS since the former
makes no sense for Skylake+ devices

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/Kconfig | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index a0cbbe9e8db7..8f519bb1ced1 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -178,7 +178,7 @@ if SND_SOC_INTEL_SKYLAKE
 
 config SND_SOC_INTEL_SKL_RT286_MACH
 	tristate "ASoC Audio driver for SKL with RT286 I2S mode"
-	depends on X86 && ACPI && I2C
+	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT286
 	select SND_SOC_DMIC
 	select SND_SOC_HDAC_HDMI
@@ -190,7 +190,7 @@ config SND_SOC_INTEL_SKL_RT286_MACH
 
 config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
 	tristate "ASoC Audio driver for SKL with NAU88L25 and SSM4567 in I2S Mode"
-	depends on X86_INTEL_LPSS && I2C
+	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_NAU8825
 	select SND_SOC_SSM4567
 	select SND_SOC_DMIC
@@ -203,7 +203,7 @@ config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
 
 config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
 	tristate "ASoC Audio driver for SKL with NAU88L25 and MAX98357A in I2S Mode"
-	depends on X86_INTEL_LPSS && I2C
+	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_NAU8825
 	select SND_SOC_MAX98357A
 	select SND_SOC_DMIC
@@ -216,7 +216,7 @@ config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
 
 config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
 	tristate "ASoC Audio driver for Broxton with DA7219 and MAX98357A in I2S Mode"
-	depends on X86 && ACPI && I2C
+	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_DA7219
 	select SND_SOC_MAX98357A
 	select SND_SOC_DMIC
@@ -230,7 +230,7 @@ config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
 
 config SND_SOC_INTEL_BXT_RT298_MACH
 	tristate "ASoC Audio driver for Broxton with RT298 I2S mode"
-	depends on X86 && ACPI && I2C
+	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT298
 	select SND_SOC_DMIC
 	select SND_SOC_HDAC_HDMI
@@ -243,8 +243,7 @@ config SND_SOC_INTEL_BXT_RT298_MACH
 
 config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
 	tristate "ASoC Audio driver for KBL with RT5663 and MAX98927 in I2S Mode"
-	depends on X86_INTEL_LPSS && I2C
-	select SND_SOC_INTEL_SST
+	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT5663
 	select SND_SOC_MAX98927
 	select SND_SOC_DMIC
@@ -257,8 +256,7 @@ config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
 
 config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
         tristate "ASoC Audio driver for KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
-        depends on X86_INTEL_LPSS && I2C && SPI
-        select SND_SOC_INTEL_SST
+        depends on MFD_INTEL_LPSS && I2C && SPI && ACPI
         select SND_SOC_RT5663
         select SND_SOC_RT5514
         select SND_SOC_RT5514_SPI
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 8/9] ASoC: Intel: kconfig: add some comments for if symbols
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (6 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 7/9] ASoC: Intel: boards: align/fix SKL/BXT/KBL Kconfigs Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15  0:44 ` [PATCH 9/9] ASoC: Intel: kconfig: drop boiler plate text from config items Pierre-Louis Bossart
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

From: Vinod Koul <vinod.koul@intel.com>

Helps in find if endings

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/Kconfig | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 8f519bb1ced1..ae5714c90213 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -24,7 +24,7 @@ config SND_MFLD_MACHINE
           Say Y if you have such a device.
           If unsure select "N".
 
-endif
+endif ## SND_SST_ATOM_HIFI2_PLATFORM_PCI
 
 if SND_SOC_INTEL_HASWELL
 
@@ -57,7 +57,7 @@ config SND_SOC_INTEL_BROADWELL_MACH
 	  Ultrabook platforms.
 	  Say Y or m if you have such a device. This is a recommended option.
 	  If unsure select "N".
-endif
+endif ## SND_SOC_INTEL_HASWELL
 
 if SND_SOC_INTEL_BAYTRAIL
 
@@ -80,7 +80,7 @@ config SND_SOC_INTEL_BYT_RT5640_MACH
 	  with the RT5640 audio codec. This driver is deprecated, use
 	  SND_SOC_INTEL_BYTCR_RT5640_MACH instead for better functionality.
 
-endif
+endif ## SND_SOC_INTEL_BAYTRAIL
 
 if SND_SST_ATOM_HIFI2_PLATFORM
 
@@ -172,7 +172,7 @@ config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
 
 	  If unsure select "N".
 
-endif
+endif ## SND_SST_ATOM_HIFI2_PLATFORM
 
 if SND_SOC_INTEL_SKYLAKE
 
@@ -267,6 +267,6 @@ config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
           create an alsa sound card for RT5663 + RT5514 + MAX98927.
           Say Y or m if you have such a device. This is a recommended option.
           If unsure select "N".
-endif
+endif ## SND_SOC_INTEL_SKYLAKE
 
 endif ## SND_SOC_INTEL_MACH
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH 9/9] ASoC: Intel: kconfig: drop boiler plate text from config items
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (7 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 8/9] ASoC: Intel: kconfig: add some comments for if symbols Pierre-Louis Bossart
@ 2017-12-15  0:44 ` Pierre-Louis Bossart
  2017-12-15 10:51   ` Andy Shevchenko
  2017-12-15  5:34 ` [PATCH 0/9] ASoC: Intel: Kconfig fixes Vinod Koul
  2017-12-15 11:06 ` Andy Shevchenko
  10 siblings, 1 reply; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15  0:44 UTC (permalink / raw)
  To: alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel, Pierre-Louis Bossart

From: Vinod Koul <vinod.koul@intel.com>

Drop "Intel ASoC SST driver for " platforms and "SOC Machine Audio driver
for Intel" for machines..

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/Kconfig        | 10 +++++-----
 sound/soc/intel/boards/Kconfig | 42 +++++++++++++++++++++---------------------
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index e6f7fc91900c..591667058832 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -45,7 +45,7 @@ config SND_SOC_INTEL_SST_FIRMWARE
 	# Baytrail legacy and will be set when these platforms are enabled
 
 config SND_SOC_INTEL_HASWELL
-	tristate "Intel ASoC SST driver for Haswell/Broadwell"
+	tristate "Haswell/Broadwell Platforms"
 	depends on SND_DMA_SGBUF && ACPI
 	depends on DMADEVICES
 	select SND_SOC_INTEL_SST
@@ -58,7 +58,7 @@ config SND_SOC_INTEL_HASWELL
 	  typically used for Chromebooks. This is a recommended option.
 
 config SND_SOC_INTEL_BAYTRAIL
-	tristate "Intel ASoC SST driver for Baytrail (legacy)"
+	tristate "Baytrail (legacy) Platforms"
 	depends on DMADEVICES && ACPI
 	select SND_SOC_INTEL_SST
 	select SND_SOC_INTEL_SST_ACPI
@@ -71,7 +71,7 @@ config SND_SOC_INTEL_BAYTRAIL
 	  not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
 
 config SND_SST_ATOM_HIFI2_PLATFORM_PCI
-	tristate "Intel ASoC SST driver for PCI HiFi2 platforms (Medfield, Merrifield)"
+	tristate "PCI HiFi2 platforms (Medfield, Merrifield) platforms"
 	depends on X86 && PCI
 	select SND_SST_IPC_PCI
 	select SND_SOC_COMPRESS
@@ -85,7 +85,7 @@ config SND_SST_ATOM_HIFI2_PLATFORM_PCI
 	  is not in the standard firmware tree
 
 config SND_SST_ATOM_HIFI2_PLATFORM
-	tristate "Intel ASoC SST driver for ACPI HiFi2 platforms (Baytrail, Cherrytrail)"
+	tristate "ACPI HiFi2 platforms (Baytrail, Cherrytrail) Platforms"
 	depends on X86 && ACPI
 	select SND_SST_IPC_ACPI
 	select IOSF_MBI
@@ -97,7 +97,7 @@ config SND_SST_ATOM_HIFI2_PLATFORM
 	  recommended option
 
 config SND_SOC_INTEL_SKYLAKE
-	tristate "Intel ASoC SST driver for SKL/BXT/KBL/GLK/CNL"
+	tristate "SKL/BXT/KBL/GLK/CNL... Platforms"
 	depends on PCI && ACPI
 	select SND_HDA_EXT_CORE
 	select SND_HDA_DSP_LOADER
diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index ae5714c90213..4b353898b591 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -15,7 +15,7 @@ if SND_SOC_INTEL_MACH
 if SND_SST_ATOM_HIFI2_PLATFORM_PCI
 
 config SND_MFLD_MACHINE
-	tristate "SOC Machine Audio driver for Intel Medfield MID platform"
+	tristate "Intel Medfield MID"
 	depends on INTEL_SCU_IPC
 	select SND_SOC_SN95031
 	help
@@ -29,7 +29,7 @@ endif ## SND_SST_ATOM_HIFI2_PLATFORM_PCI
 if SND_SOC_INTEL_HASWELL
 
 config SND_SOC_INTEL_HASWELL_MACH
-	tristate "ASoC Audio DSP support for Intel Haswell Lynxpoint"
+	tristate "Haswell Lynxpoint"
 	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
 	select SND_SOC_RT5640
 	help
@@ -39,7 +39,7 @@ config SND_SOC_INTEL_HASWELL_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BDW_RT5677_MACH
-	tristate "ASoC Audio driver for Intel Broadwell with RT5677 codec"
+	tristate "Broadwell with RT5677 codec"
 	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM && GPIOLIB
 	select SND_SOC_RT5677
 	help
@@ -49,7 +49,7 @@ config SND_SOC_INTEL_BDW_RT5677_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BROADWELL_MACH
-	tristate "ASoC Audio DSP support for Intel Broadwell Wildcatpoint"
+	tristate "Intel Broadwell Wildcatpoint"
 	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
 	select SND_SOC_RT286
 	help
@@ -62,7 +62,7 @@ endif ## SND_SOC_INTEL_HASWELL
 if SND_SOC_INTEL_BAYTRAIL
 
 config SND_SOC_INTEL_BYT_MAX98090_MACH
-	tristate "ASoC Audio driver for Intel Baytrail with MAX98090 codec"
+	tristate "Baytrail with MAX98090 codec"
 	depends on X86_INTEL_LPSS && I2C
 	select SND_SOC_MAX98090
 	help
@@ -72,7 +72,7 @@ config SND_SOC_INTEL_BYT_MAX98090_MACH
 	  functionality.
 
 config SND_SOC_INTEL_BYT_RT5640_MACH
-	tristate "ASoC Audio driver for Intel Baytrail with RT5640 codec"
+	tristate "Baytrail with RT5640 codec"
 	depends on X86_INTEL_LPSS && I2C
 	select SND_SOC_RT5640
 	help
@@ -85,7 +85,7 @@ endif ## SND_SOC_INTEL_BAYTRAIL
 if SND_SST_ATOM_HIFI2_PLATFORM
 
 config SND_SOC_INTEL_BYTCR_RT5640_MACH
-	tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
+	tristate "Baytrail and Baytrail-CR with RT5640 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5640
@@ -96,7 +96,7 @@ config SND_SOC_INTEL_BYTCR_RT5640_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYTCR_RT5651_MACH
-	tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
+	tristate "Baytrail and Baytrail-CR with RT5651 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5651
@@ -107,7 +107,7 @@ config SND_SOC_INTEL_BYTCR_RT5651_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
-	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
+	tristate "Cherrytrail & Braswell with RT5672 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5670
@@ -118,7 +118,7 @@ config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
           If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
-	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
+	tristate "Cherrytrail & Braswell with RT5645/5650 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_RT5645
@@ -129,7 +129,7 @@ config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
-	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with MAX98090 & TI codec"
+	tristate "Cherrytrail & Braswell with MAX98090 & TI codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_MAX98090
 	select SND_SOC_TS3A227E
@@ -140,7 +140,7 @@ config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
-	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with DA7212/7213 codec"
+	tristate "Baytrail & Cherrytrail with DA7212/7213 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select CONFIG_SND_SOC_ACPI
 	select SND_SOC_DA7213
@@ -151,7 +151,7 @@ config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
-	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with ES8316 codec"
+	tristate "Baytrail & Cherrytrail with ES8316 codec"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_ES8316
 	help
@@ -161,7 +161,7 @@ config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
-	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
+	tristate "Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
 	depends on X86_INTEL_LPSS && I2C && ACPI
 	help
 	  This adds support for ASoC machine driver for the MinnowBoard Max or
@@ -177,7 +177,7 @@ endif ## SND_SST_ATOM_HIFI2_PLATFORM
 if SND_SOC_INTEL_SKYLAKE
 
 config SND_SOC_INTEL_SKL_RT286_MACH
-	tristate "ASoC Audio driver for SKL with RT286 I2S mode"
+	tristate "SKL with RT286 I2S mode"
 	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT286
 	select SND_SOC_DMIC
@@ -189,7 +189,7 @@ config SND_SOC_INTEL_SKL_RT286_MACH
 	   If unsure select "N".
 
 config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
-	tristate "ASoC Audio driver for SKL with NAU88L25 and SSM4567 in I2S Mode"
+	tristate "SKL with NAU88L25 and SSM4567 in I2S Mode"
 	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_NAU8825
 	select SND_SOC_SSM4567
@@ -202,7 +202,7 @@ config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
-	tristate "ASoC Audio driver for SKL with NAU88L25 and MAX98357A in I2S Mode"
+	tristate "SKL with NAU88L25 and MAX98357A in I2S Mode"
 	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_NAU8825
 	select SND_SOC_MAX98357A
@@ -215,7 +215,7 @@ config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
-	tristate "ASoC Audio driver for Broxton with DA7219 and MAX98357A in I2S Mode"
+	tristate "Broxton with DA7219 and MAX98357A in I2S Mode"
 	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_DA7219
 	select SND_SOC_MAX98357A
@@ -229,7 +229,7 @@ config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
 	   If unsure select "N".
 
 config SND_SOC_INTEL_BXT_RT298_MACH
-	tristate "ASoC Audio driver for Broxton with RT298 I2S mode"
+	tristate "Broxton with RT298 I2S mode"
 	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT298
 	select SND_SOC_DMIC
@@ -242,7 +242,7 @@ config SND_SOC_INTEL_BXT_RT298_MACH
 	   If unsure select "N".
 
 config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
-	tristate "ASoC Audio driver for KBL with RT5663 and MAX98927 in I2S Mode"
+	tristate "KBL with RT5663 and MAX98927 in I2S Mode"
 	depends on MFD_INTEL_LPSS && I2C && ACPI
 	select SND_SOC_RT5663
 	select SND_SOC_MAX98927
@@ -255,7 +255,7 @@ config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
 	  If unsure select "N".
 
 config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
-        tristate "ASoC Audio driver for KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
+        tristate "KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
         depends on MFD_INTEL_LPSS && I2C && SPI && ACPI
         select SND_SOC_RT5663
         select SND_SOC_RT5514
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH 0/9] ASoC: Intel: Kconfig fixes
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (8 preceding siblings ...)
  2017-12-15  0:44 ` [PATCH 9/9] ASoC: Intel: kconfig: drop boiler plate text from config items Pierre-Louis Bossart
@ 2017-12-15  5:34 ` Vinod Koul
  2017-12-15 11:06 ` Andy Shevchenko
  10 siblings, 0 replies; 23+ messages in thread
From: Vinod Koul @ 2017-12-15  5:34 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: alsa-devel, tiwai, broonie, torvalds, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel

On Thu, Dec 14, 2017 at 06:44:42PM -0600, Pierre-Louis Bossart wrote:
> The first patch implements what Linus, Takashi and Mark
> requested: a top-level selector defaulting to 'y' to easily filter all
> other options and with no impact on code generation. There should be no
> functionality change and will avoid breaking audio for people using
> make oldnoconfig.
> 
> The rest of the patch series does a more in-depth cleanup. It was tested
> on Baytrail/Cherrytrail/Skylake platforms with no regressions
> observed and no reports of any compilation issues with 0-day or
> randconfig.
> 
> The 4th patch is really the most important one, there were nested
> configs which made no sense to me. I don't know the history which led
> to such complicated stuff but simpler is better.
> 
> Patches 5..7 are just clean-ups of the machine driver configs,
> for some reason there is no consistency in the settings so I tried to
> apply common sense and use the same rules. At Andy Shevchenko's suggestion,
> I also replaced the broken dependency on X86_INTEL_LPSS by MFD_INTEL_LPSS
> for Skylake+ machines. No regressions were identified with this change.
> 
> Patches 8 and 9 are new in this series and are just cosmetic changes (comments
> and text simplification).
> 
> Thanks to Vinod Koul for his contributions and comments.
> 
> Changes since RFCv2:
>  Moved machine drivers to submenu
>  Dropped SND_SOC_INTEL_COMMON since it was not needed
>  Added more comments for if/endif
>  Simplified text for options (dropped "ASoC Intel driver....")
>  Fixed one 0-day warning
>  
> Changes since initial RFC:
>  Removed default n
>  Added help text for HASWELL, BAYTRAIL (legacy) and SKYLAKE options 
>  Made top level machine driver selection dependent on INTEL_SST_TOPLEVEL.
>  Added help text for PCI and HIFI2 platforms
>  Replaced X86_INTEL_LPSS by MFD_INTEL_LPSS for Skylake+ devices
>  Fixed a couple of indentation issues

For these:

> Pierre-Louis Bossart (7):
>   ASoC: Intel: Fix Kconfig with top-level selector
>   ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
>   ASoC: Intel: document what Kconfig options do
>   ASoC: Intel: Fix nested/unnecessary Kconfig dependencies
>   ASoC: Intel: boards: align Kconfig dependencies for Haswell/Broadwell
>   ASoC: Intel: boards: align Kconfig configurations for HiFi2
>   ASoC: Intel: boards: align/fix SKL/BXT/KBL Kconfigs

Acked-By: Vinod Koul <vinod.koul@intel.com>

-- 
~Vinod

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 9/9] ASoC: Intel: kconfig: drop boiler plate text from config items
  2017-12-15  0:44 ` [PATCH 9/9] ASoC: Intel: kconfig: drop boiler plate text from config items Pierre-Louis Bossart
@ 2017-12-15 10:51   ` Andy Shevchenko
  0 siblings, 0 replies; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-15 10:51 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
> From: Vinod Koul <vinod.koul@intel.com>
> 
> Drop "Intel ASoC SST driver for " platforms and "SOC Machine Audio
> driver
> for Intel" for machines..

>  config SND_SST_ATOM_HIFI2_PLATFORM_PCI
> -	tristate "Intel ASoC SST driver for PCI HiFi2 platforms
> (Medfield, Merrifield)"
> +	tristate "PCI HiFi2 platforms (Medfield, Merrifield)
> platforms"

platforms platforms

> +	tristate "ACPI HiFi2 platforms (Baytrail, Cherrytrail)
> Platforms"

Ditto.
 
>  config SND_SOC_INTEL_SKYLAKE
> -	tristate "Intel ASoC SST driver for SKL/BXT/KBL/GLK/CNL"
> +	tristate "SKL/BXT/KBL/GLK/CNL... Platforms"
>  	depends on PCI && ACPI
>  	select SND_HDA_EXT_CORE
>  	select SND_HDA_DSP_LOADER
> diff --git a/sound/soc/intel/boards/Kconfig
> b/sound/soc/intel/boards/Kconfig
> index ae5714c90213..4b353898b591 100644
> --- a/sound/soc/intel/boards/Kconfig
> +++ b/sound/soc/intel/boards/Kconfig
> @@ -15,7 +15,7 @@ if SND_SOC_INTEL_MACH
>  if SND_SST_ATOM_HIFI2_PLATFORM_PCI
>  
>  config SND_MFLD_MACHINE
> -	tristate "SOC Machine Audio driver for Intel Medfield MID
> platform"
> +	tristate "Intel Medfield MID"

Perhaps 
"Medfield MID" ?

> -	tristate "ASoC Audio DSP support for Intel Haswell Lynxpoint"
> +	tristate "Haswell Lynxpoint"

...

>  config SND_SOC_INTEL_BROADWELL_MACH
> -	tristate "ASoC Audio DSP support for Intel Broadwell
> Wildcatpoint"
> +	tristate "Intel Broadwell Wildcatpoint"

"Broadwell Wildcatpoint"

to be in align with Haswell?

> +	tristate "Baytrail & Cherrytrail platform with no codec
> (MinnowBoard MAX, Up)"

platform -> platforms ?


-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 6/9] ASoC: Intel: boards: align Kconfig configurations for HiFi2
  2017-12-15  0:44 ` [PATCH 6/9] ASoC: Intel: boards: align Kconfig configurations for HiFi2 Pierre-Louis Bossart
@ 2017-12-15 10:53   ` Andy Shevchenko
  0 siblings, 0 replies; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-15 10:53 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
> Make sure all the configs are aligned
> Also add the missing dependencies on SOC_ACPI stuff used to fix
> DAI names based on HID and fix a couple of indentation issues
> 
> 

> +	select CONFIG_SND_SOC_ACPI

CONFIG_ ?!

> +	select CONFIG_SND_SOC_ACPI

> +	select CONFIG_SND_SOC_ACPI

> +	select CONFIG_SND_SOC_ACPI

> +	select CONFIG_SND_SOC_ACPI


-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 3/9] ASoC: Intel: document what Kconfig options do
  2017-12-15  0:44 ` [PATCH 3/9] ASoC: Intel: document what Kconfig options do Pierre-Louis Bossart
@ 2017-12-15 10:56   ` Andy Shevchenko
  0 siblings, 0 replies; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-15 10:56 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
> Document in comments what the options are supposed to mean, before
> clean-up in next patch.

> +config SND_SOC_INTEL_SST_ACPI
> +	tristate
> +	# This option controls ACPI-based probing on
> Haswell/Broadwell/
> +	#  Baytrail legacy and will be set when these platforms are
> enabled

I would rather start a new line (mind indentation as well) with list of
platforms:

# This option controls ACPI-based probing on
# Haswell/Broadwell/Baytrail legacy and will be set
# when these platforms are enabled

> +	# This option controls firmware download on
> Haswell/Broadwell/
> +	# Baytrail legacy and will be set when these platforms are
> enabled

Ditto,

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
  2017-12-15  0:44 ` [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies Pierre-Louis Bossart
@ 2017-12-15 10:58   ` Andy Shevchenko
  2017-12-15 12:34     ` Pierre-Louis Bossart
  0 siblings, 1 reply; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-15 10:58 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
> PCI/ACPI selections should not happen in Kconfig for machine drivers,
> move to SOC selections.
> 
> Add distinction between PCI and ACPI HiFi2 platforms and help text.
> 
> There should be no functionality change.
> 
> The PCI-based platforms may be removed at some point since Medfield
> is not really supported by anyone, and with Edison now defunct support
> for
> Merrifield/Edison is to be determined.
> 

> -	depends on SND_DMA_SGBUF
> +	depends on SND_DMA_SGBUF && ACPI
>  	depends on DMADEVICES

Perhaps

depends on DMADEVICES && ACPI

to be in align with below?

>  config SND_SOC_INTEL_BAYTRAIL
>  	tristate "Intel ASoC SST driver for Baytrail (legacy)"
> -	depends on DMADEVICES
> +	depends on DMADEVICES && ACPI


-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 0/9] ASoC: Intel: Kconfig fixes
  2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
                   ` (9 preceding siblings ...)
  2017-12-15  5:34 ` [PATCH 0/9] ASoC: Intel: Kconfig fixes Vinod Koul
@ 2017-12-15 11:06 ` Andy Shevchenko
  10 siblings, 0 replies; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-15 11:06 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:

Wrong ALSA ML address in use.

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector
  2017-12-15  0:44 ` [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector Pierre-Louis Bossart
@ 2017-12-15 11:07   ` Takashi Iwai
  2017-12-15 12:30     ` Pierre-Louis Bossart
  2017-12-15 11:10   ` Andy Shevchenko
  1 sibling, 1 reply; 23+ messages in thread
From: Takashi Iwai @ 2017-12-15 11:07 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: alsa-devel, tiwai, broonie, torvalds, vinod.koul,
	liam.r.girdwood, andriy.shevchenko, arnd, linux-kernel

On Fri, 15 Dec 2017 01:44:43 +0100,
Pierre-Louis Bossart wrote:
> 
> +config SND_SOC_ACPI_INTEL_MATCH
> +	tristate
> +	depends on X86 && ACPI
> +	select SND_SOC_ACPI

An item that is selected by others can only select, not depend.
The depends need to be put for the items that select this instead.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector
  2017-12-15  0:44 ` [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector Pierre-Louis Bossart
  2017-12-15 11:07   ` Takashi Iwai
@ 2017-12-15 11:10   ` Andy Shevchenko
  1 sibling, 0 replies; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-15 11:10 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
> Follow network example suggested by Linus, move Intel definitions
> in if/endif block and clarify in help text which options distro
> configurations should enable - everything except legacy Baytrail stuff
> and
> NOCODEC (test only)
> 
> To avoid user confusion, machine drivers are handled with a submenu
> made
> dependent on this top-level selector.
> 
> There should be no functionality change - except that sound
> capabilities
> are restored when using older configs without any user selection.
> 
> Note that the SND_SOC_ACPI_INTEL_MATCH config is not filtered out by
> the top-level selector since it will also be selected with the
> upcoming
> SOF drivers. Likewise the machine drivers are filtered by a top-level
> selector which will allow for selection/reuse of the same machine
> driver
> with existing SST or SOF-based platform drivers.
> 
> (simplification with submenu for machine drivers by Vinod Koul)

My comments below.

> +if SND_SOC_INTEL_SST_TOPLEVEL

...

> +
> +endif ## SND_SOC_INTEL_SST_TOPLEVEL

> +# configs common to SST and SOF to use matching tables
> +
> +config SND_SOC_ACPI_INTEL_MATCH
> +	tristate
> +	depends on X86 && ACPI
> +	select SND_SOC_ACPI

> +	# this option controls the compilation of ACPI matching
> tables and

this -> This ?

> +	# helpers and is not meant to be selected by the user. It is
> not
> +	# filtered out on purpose by the top-level selector since it
> will
> +	# be selected by SST or SOF platform driver options

>  if SND_SOC_INTEL_MACH
 
> +if SND_SOC_INTEL_HASWELL

...

> +endif
> +
> +if SND_SOC_INTEL_BAYTRAIL
>  

>  config SND_SOC_INTEL_BYT_MAX98090_MACH
>  	tristate "ASoC Audio driver for Intel Baytrail with MAX98090
> codec"
>  	depends on X86_INTEL_LPSS && I2C
> -	depends on SND_SST_IPC_ACPI = n
> -	depends on SND_SOC_INTEL_BAYTRAIL
>  	select SND_SOC_MAX98090
>  	help
>  	  This adds audio driver for Intel Baytrail platform based
> boards
> -	  with the MAX98090 audio codec.
> +	  with the MAX98090 audio codec. This driver is deprecated,
> use
> +	  SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH instead for better
> +	  functionality.

Looking to somehow established practice (few other Kconfigs in the
kernel) I would suggest to add
" (DEPRECATED)" to the tristate help string. 

> +endif
> +
> +if SND_SST_ATOM_HIFI2_PLATFORM

...
 
> +endif
> +
> +if SND_SOC_INTEL_SKYLAKE

...

>            If unsure select "N".

> -

I would rather not remove this empty line.

>  endif
> +
> +endif ## SND_SOC_INTEL_MACH

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector
  2017-12-15 11:07   ` Takashi Iwai
@ 2017-12-15 12:30     ` Pierre-Louis Bossart
  2017-12-19 10:17       ` Takashi Iwai
  0 siblings, 1 reply; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15 12:30 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel

On 12/15/17 5:07 AM, Takashi Iwai wrote:
> On Fri, 15 Dec 2017 01:44:43 +0100,
> Pierre-Louis Bossart wrote:
>>
>> +config SND_SOC_ACPI_INTEL_MATCH
>> +	tristate
>> +	depends on X86 && ACPI
>> +	select SND_SOC_ACPI
> 
> An item that is selected by others can only select, not depend.
> The depends need to be put for the items that select this instead.

Initially the code was

config SND_SOC_ACPI_INTEL_MATCH
         tristate
         select SND_SOC_ACPI if ACPI

I changed it to use depends to make some 0-day reports go away, for some 
reason this option was selected with ARCH=mn10300 and generated 
warnings. I don't quite understand how that happened since X86 and ACPI 
are clear dependencies in the items which select this option...

Vinod also added a similar pattern with

+config SND_SOC_INTEL_SST_TOPLEVEL
+	bool "Intel ASoC SST drivers"
+	default y
+	depends on X86 || COMPILE_TEST
+	select SND_SOC_INTEL_MACH

+menuconfig SND_SOC_INTEL_MACH
+	bool "Intel Machine drivers"
  	depends on SND_SOC_INTEL_SST_TOPLEVEL

Maybe that needs to be removed as well?

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
  2017-12-15 10:58   ` Andy Shevchenko
@ 2017-12-15 12:34     ` Pierre-Louis Bossart
  2017-12-19 10:49       ` Andy Shevchenko
  0 siblings, 1 reply; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-15 12:34 UTC (permalink / raw)
  To: Andy Shevchenko, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On 12/15/17 4:58 AM, Andy Shevchenko wrote:
> On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
>> PCI/ACPI selections should not happen in Kconfig for machine drivers,
>> move to SOC selections.
>>
>> Add distinction between PCI and ACPI HiFi2 platforms and help text.
>>
>> There should be no functionality change.
>>
>> The PCI-based platforms may be removed at some point since Medfield
>> is not really supported by anyone, and with Edison now defunct support
>> for
>> Merrifield/Edison is to be determined.
>>
> 
>> -	depends on SND_DMA_SGBUF
>> +	depends on SND_DMA_SGBUF && ACPI
>>   	depends on DMADEVICES
> 
> Perhaps
> 
> depends on DMADEVICES && ACPI
> 
> to be in align with below?
> 
>>   config SND_SOC_INTEL_BAYTRAIL
>>   	tristate "Intel ASoC SST driver for Baytrail (legacy)"
>> -	depends on DMADEVICES
>> +	depends on DMADEVICES && ACPI

I must admit I don't know why it's different, I just cleaned-up what I 
could. Maybe Liam can comment since I believe he contributed to both 
Haswell and the initial Baytrail driver?

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector
  2017-12-15 12:30     ` Pierre-Louis Bossart
@ 2017-12-19 10:17       ` Takashi Iwai
  0 siblings, 0 replies; 23+ messages in thread
From: Takashi Iwai @ 2017-12-19 10:17 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: alsa-devel, broonie, torvalds, vinod.koul, liam.r.girdwood,
	andriy.shevchenko, arnd, linux-kernel

On Fri, 15 Dec 2017 13:30:28 +0100,
Pierre-Louis Bossart wrote:
> 
> On 12/15/17 5:07 AM, Takashi Iwai wrote:
> > On Fri, 15 Dec 2017 01:44:43 +0100,
> > Pierre-Louis Bossart wrote:
> >>
> >> +config SND_SOC_ACPI_INTEL_MATCH
> >> +	tristate
> >> +	depends on X86 && ACPI
> >> +	select SND_SOC_ACPI
> >
> > An item that is selected by others can only select, not depend.
> > The depends need to be put for the items that select this instead.
> 
> Initially the code was
> 
> config SND_SOC_ACPI_INTEL_MATCH
>         tristate
>         select SND_SOC_ACPI if ACPI
> 
> I changed it to use depends to make some 0-day reports go away, for
> some reason this option was selected with ARCH=mn10300 and generated
> warnings. I don't quite understand how that happened since X86 and
> ACPI are clear dependencies in the items which select this option...
> 
> Vinod also added a similar pattern with
> 
> +config SND_SOC_INTEL_SST_TOPLEVEL
> +	bool "Intel ASoC SST drivers"
> +	default y
> +	depends on X86 || COMPILE_TEST
> +	select SND_SOC_INTEL_MACH
> 
> +menuconfig SND_SOC_INTEL_MACH
> +	bool "Intel Machine drivers"
>  	depends on SND_SOC_INTEL_SST_TOPLEVEL
> 
> Maybe that needs to be removed as well?

Having both depends and select on the top-level is OK.  The only
problem is when an item that is selected by others has another
depends.  For example, a simple-looking case like below is actually
buggy:

config BAR
	tristate
	depends on X

config FOO
	tristate "foo"
	select BAR

Here BAR would be enabled by FOO no matter what X is, even if X=n.
That said, when an item is selected, its own dependency is ignored.

For correcting this, the depends-on-X must be moved to the top-level
who selects the item:

config BAR
	tristate

config FOO
	tristate "foo"
	depends on X
	select BAR

Note that the reverse-select chain works as expected.  The breakage is
only the mixture of select and depends in the selected items.


Takashi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
  2017-12-15 12:34     ` Pierre-Louis Bossart
@ 2017-12-19 10:49       ` Andy Shevchenko
  2017-12-19 12:43         ` Pierre-Louis Bossart
  0 siblings, 1 reply; 23+ messages in thread
From: Andy Shevchenko @ 2017-12-19 10:49 UTC (permalink / raw)
  To: Pierre-Louis Bossart, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel

On Fri, 2017-12-15 at 06:34 -0600, Pierre-Louis Bossart wrote:
> On 12/15/17 4:58 AM, Andy Shevchenko wrote:
> > On Thu, 2017-12-14 at 18:44 -0600, Pierre-Louis Bossart wrote:
> > > PCI/ACPI selections should not happen in Kconfig for machine
> > > drivers,
> > > move to SOC selections.
> > > 
> > > Add distinction between PCI and ACPI HiFi2 platforms and help
> > > text.
> > > 
> > > There should be no functionality change.
> > > 
> > > The PCI-based platforms may be removed at some point since
> > > Medfield
> > > is not really supported by anyone, and with Edison now defunct
> > > support
> > > for
> > > Merrifield/Edison is to be determined.
> > > 
> > > -	depends on SND_DMA_SGBUF
> > > +	depends on SND_DMA_SGBUF && ACPI
> > >   	depends on DMADEVICES
> > 
> > Perhaps
> > 
> > depends on DMADEVICES && ACPI
> > 
> > to be in align with below?
> > 
> > >   config SND_SOC_INTEL_BAYTRAIL
> > >   	tristate "Intel ASoC SST driver for Baytrail (legacy)"
> > > -	depends on DMADEVICES
> > > +	depends on DMADEVICES && ACPI
> 
> I must admit I don't know why it's different, I just cleaned-up what
> I 
> could.

What I'm talking about is to use same pattern, so, in the first case 

	depends on SND_DMA_SGBUF
   	depends on DMADEVICES && ACPI

The question WRT SGBUF is indeed another one to Liam or whoever knows
better.

>  Maybe Liam can comment since I believe he contributed to both 
> Haswell and the initial Baytrail driver?

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies
  2017-12-19 10:49       ` Andy Shevchenko
@ 2017-12-19 12:43         ` Pierre-Louis Bossart
  0 siblings, 0 replies; 23+ messages in thread
From: Pierre-Louis Bossart @ 2017-12-19 12:43 UTC (permalink / raw)
  To: Andy Shevchenko, alsa-devel
  Cc: tiwai, broonie, torvalds, vinod.koul, liam.r.girdwood, arnd,
	linux-kernel



>>>> -	depends on SND_DMA_SGBUF
>>>> +	depends on SND_DMA_SGBUF && ACPI
>>>>    	depends on DMADEVICES
>>> Perhaps
>>>
>>> depends on DMADEVICES && ACPI
>>>
>>> to be in align with below?
>>>
>>>>    config SND_SOC_INTEL_BAYTRAIL
>>>>    	tristate "Intel ASoC SST driver for Baytrail (legacy)"
>>>> -	depends on DMADEVICES
>>>> +	depends on DMADEVICES && ACPI
>> I must admit I don't know why it's different, I just cleaned-up what
>> I
>> could.
> What I'm talking about is to use same pattern, so, in the first case
>
> 	depends on SND_DMA_SGBUF
>     	depends on DMADEVICES && ACPI
ah ok, thanks for the precision.

>
> The question WRT SGBUF is indeed another one to Liam or whoever knows
> better.
>
>>   Maybe Liam can comment since I believe he contributed to both
>> Haswell and the initial Baytrail driver?

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2017-12-19 12:43 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-15  0:44 [PATCH 0/9] ASoC: Intel: Kconfig fixes Pierre-Louis Bossart
2017-12-15  0:44 ` [PATCH 1/9] ASoC: Intel: Fix Kconfig with top-level selector Pierre-Louis Bossart
2017-12-15 11:07   ` Takashi Iwai
2017-12-15 12:30     ` Pierre-Louis Bossart
2017-12-19 10:17       ` Takashi Iwai
2017-12-15 11:10   ` Andy Shevchenko
2017-12-15  0:44 ` [PATCH 2/9] ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI dependencies Pierre-Louis Bossart
2017-12-15 10:58   ` Andy Shevchenko
2017-12-15 12:34     ` Pierre-Louis Bossart
2017-12-19 10:49       ` Andy Shevchenko
2017-12-19 12:43         ` Pierre-Louis Bossart
2017-12-15  0:44 ` [PATCH 3/9] ASoC: Intel: document what Kconfig options do Pierre-Louis Bossart
2017-12-15 10:56   ` Andy Shevchenko
2017-12-15  0:44 ` [PATCH 4/9] ASoC: Intel: Fix nested/unnecessary Kconfig dependencies Pierre-Louis Bossart
2017-12-15  0:44 ` [PATCH 5/9] ASoC: Intel: boards: align Kconfig dependencies for Haswell/Broadwell Pierre-Louis Bossart
2017-12-15  0:44 ` [PATCH 6/9] ASoC: Intel: boards: align Kconfig configurations for HiFi2 Pierre-Louis Bossart
2017-12-15 10:53   ` Andy Shevchenko
2017-12-15  0:44 ` [PATCH 7/9] ASoC: Intel: boards: align/fix SKL/BXT/KBL Kconfigs Pierre-Louis Bossart
2017-12-15  0:44 ` [PATCH 8/9] ASoC: Intel: kconfig: add some comments for if symbols Pierre-Louis Bossart
2017-12-15  0:44 ` [PATCH 9/9] ASoC: Intel: kconfig: drop boiler plate text from config items Pierre-Louis Bossart
2017-12-15 10:51   ` Andy Shevchenko
2017-12-15  5:34 ` [PATCH 0/9] ASoC: Intel: Kconfig fixes Vinod Koul
2017-12-15 11:06 ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).