On 4/18/19 8:00 PM, Thomas Huth wrote:
> Some of our machines (like the ARM cubieboard) use CONFIG_AHCI for an AHCI
> sysbus device, but do not use CONFIG_PCI since they do not feature a PCI
> bus. With CONFIG_AHCI but without CONFIG_PCI, currently linking fails:
> 
>     ../hw/ide/ich.o: In function `pci_ich9_ahci_realize':
>     hw/ide/ich.c:124: undefined reference to `pci_allocate_irq'
>     hw/ide/ich.c:126: undefined reference to `pci_register_bar'
>     hw/ide/ich.c:128: undefined reference to `pci_register_bar'
>     hw/ide/ich.c:131: undefined reference to `pci_add_capability'
>     hw/ide/ich.c:147: undefined reference to `msi_init'
>     ../hw/ide/ich.o: In function `pci_ich9_uninit':
>     hw/ide/ich.c:158: undefined reference to `msi_uninit'
>     ../hw/ide/ich.o:(.data.rel+0x50): undefined reference to 
> `vmstate_pci_device'
> 
> We must only compile ich.c if CONFIG_PCI is available, too, so introduce a
> new config switch for this device.
> 
> Signed-off-by: Thomas Huth <th...@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>

> ---
>  hw/ide/Kconfig       | 6 +++++-
>  hw/ide/Makefile.objs | 2 +-
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
> index ab47b6a7a3..5d9106b1ac 100644
> --- a/hw/ide/Kconfig
> +++ b/hw/ide/Kconfig
> @@ -43,10 +43,14 @@ config MICRODRIVE
>      select IDE_QDEV
>  
>  config AHCI
> +    bool
> +    select IDE_QDEV
> +
> +config AHCI_ICH9
>      bool
>      default y if PCI_DEVICES
>      depends on PCI
> -    select IDE_QDEV
> +    select AHCI
>  
>  config IDE_SII3112
>      bool
> diff --git a/hw/ide/Makefile.objs b/hw/ide/Makefile.objs
> index a142add90e..faf04e0209 100644
> --- a/hw/ide/Makefile.objs
> +++ b/hw/ide/Makefile.objs
> @@ -9,6 +9,6 @@ common-obj-$(CONFIG_IDE_MMIO) += mmio.o
>  common-obj-$(CONFIG_IDE_VIA) += via.o
>  common-obj-$(CONFIG_MICRODRIVE) += microdrive.o
>  common-obj-$(CONFIG_AHCI) += ahci.o
> -common-obj-$(CONFIG_AHCI) += ich.o
> +common-obj-$(CONFIG_AHCI_ICH9) += ich.o
>  common-obj-$(CONFIG_ALLWINNER_A10) += ahci-allwinner.o
>  common-obj-$(CONFIG_IDE_SII3112) += sii3112.o
> 

Reply via email to