* [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
@ 2026-11-04 15:22 Frank.Li
2026-11-04 16:57 ` Andy Shevchenko
` (3 more replies)
0 siblings, 4 replies; 24+ messages in thread
From: Frank.Li @ 2026-11-04 15:22 UTC (permalink / raw)
To: Mark Brown, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Radu Pirea, CL Wang, Ryan Wanner, Florian Fainelli, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij,
Andy Shevchenko, Daniel Mack, Haojian Zhuang, Robert Jarzmik,
Heiko Stuebner, Fabrizio Castro, Andi Shyti, Tudor Ambarus,
Krzysztof Kozlowski, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT
Cc: imx, Mukesh Kumar Savaliya, Wolfram Sang, Thierry Reding
From: Frank Li <Frank.Li@nxp.com>
Replace open-coded assignments to callback and callback_param fields
of struct dma_async_tx_descriptor with calls to the
dmaengine_desc_set_callback() helper across SPI bus drivers.
No functional change intended. Prepare make to struct
dma_async_tx_descriptor private to the DMA engine.
Reviewed-by: Linus Walleij <linusw@kernel.org>
Reviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Acked-by: Alain Volmat <alain.volmat@foss.st.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
change in v2
- add missed set_callback in rspi_dma_transfer() (sashiko
- collect review by tags
- drop void *
---
drivers/spi/atmel-quadspi.c | 3 +--
drivers/spi/spi-at91-usart.c | 3 +--
drivers/spi/spi-atcspi200.c | 3 +--
drivers/spi/spi-atmel.c | 3 +--
drivers/spi/spi-bcm2835.c | 6 ++----
drivers/spi/spi-cadence-quadspi.c | 3 +--
drivers/spi/spi-davinci.c | 6 ++----
drivers/spi/spi-dw-dma.c | 6 ++----
drivers/spi/spi-ep93xx.c | 3 +--
drivers/spi/spi-fsl-dspi.c | 6 ++----
drivers/spi/spi-fsl-lpspi.c | 6 ++----
drivers/spi/spi-geni-qcom.c | 3 +--
drivers/spi/spi-img-spfi.c | 6 ++----
drivers/spi/spi-imx.c | 6 ++----
drivers/spi/spi-ingenic.c | 3 +--
drivers/spi/spi-mxs.c | 3 +--
drivers/spi/spi-nxp-xspi.c | 3 +--
drivers/spi/spi-omap2-mcspi.c | 6 ++----
drivers/spi/spi-pic32.c | 3 +--
drivers/spi/spi-pl022.c | 3 +--
drivers/spi/spi-pxa2xx-dma.c | 3 +--
drivers/spi/spi-qup.c | 3 +--
drivers/spi/spi-rockchip.c | 6 ++----
drivers/spi/spi-rspi.c | 8 +++-----
drivers/spi/spi-rzv2h-rspi.c | 3 +--
drivers/spi/spi-s3c64xx.c | 3 +--
drivers/spi/spi-sh-msiof.c | 6 ++----
drivers/spi/spi-spacemit-k1.c | 3 +--
drivers/spi/spi-stm32-ospi.c | 3 +--
drivers/spi/spi-stm32-qspi.c | 3 +--
drivers/spi/spi-stm32.c | 9 +++------
drivers/spi/spi-sun6i.c | 3 +--
drivers/spi/spi-tegra114.c | 6 ++----
drivers/spi/spi-tegra20-slink.c | 6 ++----
drivers/spi/spi-tegra210-quad.c | 6 ++----
drivers/spi/spi-ti-qspi.c | 3 +--
drivers/spi/spi-topcliff-pch.c | 6 ++----
drivers/spi/spi-uniphier.c | 6 ++----
38 files changed, 57 insertions(+), 113 deletions(-)
diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
index 762a3fb0fca81..de205e04a8600 100644
--- a/drivers/spi/atmel-quadspi.c
+++ b/drivers/spi/atmel-quadspi.c
@@ -790,8 +790,7 @@ static int atmel_qspi_dma_xfer(struct atmel_qspi *aq, struct dma_chan *chan,
}
reinit_completion(&aq->dma_completion);
- tx->callback = atmel_qspi_dma_callback;
- tx->callback_param = aq;
+ dmaengine_desc_set_callback(tx, atmel_qspi_dma_callback, NULL, aq);
cookie = dmaengine_submit(tx);
ret = dma_submit_error(cookie);
if (ret) {
diff --git a/drivers/spi/spi-at91-usart.c b/drivers/spi/spi-at91-usart.c
index aadcdf734fb03..8b56ac1dcad8e 100644
--- a/drivers/spi/spi-at91-usart.c
+++ b/drivers/spi/spi-at91-usart.c
@@ -228,8 +228,7 @@ static int at91_usart_spi_dma_transfer(struct spi_controller *ctlr,
if (!txdesc)
goto at91_usart_spi_err_dma;
- rxdesc->callback = dma_callback;
- rxdesc->callback_param = ctlr;
+ dmaengine_desc_set_callback(rxdesc, dma_callback, NULL, ctlr);
cookie = dmaengine_submit(rxdesc);
if (dma_submit_error(cookie))
diff --git a/drivers/spi/spi-atcspi200.c b/drivers/spi/spi-atcspi200.c
index b532c58c0ab91..c807e730ca94c 100644
--- a/drivers/spi/spi-atcspi200.c
+++ b/drivers/spi/spi-atcspi200.c
@@ -340,8 +340,7 @@ static int atcspi_dma_trans(struct atcspi_dev *spi,
}
reinit_completion(&spi->dma_completion);
- desc->callback = atcspi_dma_callback;
- desc->callback_param = &spi->dma_completion;
+ dmaengine_desc_set_callback(desc, atcspi_dma_callback, NULL, &spi->dma_completion);
cookie = dmaengine_submit(desc);
ret = dma_submit_error(cookie);
if (ret)
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index ffc896e4621ac..ffc1292b08c10 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -867,8 +867,7 @@ static int atmel_spi_next_xfer_dma_submit(struct spi_controller *host,
spi_writel(as, IER, SPI_BIT(OVRES));
/* Put the callback on the RX transfer only, that should finish last */
- rxdesc->callback = dma_callback;
- rxdesc->callback_param = host;
+ dmaengine_desc_set_callback(rxdesc, dma_callback, NULL, host);
/* Submit and fire RX and TX with TX last so we're ready to read! */
cookie = dmaengine_submit(rxdesc);
diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c
index cc57489732816..a71048a88c58a 100644
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -706,11 +706,9 @@ static int bcm2835_spi_prepare_sg(struct spi_controller *ctlr,
* RX-only transfers; else by the TX channel for TX-only transfers.
*/
if (!is_tx) {
- desc->callback = bcm2835_spi_dma_rx_done;
- desc->callback_param = ctlr;
+ dmaengine_desc_set_callback(desc, bcm2835_spi_dma_rx_done, NULL, ctlr);
} else if (!tfr->rx_buf) {
- desc->callback = bcm2835_spi_dma_tx_done;
- desc->callback_param = ctlr;
+ dmaengine_desc_set_callback(desc, bcm2835_spi_dma_tx_done, NULL, ctlr);
bs->target = target;
}
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index 73ea51c41f955..6e7c8b54e0377 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -1395,8 +1395,7 @@ static int cqspi_direct_read_execute(struct cqspi_flash_pdata *f_pdata,
goto err_unmap;
}
- tx->callback = cqspi_rx_dma_callback;
- tx->callback_param = cqspi;
+ dmaengine_desc_set_callback(tx, cqspi_rx_dma_callback, NULL, cqspi);
cookie = dmaengine_submit(tx);
reinit_completion(&cqspi->rx_dma_complete);
diff --git a/drivers/spi/spi-davinci.c b/drivers/spi/spi-davinci.c
index 087735ed9c80c..baa642c1429a4 100644
--- a/drivers/spi/spi-davinci.c
+++ b/drivers/spi/spi-davinci.c
@@ -703,10 +703,8 @@ static int davinci_spi_bufs(struct spi_device *spi, struct spi_transfer *t)
if (!txdesc)
goto err_desc;
- rxdesc->callback = davinci_spi_dma_rx_callback;
- rxdesc->callback_param = (void *)dspi;
- txdesc->callback = davinci_spi_dma_tx_callback;
- txdesc->callback_param = (void *)dspi;
+ dmaengine_desc_set_callback(rxdesc, davinci_spi_dma_rx_callback, NULL, dspi);
+ dmaengine_desc_set_callback(txdesc, davinci_spi_dma_tx_callback, NULL, dspi);
if (pdata->cshold_bug)
iowrite16(spidat1 >> 16, dspi->base + SPIDAT1 + 2);
diff --git a/drivers/spi/spi-dw-dma.c b/drivers/spi/spi-dw-dma.c
index b706770334a61..94810f9dd5c5d 100644
--- a/drivers/spi/spi-dw-dma.c
+++ b/drivers/spi/spi-dw-dma.c
@@ -397,8 +397,7 @@ static int dw_spi_dma_submit_tx(struct dw_spi *dws, struct scatterlist *sgl,
if (!txdesc)
return -ENOMEM;
- txdesc->callback = dw_spi_dma_tx_done;
- txdesc->callback_param = dws;
+ dmaengine_desc_set_callback(txdesc, dw_spi_dma_tx_done, NULL, dws);
cookie = dmaengine_submit(txdesc);
ret = dma_submit_error(cookie);
@@ -498,8 +497,7 @@ static int dw_spi_dma_submit_rx(struct dw_spi *dws, struct scatterlist *sgl,
if (!rxdesc)
return -ENOMEM;
- rxdesc->callback = dw_spi_dma_rx_done;
- rxdesc->callback_param = dws;
+ dmaengine_desc_set_callback(rxdesc, dw_spi_dma_rx_done, NULL, dws);
cookie = dmaengine_submit(rxdesc);
ret = dma_submit_error(cookie);
diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
index d8f4aa38685f5..6832869bc73bf 100644
--- a/drivers/spi/spi-ep93xx.c
+++ b/drivers/spi/spi-ep93xx.c
@@ -418,8 +418,7 @@ static int ep93xx_spi_dma_transfer(struct spi_controller *host)
}
/* We are ready when RX is done */
- rxd->callback = ep93xx_spi_dma_callback;
- rxd->callback_param = host;
+ dmaengine_desc_set_callback(rxd, ep93xx_spi_dma_callback, NULL, host);
/* Now submit both descriptors and start DMA */
dmaengine_submit(rxd);
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index f03488870d024..aee0393f9a832 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -581,8 +581,7 @@ static int dspi_next_xfer_dma_submit(struct fsl_dspi *dspi)
return -EIO;
}
- dma->tx_desc->callback = dspi_tx_dma_callback;
- dma->tx_desc->callback_param = dspi;
+ dmaengine_desc_set_callback(dma->tx_desc, dspi_tx_dma_callback, NULL, dspi);
if (dma_submit_error(dmaengine_submit(dma->tx_desc))) {
dev_err(dev, "DMA submit failed\n");
return -EINVAL;
@@ -600,8 +599,7 @@ static int dspi_next_xfer_dma_submit(struct fsl_dspi *dspi)
return -EIO;
}
- dma->rx_desc->callback = dspi_rx_dma_callback;
- dma->rx_desc->callback_param = dspi;
+ dmaengine_desc_set_callback(dma->rx_desc, dspi_rx_dma_callback, NULL, dspi);
if (dma_submit_error(dmaengine_submit(dma->rx_desc))) {
dev_err(dev, "DMA submit failed\n");
return -EINVAL;
diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index b25f94b2ef738..c7aba0d777470 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -634,8 +634,7 @@ static int fsl_lpspi_dma_transfer(struct spi_controller *controller,
if (!desc_rx)
return -EINVAL;
- desc_rx->callback = fsl_lpspi_dma_rx_callback;
- desc_rx->callback_param = (void *)fsl_lpspi;
+ dmaengine_desc_set_callback(desc_rx, fsl_lpspi_dma_rx_callback, NULL, fsl_lpspi);
dmaengine_submit(desc_rx);
reinit_completion(&fsl_lpspi->dma_rx_completion);
dma_async_issue_pending(controller->dma_rx);
@@ -648,8 +647,7 @@ static int fsl_lpspi_dma_transfer(struct spi_controller *controller,
return -EINVAL;
}
- desc_tx->callback = fsl_lpspi_dma_tx_callback;
- desc_tx->callback_param = (void *)fsl_lpspi;
+ dmaengine_desc_set_callback(desc_tx, fsl_lpspi_dma_tx_callback, NULL, fsl_lpspi);
dmaengine_submit(desc_tx);
reinit_completion(&fsl_lpspi->dma_tx_completion);
dma_async_issue_pending(controller->dma_tx);
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
index 91e75e213f929..e239c4333055b 100644
--- a/drivers/spi/spi-geni-qcom.c
+++ b/drivers/spi/spi-geni-qcom.c
@@ -506,8 +506,7 @@ static int setup_gsi_xfer(struct spi_transfer *xfer, struct spi_geni_master *mas
return -EIO;
}
- tx_desc->callback_result = spi_gsi_callback_result;
- tx_desc->callback_param = spi;
+ dmaengine_desc_set_callback(tx_desc, NULL, spi_gsi_callback_result, spi);
if (peripheral.cmd & SPI_RX)
dmaengine_submit(rx_desc);
diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
index 76dcb283d1225..53370cff7e2cd 100644
--- a/drivers/spi/spi-img-spfi.c
+++ b/drivers/spi/spi-img-spfi.c
@@ -334,8 +334,7 @@ static int img_spfi_start_dma(struct spi_controller *host,
if (!rxdesc)
goto stop_dma;
- rxdesc->callback = img_spfi_dma_rx_cb;
- rxdesc->callback_param = spfi;
+ dmaengine_desc_set_callback(rxdesc, img_spfi_dma_rx_cb, NULL, spfi);
}
if (xfer->tx_buf) {
@@ -358,8 +357,7 @@ static int img_spfi_start_dma(struct spi_controller *host,
if (!txdesc)
goto stop_dma;
- txdesc->callback = img_spfi_dma_tx_cb;
- txdesc->callback_param = spfi;
+ dmaengine_desc_set_callback(txdesc, img_spfi_dma_tx_cb, NULL, spfi);
}
if (xfer->rx_buf) {
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index cadf0b93f4403..dc58d898cfba4 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -1738,8 +1738,7 @@ static int spi_imx_dma_submit(struct spi_imx_data *spi_imx,
return -EINVAL;
}
- desc_rx->callback = spi_imx_dma_rx_callback;
- desc_rx->callback_param = (void *)spi_imx;
+ dmaengine_desc_set_callback(desc_rx, spi_imx_dma_rx_callback, NULL, spi_imx);
cookie = dmaengine_submit(desc_rx);
if (dma_submit_error(cookie)) {
dev_err(spi_imx->dev, "submitting DMA RX failed\n");
@@ -1756,8 +1755,7 @@ static int spi_imx_dma_submit(struct spi_imx_data *spi_imx,
if (!desc_tx)
goto dmaengine_terminate_rx;
- desc_tx->callback = spi_imx_dma_tx_callback;
- desc_tx->callback_param = (void *)spi_imx;
+ dmaengine_desc_set_callback(desc_tx, spi_imx_dma_tx_callback, NULL, spi_imx);
cookie = dmaengine_submit(desc_tx);
if (dma_submit_error(cookie)) {
dev_err(spi_imx->dev, "submitting DMA TX failed\n");
diff --git a/drivers/spi/spi-ingenic.c b/drivers/spi/spi-ingenic.c
index a0a047510611e..9567ddde06ef0 100644
--- a/drivers/spi/spi-ingenic.c
+++ b/drivers/spi/spi-ingenic.c
@@ -157,8 +157,7 @@ spi_ingenic_prepare_dma(struct spi_controller *ctlr, struct dma_chan *chan,
return ERR_PTR(-ENOMEM);
if (dir == DMA_DEV_TO_MEM) {
- desc->callback = spi_ingenic_finalize_transfer;
- desc->callback_param = ctlr;
+ dmaengine_desc_set_callback(desc, spi_ingenic_finalize_transfer, NULL, ctlr);
}
cookie = dmaengine_submit(desc);
diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index fda1d260b2966..eabea73a19fc7 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -267,8 +267,7 @@ static int mxs_spi_txrx_dma(struct mxs_spi *spi,
* The last descriptor must have this callback,
* to finish the DMA transaction.
*/
- desc->callback = mxs_ssp_dma_irq_callback;
- desc->callback_param = spi;
+ dmaengine_desc_set_callback(desc, mxs_ssp_dma_irq_callback, NULL, spi);
/* Start the transfer. */
dmaengine_submit(desc);
diff --git a/drivers/spi/spi-nxp-xspi.c b/drivers/spi/spi-nxp-xspi.c
index 38c8d6269aadd..e532b2da54835 100644
--- a/drivers/spi/spi-nxp-xspi.c
+++ b/drivers/spi/spi-nxp-xspi.c
@@ -872,8 +872,7 @@ static int nxp_xspi_ahb_dma_read(struct nxp_xspi *xspi,
goto err_unmap_src;
}
- desc->callback = nxp_xspi_dma_rx_callback;
- desc->callback_param = xspi;
+ dmaengine_desc_set_callback(desc, nxp_xspi_dma_rx_callback, NULL, xspi);
reinit_completion(&xspi->dma_rx_c);
dmaengine_submit(desc);
dma_async_issue_pending(chan);
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index e46b1d9c8cd08..56fc8211a752f 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -436,8 +436,7 @@ static int omap2_mcspi_tx_dma(struct spi_device *spi,
if (!tx)
return -EIO;
- tx->callback = omap2_mcspi_tx_callback;
- tx->callback_param = spi;
+ dmaengine_desc_set_callback(tx, omap2_mcspi_tx_callback, NULL, spi);
return dma_submit_error(dmaengine_submit(tx));
}
@@ -525,8 +524,7 @@ omap2_mcspi_rx_dma(struct spi_device *spi, struct spi_transfer *xfer,
goto out_free_sg;
}
- tx->callback = omap2_mcspi_rx_callback;
- tx->callback_param = spi;
+ dmaengine_desc_set_callback(tx, omap2_mcspi_rx_callback, NULL, spi);
ret = dma_submit_error(dmaengine_submit(tx));
if (ret)
goto out_free_sg;
diff --git a/drivers/spi/spi-pic32.c b/drivers/spi/spi-pic32.c
index 8363bc873b03a..b6a6929cbb0c2 100644
--- a/drivers/spi/spi-pic32.c
+++ b/drivers/spi/spi-pic32.c
@@ -330,8 +330,7 @@ static int pic32_spi_dma_transfer(struct pic32_spi *pic32s,
}
/* Put callback on the RX transfer, that should finish last */
- desc_rx->callback = pic32_spi_dma_rx_notify;
- desc_rx->callback_param = pic32s;
+ dmaengine_desc_set_callback(desc_rx, pic32_spi_dma_rx_notify, NULL, pic32s);
cookie = dmaengine_submit(desc_rx);
ret = dma_submit_error(cookie);
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 3ff30486b2892..9f98f95bb534c 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -956,8 +956,7 @@ static int configure_dma(struct pl022 *pl022)
goto err_txdesc;
/* Put the callback on the RX transfer only, that should finish last */
- rxdesc->callback = dma_callback;
- rxdesc->callback_param = pl022;
+ dmaengine_desc_set_callback(rxdesc, dma_callback, NULL, pl022);
/* Submit and fire RX and TX with TX last so we're ready to read! */
dmaengine_submit(rxdesc);
diff --git a/drivers/spi/spi-pxa2xx-dma.c b/drivers/spi/spi-pxa2xx-dma.c
index c94d1d192e743..0e7ad7fb48eb2 100644
--- a/drivers/spi/spi-pxa2xx-dma.c
+++ b/drivers/spi/spi-pxa2xx-dma.c
@@ -154,8 +154,7 @@ int pxa2xx_spi_dma_prepare(struct driver_data *drv_data,
}
/* We are ready when RX completes */
- rx_desc->callback = pxa2xx_spi_dma_callback;
- rx_desc->callback_param = drv_data;
+ dmaengine_desc_set_callback(rx_desc, pxa2xx_spi_dma_callback, NULL, drv_data);
dmaengine_submit(rx_desc);
dmaengine_submit(tx_desc);
diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
index e8b076b1622d3..6be0b942d7c4e 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -429,8 +429,7 @@ static int spi_qup_prep_sg(struct spi_controller *host, struct scatterlist *sgl,
if (IS_ERR_OR_NULL(desc))
return desc ? PTR_ERR(desc) : -EINVAL;
- desc->callback = callback;
- desc->callback_param = qup;
+ dmaengine_desc_set_callback(desc, callback, NULL, qup);
cookie = dmaengine_submit(desc);
diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c
index 1a81fd94b4396..f8d6cea2f3dad 100644
--- a/drivers/spi/spi-rockchip.c
+++ b/drivers/spi/spi-rockchip.c
@@ -475,8 +475,7 @@ static int rockchip_spi_prepare_dma(struct rockchip_spi *rs,
if (!rxdesc)
return -EINVAL;
- rxdesc->callback = rockchip_spi_dma_rxcb;
- rxdesc->callback_param = ctlr;
+ dmaengine_desc_set_callback(rxdesc, rockchip_spi_dma_rxcb, NULL, ctlr);
}
txdesc = NULL;
@@ -500,8 +499,7 @@ static int rockchip_spi_prepare_dma(struct rockchip_spi *rs,
return -EINVAL;
}
- txdesc->callback = rockchip_spi_dma_txcb;
- txdesc->callback_param = ctlr;
+ dmaengine_desc_set_callback(txdesc, rockchip_spi_dma_txcb, NULL, ctlr);
}
/* rx must be started before tx due to spi instinct */
diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
index c61edd1c1353b..a1e5fae8563fd 100644
--- a/drivers/spi/spi-rspi.c
+++ b/drivers/spi/spi-rspi.c
@@ -553,8 +553,7 @@ static int rspi_dma_transfer(struct rspi_data *rspi, struct sg_table *tx,
goto no_dma_rx;
}
- desc_rx->callback = rspi_dma_complete;
- desc_rx->callback_param = rspi;
+ dmaengine_desc_set_callback(desc_rx, rspi_dma_complete, NULL, rspi);
cookie = dmaengine_submit(desc_rx);
if (dma_submit_error(cookie)) {
ret = cookie;
@@ -575,10 +574,9 @@ static int rspi_dma_transfer(struct rspi_data *rspi, struct sg_table *tx,
if (rx) {
/* No callback */
- desc_tx->callback = NULL;
+ dmaengine_desc_set_callback(desc_tx, NULL, NULL, NULL);
} else {
- desc_tx->callback = rspi_dma_complete;
- desc_tx->callback_param = rspi;
+ dmaengine_desc_set_callback(desc_tx, rspi_dma_complete, NULL, rspi);
}
cookie = dmaengine_submit(desc_tx);
if (dma_submit_error(cookie)) {
diff --git a/drivers/spi/spi-rzv2h-rspi.c b/drivers/spi/spi-rzv2h-rspi.c
index daa4239b0fe04..f17b6d3da5de7 100644
--- a/drivers/spi/spi-rzv2h-rspi.c
+++ b/drivers/spi/spi-rzv2h-rspi.c
@@ -295,8 +295,7 @@ rzv2h_rspi_setup_dma_channel(struct rzv2h_rspi_priv *rspi,
return ERR_PTR(-EAGAIN);
if (direction == DMA_DEV_TO_MEM) {
- desc->callback = rzv2h_rspi_dma_complete;
- desc->callback_param = rspi;
+ dmaengine_desc_set_callback(desc, rzv2h_rspi_dma_complete, NULL, rspi);
}
return desc;
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index 58e306cc730fc..d24b95212ecd8 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -338,8 +338,7 @@ static int s3c64xx_prepare_dma(struct s3c64xx_spi_dma_data *dma,
return -ENOMEM;
}
- desc->callback = s3c64xx_spi_dmacb;
- desc->callback_param = dma;
+ dmaengine_desc_set_callback(desc, s3c64xx_spi_dmacb, NULL, dma);
dma->cookie = dmaengine_submit(desc);
ret = dma_submit_error(dma->cookie);
diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c
index 89fbdde46cfe9..557c645fcebc6 100644
--- a/drivers/spi/spi-sh-msiof.c
+++ b/drivers/spi/spi-sh-msiof.c
@@ -665,8 +665,7 @@ static int sh_msiof_dma_once(struct sh_msiof_spi_priv *p, const void *tx,
if (!desc_rx)
return -EAGAIN;
- desc_rx->callback = sh_msiof_dma_complete;
- desc_rx->callback_param = &p->done;
+ dmaengine_desc_set_callback(desc_rx, sh_msiof_dma_complete, NULL, &p->done);
cookie = dmaengine_submit(desc_rx);
if (dma_submit_error(cookie))
return cookie;
@@ -684,8 +683,7 @@ static int sh_msiof_dma_once(struct sh_msiof_spi_priv *p, const void *tx,
goto no_dma_tx;
}
- desc_tx->callback = sh_msiof_dma_complete;
- desc_tx->callback_param = &p->done_txdma;
+ dmaengine_desc_set_callback(desc_tx, sh_msiof_dma_complete, NULL, &p->done_txdma);
cookie = dmaengine_submit(desc_tx);
if (dma_submit_error(cookie)) {
ret = cookie;
diff --git a/drivers/spi/spi-spacemit-k1.c b/drivers/spi/spi-spacemit-k1.c
index d03a93d149ecc..c9bf925ee3521 100644
--- a/drivers/spi/spi-spacemit-k1.c
+++ b/drivers/spi/spi-spacemit-k1.c
@@ -294,8 +294,7 @@ static int k1_spi_dma_one(struct spi_controller *host, struct spi_device *spi,
}
/* When RX is complete we also know TX has completed */
- rxdesc->callback = k1_spi_dma_callback;
- rxdesc->callback_param = drv_data;
+ dmaengine_desc_set_callback(rxdesc, k1_spi_dma_callback, NULL, drv_data);
dmaengine_submit(txdesc);
dmaengine_submit(rxdesc);
diff --git a/drivers/spi/spi-stm32-ospi.c b/drivers/spi/spi-stm32-ospi.c
index 1340e62ebe1b6..afb30af9421f6 100644
--- a/drivers/spi/spi-stm32-ospi.c
+++ b/drivers/spi/spi-stm32-ospi.c
@@ -374,8 +374,7 @@ static int stm32_ospi_tx_dma(struct stm32_ospi *ospi,
cr = readl_relaxed(regs_base + OSPI_CR);
reinit_completion(&ospi->dma_completion);
- desc->callback = stm32_ospi_dma_callback;
- desc->callback_param = &ospi->dma_completion;
+ dmaengine_desc_set_callback(desc, stm32_ospi_dma_callback, NULL, &ospi->dma_completion);
cookie = dmaengine_submit(desc);
err = dma_submit_error(cookie);
if (err)
diff --git a/drivers/spi/spi-stm32-qspi.c b/drivers/spi/spi-stm32-qspi.c
index b77daba6db83a..f9865720c6dd3 100644
--- a/drivers/spi/spi-stm32-qspi.c
+++ b/drivers/spi/spi-stm32-qspi.c
@@ -265,8 +265,7 @@ static int stm32_qspi_tx_dma(struct stm32_qspi *qspi,
cr = readl_relaxed(qspi->io_base + QSPI_CR);
reinit_completion(&qspi->dma_completion);
- desc->callback = stm32_qspi_dma_callback;
- desc->callback_param = &qspi->dma_completion;
+ dmaengine_desc_set_callback(desc, stm32_qspi_dma_callback, NULL, &qspi->dma_completion);
cookie = dmaengine_submit(desc);
err = dma_submit_error(cookie);
if (err)
diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c
index 4c3ae546afc05..66932400cf570 100644
--- a/drivers/spi/spi-stm32.c
+++ b/drivers/spi/spi-stm32.c
@@ -1690,11 +1690,9 @@ static int stm32_spi_transfer_one_dma(struct stm32_spi *spi,
if (rx_dma_desc) {
if (rx_mdma_desc) {
- rx_mdma_desc->callback = spi->cfg->dma_rx_cb;
- rx_mdma_desc->callback_param = spi;
+ dmaengine_desc_set_callback(rx_mdma_desc, spi->cfg->dma_rx_cb, NULL, spi);
} else {
- rx_dma_desc->callback = spi->cfg->dma_rx_cb;
- rx_dma_desc->callback_param = spi;
+ dmaengine_desc_set_callback(rx_dma_desc, spi->cfg->dma_rx_cb, NULL, spi);
}
/* Enable Rx DMA request */
@@ -1719,8 +1717,7 @@ static int stm32_spi_transfer_one_dma(struct stm32_spi *spi,
if (tx_dma_desc) {
if (spi->cur_comm == SPI_SIMPLEX_TX ||
spi->cur_comm == SPI_3WIRE_TX) {
- tx_dma_desc->callback = spi->cfg->dma_tx_cb;
- tx_dma_desc->callback_param = spi;
+ dmaengine_desc_set_callback(tx_dma_desc, spi->cfg->dma_tx_cb, NULL, spi);
}
if (dma_submit_error(dmaengine_submit(tx_dma_desc))) {
diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c
index 6b7a05dd0de8a..e9fce8618299a 100644
--- a/drivers/spi/spi-sun6i.c
+++ b/drivers/spi/spi-sun6i.c
@@ -232,8 +232,7 @@ static int sun6i_spi_prepare_dma(struct sun6i_spi *sspi,
DMA_PREP_INTERRUPT);
if (!rxdesc)
return -EINVAL;
- rxdesc->callback_param = sspi;
- rxdesc->callback = sun6i_spi_dma_rx_cb;
+ dmaengine_desc_set_callback(rxdesc, sun6i_spi_dma_rx_cb, NULL, sspi);
}
txdesc = NULL;
diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c
index f43f2df478b45..ffe547d1e3af3 100644
--- a/drivers/spi/spi-tegra114.c
+++ b/drivers/spi/spi-tegra114.c
@@ -480,8 +480,7 @@ static int tegra_spi_start_tx_dma(struct tegra_spi_data *tspi, int len)
return -EIO;
}
- tspi->tx_dma_desc->callback = tegra_spi_dma_complete;
- tspi->tx_dma_desc->callback_param = &tspi->tx_dma_complete;
+ dmaengine_desc_set_callback(tspi->tx_dma_desc, tegra_spi_dma_complete, NULL, &tspi->tx_dma_complete);
dmaengine_submit(tspi->tx_dma_desc);
dma_async_issue_pending(tspi->tx_dma_chan);
@@ -499,8 +498,7 @@ static int tegra_spi_start_rx_dma(struct tegra_spi_data *tspi, int len)
return -EIO;
}
- tspi->rx_dma_desc->callback = tegra_spi_dma_complete;
- tspi->rx_dma_desc->callback_param = &tspi->rx_dma_complete;
+ dmaengine_desc_set_callback(tspi->rx_dma_desc, tegra_spi_dma_complete, NULL, &tspi->rx_dma_complete);
dmaengine_submit(tspi->rx_dma_desc);
dma_async_issue_pending(tspi->rx_dma_chan);
diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c
index ed1fcf57dd30d..5aca26549e730 100644
--- a/drivers/spi/spi-tegra20-slink.c
+++ b/drivers/spi/spi-tegra20-slink.c
@@ -440,8 +440,7 @@ static int tegra_slink_start_tx_dma(struct tegra_slink_data *tspi, int len)
return -EIO;
}
- tspi->tx_dma_desc->callback = tegra_slink_dma_complete;
- tspi->tx_dma_desc->callback_param = &tspi->tx_dma_complete;
+ dmaengine_desc_set_callback(tspi->tx_dma_desc, tegra_slink_dma_complete, NULL, &tspi->tx_dma_complete);
dmaengine_submit(tspi->tx_dma_desc);
dma_async_issue_pending(tspi->tx_dma_chan);
@@ -459,8 +458,7 @@ static int tegra_slink_start_rx_dma(struct tegra_slink_data *tspi, int len)
return -EIO;
}
- tspi->rx_dma_desc->callback = tegra_slink_dma_complete;
- tspi->rx_dma_desc->callback_param = &tspi->rx_dma_complete;
+ dmaengine_desc_set_callback(tspi->rx_dma_desc, tegra_slink_dma_complete, NULL, &tspi->rx_dma_complete);
dmaengine_submit(tspi->rx_dma_desc);
dma_async_issue_pending(tspi->rx_dma_chan);
diff --git a/drivers/spi/spi-tegra210-quad.c b/drivers/spi/spi-tegra210-quad.c
index d8cca3aa276b2..95132d8be9dd6 100644
--- a/drivers/spi/spi-tegra210-quad.c
+++ b/drivers/spi/spi-tegra210-quad.c
@@ -522,8 +522,7 @@ static int tegra_qspi_start_tx_dma(struct tegra_qspi *tqspi, struct spi_transfer
return -EIO;
}
- tqspi->tx_dma_desc->callback = tegra_qspi_dma_complete;
- tqspi->tx_dma_desc->callback_param = &tqspi->tx_dma_complete;
+ dmaengine_desc_set_callback(tqspi->tx_dma_desc, tegra_qspi_dma_complete, NULL, &tqspi->tx_dma_complete);
dmaengine_submit(tqspi->tx_dma_desc);
dma_async_issue_pending(tqspi->tx_dma_chan);
@@ -550,8 +549,7 @@ static int tegra_qspi_start_rx_dma(struct tegra_qspi *tqspi, struct spi_transfer
return -EIO;
}
- tqspi->rx_dma_desc->callback = tegra_qspi_dma_complete;
- tqspi->rx_dma_desc->callback_param = &tqspi->rx_dma_complete;
+ dmaengine_desc_set_callback(tqspi->rx_dma_desc, tegra_qspi_dma_complete, NULL, &tqspi->rx_dma_complete);
dmaengine_submit(tqspi->rx_dma_desc);
dma_async_issue_pending(tqspi->rx_dma_chan);
diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
index 6908dc3621fd9..8e872eb57c57d 100644
--- a/drivers/spi/spi-ti-qspi.c
+++ b/drivers/spi/spi-ti-qspi.c
@@ -456,8 +456,7 @@ static int ti_qspi_dma_xfer(struct ti_qspi *qspi, dma_addr_t dma_dst,
return -EIO;
}
- tx->callback = ti_qspi_dma_callback;
- tx->callback_param = qspi;
+ dmaengine_desc_set_callback(tx, ti_qspi_dma_callback, NULL, qspi);
cookie = dmaengine_submit(tx);
reinit_completion(&qspi->transfer_complete);
diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c
index 1f53d62f37267..c78d3fa0a5a7f 100644
--- a/drivers/spi/spi-topcliff-pch.c
+++ b/drivers/spi/spi-topcliff-pch.c
@@ -1022,8 +1022,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
return;
}
dma_sync_sg_for_device(&data->host->dev, sg, num, DMA_FROM_DEVICE);
- desc_rx->callback = pch_dma_rx_complete;
- desc_rx->callback_param = data;
+ dmaengine_desc_set_callback(desc_rx, pch_dma_rx_complete, NULL, data);
dma->nent = num;
dma->desc_rx = desc_rx;
@@ -1084,8 +1083,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
return;
}
dma_sync_sg_for_device(&data->host->dev, sg, num, DMA_TO_DEVICE);
- desc_tx->callback = NULL;
- desc_tx->callback_param = data;
+ dmaengine_desc_set_callback(desc_tx, NULL, NULL, data);
dma->nent = num;
dma->desc_tx = desc_tx;
diff --git a/drivers/spi/spi-uniphier.c b/drivers/spi/spi-uniphier.c
index 86fce9a571dab..e8344a66e4361 100644
--- a/drivers/spi/spi-uniphier.c
+++ b/drivers/spi/spi-uniphier.c
@@ -418,8 +418,7 @@ static int uniphier_spi_transfer_one_dma(struct spi_controller *host,
if (!rxdesc)
goto out_err_prep;
- rxdesc->callback = uniphier_spi_dma_rxcb;
- rxdesc->callback_param = host;
+ dmaengine_desc_set_callback(rxdesc, uniphier_spi_dma_rxcb, NULL, host);
uniphier_spi_irq_enable(priv, SSI_IE_RXRE);
atomic_or(SSI_DMA_RX_BUSY, &priv->dma_busy);
@@ -445,8 +444,7 @@ static int uniphier_spi_transfer_one_dma(struct spi_controller *host,
if (!txdesc)
goto out_err_prep;
- txdesc->callback = uniphier_spi_dma_txcb;
- txdesc->callback_param = host;
+ dmaengine_desc_set_callback(txdesc, uniphier_spi_dma_txcb, NULL, host);
uniphier_spi_irq_enable(priv, SSI_IE_TXRE);
atomic_or(SSI_DMA_TX_BUSY, &priv->dma_busy);
--
2.43.0
^ permalink raw reply [flat|nested] 24+ messages in thread* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 15:22 [PATCH v2 1/1] spi: use dmaengine_desc_set_callback() Frank.Li
@ 2026-11-04 16:57 ` Andy Shevchenko
2026-11-04 17:02 ` Krzysztof Kozlowski
2026-11-04 17:25 ` Krzysztof Kozlowski
` (2 subsequent siblings)
3 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-04 16:57 UTC (permalink / raw)
To: Frank.Li
Cc: Mark Brown, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Radu Pirea, CL Wang, Ryan Wanner, Florian Fainelli, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij, Daniel Mack,
Haojian Zhuang, Robert Jarzmik, Heiko Stuebner, Fabrizio Castro,
Andi Shyti, Tudor Ambarus, Krzysztof Kozlowski, Peter Griffin,
Alim Akhtar, Yixun Lan, Troy Mitchell, Maxime Coquelin,
Alexandre Torgue, Alain Volmat, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Laxman Dewangan, Thierry Reding, Jonathan Hunter,
Sowjanya Komatineni, Kunihiko Hayashi, Masami Hiramatsu,
open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Wed, Nov 04, 2026 at 10:22:45AM -0500, Frank.Li@oss.nxp.com wrote:
>
> Replace open-coded assignments to callback and callback_param fields
> of struct dma_async_tx_descriptor with calls to the
> dmaengine_desc_set_callback() helper across SPI bus drivers.
>
> No functional change intended. Prepare make to struct
> dma_async_tx_descriptor private to the DMA engine.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # dw, pxa2xx, topcliff-pch
(Note, you forgot to add the list of the drivers to the Rb trailers of other reviewers)
> drivers/spi/spi-dw-dma.c | 6 ++----
> drivers/spi/spi-pxa2xx-dma.c | 3 +--
> drivers/spi/spi-topcliff-pch.c | 6 ++----
> --- a/drivers/spi/spi-dw-dma.c
> +++ b/drivers/spi/spi-dw-dma.c
> @@ -397,8 +397,7 @@ static int dw_spi_dma_submit_tx(struct dw_spi *dws, struct scatterlist *sgl,
> if (!txdesc)
> return -ENOMEM;
>
> - txdesc->callback = dw_spi_dma_tx_done;
> - txdesc->callback_param = dws;
> + dmaengine_desc_set_callback(txdesc, dw_spi_dma_tx_done, NULL, dws);
>
> cookie = dmaengine_submit(txdesc);
> ret = dma_submit_error(cookie);
> @@ -498,8 +497,7 @@ static int dw_spi_dma_submit_rx(struct dw_spi *dws, struct scatterlist *sgl,
> if (!rxdesc)
> return -ENOMEM;
>
> - rxdesc->callback = dw_spi_dma_rx_done;
> - rxdesc->callback_param = dws;
> + dmaengine_desc_set_callback(rxdesc, dw_spi_dma_rx_done, NULL, dws);
>
> cookie = dmaengine_submit(rxdesc);
> ret = dma_submit_error(cookie);
> --- a/drivers/spi/spi-pxa2xx-dma.c
> +++ b/drivers/spi/spi-pxa2xx-dma.c
> @@ -154,8 +154,7 @@ int pxa2xx_spi_dma_prepare(struct driver_data *drv_data,
> }
>
> /* We are ready when RX completes */
> - rx_desc->callback = pxa2xx_spi_dma_callback;
> - rx_desc->callback_param = drv_data;
> + dmaengine_desc_set_callback(rx_desc, pxa2xx_spi_dma_callback, NULL, drv_data);
>
> dmaengine_submit(rx_desc);
> dmaengine_submit(tx_desc);
> --- a/drivers/spi/spi-topcliff-pch.c
> +++ b/drivers/spi/spi-topcliff-pch.c
> @@ -1022,8 +1022,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
> return;
> }
> dma_sync_sg_for_device(&data->host->dev, sg, num, DMA_FROM_DEVICE);
> - desc_rx->callback = pch_dma_rx_complete;
> - desc_rx->callback_param = data;
> + dmaengine_desc_set_callback(desc_rx, pch_dma_rx_complete, NULL, data);
> dma->nent = num;
> dma->desc_rx = desc_rx;
>
> @@ -1084,8 +1083,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
> return;
> }
> dma_sync_sg_for_device(&data->host->dev, sg, num, DMA_TO_DEVICE);
> - desc_tx->callback = NULL;
> - desc_tx->callback_param = data;
> + dmaengine_desc_set_callback(desc_tx, NULL, NULL, data);
Yeah, data can be replaced by NULL as has been already mentioned.
> dma->nent = num;
> dma->desc_tx = desc_tx;
>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 16:57 ` Andy Shevchenko
@ 2026-11-04 17:02 ` Krzysztof Kozlowski
2026-11-04 17:08 ` Krzysztof Kozlowski
0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-04 17:02 UTC (permalink / raw)
To: Andy Shevchenko, Frank.Li
Cc: Mark Brown, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Radu Pirea, CL Wang, Ryan Wanner, Florian Fainelli, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij, Daniel Mack,
Haojian Zhuang, Robert Jarzmik, Heiko Stuebner, Fabrizio Castro,
Andi Shyti, Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 04/11/2026 17:57, Andy Shevchenko wrote:
> On Wed, Nov 04, 2026 at 10:22:45AM -0500, Frank.Li@oss.nxp.com wrote:
>>
>> Replace open-coded assignments to callback and callback_param fields
>> of struct dma_async_tx_descriptor with calls to the
>> dmaengine_desc_set_callback() helper across SPI bus drivers.
>>
>> No functional change intended. Prepare make to struct
>> dma_async_tx_descriptor private to the DMA engine.
>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # dw, pxa2xx, topcliff-pch
>
> (Note, you forgot to add the list of the drivers to the Rb trailers of other reviewers)
These should be acks. RB creates false impression entire commit was
reviewed. Our docs also clearly state entire commit:
"Reviewed-by:, instead, indicates that the patch has been reviewed and
found acceptable according to the Reviewer's Statemen"
(not patch or part of patch)
"By offering my Reviewed-by: tag, I state that
I have carried out a technical review of this patch to
"
(not patch or part of patch)
When you accept only part of this code, you basically Ack. I really
dislike these half-done reviews, which later appear in logs and tell you
nothing. You could have clear security bug here, but 10 review tags. How
useful tags...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 17:02 ` Krzysztof Kozlowski
@ 2026-11-04 17:08 ` Krzysztof Kozlowski
2026-11-04 17:23 ` Andy Shevchenko
0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-04 17:08 UTC (permalink / raw)
To: Andy Shevchenko, Frank.Li
Cc: Mark Brown, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Radu Pirea, CL Wang, Ryan Wanner, Florian Fainelli, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij, Daniel Mack,
Haojian Zhuang, Robert Jarzmik, Heiko Stuebner, Fabrizio Castro,
Andi Shyti, Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 04/11/2026 18:02, Krzysztof Kozlowski wrote:
> On 04/11/2026 17:57, Andy Shevchenko wrote:
>> On Wed, Nov 04, 2026 at 10:22:45AM -0500, Frank.Li@oss.nxp.com wrote:
>>>
>>> Replace open-coded assignments to callback and callback_param fields
>>> of struct dma_async_tx_descriptor with calls to the
>>> dmaengine_desc_set_callback() helper across SPI bus drivers.
>>>
>>> No functional change intended. Prepare make to struct
>>> dma_async_tx_descriptor private to the DMA engine.
>>
>> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # dw, pxa2xx, topcliff-pch
>>
>> (Note, you forgot to add the list of the drivers to the Rb trailers of other reviewers)
>
> These should be acks. RB creates false impression entire commit was
> reviewed. Our docs also clearly state entire commit:
>
> "Reviewed-by:, instead, indicates that the patch has been reviewed and
> found acceptable according to the Reviewer's Statemen"
>
> (not patch or part of patch)
>
> "By offering my Reviewed-by: tag, I state that
> I have carried out a technical review of this patch to
> "
>
> (not patch or part of patch)
>
> When you accept only part of this code, you basically Ack. I really
> dislike these half-done reviews, which later appear in logs and tell you
> nothing. You could have clear security bug here, but 10 review tags. How
> useful tags...
And let me even bring a better example. Imagine a patch, doing massive
refactoring of core SPI stuff, 1000 lines of code, complex locking and
also simultaneously updates drivers to new API changed in this core.
Reviewing that 1000 lines of code in core SPI with complex locking takes
someone 30 minutes. He gives Rb tag, gets credit.
Now you come, look at SINGLE line in a driver and give Rb tag. For 10
seconds job of looking at one changed call in one driver.
You just Acked, you did not review "the patch" (quoting submitting patches).
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 17:08 ` Krzysztof Kozlowski
@ 2026-11-04 17:23 ` Andy Shevchenko
2026-11-04 17:27 ` Krzysztof Kozlowski
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-04 17:23 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Wed, Nov 04, 2026 at 06:08:39PM +0100, Krzysztof Kozlowski wrote:
> On 04/11/2026 18:02, Krzysztof Kozlowski wrote:
> > On 04/11/2026 17:57, Andy Shevchenko wrote:
> >> On Wed, Nov 04, 2026 at 10:22:45AM -0500, Frank.Li@oss.nxp.com wrote:
> >>>
> >>> Replace open-coded assignments to callback and callback_param fields
> >>> of struct dma_async_tx_descriptor with calls to the
> >>> dmaengine_desc_set_callback() helper across SPI bus drivers.
> >>>
> >>> No functional change intended. Prepare make to struct
> >>> dma_async_tx_descriptor private to the DMA engine.
> >>
> >> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # dw, pxa2xx, topcliff-pch
> >>
> >> (Note, you forgot to add the list of the drivers to the Rb trailers of other reviewers)
> >
> > These should be acks. RB creates false impression entire commit was
> > reviewed. Our docs also clearly state entire commit:
> >
> > "Reviewed-by:, instead, indicates that the patch has been reviewed and
> > found acceptable according to the Reviewer's Statemen"
> >
> > (not patch or part of patch)
> >
> > "By offering my Reviewed-by: tag, I state that
> > I have carried out a technical review of this patch to
> > "
> >
> > (not patch or part of patch)
> >
> > When you accept only part of this code, you basically Ack. I really
> > dislike these half-done reviews, which later appear in logs and tell you
> > nothing. You could have clear security bug here, but 10 review tags. How
> > useful tags...
>
> And let me even bring a better example. Imagine a patch, doing massive
> refactoring of core SPI stuff, 1000 lines of code, complex locking and
> also simultaneously updates drivers to new API changed in this core.
>
> Reviewing that 1000 lines of code in core SPI with complex locking takes
> someone 30 minutes. He gives Rb tag, gets credit.
>
> Now you come, look at SINGLE line in a driver and give Rb tag. For 10
> seconds job of looking at one changed call in one driver.
>
> You just Acked, you did not review "the patch" (quoting submitting patches).
Your example is doubtful because the patch is combined from independent pieces.
The Rb fits very well the listed drivers. The problem is that some of the
people combine changes into a bundle (and not proper per-driver series).
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 17:23 ` Andy Shevchenko
@ 2026-11-04 17:27 ` Krzysztof Kozlowski
2026-11-04 20:41 ` Andy Shevchenko
0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-04 17:27 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 04/11/2026 18:23, Andy Shevchenko wrote:
> On Wed, Nov 04, 2026 at 06:08:39PM +0100, Krzysztof Kozlowski wrote:
>> On 04/11/2026 18:02, Krzysztof Kozlowski wrote:
>>> On 04/11/2026 17:57, Andy Shevchenko wrote:
>>>> On Wed, Nov 04, 2026 at 10:22:45AM -0500, Frank.Li@oss.nxp.com wrote:
>>>>>
>>>>> Replace open-coded assignments to callback and callback_param fields
>>>>> of struct dma_async_tx_descriptor with calls to the
>>>>> dmaengine_desc_set_callback() helper across SPI bus drivers.
>>>>>
>>>>> No functional change intended. Prepare make to struct
>>>>> dma_async_tx_descriptor private to the DMA engine.
>>>>
>>>> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # dw, pxa2xx, topcliff-pch
>>>>
>>>> (Note, you forgot to add the list of the drivers to the Rb trailers of other reviewers)
>>>
>>> These should be acks. RB creates false impression entire commit was
>>> reviewed. Our docs also clearly state entire commit:
>>>
>>> "Reviewed-by:, instead, indicates that the patch has been reviewed and
>>> found acceptable according to the Reviewer's Statemen"
>>>
>>> (not patch or part of patch)
>>>
>>> "By offering my Reviewed-by: tag, I state that
>>> I have carried out a technical review of this patch to
>>> "
>>>
>>> (not patch or part of patch)
>>>
>>> When you accept only part of this code, you basically Ack. I really
>>> dislike these half-done reviews, which later appear in logs and tell you
>>> nothing. You could have clear security bug here, but 10 review tags. How
>>> useful tags...
>>
>> And let me even bring a better example. Imagine a patch, doing massive
>> refactoring of core SPI stuff, 1000 lines of code, complex locking and
>> also simultaneously updates drivers to new API changed in this core.
>>
>> Reviewing that 1000 lines of code in core SPI with complex locking takes
>> someone 30 minutes. He gives Rb tag, gets credit.
>>
>> Now you come, look at SINGLE line in a driver and give Rb tag. For 10
>> seconds job of looking at one changed call in one driver.
>>
>> You just Acked, you did not review "the patch" (quoting submitting patches).
>
> Your example is doubtful because the patch is combined from independent pieces.
> The Rb fits very well the listed drivers. The problem is that some of the
> people combine changes into a bundle (and not proper per-driver series).
>
The example is actually real. There are many patches changing some core
subsystem API stuff + many drivers, and they are done correct as one patch.
Looking at two lines out of 50, 100 or 1000 (here is 740!!!) is not
reviewing "this patch". Is acking it.
All of the Rbs here are half baked, meaning they did not review "this
patch" (quoting submitting patches document).
But sure, if we want to play such numbers game, I will be sending
reviews for single lines.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 17:27 ` Krzysztof Kozlowski
@ 2026-11-04 20:41 ` Andy Shevchenko
2026-11-04 22:54 ` Krzysztof Kozlowski
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-04 20:41 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Wed, Nov 04, 2026 at 06:27:40PM +0100, Krzysztof Kozlowski wrote:
> On 04/11/2026 18:23, Andy Shevchenko wrote:
> > On Wed, Nov 04, 2026 at 06:08:39PM +0100, Krzysztof Kozlowski wrote:
> >> On 04/11/2026 18:02, Krzysztof Kozlowski wrote:
> >>> On 04/11/2026 17:57, Andy Shevchenko wrote:
> >>>> On Wed, Nov 04, 2026 at 10:22:45AM -0500, Frank.Li@oss.nxp.com wrote:
> >>>>>
> >>>>> Replace open-coded assignments to callback and callback_param fields
> >>>>> of struct dma_async_tx_descriptor with calls to the
> >>>>> dmaengine_desc_set_callback() helper across SPI bus drivers.
> >>>>>
> >>>>> No functional change intended. Prepare make to struct
> >>>>> dma_async_tx_descriptor private to the DMA engine.
> >>>>
> >>>> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # dw, pxa2xx, topcliff-pch
> >>>>
> >>>> (Note, you forgot to add the list of the drivers to the Rb trailers of other reviewers)
> >>>
> >>> These should be acks. RB creates false impression entire commit was
> >>> reviewed. Our docs also clearly state entire commit:
> >>>
> >>> "Reviewed-by:, instead, indicates that the patch has been reviewed and
> >>> found acceptable according to the Reviewer's Statemen"
> >>>
> >>> (not patch or part of patch)
> >>>
> >>> "By offering my Reviewed-by: tag, I state that
> >>> I have carried out a technical review of this patch to
> >>> "
> >>>
> >>> (not patch or part of patch)
Documentation doesn't cover partial reviews at all.
> >>> When you accept only part of this code, you basically Ack. I really
> >>> dislike these half-done reviews, which later appear in logs and tell you
> >>> nothing. You could have clear security bug here, but 10 review tags. How
> >>> useful tags...
> >>
> >> And let me even bring a better example. Imagine a patch, doing massive
> >> refactoring of core SPI stuff, 1000 lines of code, complex locking and
> >> also simultaneously updates drivers to new API changed in this core.
> >>
> >> Reviewing that 1000 lines of code in core SPI with complex locking takes
> >> someone 30 minutes. He gives Rb tag, gets credit.
> >>
> >> Now you come, look at SINGLE line in a driver and give Rb tag. For 10
> >> seconds job of looking at one changed call in one driver.
> >>
> >> You just Acked, you did not review "the patch" (quoting submitting patches).
> >
> > Your example is doubtful because the patch is combined from independent pieces.
> > The Rb fits very well the listed drivers. The problem is that some of the
> > people combine changes into a bundle (and not proper per-driver series).
>
> The example is actually real. There are many patches changing some core
> subsystem API stuff + many drivers, and they are done correct as one patch.
>
> Looking at two lines out of 50, 100 or 1000 (here is 740!!!) is not
> reviewing "this patch". Is acking it.
>
> All of the Rbs here are half baked, meaning they did not review "this
> patch" (quoting submitting patches document).
>
> But sure, if we want to play such numbers game, I will be sending
> reviews for single lines.
I'm not playing anything. The problem is that the patch unites the files that
have distinct maintainers and unrelated to each other code. That's why in the
subsystems I maintain, I almost always require to split on per-driver basis.
Yes, exceptions are possible, but has to be quite rare.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 20:41 ` Andy Shevchenko
@ 2026-11-04 22:54 ` Krzysztof Kozlowski
2026-11-05 9:04 ` Andy Shevchenko
0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-04 22:54 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 04/11/2026 21:41, Andy Shevchenko wrote:
>>
>> But sure, if we want to play such numbers game, I will be sending
>> reviews for single lines.
>
> I'm not playing anything. The problem is that the patch unites the files that
> have distinct maintainers and unrelated to each other code. That's why in the
> subsystems I maintain, I almost always require to split on per-driver basis.
> Yes, exceptions are possible, but has to be quite rare.
That's independent problem. Patch could be split, but it was not. Since
it was not, receiving end should act accordingly, e.g. when performing
incomplete review of only part of the patch, do not call that entire
patch was reviewed by giving the Rb tag, but give Ack tag.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 22:54 ` Krzysztof Kozlowski
@ 2026-11-05 9:04 ` Andy Shevchenko
2026-11-05 9:07 ` Krzysztof Kozlowski
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-05 9:04 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Wed, Nov 04, 2026 at 11:54:56PM +0100, Krzysztof Kozlowski wrote:
> On 04/11/2026 21:41, Andy Shevchenko wrote:
> >>
> >> But sure, if we want to play such numbers game, I will be sending
> >> reviews for single lines.
> >
> > I'm not playing anything. The problem is that the patch unites the files that
> > have distinct maintainers and unrelated to each other code. That's why in the
> > subsystems I maintain, I almost always require to split on per-driver basis.
> > Yes, exceptions are possible, but has to be quite rare.
>
> That's independent problem. Patch could be split, but it was not. Since
> it was not, receiving end should act accordingly, e.g. when performing
> incomplete review of only part of the patch, do not call that entire
> patch was reviewed by giving the Rb tag, but give Ack tag.
No, (partial) Rb != Ack.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:04 ` Andy Shevchenko
@ 2026-11-05 9:07 ` Krzysztof Kozlowski
2026-11-05 9:10 ` Wolfram Sang
2026-11-05 9:34 ` Andy Shevchenko
0 siblings, 2 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-05 9:07 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 05/11/2026 10:04, Andy Shevchenko wrote:
> On Wed, Nov 04, 2026 at 11:54:56PM +0100, Krzysztof Kozlowski wrote:
>> On 04/11/2026 21:41, Andy Shevchenko wrote:
>>>>
>>>> But sure, if we want to play such numbers game, I will be sending
>>>> reviews for single lines.
>>>
>>> I'm not playing anything. The problem is that the patch unites the files that
>>> have distinct maintainers and unrelated to each other code. That's why in the
>>> subsystems I maintain, I almost always require to split on per-driver basis.
>>> Yes, exceptions are possible, but has to be quite rare.
>>
>> That's independent problem. Patch could be split, but it was not. Since
>> it was not, receiving end should act accordingly, e.g. when performing
>> incomplete review of only part of the patch, do not call that entire
>> patch was reviewed by giving the Rb tag, but give Ack tag.
>
> No, (partial) Rb != Ack.
It is, because there is no partial Rb tag.
There is partial review, but not partial Rb tag, please see exactly
submitting patches. It repeats the same in three separate places:
"Acked-by.... user may not have carried out a technical review of the
patch,yet they may be satisfied ..."
"Reviewed-by:, instead, indicates that the patch has been reviewed and
found acceptable according to the Reviewer's Statement:"
Above important: "THE PATCH"
It is not "the patch or its parts"
Further:
"I state that:
(a) I have carried out a technical review of *this* patch to evaluate
its appropriateness and readiness for inclusion into the mainline kernel."
And further:
"A Reviewed-by tag is a statement of opinion that *the patch* is an"
In three places it is THIS or THE patch. Complete (exhaustive) list of
options what can be reviewed to get the credit and give statement of
oversight.
Statement of oversight DOES NOT include "part of the patch".
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:07 ` Krzysztof Kozlowski
@ 2026-11-05 9:10 ` Wolfram Sang
2026-11-05 9:36 ` Andy Shevchenko
2026-11-05 9:34 ` Andy Shevchenko
1 sibling, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2026-11-05 9:10 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Andy Shevchenko, Frank.Li, Mark Brown, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Radu Pirea, CL Wang,
Ryan Wanner, Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Thierry Reding
> > No, (partial) Rb != Ack.
>
> It is, because there is no partial Rb tag.
Heh, just what I wrote a minute ago in the workflows-thread. The clean
solution is to introduce one. I'd vote for it.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:10 ` Wolfram Sang
@ 2026-11-05 9:36 ` Andy Shevchenko
2026-11-05 9:45 ` Wolfram Sang
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-05 9:36 UTC (permalink / raw)
To: Wolfram Sang
Cc: Krzysztof Kozlowski, Frank.Li, Mark Brown, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Radu Pirea, CL Wang,
Ryan Wanner, Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Thierry Reding
On Thu, Nov 05, 2026 at 11:10:21AM +0200, Wolfram Sang wrote:
>
> > > No, (partial) Rb != Ack.
> >
> > It is, because there is no partial Rb tag.
>
> Heh, just what I wrote a minute ago in the workflows-thread. The clean
> solution is to introduce one. I'd vote for it.
Then I MUST started REQUIRING to split the patches in such cases to actually
review them?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:36 ` Andy Shevchenko
@ 2026-11-05 9:45 ` Wolfram Sang
2026-11-05 10:06 ` Andy Shevchenko
0 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2026-11-05 9:45 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Krzysztof Kozlowski, Frank.Li, Mark Brown, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Radu Pirea, CL Wang,
Ryan Wanner, Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Thierry Reding
> Then I MUST started REQUIRING to split the patches in such cases to actually
> review them?
Okay, this is a solution, too. Or requiring "# subparts"
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:45 ` Wolfram Sang
@ 2026-11-05 10:06 ` Andy Shevchenko
0 siblings, 0 replies; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-05 10:06 UTC (permalink / raw)
To: Wolfram Sang
Cc: Krzysztof Kozlowski, Frank.Li, Mark Brown, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Radu Pirea, CL Wang,
Ryan Wanner, Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Thierry Reding
On Thu, Nov 05, 2026 at 11:45:55AM +0200, Wolfram Sang wrote:
>
> > Then I MUST started REQUIRING to split the patches in such cases to actually
> > review them?
>
> Okay, this is a solution, too. Or requiring "# subparts"
TBH, I am flexible to both. Depending on the situation. I don't want to blame
the author or require additional work when it's not really required. But on
my side I still want to *review* the piece. So, "# subparts" is fine to me.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:07 ` Krzysztof Kozlowski
2026-11-05 9:10 ` Wolfram Sang
@ 2026-11-05 9:34 ` Andy Shevchenko
1 sibling, 0 replies; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-05 9:34 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Thu, Nov 05, 2026 at 10:07:30AM +0100, Krzysztof Kozlowski wrote:
> On 05/11/2026 10:04, Andy Shevchenko wrote:
> > On Wed, Nov 04, 2026 at 11:54:56PM +0100, Krzysztof Kozlowski wrote:
> >> On 04/11/2026 21:41, Andy Shevchenko wrote:
> >>>>
> >>>> But sure, if we want to play such numbers game, I will be sending
> >>>> reviews for single lines.
> >>>
> >>> I'm not playing anything. The problem is that the patch unites the files that
> >>> have distinct maintainers and unrelated to each other code. That's why in the
> >>> subsystems I maintain, I almost always require to split on per-driver basis.
> >>> Yes, exceptions are possible, but has to be quite rare.
> >>
> >> That's independent problem. Patch could be split, but it was not. Since
> >> it was not, receiving end should act accordingly, e.g. when performing
> >> incomplete review of only part of the patch, do not call that entire
> >> patch was reviewed by giving the Rb tag, but give Ack tag.
> >
> > No, (partial) Rb != Ack.
>
> It is, because there is no partial Rb tag.
>
> There is partial review, but not partial Rb tag, please see exactly
> submitting patches. It repeats the same in three separate places:
>
> "Acked-by.... user may not have carried out a technical review of the
> patch,yet they may be satisfied ..."
>
> "Reviewed-by:, instead, indicates that the patch has been reviewed and
> found acceptable according to the Reviewer's Statement:"
>
> Above important: "THE PATCH"
>
> It is not "the patch or its parts"
>
> Further:
>
> "I state that:
> (a) I have carried out a technical review of *this* patch to evaluate
> its appropriateness and readiness for inclusion into the mainline kernel."
>
> And further:
>
> "A Reviewed-by tag is a statement of opinion that *the patch* is an"
>
> In three places it is THIS or THE patch. Complete (exhaustive) list of
> options what can be reviewed to get the credit and give statement of
> oversight.
>
> Statement of oversight DOES NOT include "part of the patch".
So, it means I MUST from now on REQUIRE a split before reviewing.
Right?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 15:22 [PATCH v2 1/1] spi: use dmaengine_desc_set_callback() Frank.Li
2026-11-04 16:57 ` Andy Shevchenko
@ 2026-11-04 17:25 ` Krzysztof Kozlowski
2026-11-04 20:44 ` Andy Shevchenko
2026-11-04 18:18 ` Florian Fainelli
2026-11-05 9:20 ` Geert Uytterhoeven
3 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-04 17:25 UTC (permalink / raw)
To: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Andy Shevchenko, Daniel Mack,
Haojian Zhuang, Robert Jarzmik, Heiko Stuebner, Fabrizio Castro,
Andi Shyti, Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT
Cc: Mukesh Kumar Savaliya, Wolfram Sang, Thierry Reding
On 04/11/2026 16:22, Frank.Li@oss.nxp.com wrote:
> From: Frank Li <Frank.Li@nxp.com>
>
> Replace open-coded assignments to callback and callback_param fields
> of struct dma_async_tx_descriptor with calls to the
> dmaengine_desc_set_callback() helper across SPI bus drivers.
>
> No functional change intended. Prepare make to struct
> dma_async_tx_descriptor private to the DMA engine.
>
> Reviewed-by: Linus Walleij <linusw@kernel.org>
> Reviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
> Acked-by: Alain Volmat <alain.volmat@foss.st.com>
> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> Acked-by: Thierry Reding <treding@nvidia.com>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change in v2
> - add missed set_callback in rspi_dma_transfer() (sashiko
> - collect review by tags
> - drop void *
> ---
> drivers/spi/atmel-quadspi.c | 3 +--
> drivers/spi/spi-at91-usart.c | 3 +--
> drivers/spi/spi-atcspi200.c | 3 +--
> drivers/spi/spi-atmel.c | 3 +--
> drivers/spi/spi-bcm2835.c | 6 ++----
> drivers/spi/spi-cadence-quadspi.c | 3 +--
> drivers/spi/spi-davinci.c | 6 ++----
> drivers/spi/spi-dw-dma.c | 6 ++----
> drivers/spi/spi-ep93xx.c | 3 +--
> drivers/spi/spi-fsl-dspi.c | 6 ++----
> drivers/spi/spi-fsl-lpspi.c | 6 ++----
> drivers/spi/spi-geni-qcom.c | 3 +--
> drivers/spi/spi-img-spfi.c | 6 ++----
> drivers/spi/spi-imx.c | 6 ++----
> drivers/spi/spi-ingenic.c | 3 +--
> drivers/spi/spi-mxs.c | 3 +--
> drivers/spi/spi-nxp-xspi.c | 3 +--
> drivers/spi/spi-omap2-mcspi.c | 6 ++----
> drivers/spi/spi-pic32.c | 3 +--
> drivers/spi/spi-pl022.c | 3 +--
> drivers/spi/spi-pxa2xx-dma.c | 3 +--
> drivers/spi/spi-qup.c | 3 +--
> drivers/spi/spi-rockchip.c | 6 ++----
> drivers/spi/spi-rspi.c | 8 +++-----
> drivers/spi/spi-rzv2h-rspi.c | 3 +--
> drivers/spi/spi-s3c64xx.c | 3 +--
> drivers/spi/spi-sh-msiof.c | 6 ++----
> drivers/spi/spi-spacemit-k1.c | 3 +--
> drivers/spi/spi-stm32-ospi.c | 3 +--
> drivers/spi/spi-stm32-qspi.c | 3 +--
> drivers/spi/spi-stm32.c | 9 +++------
> drivers/spi/spi-sun6i.c | 3 +--
> drivers/spi/spi-tegra114.c | 6 ++----
> drivers/spi/spi-tegra20-slink.c | 6 ++----
> drivers/spi/spi-tegra210-quad.c | 6 ++----
> drivers/spi/spi-ti-qspi.c | 3 +--
> drivers/spi/spi-topcliff-pch.c | 6 ++----
> drivers/spi/spi-uniphier.c | 6 ++----
> 38 files changed, 57 insertions(+), 113 deletions(-)
>
> diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
> index 762a3fb0fca81..de205e04a8600 100644
> --- a/drivers/spi/atmel-quadspi.c
> +++ b/drivers/spi/atmel-quadspi.c
> @@ -790,8 +790,7 @@ static int atmel_qspi_dma_xfer(struct atmel_qspi *aq, struct dma_chan *chan,
> }
>
> reinit_completion(&aq->dma_completion);
> - tx->callback = atmel_qspi_dma_callback;
> - tx->callback_param = aq;
> + dmaengine_desc_set_callback(tx, atmel_qspi_dma_callback, NULL, aq);
Andy,
These three lines look correct.
LGTM:
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 17:25 ` Krzysztof Kozlowski
@ 2026-11-04 20:44 ` Andy Shevchenko
2026-11-04 23:02 ` Krzysztof Kozlowski
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-04 20:44 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Wed, Nov 04, 2026 at 06:25:32PM +0100, Krzysztof Kozlowski wrote:
> On 04/11/2026 16:22, Frank.Li@oss.nxp.com wrote:
...
> > diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
> > index 762a3fb0fca81..de205e04a8600 100644
> > --- a/drivers/spi/atmel-quadspi.c
> > +++ b/drivers/spi/atmel-quadspi.c
> > @@ -790,8 +790,7 @@ static int atmel_qspi_dma_xfer(struct atmel_qspi *aq, struct dma_chan *chan,
> > }
> >
> > reinit_completion(&aq->dma_completion);
> > - tx->callback = atmel_qspi_dma_callback;
> > - tx->callback_param = aq;
> > + dmaengine_desc_set_callback(tx, atmel_qspi_dma_callback, NULL, aq);
>
> Andy,
> These three lines look correct.
>
> LGTM:
>
> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
As
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> # atmel-quadspi
Note, it's in your power to ask the author to split out what you maintain
to a separate change. So, it's your choice what to do, Ack the full patch,
give a partial Rb, ask for a split, ignore reviewing (often means silent
agreement when maintainer just applies that kind of a patch)
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 20:44 ` Andy Shevchenko
@ 2026-11-04 23:02 ` Krzysztof Kozlowski
2026-11-05 9:01 ` Andy Shevchenko
0 siblings, 1 reply; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-04 23:02 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 04/11/2026 21:44, Andy Shevchenko wrote:
>> Andy,
>> These three lines look correct.
>>
>> LGTM:
>>
>> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
>
> As
>
> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> # atmel-quadspi
>
> Note, it's in your power to ask the author to split out what you maintain
> to a separate change. So, it's your choice what to do, Ack the full patch,
> give a partial Rb, ask for a split, ignore reviewing (often means silent
> agreement when maintainer just applies that kind of a patch)
The "# note" after the tag solves the problem partially, if people were
actually using it. Solves people looking at the Git commit and being
mislead by partial review applying to entire commit. Does not solve
credits, because Rb for three lines is not the same as for 100.
From v1 of this patch, four people (Alain, Lab, Troy, Kunihiko) did not
use it even though reviewing only part. Only Wolfram, so 20% of partial
reviews, used that syntax. Without that syntax, b4 will pick up Rb tag
like it was for entire commit.
So I do repeat - if one does not want to use that syntax, then just Ack,
instead of creating false impression of reviewing everything.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 23:02 ` Krzysztof Kozlowski
@ 2026-11-05 9:01 ` Andy Shevchenko
2026-11-05 9:03 ` Andy Shevchenko
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-05 9:01 UTC (permalink / raw)
To: Krzysztof Kozlowski, Konstantin Ryabitsev
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Thu, Nov 05, 2026 at 12:02:21AM +0100, Krzysztof Kozlowski wrote:
> On 04/11/2026 21:44, Andy Shevchenko wrote:
> >> Andy,
> >> These three lines look correct.
> >>
> >> LGTM:
> >>
> >> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
> >
> > As
> >
> > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> # atmel-quadspi
> >
> > Note, it's in your power to ask the author to split out what you maintain
> > to a separate change. So, it's your choice what to do, Ack the full patch,
> > give a partial Rb, ask for a split, ignore reviewing (often means silent
> > agreement when maintainer just applies that kind of a patch)
>
> The "# note" after the tag solves the problem partially, if people were
> actually using it. Solves people looking at the Git commit and being
> mislead by partial review applying to entire commit. Does not solve
> credits, because Rb for three lines is not the same as for 100.
>
> From v1 of this patch, four people (Alain, Lab, Troy, Kunihiko) did not
> use it even though reviewing only part. Only Wolfram, so 20% of partial
> reviews, used that syntax. Without that syntax, b4 will pick up Rb tag
> like it was for entire commit.
>
> So I do repeat - if one does not want to use that syntax, then just Ack,
> instead of creating false impression of reviewing everything.
+Konstantin, then we need to teach `b4` not to break that or convert it to
something like
[FirstName: reviewed only ...]
Reviewed-by: FirstName LastName <...>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:01 ` Andy Shevchenko
@ 2026-11-05 9:03 ` Andy Shevchenko
2026-11-05 9:16 ` Geert Uytterhoeven
0 siblings, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2026-11-05 9:03 UTC (permalink / raw)
To: Krzysztof Kozlowski, Konstantin Ryabitsev, Jonathan Corbet
Cc: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Thu, Nov 05, 2026 at 11:01:55AM +0200, Andy Shevchenko wrote:
> On Thu, Nov 05, 2026 at 12:02:21AM +0100, Krzysztof Kozlowski wrote:
> > On 04/11/2026 21:44, Andy Shevchenko wrote:
> > >> Andy,
> > >> These three lines look correct.
> > >>
> > >> LGTM:
> > >>
> > >> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
> > >
> > > As
> > >
> > > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> # atmel-quadspi
> > >
> > > Note, it's in your power to ask the author to split out what you maintain
> > > to a separate change. So, it's your choice what to do, Ack the full patch,
> > > give a partial Rb, ask for a split, ignore reviewing (often means silent
> > > agreement when maintainer just applies that kind of a patch)
> >
> > The "# note" after the tag solves the problem partially, if people were
> > actually using it. Solves people looking at the Git commit and being
> > mislead by partial review applying to entire commit. Does not solve
> > credits, because Rb for three lines is not the same as for 100.
> >
> > From v1 of this patch, four people (Alain, Lab, Troy, Kunihiko) did not
> > use it even though reviewing only part. Only Wolfram, so 20% of partial
> > reviews, used that syntax. Without that syntax, b4 will pick up Rb tag
> > like it was for entire commit.
> >
> > So I do repeat - if one does not want to use that syntax, then just Ack,
> > instead of creating false impression of reviewing everything.
>
> +Konstantin, then we need to teach `b4` not to break that or convert it to
> something like
>
> [FirstName: reviewed only ...]
> Reviewed-by: FirstName LastName <...>
And Ack is not the same as Rb, when I *reviewed* patch, I have *reviewed* it,
even if it was partial one.
Also Jon Corbet might share his opinion from documentation point of view.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:03 ` Andy Shevchenko
@ 2026-11-05 9:16 ` Geert Uytterhoeven
0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2026-11-05 9:16 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Krzysztof Kozlowski, Konstantin Ryabitsev, Jonathan Corbet,
Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner,
Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Vladimir Oltean, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Han Xu,
Haibo Chen, Linus Walleij, Daniel Mack, Haojian Zhuang,
Robert Jarzmik, Heiko Stuebner, Fabrizio Castro, Andi Shyti,
Tudor Ambarus, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On Thu, 5 Nov 2026 at 10:04, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Thu, Nov 05, 2026 at 11:01:55AM +0200, Andy Shevchenko wrote:
> > On Thu, Nov 05, 2026 at 12:02:21AM +0100, Krzysztof Kozlowski wrote:
> > > On 04/11/2026 21:44, Andy Shevchenko wrote:
> > > >> Andy,
> > > >> These three lines look correct.
> > > >>
> > > >> LGTM:
> > > >>
> > > >> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
> > > >
> > > > As
> > > >
> > > > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> # atmel-quadspi
> > > >
> > > > Note, it's in your power to ask the author to split out what you maintain
> > > > to a separate change. So, it's your choice what to do, Ack the full patch,
> > > > give a partial Rb, ask for a split, ignore reviewing (often means silent
> > > > agreement when maintainer just applies that kind of a patch)
> > >
> > > The "# note" after the tag solves the problem partially, if people were
> > > actually using it. Solves people looking at the Git commit and being
> > > mislead by partial review applying to entire commit. Does not solve
> > > credits, because Rb for three lines is not the same as for 100.
> > >
> > > From v1 of this patch, four people (Alain, Lab, Troy, Kunihiko) did not
> > > use it even though reviewing only part. Only Wolfram, so 20% of partial
> > > reviews, used that syntax. Without that syntax, b4 will pick up Rb tag
> > > like it was for entire commit.
> > >
> > > So I do repeat - if one does not want to use that syntax, then just Ack,
> > > instead of creating false impression of reviewing everything.
> >
> > +Konstantin, then we need to teach `b4` not to break that or convert it to
> > something like
> >
> > [FirstName: reviewed only ...]
> > Reviewed-by: FirstName LastName <...>
>
> And Ack is not the same as Rb, when I *reviewed* patch, I have *reviewed* it,
> even if it was partial one.
Exactly.
Ab means I won't take it through my tree, please take it through a
different tree.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 15:22 [PATCH v2 1/1] spi: use dmaengine_desc_set_callback() Frank.Li
2026-11-04 16:57 ` Andy Shevchenko
2026-11-04 17:25 ` Krzysztof Kozlowski
@ 2026-11-04 18:18 ` Florian Fainelli
2026-11-05 9:20 ` Geert Uytterhoeven
3 siblings, 0 replies; 24+ messages in thread
From: Florian Fainelli @ 2026-11-04 18:18 UTC (permalink / raw)
To: Frank.Li, Mark Brown, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Radu Pirea, CL Wang, Ryan Wanner, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij,
Andy Shevchenko, Daniel Mack, Haojian Zhuang, Robert Jarzmik,
Heiko Stuebner, Fabrizio Castro, Andi Shyti, Tudor Ambarus,
Krzysztof Kozlowski, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT
Cc: Mukesh Kumar Savaliya, Wolfram Sang, Thierry Reding
On 11/4/2026 7:22 AM, Frank.Li@oss.nxp.com wrote:
> From: Frank Li <Frank.Li@nxp.com>
>
> Replace open-coded assignments to callback and callback_param fields
> of struct dma_async_tx_descriptor with calls to the
> dmaengine_desc_set_callback() helper across SPI bus drivers.
>
> No functional change intended. Prepare make to struct
> dma_async_tx_descriptor private to the DMA engine.
>
> Reviewed-by: Linus Walleij <linusw@kernel.org>
> Reviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
> Acked-by: Alain Volmat <alain.volmat@foss.st.com>
> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> Acked-by: Thierry Reding <treding@nvidia.com>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change in v2
> - add missed set_callback in rspi_dma_transfer() (sashiko
> - collect review by tags
> - drop void *
> ---
> drivers/spi/atmel-quadspi.c | 3 +--
> drivers/spi/spi-at91-usart.c | 3 +--
> drivers/spi/spi-atcspi200.c | 3 +--
> drivers/spi/spi-atmel.c | 3 +--
> drivers/spi/spi-bcm2835.c | 6 ++----
For the above:
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-04 15:22 [PATCH v2 1/1] spi: use dmaengine_desc_set_callback() Frank.Li
` (2 preceding siblings ...)
2026-11-04 18:18 ` Florian Fainelli
@ 2026-11-05 9:20 ` Geert Uytterhoeven
2026-11-05 9:24 ` Krzysztof Kozlowski
3 siblings, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2026-11-05 9:20 UTC (permalink / raw)
To: Frank.Li
Cc: Mark Brown, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Radu Pirea, CL Wang, Ryan Wanner, Florian Fainelli, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij,
Andy Shevchenko, Daniel Mack, Haojian Zhuang, Robert Jarzmik,
Heiko Stuebner, Fabrizio Castro, Andi Shyti, Tudor Ambarus,
Krzysztof Kozlowski, Peter Griffin, Alim Akhtar, Yixun Lan,
Troy Mitchell, Maxime Coquelin, Alexandre Torgue, Alain Volmat,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Laxman Dewangan,
Thierry Reding, Jonathan Hunter, Sowjanya Komatineni,
Kunihiko Hayashi, Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
Hi Frank,
On Wed, 4 Nov 2026 at 16:30, <Frank.Li@oss.nxp.com> wrote:
> From: Frank Li <Frank.Li@nxp.com>
>
> Replace open-coded assignments to callback and callback_param fields
> of struct dma_async_tx_descriptor with calls to the
> dmaengine_desc_set_callback() helper across SPI bus drivers.
>
> No functional change intended. Prepare make to struct
> dma_async_tx_descriptor private to the DMA engine.
>
> Reviewed-by: Linus Walleij <linusw@kernel.org>
> Reviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
> Acked-by: Alain Volmat <alain.volmat@foss.st.com>
> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> Acked-by: Thierry Reding <treding@nvidia.com>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change in v2
> - add missed set_callback in rspi_dma_transfer() (sashiko
> - collect review by tags
> - drop void *
You have lost the "# Renesas related drivers" part from Wolfram's
review?
https://lore.kernel.org/all/auoQiuIm9FxdOrYl@shikoro/
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread* Re: [PATCH v2 1/1] spi: use dmaengine_desc_set_callback()
2026-11-05 9:20 ` Geert Uytterhoeven
@ 2026-11-05 9:24 ` Krzysztof Kozlowski
0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-05 9:24 UTC (permalink / raw)
To: Geert Uytterhoeven, Frank.Li
Cc: Mark Brown, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Radu Pirea, CL Wang, Ryan Wanner, Florian Fainelli, Ray Jui,
Scott Branden, Broadcom internal kernel review list,
Vladimir Oltean, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Han Xu, Haibo Chen, Linus Walleij,
Andy Shevchenko, Daniel Mack, Haojian Zhuang, Robert Jarzmik,
Heiko Stuebner, Fabrizio Castro, Andi Shyti, Tudor Ambarus,
Peter Griffin, Alim Akhtar, Yixun Lan, Troy Mitchell,
Maxime Coquelin, Alexandre Torgue, Alain Volmat, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Laxman Dewangan, Thierry Reding,
Jonathan Hunter, Sowjanya Komatineni, Kunihiko Hayashi,
Masami Hiramatsu, open list:SPI SUBSYSTEM,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:FREESCALE DSPI DRIVER,
open list:ARM/QUALCOMM MAILING LIST,
open list:ARM/Rockchip SoC support,
open list:RENESAS RZ/V2H(P) RSPI DRIVER,
open list:SAMSUNG SPI DRIVERS,
open list:RISC-V SPACEMIT SoC Support,
open list:RISC-V SPACEMIT SoC Support,
moderated list:ARM/STM32 ARCHITECTURE,
open list:ARM/Allwinner sunXi SoC support,
open list:TEGRA ARCHITECTURE SUPPORT, Mukesh Kumar Savaliya,
Wolfram Sang, Thierry Reding
On 05/11/2026 10:20, Geert Uytterhoeven wrote:
> Hi Frank,
>
> On Wed, 4 Nov 2026 at 16:30, <Frank.Li@oss.nxp.com> wrote:
>> From: Frank Li <Frank.Li@nxp.com>
>>
>> Replace open-coded assignments to callback and callback_param fields
>> of struct dma_async_tx_descriptor with calls to the
>> dmaengine_desc_set_callback() helper across SPI bus drivers.
>>
>> No functional change intended. Prepare make to struct
>> dma_async_tx_descriptor private to the DMA engine.
>>
>> Reviewed-by: Linus Walleij <linusw@kernel.org>
>> Reviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
>> Acked-by: Alain Volmat <alain.volmat@foss.st.com>
>> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
>> Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
>> Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
>> Acked-by: Thierry Reding <treding@nvidia.com>
>> Signed-off-by: Frank Li <Frank.Li@nxp.com>
>> ---
>> change in v2
>> - add missed set_callback in rspi_dma_transfer() (sashiko
>> - collect review by tags
>> - drop void *
>
> You have lost the "# Renesas related drivers" part from Wolfram's
> review?
> https://lore.kernel.org/all/auoQiuIm9FxdOrYl@shikoro/
Yep. Also all of the reviews were partial reviews, but without "#
marker" part. Now entire commit is reviewed by five people! How great!
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2026-11-05 10:06 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-04 15:22 [PATCH v2 1/1] spi: use dmaengine_desc_set_callback() Frank.Li
2026-11-04 16:57 ` Andy Shevchenko
2026-11-04 17:02 ` Krzysztof Kozlowski
2026-11-04 17:08 ` Krzysztof Kozlowski
2026-11-04 17:23 ` Andy Shevchenko
2026-11-04 17:27 ` Krzysztof Kozlowski
2026-11-04 20:41 ` Andy Shevchenko
2026-11-04 22:54 ` Krzysztof Kozlowski
2026-11-05 9:04 ` Andy Shevchenko
2026-11-05 9:07 ` Krzysztof Kozlowski
2026-11-05 9:10 ` Wolfram Sang
2026-11-05 9:36 ` Andy Shevchenko
2026-11-05 9:45 ` Wolfram Sang
2026-11-05 10:06 ` Andy Shevchenko
2026-11-05 9:34 ` Andy Shevchenko
2026-11-04 17:25 ` Krzysztof Kozlowski
2026-11-04 20:44 ` Andy Shevchenko
2026-11-04 23:02 ` Krzysztof Kozlowski
2026-11-05 9:01 ` Andy Shevchenko
2026-11-05 9:03 ` Andy Shevchenko
2026-11-05 9:16 ` Geert Uytterhoeven
2026-11-04 18:18 ` Florian Fainelli
2026-11-05 9:20 ` Geert Uytterhoeven
2026-11-05 9:24 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®