summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2026-05-18 17:56:14 -0700
committerMark Brown <broonie@kernel.org>2026-05-20 15:20:27 +0100
commit0c5b5c40dc31089e8e59d53a32313baa50bc0809 (patch)
treef79f30ed6753df61723c6805b1822ecc4fc482b9 /drivers
parent638f5500111c27379e16a7cf5599f23094bfb7ae (diff)
spi: cadence-xspi: Add COMPILE_TEST support
The Cadence XSPI driver uses readq() and writeq(), which are not provided directly by all 32-bit architectures. Include the generic non-atomic 64-bit I/O accessor fallback for non-64-bit builds so the driver can build there. Drop the 64BIT dependency at the same time. The driver only needs MMIO and the SPI memory interface at build time, and the fallback accessors cover the 32-bit compile-test case. Assisted-by: Codex:GPT-5.5 Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://patch.msgid.link/20260519005614.628437-1-rosenp@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/Kconfig3
-rw-r--r--drivers/spi/spi-cadence-xspi.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 8782514bb89b..957c3e065b83 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -321,7 +321,8 @@ config SPI_CADENCE_QUADSPI
config SPI_CADENCE_XSPI
tristate "Cadence XSPI controller"
- depends on OF && HAS_IOMEM && 64BIT
+ depends on HAS_IOMEM || COMPILE_TEST
+ depends on OF
depends on SPI_MEM
help
Enable support for the Cadence XSPI Flash controller.
diff --git a/drivers/spi/spi-cadence-xspi.c b/drivers/spi/spi-cadence-xspi.c
index 32fa19ebf7a9..c45b29c043bf 100644
--- a/drivers/spi/spi-cadence-xspi.c
+++ b/drivers/spi/spi-cadence-xspi.c
@@ -22,6 +22,10 @@
#include <linux/bitrev.h>
#include <linux/util_macros.h>
+#ifndef CONFIG_64BIT
+#include <linux/io-64-nonatomic-lo-hi.h>
+#endif
+
#define CDNS_XSPI_MAGIC_NUM_VALUE 0x6522
#define CDNS_XSPI_MAX_BANKS 8
#define CDNS_XSPI_NAME "cadence-xspi"