[PATCH for 10.1] hw/pci-host/gpex-acpi: PCI_EXPRESS_GENERIC_BRIDGE: select ACPI_PCI instead of imply'ing it

Michael Tokarev posted 1 patch 3 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250728152445.23917-1-mjt@tls.msk.ru
Maintainers: Paolo Bonzini <pbonzini@redhat.com>
hw/pci-host/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH for 10.1] hw/pci-host/gpex-acpi: PCI_EXPRESS_GENERIC_BRIDGE: select ACPI_PCI instead of imply'ing it
Posted by Michael Tokarev 3 months, 2 weeks ago
Commit af151d50eac24 added dependency on hw/i386/acpi-build.c
(where this function is defined) to hw/pci-host/gpex-acpi.
But acpi-build.c is only built when ACPI_PCI is enabled,
and the build fails at link time if it is not.  So ACPI_PCI
becomes a hard dependency of PCI_EXPRESS_GENERIC_BRIDGE.
Fix it.

Fixes: af151d50eac24 "hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method"
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 hw/pci-host/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index 9824fa188d..19b6605c7f 100644
--- a/hw/pci-host/Kconfig
+++ b/hw/pci-host/Kconfig
@@ -54,7 +54,7 @@ config PCI_EXPRESS_Q35
 config PCI_EXPRESS_GENERIC_BRIDGE
     bool
     select PCI_EXPRESS
-    imply ACPI_PCI
+    select ACPI_PCI
 
 config PCI_EXPRESS_XILINX
     bool
-- 
2.47.2
Re: [PATCH for 10.1] hw/pci-host/gpex-acpi: PCI_EXPRESS_GENERIC_BRIDGE: select ACPI_PCI instead of imply'ing it
Posted by Eric Auger 3 months, 2 weeks ago

On 7/28/25 5:24 PM, Michael Tokarev wrote:
> Commit af151d50eac24 added dependency on hw/i386/acpi-build.c
> (where this function is defined) to hw/pci-host/gpex-acpi.
> But acpi-build.c is only built when ACPI_PCI is enabled,
> and the build fails at link time if it is not.  So ACPI_PCI
> becomes a hard dependency of PCI_EXPRESS_GENERIC_BRIDGE.
> Fix it.
>
> Fixes: af151d50eac24 "hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method"
> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
> ---
>  hw/pci-host/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
> index 9824fa188d..19b6605c7f 100644
> --- a/hw/pci-host/Kconfig
> +++ b/hw/pci-host/Kconfig
> @@ -54,7 +54,7 @@ config PCI_EXPRESS_Q35
>  config PCI_EXPRESS_GENERIC_BRIDGE
>      bool
>      select PCI_EXPRESS
> -    imply ACPI_PCI
> +    select ACPI_PCI

As mentionned in the previous thread,

build_pci_host_bridge_osc_method() is called from gpex-acpi.c whose compilation depend on

pci_ss.add(when: ['CONFIG_PCI_EXPRESS_GENERIC_BRIDGE', 'CONFIG_ACPI'],
if_true: files('gpex-acpi.c'))

so the hard dependency exists only if ACPI is selected.

If one use "select", ACPI_PCI will be mandated even if ACPI is not set. I am not sure this is what we want.

"Imply" was supposed to condition the selection depending on ACPI_PCI dependencies, ie. ACPI and PCI

Eric

>  
>  config PCI_EXPRESS_XILINX
>      bool