* [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues @ 2021-01-22 0:57 Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 1/2] ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies Pierre-Louis Bossart ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Pierre-Louis Bossart @ 2021-01-22 0:57 UTC (permalink / raw) To: alsa-devel; +Cc: tiwai, Arnd Bergmann, vkoul, broonie, Pierre-Louis Bossart We've had several reports of broken dependencies. The 'right' fix is to revisit the module dependencies as suggested by Arnd Bergmann. This is WIP at https://github.com/thesofproject/linux/pull/2683. Since this is taking longer than expected, I am only sharing quick fixes for now. Pierre-Louis Bossart (2): ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies ASoC: SOF: SND_INTEL_DSP_CONFIG dependency sound/soc/sof/intel/Kconfig | 3 ++- sound/soc/sof/sof-acpi-dev.c | 11 ++++++----- sound/soc/sof/sof-pci-dev.c | 10 ++++++---- 3 files changed, 14 insertions(+), 10 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies 2021-01-22 0:57 [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Pierre-Louis Bossart @ 2021-01-22 0:57 ` Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency Pierre-Louis Bossart 2021-01-25 14:17 ` [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Mark Brown 2 siblings, 0 replies; 9+ messages in thread From: Pierre-Louis Bossart @ 2021-01-22 0:57 UTC (permalink / raw) To: alsa-devel Cc: Arnd Bergmann, kernel test robot, tiwai, Pierre-Louis Bossart, vkoul, broonie The LKP bot reports the following issue: WARNING: unmet direct dependencies detected for SOUNDWIRE_INTEL Depends on [m]: SOUNDWIRE [=m] && ACPI [=y] && SND_SOC [=y] Selected by [y]: - SND_SOC_SOF_INTEL_SOUNDWIRE [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_TOPLEVEL [=y] && SND_SOC_SOF_INTEL_PCI [=y] This comes from having tristates being configured independently, when in practice the CONFIG_SOUNDWIRE needs to be aligned with the SOF choices: when the SOF code is compiled as built-in, the CONFIG_SOUNDWIRE also needs to be 'y'. The easiest fix is to replace the 'depends' with a 'select' and have a single user selection to activate SoundWire on Intel platforms. This still allows regmap to be compiled independently as a module. This is just a temporary fix, the select/depend usage will be revisited and the SOF Kconfig re-organized, as suggested by Arnd Bergman. Reported-by: kernel test robot <lkp@intel.com> Fixes: a115ab9b8b93e ('ASoC: SOF: Intel: add build support for SoundWire') Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> --- sound/soc/sof/intel/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig index d306c370e5d1..4797a1cf8c80 100644 --- a/sound/soc/sof/intel/Kconfig +++ b/sound/soc/sof/intel/Kconfig @@ -355,7 +355,7 @@ config SND_SOC_SOF_HDA config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK bool "SOF support for SoundWire" - depends on SOUNDWIRE && ACPI + depends on ACPI help This adds support for SoundWire with Sound Open Firmware for Intel(R) platforms. @@ -371,6 +371,7 @@ config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE config SND_SOC_SOF_INTEL_SOUNDWIRE tristate + select SOUNDWIRE select SOUNDWIRE_INTEL help This option is not user-selectable but automagically handled by -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency 2021-01-22 0:57 [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 1/2] ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies Pierre-Louis Bossart @ 2021-01-22 0:57 ` Pierre-Louis Bossart 2021-01-22 5:26 ` Vinod Koul 2021-01-22 8:58 ` Takashi Iwai 2021-01-25 14:17 ` [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Mark Brown 2 siblings, 2 replies; 9+ messages in thread From: Pierre-Louis Bossart @ 2021-01-22 0:57 UTC (permalink / raw) To: alsa-devel Cc: Arnd Bergmann, Arnd Bergmann, tiwai, Pierre-Louis Bossart, vkoul, broonie The sof-pci-dev driver fails to link when built into the kernel and CONFIG_SND_INTEL_DSP_CONFIG is set to =m: arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe': sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe' As a temporary fix, use IS_REACHABLE to prevent the problem from happening. A more complete solution is to move this code to Intel-specific parts, restructure the drivers and Kconfig as discussed with Arnd Bergmann and Takashi Iwai. Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> --- sound/soc/sof/sof-acpi-dev.c | 11 ++++++----- sound/soc/sof/sof-pci-dev.c | 10 ++++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sound/soc/sof/sof-acpi-dev.c b/sound/soc/sof/sof-acpi-dev.c index 2a369c2c6551..cc2e257087e4 100644 --- a/sound/soc/sof/sof-acpi-dev.c +++ b/sound/soc/sof/sof-acpi-dev.c @@ -131,12 +131,13 @@ static int sof_acpi_probe(struct platform_device *pdev) if (!id) return -ENODEV; - ret = snd_intel_acpi_dsp_driver_probe(dev, id->id); - if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { - dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n"); - return -ENODEV; + if (IS_REACHABLE(CONFIG_SND_INTEL_DSP_CONFIG)) { + ret = snd_intel_acpi_dsp_driver_probe(dev, id->id); + if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { + dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n"); + return -ENODEV; + } } - dev_dbg(dev, "ACPI DSP detected"); sof_pdata = devm_kzalloc(dev, sizeof(*sof_pdata), GFP_KERNEL); diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index 7757463bd81a..388772f9c4d2 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -346,10 +346,12 @@ static int sof_pci_probe(struct pci_dev *pci, const struct snd_sof_dsp_ops *ops; int ret; - ret = snd_intel_dsp_driver_probe(pci); - if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { - dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n"); - return -ENODEV; + if (IS_REACHABLE(CONFIG_SND_INTEL_DSP_CONFIG)) { + ret = snd_intel_dsp_driver_probe(pci); + if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { + dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n"); + return -ENODEV; + } } dev_dbg(&pci->dev, "PCI DSP detected"); -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency 2021-01-22 0:57 ` [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency Pierre-Louis Bossart @ 2021-01-22 5:26 ` Vinod Koul 2021-01-22 8:58 ` Takashi Iwai 1 sibling, 0 replies; 9+ messages in thread From: Vinod Koul @ 2021-01-22 5:26 UTC (permalink / raw) To: Pierre-Louis Bossart Cc: tiwai, Arnd Bergmann, alsa-devel, broonie, Arnd Bergmann On 21-01-21, 18:57, Pierre-Louis Bossart wrote: > The sof-pci-dev driver fails to link when built into the kernel > and CONFIG_SND_INTEL_DSP_CONFIG is set to =m: > > arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe': > sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe' > > As a temporary fix, use IS_REACHABLE to prevent the problem from > happening. A more complete solution is to move this code to > Intel-specific parts, restructure the drivers and Kconfig as discussed > with Arnd Bergmann and Takashi Iwai. > > Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") > Reported-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > --- > sound/soc/sof/sof-acpi-dev.c | 11 ++++++----- > sound/soc/sof/sof-pci-dev.c | 10 ++++++---- > 2 files changed, 12 insertions(+), 9 deletions(-) > > diff --git a/sound/soc/sof/sof-acpi-dev.c b/sound/soc/sof/sof-acpi-dev.c > index 2a369c2c6551..cc2e257087e4 100644 > --- a/sound/soc/sof/sof-acpi-dev.c > +++ b/sound/soc/sof/sof-acpi-dev.c > @@ -131,12 +131,13 @@ static int sof_acpi_probe(struct platform_device *pdev) > if (!id) > return -ENODEV; > > - ret = snd_intel_acpi_dsp_driver_probe(dev, id->id); > - if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > - dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n"); > - return -ENODEV; > + if (IS_REACHABLE(CONFIG_SND_INTEL_DSP_CONFIG)) { > + ret = snd_intel_acpi_dsp_driver_probe(dev, id->id); > + if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > + dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n"); > + return -ENODEV; > + } should the else case be to continue, is the DSP not critical for the driver to work..? > } > - Seems unrelated change > dev_dbg(dev, "ACPI DSP detected"); > > sof_pdata = devm_kzalloc(dev, sizeof(*sof_pdata), GFP_KERNEL); > diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c > index 7757463bd81a..388772f9c4d2 100644 > --- a/sound/soc/sof/sof-pci-dev.c > +++ b/sound/soc/sof/sof-pci-dev.c > @@ -346,10 +346,12 @@ static int sof_pci_probe(struct pci_dev *pci, > const struct snd_sof_dsp_ops *ops; > int ret; > > - ret = snd_intel_dsp_driver_probe(pci); > - if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > - dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n"); > - return -ENODEV; > + if (IS_REACHABLE(CONFIG_SND_INTEL_DSP_CONFIG)) { > + ret = snd_intel_dsp_driver_probe(pci); > + if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > + dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n"); > + return -ENODEV; > + } > } > dev_dbg(&pci->dev, "PCI DSP detected"); > > -- > 2.25.1 -- ~Vinod ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency 2021-01-22 0:57 ` [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency Pierre-Louis Bossart 2021-01-22 5:26 ` Vinod Koul @ 2021-01-22 8:58 ` Takashi Iwai 2021-01-22 15:38 ` Pierre-Louis Bossart 1 sibling, 1 reply; 9+ messages in thread From: Takashi Iwai @ 2021-01-22 8:58 UTC (permalink / raw) To: Pierre-Louis Bossart Cc: Arnd Bergmann, alsa-devel, broonie, vkoul, Arnd Bergmann On Fri, 22 Jan 2021 01:57:25 +0100, Pierre-Louis Bossart wrote: > > The sof-pci-dev driver fails to link when built into the kernel > and CONFIG_SND_INTEL_DSP_CONFIG is set to =m: > > arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe': > sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe' > > As a temporary fix, use IS_REACHABLE to prevent the problem from > happening. A more complete solution is to move this code to > Intel-specific parts, restructure the drivers and Kconfig as discussed > with Arnd Bergmann and Takashi Iwai. > > Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") > Reported-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> This might not be good enough. The code may still refer to the snd_intel_dsp_probe() symbol even if IS_REACHABLE() is false (although, practically seen, gcc should optimize it out). You need #if IS_REACHABLE() instead of the plain if. Then you don't need to change the indentation, and the patch will be eventually smaller, too :) thanks, Takashi > --- > sound/soc/sof/sof-acpi-dev.c | 11 ++++++----- > sound/soc/sof/sof-pci-dev.c | 10 ++++++---- > 2 files changed, 12 insertions(+), 9 deletions(-) > > diff --git a/sound/soc/sof/sof-acpi-dev.c b/sound/soc/sof/sof-acpi-dev.c > index 2a369c2c6551..cc2e257087e4 100644 > --- a/sound/soc/sof/sof-acpi-dev.c > +++ b/sound/soc/sof/sof-acpi-dev.c > @@ -131,12 +131,13 @@ static int sof_acpi_probe(struct platform_device *pdev) > if (!id) > return -ENODEV; > > - ret = snd_intel_acpi_dsp_driver_probe(dev, id->id); > - if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > - dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n"); > - return -ENODEV; > + if (IS_REACHABLE(CONFIG_SND_INTEL_DSP_CONFIG)) { > + ret = snd_intel_acpi_dsp_driver_probe(dev, id->id); > + if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > + dev_dbg(dev, "SOF ACPI driver not selected, aborting probe\n"); > + return -ENODEV; > + } > } > - > dev_dbg(dev, "ACPI DSP detected"); > > sof_pdata = devm_kzalloc(dev, sizeof(*sof_pdata), GFP_KERNEL); > diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c > index 7757463bd81a..388772f9c4d2 100644 > --- a/sound/soc/sof/sof-pci-dev.c > +++ b/sound/soc/sof/sof-pci-dev.c > @@ -346,10 +346,12 @@ static int sof_pci_probe(struct pci_dev *pci, > const struct snd_sof_dsp_ops *ops; > int ret; > > - ret = snd_intel_dsp_driver_probe(pci); > - if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > - dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n"); > - return -ENODEV; > + if (IS_REACHABLE(CONFIG_SND_INTEL_DSP_CONFIG)) { > + ret = snd_intel_dsp_driver_probe(pci); > + if (ret != SND_INTEL_DSP_DRIVER_ANY && ret != SND_INTEL_DSP_DRIVER_SOF) { > + dev_dbg(&pci->dev, "SOF PCI driver not selected, aborting probe\n"); > + return -ENODEV; > + } > } > dev_dbg(&pci->dev, "PCI DSP detected"); > > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency 2021-01-22 8:58 ` Takashi Iwai @ 2021-01-22 15:38 ` Pierre-Louis Bossart 2021-01-22 18:33 ` Arnd Bergmann 0 siblings, 1 reply; 9+ messages in thread From: Pierre-Louis Bossart @ 2021-01-22 15:38 UTC (permalink / raw) To: Takashi Iwai; +Cc: Arnd Bergmann, alsa-devel, broonie, vkoul, Arnd Bergmann >> The sof-pci-dev driver fails to link when built into the kernel >> and CONFIG_SND_INTEL_DSP_CONFIG is set to =m: >> >> arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe': >> sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe' >> >> As a temporary fix, use IS_REACHABLE to prevent the problem from >> happening. A more complete solution is to move this code to >> Intel-specific parts, restructure the drivers and Kconfig as discussed >> with Arnd Bergmann and Takashi Iwai. >> >> Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") >> Reported-by: Arnd Bergmann <arnd@arndb.de> >> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > > This might not be good enough. The code may still refer to the > snd_intel_dsp_probe() symbol even if IS_REACHABLE() is false > (although, practically seen, gcc should optimize it out). > > You need #if IS_REACHABLE() instead of the plain if. > Then you don't need to change the indentation, and the patch will be > eventually smaller, too :) I used the if() on purpose since in the past you mentioned #if/#endif are ugly. There are plenty of other cases in the kernel code where if( IF_REACHABLE(CONFIG_XYZ)) is used... I don't mind sending a v2, the net result is the same. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency 2021-01-22 15:38 ` Pierre-Louis Bossart @ 2021-01-22 18:33 ` Arnd Bergmann 2021-01-23 8:08 ` Takashi Iwai 0 siblings, 1 reply; 9+ messages in thread From: Arnd Bergmann @ 2021-01-22 18:33 UTC (permalink / raw) To: Pierre-Louis Bossart Cc: Takashi Iwai, ALSA Development Mailing List, Mark Brown, Vinod Koul, Arnd Bergmann On Fri, Jan 22, 2021 at 4:38 PM Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> wrote: > >> The sof-pci-dev driver fails to link when built into the kernel > >> and CONFIG_SND_INTEL_DSP_CONFIG is set to =m: > >> > >> arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe': > >> sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe' > >> > >> As a temporary fix, use IS_REACHABLE to prevent the problem from > >> happening. A more complete solution is to move this code to > >> Intel-specific parts, restructure the drivers and Kconfig as discussed > >> with Arnd Bergmann and Takashi Iwai. > >> > >> Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") > >> Reported-by: Arnd Bergmann <arnd@arndb.de> > >> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > > > > This might not be good enough. The code may still refer to the > > snd_intel_dsp_probe() symbol even if IS_REACHABLE() is false > > (although, practically seen, gcc should optimize it out). > > > > You need #if IS_REACHABLE() instead of the plain if. > > Then you don't need to change the indentation, and the patch will be > > eventually smaller, too :) > > I used the if() on purpose since in the past you mentioned #if/#endif > are ugly. There are plenty of other cases in the kernel code where if( > IF_REACHABLE(CONFIG_XYZ)) is used... Dead-code-elimination in both gcc and clang is reliable for all supported versions (there were problems in gcc-4.1 and before), and generally the "if (IS_ENABLED())" form is nicer than the "#if IS_ENABLED()" form because it produces better compile-time coverage. Arnd ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency 2021-01-22 18:33 ` Arnd Bergmann @ 2021-01-23 8:08 ` Takashi Iwai 0 siblings, 0 replies; 9+ messages in thread From: Takashi Iwai @ 2021-01-23 8:08 UTC (permalink / raw) To: Arnd Bergmann Cc: Vinod Koul, ALSA Development Mailing List, Mark Brown, Pierre-Louis Bossart, Arnd Bergmann On Fri, 22 Jan 2021 19:33:27 +0100, Arnd Bergmann wrote: > > On Fri, Jan 22, 2021 at 4:38 PM Pierre-Louis Bossart > <pierre-louis.bossart@linux.intel.com> wrote: > > >> The sof-pci-dev driver fails to link when built into the kernel > > >> and CONFIG_SND_INTEL_DSP_CONFIG is set to =m: > > >> > > >> arm-linux-gnueabi-ld: sound/soc/sof/sof-pci-dev.o: in function `sof_pci_probe': > > >> sof-pci-dev.c:(.text+0x1c): undefined reference to `snd_intel_dsp_driver_probe' > > >> > > >> As a temporary fix, use IS_REACHABLE to prevent the problem from > > >> happening. A more complete solution is to move this code to > > >> Intel-specific parts, restructure the drivers and Kconfig as discussed > > >> with Arnd Bergmann and Takashi Iwai. > > >> > > >> Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") > > >> Reported-by: Arnd Bergmann <arnd@arndb.de> > > >> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > > > > > > This might not be good enough. The code may still refer to the > > > snd_intel_dsp_probe() symbol even if IS_REACHABLE() is false > > > (although, practically seen, gcc should optimize it out). > > > > > > You need #if IS_REACHABLE() instead of the plain if. > > > Then you don't need to change the indentation, and the patch will be > > > eventually smaller, too :) > > > > I used the if() on purpose since in the past you mentioned #if/#endif > > are ugly. There are plenty of other cases in the kernel code where if( > > IF_REACHABLE(CONFIG_XYZ)) is used... > > Dead-code-elimination in both gcc and clang is reliable for all supported > versions (there were problems in gcc-4.1 and before), and generally the > "if (IS_ENABLED())" form is nicer than the "#if IS_ENABLED()" form > because it produces better compile-time coverage. Heh, my trust to the compiler isn't that high, but other than that, it's a matter of taste. I agree that if() fits often better in general, especially when the more code is involved. But, in this particular case, the covered area is small (hence optimization doesn't matter) and we want to show it rather clearer as a temporary workaround (that shall be deleted in the next kernel). Finally, the changes needed by #ifdef are smaller. That's why I suggested #ifdef. But that's nothing but a bike shed topic, and I don't mind either way as long as the code really works in all cases. thanks, Takashi ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues 2021-01-22 0:57 [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 1/2] ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency Pierre-Louis Bossart @ 2021-01-25 14:17 ` Mark Brown 2 siblings, 0 replies; 9+ messages in thread From: Mark Brown @ 2021-01-25 14:17 UTC (permalink / raw) To: alsa-devel, Pierre-Louis Bossart; +Cc: tiwai, Arnd Bergmann, vkoul On Thu, 21 Jan 2021 18:57:23 -0600, Pierre-Louis Bossart wrote: > We've had several reports of broken dependencies. The 'right' fix is > to revisit the module dependencies as suggested by Arnd Bergmann. This > is WIP at https://github.com/thesofproject/linux/pull/2683. Since this > is taking longer than expected, I am only sharing quick fixes for now. > > Pierre-Louis Bossart (2): > ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies > ASoC: SOF: SND_INTEL_DSP_CONFIG dependency > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/2] ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies commit: bd9038faa9d7f162b47e1577e35ec5eac39f9d90 [2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency commit: 8a3fea95fab14dd19487d1e499eee3b3d1050d70 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-01-25 14:20 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-01-22 0:57 [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 1/2] ASoC: SOF: Intel: soundwire: fix select/depend unmet dependencies Pierre-Louis Bossart 2021-01-22 0:57 ` [PATCH 2/2] ASoC: SOF: SND_INTEL_DSP_CONFIG dependency Pierre-Louis Bossart 2021-01-22 5:26 ` Vinod Koul 2021-01-22 8:58 ` Takashi Iwai 2021-01-22 15:38 ` Pierre-Louis Bossart 2021-01-22 18:33 ` Arnd Bergmann 2021-01-23 8:08 ` Takashi Iwai 2021-01-25 14:17 ` [PATCH 0/2] ASoC: SOF: partial fix to Kconfig issues Mark Brown
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.