From 58936e763916f75defd06671910e231d8e4be70c Mon Sep 17 00:00:00 2001 From: Gerson Fernando Budke Date: Mon, 3 Jan 2022 17:34:27 -0300 Subject: [PATCH] soc: arm: atmel_sam: samv71: Fix SPI build dependency The SAM spi driver depends on GPIO driver to work. It seems that this dependency chain it is not handled. This select GPIO driver when SPI driver is enabled. It rework GPIO and SPI Kconfig to select driver by devicetree and drop entries at Kconfig.defconfig.series file. Fixes #41525 Signed-off-by: Gerson Fernando Budke --- drivers/gpio/Kconfig.sam | 9 +++++++-- drivers/spi/Kconfig.sam | 7 ++++++- soc/arm/atmel_sam/samv71/Kconfig.defconfig.series | 8 -------- tests/drivers/spi/spi_loopback/boards/sam_v71_xult.conf | 1 - tests/drivers/spi/spi_loopback/boards/sam_v71b_xult.conf | 1 - 5 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 tests/drivers/spi/spi_loopback/boards/sam_v71_xult.conf delete mode 100644 tests/drivers/spi/spi_loopback/boards/sam_v71b_xult.conf diff --git a/drivers/gpio/Kconfig.sam b/drivers/gpio/Kconfig.sam index 02d5bfc292c..700e26e82d5 100644 --- a/drivers/gpio/Kconfig.sam +++ b/drivers/gpio/Kconfig.sam @@ -4,16 +4,21 @@ # Copyright (c) 2020 Gerson Fernando Budke # SPDX-License-Identifier: Apache-2.0 +# Workaround for not being able to have commas in macro arguments +DT_COMPAT_ATMEL_SAM_GPIO := atmel,sam-gpio + config GPIO_SAM bool "Atmel SAM GPIO (PORT) driver" - default y + default y if $(dt_compat_enabled,$(DT_COMPAT_ATMEL_SAM_GPIO)) depends on SOC_FAMILY_SAM && !SOC_SERIES_SAM4L + depends on GPIO help Enable support for the Atmel SAM 'PORT' GPIO controllers. config GPIO_SAM4L bool "Atmel SAM4L GPIO (PORT) driver" - default y + default y if $(dt_compat_enabled,$(DT_COMPAT_ATMEL_SAM_GPIO)) depends on SOC_SERIES_SAM4L + depends on GPIO help Enable support for the Atmel SAM4L 'PORT' GPIO controllers. diff --git a/drivers/spi/Kconfig.sam b/drivers/spi/Kconfig.sam index ab866ecfa26..dd10831472c 100644 --- a/drivers/spi/Kconfig.sam +++ b/drivers/spi/Kconfig.sam @@ -4,9 +4,14 @@ # Copyright (c) 2018 qianfan Zhao # SPDX-License-Identifier: Apache-2.0 +# Workaround for not being able to have commas in macro arguments +DT_COMPAT_ATMEL_SAM_SPI := atmel,sam-spi + config SPI_SAM bool "Atmel SAM series SPI driver" - default y + default $(dt_compat_enabled,$(DT_COMPAT_ATMEL_SAM_SPI)) depends on SOC_FAMILY_SAM + depends on SPI + select GPIO help Enable support for the SAM SPI driver. diff --git a/soc/arm/atmel_sam/samv71/Kconfig.defconfig.series b/soc/arm/atmel_sam/samv71/Kconfig.defconfig.series index ef985427a9b..539d258b111 100644 --- a/soc/arm/atmel_sam/samv71/Kconfig.defconfig.series +++ b/soc/arm/atmel_sam/samv71/Kconfig.defconfig.series @@ -46,10 +46,6 @@ config DMA_SAM_XDMAC default y depends on DMA -config GPIO_SAM - default y - depends on GPIO - config ADC_SAM_AFEC default y depends on ADC @@ -62,10 +58,6 @@ config I2S_SAM_SSC default y depends on I2S -config SPI_SAM - default y - depends on SPI - config USB_DC_SAM_USBHS default y depends on USB_DEVICE_DRIVER diff --git a/tests/drivers/spi/spi_loopback/boards/sam_v71_xult.conf b/tests/drivers/spi/spi_loopback/boards/sam_v71_xult.conf deleted file mode 100644 index 91c3c15b37d..00000000000 --- a/tests/drivers/spi/spi_loopback/boards/sam_v71_xult.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GPIO=y diff --git a/tests/drivers/spi/spi_loopback/boards/sam_v71b_xult.conf b/tests/drivers/spi/spi_loopback/boards/sam_v71b_xult.conf deleted file mode 100644 index 91c3c15b37d..00000000000 --- a/tests/drivers/spi/spi_loopback/boards/sam_v71b_xult.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GPIO=y