* [PATCH 1/1] mmc: use dmaengine_desc_set_callback()
@ 2026-11-02 17:21 Frank.Li
2026-11-03 16:43 ` Wolfram Sang
0 siblings, 1 reply; 2+ messages in thread
From: Frank.Li @ 2026-11-02 17:21 UTC (permalink / raw)
To: Aubin Constans, Ulf Hansson, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Jaehoon Chung, Shawn Lin,
Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Aaro Koskinen, Andreas Färber, Manivannan Sadhasivam,
Wolfram Sang, Adrian Hunter, Kunihiko Hayashi, Masami Hiramatsu,
Jesper Nilsson, Lars Persson, John Garry, Hemanth Selam,
Pengpeng Hou, Rosen Penev, Fan Wu, Marco Crivellari, Pan Chuang,
Zhan Xusheng, Rakuram Eswaran, Uwe Kleine-König,
Ethan Nelson-Moore, Bjorn Helgaas, Runyu Xiao,
open list:MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND...,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:ARM/FREESCALE IMX / MXC / LAYERSCAPE ARM ARCHIT...,
open list:OMAP MMC SUPPORT,
moderated list:ARM/ACTIONS SEMI ARCHITECTURE,
open list:TMIO/SDHI MMC DRIVER,
open list:ARM/ARTPEC MACHINE SUPPORT
Cc: imx, vkoul
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 MMC host drivers.
No functional change intended. Prepare make to struct
dma_async_tx_descriptor private to the DMA engine.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
drivers/mmc/host/atmel-mci.c | 3 +--
drivers/mmc/host/bcm2835.c | 3 +--
drivers/mmc/host/dw_mmc.c | 3 +--
drivers/mmc/host/moxart-mmc.c | 3 +--
drivers/mmc/host/mxcmmc.c | 3 +--
drivers/mmc/host/mxs-mmc.c | 3 +--
drivers/mmc/host/omap.c | 3 +--
drivers/mmc/host/omap_hsmmc.c | 3 +--
drivers/mmc/host/owl-mmc.c | 3 +--
drivers/mmc/host/pxamci.c | 3 +--
drivers/mmc/host/renesas_sdhi_sys_dmac.c | 6 ++----
drivers/mmc/host/sdhci.c | 3 +--
drivers/mmc/host/sh_mmcif.c | 6 ++----
drivers/mmc/host/uniphier-sd.c | 3 +--
drivers/mmc/host/usdhi6rol0.c | 3 +--
15 files changed, 17 insertions(+), 34 deletions(-)
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 98933be5f1744..de4ef7a675892 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -1172,8 +1172,7 @@ atmci_prepare_data_dma(struct atmel_mci *host, struct mmc_data *data)
goto unmap_exit;
host->dma.data_desc = desc;
- desc->callback = atmci_dma_complete;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, atmci_dma_complete, NULL, host);
return iflags;
unmap_exit:
diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
index efd1903c3ccd4..9a2c995577d46 100644
--- a/drivers/mmc/host/bcm2835.c
+++ b/drivers/mmc/host/bcm2835.c
@@ -506,8 +506,7 @@ void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
return;
}
- desc->callback = bcm2835_dma_complete;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, bcm2835_dma_complete, NULL, host);
host->dma_desc = desc;
host->dma_chan = dma_chan;
host->dma_dir = dir_data;
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index ff0b25d287a94..15c65aeea8030 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -884,8 +884,7 @@ static int dw_mci_edmac_start_dma(struct dw_mci *host,
}
/* Set dw_mci_dmac_complete_dma as callback */
- desc->callback = dw_mci_dmac_complete_dma;
- desc->callback_param = (void *)host;
+ dmaengine_desc_set_callback(desc, dw_mci_dmac_complete_dma, NULL, (void *)host);
dmaengine_submit(desc);
/* Flush cache before write */
diff --git a/drivers/mmc/host/moxart-mmc.c b/drivers/mmc/host/moxart-mmc.c
index 28aed13549a64..15689717c76bf 100644
--- a/drivers/mmc/host/moxart-mmc.c
+++ b/drivers/mmc/host/moxart-mmc.c
@@ -289,8 +289,7 @@ static void moxart_transfer_dma(struct mmc_data *data, struct moxart_host *host)
if (desc) {
host->tx_desc = desc;
- desc->callback = moxart_dma_complete;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, moxart_dma_complete, NULL, host);
dmaengine_submit(desc);
dma_async_issue_pending(dma_chan);
}
diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
index 097498a3f8ff4..e6271d67b6f6c 100644
--- a/drivers/mmc/host/mxcmmc.c
+++ b/drivers/mmc/host/mxcmmc.c
@@ -394,8 +394,7 @@ static int mxcmci_start_cmd(struct mxcmci_host *host, struct mmc_command *cmd,
if (mxcmci_use_dma(host)) {
if (host->dma_dir == DMA_FROM_DEVICE) {
- host->desc->callback = mxcmci_dma_callback;
- host->desc->callback_param = host;
+ dmaengine_desc_set_callback(host->desc, mxcmci_dma_callback, NULL, host);
} else {
int_cntr |= INT_WRITE_OP_DONE_EN;
}
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
index 7c7c52d9e8e72..6a2b3e6d9a207 100644
--- a/drivers/mmc/host/mxs-mmc.c
+++ b/drivers/mmc/host/mxs-mmc.c
@@ -234,8 +234,7 @@ static struct dma_async_tx_descriptor *mxs_mmc_prep_dma(
desc = dmaengine_prep_slave_sg(ssp->dmach,
sgl, sg_len, ssp->slave_dirn, flags);
if (desc) {
- desc->callback = mxs_mmc_dma_irq_callback;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, mxs_mmc_dma_irq_callback, NULL, host);
} else {
if (data)
dma_unmap_sg(mmc_dev(host->mmc), data->sg,
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 527b89a5ed707..4e72e57d11971 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1050,8 +1050,7 @@ mmc_omap_prepare_data(struct mmc_omap_host *host, struct mmc_request *req)
OMAP_MMC_WRITE(host, BUF, buf);
- tx->callback = mmc_omap_dma_callback;
- tx->callback_param = host;
+ dmaengine_desc_set_callback(tx, mmc_omap_dma_callback, NULL, host);
dmaengine_submit(tx);
host->brs_received = 0;
host->dma_done = 0;
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index de5a3b70107d8..ba60b81560fbd 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1279,8 +1279,7 @@ static int omap_hsmmc_setup_dma_transfer(struct omap_hsmmc_host *host,
return -1;
}
- tx->callback = omap_hsmmc_dma_callback;
- tx->callback_param = host;
+ dmaengine_desc_set_callback(tx, omap_hsmmc_dma_callback, NULL, host);
/* Does not fail */
dmaengine_submit(tx);
diff --git a/drivers/mmc/host/owl-mmc.c b/drivers/mmc/host/owl-mmc.c
index d5b8a110267b8..8e0520d338c47 100644
--- a/drivers/mmc/host/owl-mmc.c
+++ b/drivers/mmc/host/owl-mmc.c
@@ -329,8 +329,7 @@ static int owl_mmc_prepare_data(struct owl_mmc_host *owl_host,
owl_host->data = data;
- owl_host->desc->callback = owl_mmc_dma_complete;
- owl_host->desc->callback_param = (void *)owl_host;
+ dmaengine_desc_set_callback(owl_host->desc, owl_mmc_dma_complete, NULL, (void *)owl_host);
data->error = 0;
return 0;
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index f8427f071c009..06483f7355206 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -212,8 +212,7 @@ static void pxamci_setup_data(struct pxamci_host *host, struct mmc_data *data)
}
if (!(data->flags & MMC_DATA_READ)) {
- tx->callback = pxamci_dma_irq;
- tx->callback_param = host;
+ dmaengine_desc_set_callback(tx, pxamci_dma_irq, NULL, host);
}
host->dma_cookie = dmaengine_submit(tx);
diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index 426308b73b490..e5ef3bae88d59 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -196,8 +196,7 @@ static void renesas_sdhi_sys_dmac_start_dma_rx(struct tmio_mmc_host *host)
if (desc) {
reinit_completion(&priv->dma_priv.dma_dataend);
- desc->callback = renesas_sdhi_sys_dmac_dma_callback;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, renesas_sdhi_sys_dmac_dma_callback, NULL, host);
cookie = dmaengine_submit(desc);
if (cookie < 0) {
@@ -272,8 +271,7 @@ static void renesas_sdhi_sys_dmac_start_dma_tx(struct tmio_mmc_host *host)
if (desc) {
reinit_completion(&priv->dma_priv.dma_dataend);
- desc->callback = renesas_sdhi_sys_dmac_dma_callback;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, renesas_sdhi_sys_dmac_dma_callback, NULL, host);
cookie = dmaengine_submit(desc);
if (cookie < 0) {
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index efb4c7742fe21..18aca84834fb6 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1298,8 +1298,7 @@ static int sdhci_external_dma_setup(struct sdhci_host *host,
if (!desc)
return -EINVAL;
- desc->callback = NULL;
- desc->callback_param = NULL;
+ dmaengine_desc_set_callback(desc, NULL, NULL, NULL);
cookie = dmaengine_submit(desc);
if (dma_submit_error(cookie))
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 8bd9cdedafa4d..9fe49fa8f372f 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -299,8 +299,7 @@ static void sh_mmcif_start_dma_rx(struct sh_mmcif_host *host)
}
if (desc) {
- desc->callback = sh_mmcif_dma_complete;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, sh_mmcif_dma_complete, NULL, host);
cookie = dmaengine_submit(desc);
sh_mmcif_bitset(host, MMCIF_CE_BUF_ACC, BUF_ACC_DMAREN);
dma_async_issue_pending(chan);
@@ -349,8 +348,7 @@ static void sh_mmcif_start_dma_tx(struct sh_mmcif_host *host)
}
if (desc) {
- desc->callback = sh_mmcif_dma_complete;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, sh_mmcif_dma_complete, NULL, host);
cookie = dmaengine_submit(desc);
sh_mmcif_bitset(host, MMCIF_CE_BUF_ACC, BUF_ACC_DMAWEN);
dma_async_issue_pending(chan);
diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c
index 1eae2f4b6c1f9..d75ac6abd853c 100644
--- a/drivers/mmc/host/uniphier-sd.c
+++ b/drivers/mmc/host/uniphier-sd.c
@@ -158,8 +158,7 @@ static void uniphier_sd_external_dma_start(struct tmio_mmc_host *host,
if (!desc)
goto unmap_sg;
- desc->callback_result = uniphier_sd_external_dma_callback;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, NULL, uniphier_sd_external_dma_callback, host);
cookie = dmaengine_submit(desc);
if (cookie < 0)
diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c
index 3bccf800339ba..8b2bb44e2f86a 100644
--- a/drivers/mmc/host/usdhi6rol0.c
+++ b/drivers/mmc/host/usdhi6rol0.c
@@ -592,8 +592,7 @@ static int usdhi6_dma_setup(struct usdhi6_host *host, struct dma_chan *chan,
}
if (desc) {
- desc->callback = usdhi6_dma_complete;
- desc->callback_param = host;
+ dmaengine_desc_set_callback(desc, usdhi6_dma_complete, NULL, host);
cookie = dmaengine_submit(desc);
}
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 1/1] mmc: use dmaengine_desc_set_callback()
2026-11-02 17:21 [PATCH 1/1] mmc: use dmaengine_desc_set_callback() Frank.Li
@ 2026-11-03 16:43 ` Wolfram Sang
0 siblings, 0 replies; 2+ messages in thread
From: Wolfram Sang @ 2026-11-03 16:43 UTC (permalink / raw)
To: Frank.Li
Cc: Aubin Constans, Ulf Hansson, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Florian Fainelli, Ray Jui, Scott Branden,
Broadcom internal kernel review list, Jaehoon Chung, Shawn Lin,
Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Aaro Koskinen, Andreas Färber, Manivannan Sadhasivam,
Adrian Hunter, Kunihiko Hayashi, Masami Hiramatsu,
Jesper Nilsson, Lars Persson, John Garry, Hemanth Selam,
Pengpeng Hou, Rosen Penev, Fan Wu, Marco Crivellari, Pan Chuang,
Zhan Xusheng, Rakuram Eswaran, Uwe Kleine-König,
Ethan Nelson-Moore, Bjorn Helgaas, Runyu Xiao,
open list:MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND...,
moderated list:ARM/Microchip (AT91) SoC support, open list,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list:ARM/FREESCALE IMX / MXC / LAYERSCAPE ARM ARCHIT...,
open list:OMAP MMC SUPPORT,
moderated list:ARM/ACTIONS SEMI ARCHITECTURE,
open list:TMIO/SDHI MMC DRIVER,
open list:ARM/ARTPEC MACHINE SUPPORT, vkoul
> drivers/mmc/host/renesas_sdhi_sys_dmac.c | 6 ++----
> drivers/mmc/host/sdhci.c | 3 +--
> drivers/mmc/host/sh_mmcif.c | 6 ++----
> drivers/mmc/host/uniphier-sd.c | 3 +--
> drivers/mmc/host/usdhi6rol0.c | 3 +--
For those:
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # Renesas related drivers
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-03 16:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-02 17:21 [PATCH 1/1] mmc: use dmaengine_desc_set_callback() Frank.Li
2026-11-03 16:43 ` Wolfram Sang
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®