All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikita Shubin via B4 Relay <devnull+nikita.shubin.maquefel.me@kernel.org>
To: Mark Brown <broonie@kernel.org>
Cc: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v9 15/38] spi: ep93xx: add DT support for Cirrus EP93xx
Date: Tue, 26 Mar 2024 12:18:42 +0300	[thread overview]
Message-ID: <20240326-ep93xx-v9-15-156e2ae5dfc8@maquefel.me> (raw)
In-Reply-To: <20240326-ep93xx-v9-0-156e2ae5dfc8@maquefel.me>

From: Nikita Shubin <nikita.shubin@maquefel.me>

- add OF ID match table
- add device tree DMA request, so we can probe defer, in case DMA is not
  ready yet
- drop DMA platform code

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
 drivers/spi/spi-ep93xx.c | 66 +++++++++++++++++-------------------------------
 1 file changed, 23 insertions(+), 43 deletions(-)

diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
index a1d60e51c053..ffbe0d522bce 100644
--- a/drivers/spi/spi-ep93xx.c
+++ b/drivers/spi/spi-ep93xx.c
@@ -18,18 +18,18 @@
 #include <linux/err.h>
 #include <linux/delay.h>
 #include <linux/device.h>
+#include <linux/dma-direction.h>
+#include <linux/dma-mapping.h>
 #include <linux/dmaengine.h>
 #include <linux/bitops.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
+#include <linux/property.h>
 #include <linux/platform_device.h>
 #include <linux/sched.h>
 #include <linux/scatterlist.h>
 #include <linux/spi/spi.h>
 
-#include <linux/platform_data/dma-ep93xx.h>
-#include <linux/platform_data/spi-ep93xx.h>
-
 #define SSPCR0			0x0000
 #define SSPCR0_SPO		BIT(6)
 #define SSPCR0_SPH		BIT(7)
@@ -92,8 +92,6 @@ struct ep93xx_spi {
 	size_t				fifo_level;
 	struct dma_chan			*dma_rx;
 	struct dma_chan			*dma_tx;
-	struct ep93xx_dma_data		dma_rx_data;
-	struct ep93xx_dma_data		dma_tx_data;
 	struct sg_table			rx_sgt;
 	struct sg_table			tx_sgt;
 	void				*zeropage;
@@ -575,46 +573,23 @@ static int ep93xx_spi_unprepare_hardware(struct spi_controller *host)
 	return 0;
 }
 
