]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: cadence-xspi: Replace ACPI specifics by agnostic APIs
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sat, 29 Nov 2025 15:17:39 +0000 (16:17 +0100)
committerMark Brown <broonie@kernel.org>
Sun, 14 Dec 2025 10:39:19 +0000 (19:39 +0900)
Replace ACPI specific calls to get device property with the agnostic one.
The code looses the direct dependency to the ACPI APIs and get cleaner.
This doesn't change functionality.

While at it, drop now unneeded acpi.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20251129151739.3998668-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence-xspi.c

index 6dcba0e0ddaa3ee07f385d3a7445860011906073..a63a3aa608c63d382658d5b7fa24c3152196896c 100644 (file)
@@ -2,7 +2,6 @@
 // Cadence XSPI flash controller driver
 // Copyright (C) 2020-21 Cadence
 
-#include <linux/acpi.h>
 #include <linux/completion.h>
 #include <linux/delay.h>
 #include <linux/err.h>
@@ -21,6 +20,7 @@
 #include <linux/limits.h>
 #include <linux/log2.h>
 #include <linux/bitrev.h>
+#include <linux/util_macros.h>
 
 #define CDNS_XSPI_MAGIC_NUM_VALUE      0x6522
 #define CDNS_XSPI_MAX_BANKS            8
@@ -774,19 +774,15 @@ static int marvell_xspi_mem_op_execute(struct spi_mem *mem,
        return ret;
 }
 
-#ifdef CONFIG_ACPI
 static bool cdns_xspi_supports_op(struct spi_mem *mem,
                                  const struct spi_mem_op *op)
 {
        struct spi_device *spi = mem->spi;
-       const union acpi_object *obj;
-       struct acpi_device *adev;
+       struct device *dev = &spi->dev;
+       u32 value;
 
-       adev = ACPI_COMPANION(&spi->dev);
-
-       if (!acpi_dev_get_property(adev, "spi-tx-bus-width", ACPI_TYPE_INTEGER,
-                                  &obj)) {
-               switch (obj->integer.value) {
+       if (!device_property_read_u32(dev, "spi-tx-bus-width", &value)) {
+               switch (value) {
                case 1:
                        break;
                case 2:
@@ -799,16 +795,13 @@ static bool cdns_xspi_supports_op(struct spi_mem *mem,
                        spi->mode |= SPI_TX_OCTAL;
                        break;
                default:
-                       dev_warn(&spi->dev,
-                                "spi-tx-bus-width %lld not supported\n",
-                                obj->integer.value);
+                       dev_warn(dev, "spi-tx-bus-width %u not supported\n", value);
                        break;
                }
        }
 
-       if (!acpi_dev_get_property(adev, "spi-rx-bus-width", ACPI_TYPE_INTEGER,
-                                  &obj)) {
-               switch (obj->integer.value) {
+       if (!device_property_read_u32(dev, "spi-rx-bus-width", &value)) {
+               switch (value) {
                case 1:
                        break;
                case 2:
@@ -821,9 +814,7 @@ static bool cdns_xspi_supports_op(struct spi_mem *mem,
                        spi->mode |= SPI_RX_OCTAL;
                        break;
                default:
-                       dev_warn(&spi->dev,
-                                "spi-rx-bus-width %lld not supported\n",
-                                obj->integer.value);
+                       dev_warn(dev, "spi-rx-bus-width %u not supported\n", value);
                        break;
                }
        }
@@ -833,7 +824,6 @@ static bool cdns_xspi_supports_op(struct spi_mem *mem,
 
        return true;
 }
-#endif
 
 static int cdns_xspi_adjust_mem_op_size(struct spi_mem *mem, struct spi_mem_op *op)
 {
@@ -846,17 +836,13 @@ static int cdns_xspi_adjust_mem_op_size(struct spi_mem *mem, struct spi_mem_op *
 }
 
 static const struct spi_controller_mem_ops cadence_xspi_mem_ops = {
-#ifdef CONFIG_ACPI
-       .supports_op = cdns_xspi_supports_op,
-#endif
+       .supports_op = PTR_IF(IS_ENABLED(CONFIG_ACPI), cdns_xspi_supports_op),
        .exec_op = cdns_xspi_mem_op_execute,
        .adjust_op_size = cdns_xspi_adjust_mem_op_size,
 };
 
 static const struct spi_controller_mem_ops marvell_xspi_mem_ops = {
-#ifdef CONFIG_ACPI
-       .supports_op = cdns_xspi_supports_op,
-#endif
+       .supports_op = PTR_IF(IS_ENABLED(CONFIG_ACPI), cdns_xspi_supports_op),
        .exec_op = marvell_xspi_mem_op_execute,
        .adjust_op_size = cdns_xspi_adjust_mem_op_size,
 };