[PATCH 1/2] ata: ahci-pci: Fix dependency on DM_PCI

File drivers/ata/ahci-pci.c calls function ahci_probe_scsi_pci() which is compiled only when DM_PCI is enabled. So add missing dependency into Kconfig.
Signed-off-by: Pali Rohár pali@kernel.org --- drivers/ata/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 6f0b77238364..0c1490a9f900 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -36,6 +36,7 @@ menu "SATA/SCSI device support"
config AHCI_PCI bool "Support for PCI-based AHCI controller" + depends on DM_PCI depends on DM_SCSI help Enables support for the PCI-based AHCI controller.

This new option allows to disable ahci-pci driver in SPL. Disabling it is needed when SPL_PCI is not enabled as ahci-pci depends on PCI.
This change fixes following compile error when CONFIG_SPL_SATA_SUPPORT is enabled and SPL_PCI is disabled.
LD spl/u-boot-spl arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.o: in function `ahci_probe_scsi_pci': drivers/ata/ahci.c:1205: undefined reference to `dm_pci_map_bar' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1215: undefined reference to `dm_pci_read_config16' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1216: undefined reference to `dm_pci_read_config16' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1220: undefined reference to `dm_pci_map_bar' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:1977: spl/u-boot-spl] Error 2
LD spl/u-boot-spl arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci-pci.o: in function `ahci_pci_probe': drivers/ata/ahci-pci.c:21: undefined reference to `ahci_probe_scsi_pci' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:1977: spl/u-boot-spl] Error 2
Signed-off-by: Pali Rohár pali@kernel.org --- drivers/ata/Kconfig | 6 ++++++ drivers/ata/Makefile | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 0c1490a9f900..96c7c30375bd 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -41,6 +41,12 @@ config AHCI_PCI help Enables support for the PCI-based AHCI controller.
+config SPL_AHCI_PCI + bool "Support for PCI-based AHCI controller for SPL" + depends on SPL + depends on SPL_PCI + depends on SPL_SATA_SUPPORT && DM_SCSI + config SATA_CEVA bool "Ceva Sata controller" depends on AHCI diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index 4811b2f82c4e..cd88131dcd13 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -5,7 +5,7 @@
obj-$(CONFIG_DWC_AHCI) += dwc_ahci.o obj-$(CONFIG_AHCI) += ahci-uclass.o -obj-$(CONFIG_AHCI_PCI) += ahci-pci.o +obj-$(CONFIG_$(SPL_)AHCI_PCI) += ahci-pci.o obj-$(CONFIG_SCSI_AHCI) += ahci.o obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o obj-$(CONFIG_FSL_SATA) += fsl_sata.o

On 15.08.21 16:27, Pali Rohár wrote:
This new option allows to disable ahci-pci driver in SPL. Disabling it is needed when SPL_PCI is not enabled as ahci-pci depends on PCI.
This change fixes following compile error when CONFIG_SPL_SATA_SUPPORT is enabled and SPL_PCI is disabled.
LD spl/u-boot-spl
arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.o: in function `ahci_probe_scsi_pci': drivers/ata/ahci.c:1205: undefined reference to `dm_pci_map_bar' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1215: undefined reference to `dm_pci_read_config16' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1216: undefined reference to `dm_pci_read_config16' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1220: undefined reference to `dm_pci_map_bar' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:1977: spl/u-boot-spl] Error 2
LD spl/u-boot-spl
arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci-pci.o: in function `ahci_pci_probe': drivers/ata/ahci-pci.c:21: undefined reference to `ahci_probe_scsi_pci' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:1977: spl/u-boot-spl] Error 2
Signed-off-by: Pali Rohár pali@kernel.org
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan
drivers/ata/Kconfig | 6 ++++++ drivers/ata/Makefile | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 0c1490a9f900..96c7c30375bd 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -41,6 +41,12 @@ config AHCI_PCI help Enables support for the PCI-based AHCI controller.
+config SPL_AHCI_PCI
- bool "Support for PCI-based AHCI controller for SPL"
- depends on SPL
- depends on SPL_PCI
- depends on SPL_SATA_SUPPORT && DM_SCSI
- config SATA_CEVA bool "Ceva Sata controller" depends on AHCI
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index 4811b2f82c4e..cd88131dcd13 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -5,7 +5,7 @@
obj-$(CONFIG_DWC_AHCI) += dwc_ahci.o obj-$(CONFIG_AHCI) += ahci-uclass.o -obj-$(CONFIG_AHCI_PCI) += ahci-pci.o +obj-$(CONFIG_$(SPL_)AHCI_PCI) += ahci-pci.o obj-$(CONFIG_SCSI_AHCI) += ahci.o obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o obj-$(CONFIG_FSL_SATA) += fsl_sata.o
Viele Grüße, Stefan

On Sun, Aug 15, 2021 at 04:27:37PM +0200, Pali Rohár wrote:
This new option allows to disable ahci-pci driver in SPL. Disabling it is needed when SPL_PCI is not enabled as ahci-pci depends on PCI.
This change fixes following compile error when CONFIG_SPL_SATA_SUPPORT is enabled and SPL_PCI is disabled.
LD spl/u-boot-spl
arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.o: in function `ahci_probe_scsi_pci': drivers/ata/ahci.c:1205: undefined reference to `dm_pci_map_bar' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1215: undefined reference to `dm_pci_read_config16' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1216: undefined reference to `dm_pci_read_config16' arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci.c:1220: undefined reference to `dm_pci_map_bar' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:1977: spl/u-boot-spl] Error 2
LD spl/u-boot-spl
arm-linux-gnueabihf-ld.bfd: drivers/ata/ahci-pci.o: in function `ahci_pci_probe': drivers/ata/ahci-pci.c:21: undefined reference to `ahci_probe_scsi_pci' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:1977: spl/u-boot-spl] Error 2
Signed-off-by: Pali Rohár pali@kernel.org Reviewed-by: Stefan Roese sr@denx.de
Applied to u-boot/next, thanks!

On 15.08.21 16:27, Pali Rohár wrote:
File drivers/ata/ahci-pci.c calls function ahci_probe_scsi_pci() which is compiled only when DM_PCI is enabled. So add missing dependency into Kconfig.
Signed-off-by: Pali Rohár pali@kernel.org
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan
drivers/ata/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 6f0b77238364..0c1490a9f900 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -36,6 +36,7 @@ menu "SATA/SCSI device support"
config AHCI_PCI bool "Support for PCI-based AHCI controller"
- depends on DM_PCI depends on DM_SCSI help Enables support for the PCI-based AHCI controller.
Viele Grüße, Stefan

On Sun, Aug 15, 2021 at 04:27:36PM +0200, Pali Rohár wrote:
File drivers/ata/ahci-pci.c calls function ahci_probe_scsi_pci() which is compiled only when DM_PCI is enabled. So add missing dependency into Kconfig.
Signed-off-by: Pali Rohár pali@kernel.org Reviewed-by: Stefan Roese sr@denx.de
Applied to u-boot/next, thanks!
participants (3)
-
Pali Rohár
-
Stefan Roese
-
Tom Rini