-static bool ep93xx_spi_dma_filter(struct dma_chan *chan, void *filter_param)
+static int ep93xx_spi_setup_dma(struct device *dev, struct ep93xx_spi *espi)
 {
-	if (ep93xx_dma_chan_is_m2p(chan))
-		return false;
-
-	chan->private = filter_param;
-	return true;
-}
-
-static int ep93xx_spi_setup_dma(struct ep93xx_spi *espi)
-{
-	dma_cap_mask_t mask;
 	int ret;
 
 	espi->zeropage = (void *)get_zeroed_page(GFP_KERNEL);
 	if (!espi->zeropage)
 		return -ENOMEM;
 
-	dma_cap_zero(mask);
-	dma_cap_set(DMA_SLAVE, mask);
-
-	espi->dma_rx_data.port = EP93XX_DMA_SSP;
-	espi->dma_rx_data.direction = DMA_DEV_TO_MEM;
-	espi->dma_rx_data.name = "ep93xx-spi-rx";
-
-	espi->dma_rx = dma_request_channel(mask, ep93xx_spi_dma_filter,
-					   &espi->dma_rx_data);
-	if (!espi->dma_rx) {
-		ret = -ENODEV;
+	espi->dma_rx = dma_request_chan(dev, "rx");
+	if (IS_ERR(espi->dma_rx)) {
+		ret = dev_err_probe(dev, PTR_ERR(espi->dma_rx), "rx DMA setup failed");
 		goto fail_free_page;
 	}
 
-	espi->dma_tx_data.port = EP93XX_DMA_SSP;
-	espi->dma_tx_data.direction = DMA_MEM_TO_DEV;
-	espi->dma_tx_data.name = "ep93xx-spi-tx";
-
-	espi->dma_tx = dma_request_channel(mask, ep93xx_spi_dma_filter,
-					   &espi->dma_tx_data);
-	if (!espi->dma_tx) {
-		ret = -ENODEV;
+	espi->dma_tx = dma_request_chan(dev, "tx");
+	if (IS_ERR(espi->dma_tx)) {
+		ret = dev_err_probe(dev, PTR_ERR(espi->dma_tx), "tx DMA setup failed");
 		goto fail_release_rx;
 	}
 
@@ -647,18 +622,11 @@ static void ep93xx_spi_release_dma(struct ep93xx_spi *espi)
 static int ep93xx_spi_probe(struct platform_device *pdev)
 {
 	struct spi_controller *host;
-	struct ep93xx_spi_info *info;
 	struct ep93xx_spi *espi;
 	struct resource *res;
 	int irq;
 	int error;
 
-	info = dev_get_platdata(&pdev->dev);
-	if (!info) {
-		dev_err(&pdev->dev, "missing platform data\n");
-		return -EINVAL;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0)
 		return irq;
@@ -713,12 +681,17 @@ static int ep93xx_spi_probe(struct platform_device *pdev)
 		goto fail_release_host;
 	}
 
-	if (info->use_dma && ep93xx_spi_setup_dma(espi))
+	error = ep93xx_spi_setup_dma(&pdev->dev, espi);
+	if (error == -EPROBE_DEFER)
+		goto fail_release_host;
+
+	if (error)
 		dev_warn(&pdev->dev, "DMA setup failed. Falling back to PIO\n");
 
 	/* make sure that the hardware is disabled */
 	writel(0, espi->mmio + SSPCR1);
 
+	device_set_node(&host->dev, dev_fwnode(&pdev->dev));
 	error = devm_spi_register_controller(&pdev->dev, host);
 	if (error) {
 		dev_err(&pdev->dev, "failed to register SPI host\n");
@@ -746,9 +719,16 @@ static void ep93xx_spi_remove(struct platform_device *pdev)
 	ep93xx_spi_release_dma(espi);
 }
 
+static const struct of_device_id ep93xx_spi_of_ids[] = {
+	{ .compatible = "cirrus,ep9301-spi" },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, ep93xx_spi_of_ids);
+
 static struct platform_driver ep93xx_spi_driver = {
 	.driver		= {
 		.name	= "ep93xx-spi",
+		.of_match_table = ep93xx_spi_of_ids,
 	},
 	.probe		= ep93xx_spi_probe,
 	.remove_new	= ep93xx_spi_remove,

-- 
2.41.0



WARNING: multiple messages have this Message-ID (diff)
From: Nikita Shubin <nikita.shubin@maquefel.me>
To: Mark Brown <broonie@kernel.org>
Cc: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v9 15/38] spi: ep93xx: add DT support for Cirrus EP93xx
Date: Tue, 26 Mar 2024 12:18:42 +0300	[thread overview]
Message-ID: <20240326-ep93xx-v9-15-156e2ae5dfc8@maquefel.me> (raw)
In-Reply-To: <20240326-ep93xx-v9-0-156e2ae5dfc8@maquefel.me>

- add OF ID match table
- add device tree DMA request, so we can probe defer, in case DMA is not
  ready yet
- drop DMA platform code

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
 drivers/spi/spi-ep93xx.c | 66 +++++++++++++++++-------------------------------
 1 file changed, 23 insertions(+), 43 deletions(-)

diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
index a1d60e51c053..ffbe0d522bce 100644
--- a/drivers/spi/spi-ep93xx.c
+++ b/drivers/spi/spi-ep93xx.c
@@ -18,18 +18,18 @@
 #include <linux/err.h>
 #include <linux/delay.h>
 #include <linux/device.h>
+#include <linux/dma-direction.h>
+#include <linux/dma-mapping.h>
 #include <linux/dmaengine.h>
 #include <linux/bitops.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
+#include <linux/property.h>
 #include <linux/platform_device.h>
 #include <linux/sched.h>
 #include <linux/scatterlist.h>
 #include <linux/spi/spi.h>
 
-#include <linux/platform_data/dma-ep93xx.h>
-#include <linux/platform_data/spi-ep93xx.h>
-
 #define SSPCR0			0x0000
 #define SSPCR0_SPO		BIT(6)
 #define SSPCR0_SPH		BIT(7)
@@ -92,8 +92,6 @@ struct ep93xx_spi {
 	size_t				fifo_level;
 	struct dma_chan			*dma_rx;
 	struct dma_chan			*dma_tx;
-	struct ep93xx_dma_data		dma_rx_data;
-	struct ep93xx_dma_data		dma_tx_data;
 	struct sg_table			rx_sgt;
 	struct sg_table			tx_sgt;
 	void				*zeropage;
@@ -575,46 +573,23 @@ static int ep93xx_spi_unprepare_hardware(struct spi_controller *host)
 	return 0;
 }
 
-static bool ep93xx_spi_dma_filter(struct dma_chan *chan, void *filter_param)
+static int ep93xx_spi_setup_dma(struct device *dev, struct ep93xx_spi *espi)
 {
-	if (ep93xx_dma_chan_is_m2p(chan))
-		return false;
-
-	chan->private = filter_param;
-	return true;
-}
-
-static int ep93xx_spi_setup_dma(struct ep93xx_spi *espi)
-{
-	dma_cap_mask_t mask;
 	int ret;
 
 	espi->zeropage = (void *)get_zeroed_page(GFP_KERNEL);
 	if (!espi->zeropage)
 		return -ENOMEM;
 
-	dma_cap_zero(mask);
-	dma_cap_set(DMA_SLAVE, mask);
-
-	espi->dma_rx_data.port = EP93XX_DMA_SSP;
-	espi->dma_rx_data.direction = DMA_DEV_TO_MEM;
-	espi->dma_rx_data.name = "ep93xx-spi-rx";
-
-	espi->dma_rx = dma_request_channel(mask, ep93xx_spi_dma_filter,
-					   &espi->dma_rx_data);
-	if (!espi->dma_rx) {
-		ret = -ENODEV;
+	espi->dma_rx = dma_request_chan(dev, "rx");
+	if (IS_ERR(espi->dma_rx)) {
+		ret = dev_err_probe(dev, PTR_ERR(espi->dma_rx), "rx DMA setup failed");
 		goto fail_free_page;
 	}
 
-	espi->dma_tx_data.port = EP93XX_DMA_SSP;
-	espi->dma_tx_data.direction = DMA_MEM_TO_DEV;
-	espi->dma_tx_data.name = "ep93xx-spi-tx";
-
-	espi->dma_tx = dma_request_channel(mask, ep93xx_spi_dma_filter,
-					   &espi->dma_tx_data);
-	if (!espi->dma_tx) {
-		ret = -ENODEV;
+	espi->dma_tx = dma_request_chan(dev, "tx");
+	if (IS_ERR(espi->dma_tx)) {
+		ret = dev_err_probe(dev, PTR_ERR(espi->dma_tx), "tx DMA setup failed");
 		goto fail_release_rx;
 	}
 
@@ -647,18 +622,11 @@ static void ep93xx_spi_release_dma(struct ep93xx_spi *espi)
 static int ep93xx_spi_probe(struct platform_device *pdev)
 {
 	struct spi_controller *host;
-	struct ep93xx_spi_info *info;
 	struct ep93xx_spi *espi;
 	struct resource *res;
 	int irq;
 	int error;
 
-	info = dev_get_platdata(&pdev->dev);
-	if (!info) {
-		dev_err(&pdev->dev, "missing platform data\n");
-		return -EINVAL;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0)
 		return irq;
@@ -713,12 +681,17 @@ static int ep93xx_spi_probe(struct platform_device *pdev)
 		goto fail_release_host;
 	}
 
-	if (info->use_dma && ep93xx_spi_setup_dma(espi))
+	error = ep93xx_spi_setup_dma(&pdev->dev, espi);
+	if (error == -EPROBE_DEFER)
+		goto fail_release_host;
+
+	if (error)
 		dev_warn(&pdev->dev, "DMA setup failed. Falling back to PIO\n");
 
 	/* make sure that the hardware is disabled */
 	writel(0, espi->mmio + SSPCR1);
 
+	device_set_node(&host->dev, dev_fwnode(&pdev->dev));
 	error = devm_spi_register_controller(&pdev->dev, host);
 	if (error) {
 		dev_err(&pdev->dev, "failed to register SPI host\n");
@@ -746,9 +719,16 @@ static void ep93xx_spi_remove(struct platform_device *pdev)
 	ep93xx_spi_release_dma(espi);
 }
 
+static const struct of_device_id ep93xx_spi_of_ids[] = {
+	{ .compatible = "cirrus,ep9301-spi" },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, ep93xx_spi_of_ids);
+
 static struct platform_driver ep93xx_spi_driver = {
 	.driver		= {
 		.name	= "ep93xx-spi",
+		.of_match_table = ep93xx_spi_of_ids,
 	},
 	.probe		= ep93xx_spi_probe,
 	.remove_new	= ep93xx_spi_remove,

-- 
2.41.0


  parent reply	other threads:[~2024-03-26  9:20 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-26  9:18 [PATCH v9 00/38] ep93xx device tree conversion Nikita Shubin via B4 Relay
2024-03-26  9:18 ` Nikita Shubin
2024-03-26  9:18 ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 01/38] gpio: ep93xx: split device in multiple Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 02/38] ARM: ep93xx: add regmap aux_dev Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 03/38] clk: ep93xx: add DT support for Cirrus EP93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 04/38] pinctrl: add a Cirrus ep93xx SoC pin controller Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 05/38] power: reset: Add a driver for the ep93xx reset Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26 23:31   ` Sebastian Reichel
2024-03-26  9:18 ` [PATCH v9 06/38] dt-bindings: soc: Add Cirrus EP93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 07/38] soc: Add SoC driver for Cirrus ep93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 08/38] dt-bindings: dma: Add Cirrus EP93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-28  4:26   ` Vinod Koul
2024-03-26  9:18 ` [PATCH v9 09/38] dma: cirrus: Convert to DT for " Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-28  4:31   ` Vinod Koul
2024-03-28  7:21     ` Alexander Sverdlin
2024-03-28  7:27       ` Vinod Koul
2024-03-28  7:24     ` Nikita Shubin
2024-03-28  7:28       ` Vinod Koul
2024-03-26  9:18 ` [PATCH v9 10/38] dt-bindings: watchdog: Add Cirrus EP93x Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 11/38] watchdog: ep93xx: add DT support for Cirrus EP93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 12/38] dt-bindings: pwm: Add " Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-04-29 14:36   ` Uwe Kleine-König
2024-03-26  9:18 ` [PATCH v9 13/38] pwm: ep93xx: add DT support for " Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 14/38] dt-bindings: spi: Add " Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` Nikita Shubin via B4 Relay [this message]
2024-03-26  9:18   ` [PATCH v9 15/38] spi: ep93xx: add DT support for " Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 16/38] dt-bindings: net: Add " Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 17/38] net: cirrus: add DT support for " Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-28 20:34   ` Simon Horman
2024-03-26  9:18 ` [PATCH v9 18/38] dt-bindings: mtd: Add ts7200 nand-controller Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 19/38] mtd: rawnand: add support for ts72xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 20/38] dt-bindings: ata: Add Cirrus EP93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 21/38] ata: pata_ep93xx: add device tree support Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-30 18:41   ` Sergey Shtylyov
2024-03-26  9:18 ` [PATCH v9 22/38] dt-bindings: input: Add Cirrus EP93xx keypad Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 23/38] input: keypad: ep93xx: add DT support for Cirrus EP93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 24/38] wdt: ts72xx: add DT support for ts72xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 25/38] gpio: ep93xx: add DT support for gpio-ep93xx Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 26/38] ASoC: dt-bindings: ep93xx: Document DMA support Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 27/38] ASoC: dt-bindings: ep93xx: Document Audio Port support Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:18 ` [PATCH v9 28/38] ASoC: ep93xx: Drop legacy DMA support Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 29/38] ARM: dts: add Cirrus EP93XX SoC .dtsi Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 30/38] ARM: dts: ep93xx: add ts7250 board Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 31/38] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18 ` [PATCH v9 32/38] ARM: ep93xx: DT for the Cirrus ep93xx SoC platforms Nikita Shubin via B4 Relay
2024-03-26  9:18   ` Nikita Shubin
2024-03-26  9:18   ` Nikita Shubin via B4 Relay
2024-03-26  9:43   ` Arnd Bergmann
2024-03-26  9:43     ` Arnd Bergmann
2024-03-26  9:19 ` [PATCH v9 33/38] pwm: ep93xx: drop legacy pinctrl Nikita Shubin via B4 Relay
2024-03-26  9:19   ` Nikita Shubin
2024-03-26  9:19   ` Nikita Shubin via B4 Relay
2024-03-26  9:19 ` [PATCH v9 34/38] ata: pata_ep93xx: remove legacy pinctrl use Nikita Shubin via B4 Relay
2024-03-26  9:19   ` Nikita Shubin
2024-03-26  9:19   ` Nikita Shubin via B4 Relay
2024-03-26  9:19 ` [PATCH v9 35/38] ARM: ep93xx: delete all boardfiles Nikita Shubin via B4 Relay
2024-03-26  9:19   ` Nikita Shubin
2024-03-26  9:19 ` [PATCH v9 36/38] ARM: ep93xx: soc: drop defines Nikita Shubin via B4 Relay
2024-03-26  9:19   ` Nikita Shubin
2024-03-26  9:19 ` [PATCH v9 37/38] ASoC: cirrus: edb93xx: Delete driver Nikita Shubin via B4 Relay
2024-03-26  9:19   ` Nikita Shubin
2024-03-26  9:19 ` [PATCH v9 38/38] dma: cirrus: remove platform code Nikita Shubin via B4 Relay
2024-03-26  9:19   ` Nikita Shubin
2024-03-28  4:44   ` Vinod Koul
2024-03-28  6:59     ` Alexander Sverdlin
2024-03-26 10:07 ` [PATCH v9 00/38] ep93xx device tree conversion Arnd Bergmann
2024-03-26 10:07   ` Arnd Bergmann
2024-04-13  8:48   ` Uwe Kleine-König
2024-04-13  8:48     ` Uwe Kleine-König
2024-03-26 10:19 ` Krzysztof Kozlowski
2024-03-26 10:19   ` Krzysztof Kozlowski
2024-03-26 14:49   ` Andy Shevchenko
2024-03-26 14:49     ` Andy Shevchenko
2024-03-27  5:07     ` Krzysztof Kozlowski
2024-03-27  5:07       ` Krzysztof Kozlowski
2024-03-27 10:59       ` Andy Shevchenko
2024-03-27 10:59         ` Andy Shevchenko
2024-03-26 14:53 ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240326-ep93xx-v9-15-156e2ae5dfc8@maquefel.me \
    --to=devnull+nikita.shubin.maquefel.me@kernel.org \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=nikita.shubin@maquefel.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.