From: Frank.Li@oss.nxp.com
To: "Aubin Constans" <aubin.constans@microchip.com>,
"Ulf Hansson" <ulfh@kernel.org>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Florian Fainelli" <florian.fainelli@broadcom.com>,
"Ray Jui" <rjui@broadcom.com>,
"Scott Branden" <sbranden@broadcom.com>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Jaehoon Chung" <jh80.chung@samsung.com>,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Frank Li" <Frank.Li@nxp.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Aaro Koskinen" <aaro.koskinen@iki.fi>,
"Andreas Färber" <afaerber@suse.de>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Wolfram Sang" <wsa+renesas@sang-engineering.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Kunihiko Hayashi" <hayashi.kunihiko@socionext.com>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Jesper Nilsson" <jesper.nilsson@axis.com>,
"Lars Persson" <lars.persson@axis.com>,
"John Garry" <john.garry@linux.dev>,
"Hemanth Selam" <hemanth.selam@gmail.com>,
"Pengpeng Hou" <pengpeng@iscas.ac.cn>,
"Rosen Penev" <rosenp@gmail.com>, "Fan Wu" <fanwu01@zju.edu.cn>,
"Marco Crivellari" <marco.crivellari@suse.com>,
"Pan Chuang" <panchuang@vivo.com>,
"Zhan Xusheng" <zhanxusheng1024@gmail.com>,
"Rakuram Eswaran" <rakuram.e96@gmail.com>,
"Uwe Kleine-König" <u.kleine-koenig@baylibre.com>,
"Ethan Nelson-Moore" <enelsonmoore@gmail.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Runyu Xiao" <runyu.xiao@seu.edu.cn>,
linux-mmc@vger.kernel.org (open list:MULTIMEDIA CARD (MMC),
SECURE DIGITAL (SD) AND...),
linux-arm-kernel@lists.infradead.org (moderated
list:ARM/Microchip (AT91) SoC support),
linux-kernel@vger.kernel.org (open list),
linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM
BCM2711/BCM2835 ARM ARCHITECTURE),
imx@lists.linux.dev (open list:ARM/FREESCALE IMX / MXC /
LAYERSCAPE ARM ARCHIT...),
linux-omap@vger.kernel.org (open list:OMAP MMC SUPPORT),
linux-actions@lists.infradead.org (moderated list:ARM/ACTIONS
SEMI ARCHITECTURE),
linux-renesas-soc@vger.kernel.org (open list:TMIO/SDHI MMC
DRIVER),
linux-arm-kernel@axis.com (open list:ARM/ARTPEC MACHINE SUPPORT)
Cc: imx@lists.linux.dev, vkoul@kernel.org
Subject: [PATCH 1/1] mmc: use dmaengine_desc_set_callback()
Date: Mon, 2 Nov 2026 12:21:03 -0500 [thread overview]
Message-ID: <20261102172126.3890568-1-Frank.Li@oss.nxp.com> (raw)
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
reply other threads:[~2026-11-02 17:21 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261102172126.3890568-1-Frank.Li@oss.nxp.com \
--to=frank.li@oss.nxp.com \
--cc=Frank.Li@nxp.com \
--cc=aaro.koskinen@iki.fi \
--cc=adrian.hunter@intel.com \
--cc=afaerber@suse.de \
--cc=alexandre.belloni@bootlin.com \
--cc=aubin.constans@microchip.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=enelsonmoore@gmail.com \
--cc=fanwu01@zju.edu.cn \
--cc=festevam@gmail.com \
--cc=florian.fainelli@broadcom.com \
--cc=hayashi.kunihiko@socionext.com \
--cc=hemanth.selam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=jesper.nilsson@axis.com \
--cc=jh80.chung@samsung.com \
--cc=john.garry@linux.dev \
--cc=kernel@pengutronix.de \
--cc=lars.persson@axis.com \
--cc=linux-actions@lists.infradead.org \
--cc=linux-arm-kernel@axis.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mani@kernel.org \
--cc=marco.crivellari@suse.com \
--cc=mhiramat@kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=panchuang@vivo.com \
--cc=pengpeng@iscas.ac.cn \
--cc=rakuram.e96@gmail.com \
--cc=rjui@broadcom.com \
--cc=rosenp@gmail.com \
--cc=runyu.xiao@seu.edu.cn \
--cc=s.hauer@pengutronix.de \
--cc=sbranden@broadcom.com \
--cc=shawn.lin@rock-chips.com \
--cc=u.kleine-koenig@baylibre.com \
--cc=ulfh@kernel.org \
--cc=vkoul@kernel.org \
--cc=wsa+renesas@sang-engineering.com \
--cc=zhanxusheng1024@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is 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®