* [PATCH 0/2] mmc: factor out getting dma direction from host drivers
@ 2017-03-23 21:17 Heiner Kallweit
2017-03-23 21:20 ` [PATCH 1/2] mmc: core: add mmc_get_dma_dir Heiner Kallweit
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Heiner Kallweit @ 2017-03-23 21:17 UTC (permalink / raw)
To: Ulf Hansson; +Cc: linux-mmc
Several host drivers contain identical code for determining the
DMA direction. Therefore factor this out to the core.
Heiner Kallweit (2):
mmc: core: add mmc_get_dma_dir
mmc: use new core function mmc_get_dma_dir
drivers/mmc/host/android-goldfish.c | 10 ++--------
drivers/mmc/host/atmel-mci.c | 6 ++----
drivers/mmc/host/davinci_mmc.c | 10 +++-------
drivers/mmc/host/dw_mmc.c | 14 +++-----------
drivers/mmc/host/jz4740_mmc.c | 9 ++-------
drivers/mmc/host/mmc_spi.c | 5 +----
drivers/mmc/host/mtk-sd.c | 8 ++------
drivers/mmc/host/mvsdio.c | 11 +++++------
drivers/mmc/host/omap_hsmmc.c | 17 ++++-------------
drivers/mmc/host/s3cmci.c | 4 ++--
drivers/mmc/host/sdhci.c | 9 +++------
drivers/mmc/host/sunxi-mmc.c | 14 +++-----------
include/linux/mmc/host.h | 6 ++++++
13 files changed, 38 insertions(+), 85 deletions(-)
--
2.12.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] mmc: core: add mmc_get_dma_dir
2017-03-23 21:17 [PATCH 0/2] mmc: factor out getting dma direction from host drivers Heiner Kallweit
@ 2017-03-23 21:20 ` Heiner Kallweit
2017-03-23 21:27 ` [PATCH 2/2] mmc: use new core function mmc_get_dma_dir Heiner Kallweit
2017-03-24 1:14 ` [PATCH 0/2] mmc: factor out getting dma direction from host drivers Shawn Lin
2 siblings, 0 replies; 5+ messages in thread
From: Heiner Kallweit @ 2017-03-23 21:20 UTC (permalink / raw)
To: Ulf Hansson; +Cc: linux-mmc
Add function for determining DMA direction to core.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
include/linux/mmc/host.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 83f1c4a9..21385ac0 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -17,6 +17,7 @@
#include <linux/mmc/core.h>
#include <linux/mmc/card.h>
#include <linux/mmc/pm.h>
+#include <linux/dma-direction.h>
struct mmc_ios {
unsigned int clock; /* clock rate */
@@ -499,6 +500,11 @@ static inline bool mmc_can_retune(struct mmc_host *host)
return host->can_retune == 1;
}
+static inline enum dma_data_direction mmc_get_dma_dir(struct mmc_data *data)
+{
+ return data->flags & MMC_DATA_WRITE ? DMA_TO_DEVICE : DMA_FROM_DEVICE;
+}
+
int mmc_send_tuning(struct mmc_host *host, u32 opcode, int *cmd_error);
int mmc_abort_tuning(struct mmc_host *host, u32 opcode);
--
2.12.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] mmc: use new core function mmc_get_dma_dir
2017-03-23 21:17 [PATCH 0/2] mmc: factor out getting dma direction from host drivers Heiner Kallweit
2017-03-23 21:20 ` [PATCH 1/2] mmc: core: add mmc_get_dma_dir Heiner Kallweit
@ 2017-03-23 21:27 ` Heiner Kallweit
2017-03-24 1:14 ` [PATCH 0/2] mmc: factor out getting dma direction from host drivers Shawn Lin
2 siblings, 0 replies; 5+ messages in thread
From: Heiner Kallweit @ 2017-03-23 21:27 UTC (permalink / raw)
To: Ulf Hansson; +Cc: linux-mmc
Use new core function mmc_get_dma_dir().
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/mmc/host/android-goldfish.c | 10 ++--------
drivers/mmc/host/atmel-mci.c | 6 ++----
drivers/mmc/host/davinci_mmc.c | 10 +++-------
drivers/mmc/host/dw_mmc.c | 14 +++-----------
drivers/mmc/host/jz4740_mmc.c | 9 ++-------
drivers/mmc/host/mmc_spi.c | 5 +----
drivers/mmc/host/mtk-sd.c | 8 ++------
drivers/mmc/host/mvsdio.c | 11 +++++------
drivers/mmc/host/omap_hsmmc.c | 17 ++++-------------
drivers/mmc/host/s3cmci.c | 4 ++--
drivers/mmc/host/sdhci.c | 9 +++------
drivers/mmc/host/sunxi-mmc.c | 14 +++-----------
12 files changed, 32 insertions(+), 85 deletions(-)
diff --git a/drivers/mmc/host/android-goldfish.c b/drivers/mmc/host/android-goldfish.c
index 590a8a45..5b3e1c9b 100644
--- a/drivers/mmc/host/android-goldfish.c
+++ b/drivers/mmc/host/android-goldfish.c
@@ -212,10 +212,7 @@ static void goldfish_mmc_xfer_done(struct goldfish_mmc_host *host,
if (host->dma_in_use) {
enum dma_data_direction dma_data_dir;
- if (data->flags & MMC_DATA_WRITE)
- dma_data_dir = DMA_TO_DEVICE;
- else
- dma_data_dir = DMA_FROM_DEVICE;
+ dma_data_dir = mmc_get_dma_dir(data);
if (dma_data_dir == DMA_FROM_DEVICE) {
/*
@@ -390,10 +387,7 @@ static void goldfish_mmc_prepare_data(struct goldfish_mmc_host *host,
*/
sg_len = (data->blocks == 1) ? 1 : data->sg_len;
- if (data->flags & MMC_DATA_WRITE)
- dma_data_dir = DMA_TO_DEVICE;
- else
- dma_data_dir = DMA_FROM_DEVICE;
+ dma_data_dir = mmc_get_dma_dir(data);
host->sg_len = dma_map_sg(mmc_dev(host->mmc), data->sg,
sg_len, dma_data_dir);
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 0ad8ef56..1ad3b9cd 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -954,8 +954,7 @@ static void atmci_pdc_cleanup(struct atmel_mci *host)
if (data)
dma_unmap_sg(&host->pdev->dev,
data->sg, data->sg_len,
- ((data->flags & MMC_DATA_WRITE)
- ? DMA_TO_DEVICE : DMA_FROM_DEVICE));
+ mmc_get_dma_dir(data));
}
/*
@@ -993,8 +992,7 @@ static void atmci_dma_cleanup(struct atmel_mci *host)
if (data)
dma_unmap_sg(host->dma.chan->device->dev,
data->sg, data->sg_len,
- ((data->flags & MMC_DATA_WRITE)
- ? DMA_TO_DEVICE : DMA_FROM_DEVICE));
+ mmc_get_dma_dir(data));
}
/*
diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
index 1e2600da..9b1ecc12 100644
--- a/drivers/mmc/host/davinci_mmc.c
+++ b/drivers/mmc/host/davinci_mmc.c
@@ -478,18 +478,14 @@ static int mmc_davinci_start_dma_transfer(struct mmc_davinci_host *host,
int ret = 0;
host->sg_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- ((data->flags & MMC_DATA_WRITE)
- ? DMA_TO_DEVICE
- : DMA_FROM_DEVICE));
+ mmc_get_dma_dir(data));
/* no individual DMA segment should need a partial FIFO */
for (i = 0; i < host->sg_len; i++) {
if (sg_dma_len(data->sg + i) & mask) {
dma_unmap_sg(mmc_dev(host->mmc),
- data->sg, data->sg_len,
- (data->flags & MMC_DATA_WRITE)
- ? DMA_TO_DEVICE
- : DMA_FROM_DEVICE);
+ data->sg, data->sg_len,
+ mmc_get_dma_dir(data));
return -1;
}
}
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index e165db05..249ded65 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -431,14 +431,6 @@ static void dw_mci_stop_dma(struct dw_mci *host)
set_bit(EVENT_XFER_COMPLETE, &host->pending_events);
}
-static int dw_mci_get_dma_dir(struct mmc_data *data)
-{
- if (data->flags & MMC_DATA_WRITE)
- return DMA_TO_DEVICE;
- else
- return DMA_FROM_DEVICE;
-}
-
static void dw_mci_dma_cleanup(struct dw_mci *host)
{
struct mmc_data *data = host->data;
@@ -447,7 +439,7 @@ static void dw_mci_dma_cleanup(struct dw_mci *host)
dma_unmap_sg(host->dev,
data->sg,
data->sg_len,
- dw_mci_get_dma_dir(data));
+ mmc_get_dma_dir(data));
data->host_cookie = COOKIE_UNMAPPED;
}
}
@@ -903,7 +895,7 @@ static int dw_mci_pre_dma_transfer(struct dw_mci *host,
sg_len = dma_map_sg(host->dev,
data->sg,
data->sg_len,
- dw_mci_get_dma_dir(data));
+ mmc_get_dma_dir(data));
if (sg_len == 0)
return -EINVAL;
@@ -943,7 +935,7 @@ static void dw_mci_post_req(struct mmc_host *mmc,
dma_unmap_sg(slot->host->dev,
data->sg,
data->sg_len,
- dw_mci_get_dma_dir(data));
+ mmc_get_dma_dir(data));
data->host_cookie = COOKIE_UNMAPPED;
}
diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
index 819ad329..57e254aa 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
@@ -200,11 +200,6 @@ static int jz4740_mmc_acquire_dma_channels(struct jz4740_mmc_host *host)
return -ENODEV;
}
-static inline int jz4740_mmc_get_dma_dir(struct mmc_data *data)
-{
- return (data->flags & MMC_DATA_READ) ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
-}
-
static inline struct dma_chan *jz4740_mmc_get_dma_chan(struct jz4740_mmc_host *host,
struct mmc_data *data)
{
@@ -215,7 +210,7 @@ static void jz4740_mmc_dma_unmap(struct jz4740_mmc_host *host,
struct mmc_data *data)
{
struct dma_chan *chan = jz4740_mmc_get_dma_chan(host, data);
- enum dma_data_direction dir = jz4740_mmc_get_dma_dir(data);
+ enum dma_data_direction dir = mmc_get_dma_dir(data);
dma_unmap_sg(chan->device->dev, data->sg, data->sg_len, dir);
}
@@ -227,7 +222,7 @@ static int jz4740_mmc_prepare_dma_data(struct jz4740_mmc_host *host,
struct dma_chan *chan)
{
struct jz4740_mmc_host_next *next_data = &host->next_data;
- enum dma_data_direction dir = jz4740_mmc_get_dma_dir(data);
+ enum dma_data_direction dir = mmc_get_dma_dir(data);
int sg_len;
if (!next && data->host_cookie &&
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index e77d79c8..476e53d3 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -888,10 +888,7 @@ mmc_spi_data_do(struct mmc_spi_host *host, struct mmc_command *cmd,
u32 clock_rate;
unsigned long timeout;
- if (data->flags & MMC_DATA_READ)
- direction = DMA_FROM_DEVICE;
- else
- direction = DMA_TO_DEVICE;
+ direction = mmc_get_dma_dir(data);
mmc_spi_setup_data_message(host, multiple, direction);
t = &host->t;
diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index b235d8da..c8b0b6b9 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -462,11 +462,9 @@ static void msdc_prepare_data(struct msdc_host *host, struct mmc_request *mrq)
struct mmc_data *data = mrq->data;
if (!(data->host_cookie & MSDC_PREPARE_FLAG)) {
- bool read = (data->flags & MMC_DATA_READ) != 0;
-
data->host_cookie |= MSDC_PREPARE_FLAG;
data->sg_count = dma_map_sg(host->dev, data->sg, data->sg_len,
- read ? DMA_FROM_DEVICE : DMA_TO_DEVICE);
+ mmc_get_dma_dir(data));
}
}
@@ -478,10 +476,8 @@ static void msdc_unprepare_data(struct msdc_host *host, struct mmc_request *mrq)
return;
if (data->host_cookie & MSDC_PREPARE_FLAG) {
- bool read = (data->flags & MMC_DATA_READ) != 0;
-
dma_unmap_sg(host->dev, data->sg, data->sg_len,
- read ? DMA_FROM_DEVICE : DMA_TO_DEVICE);
+ mmc_get_dma_dir(data));
data->host_cookie &= ~MSDC_PREPARE_FLAG;
}
}
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index 42296e55..58d74b8d 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -125,10 +125,10 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
return 1;
} else {
dma_addr_t phys_addr;
- int dma_dir = (data->flags & MMC_DATA_READ) ?
- DMA_FROM_DEVICE : DMA_TO_DEVICE;
- host->sg_frags = dma_map_sg(mmc_dev(host->mmc), data->sg,
- data->sg_len, dma_dir);
+
+ host->sg_frags = dma_map_sg(mmc_dev(host->mmc),
+ data->sg, data->sg_len,
+ mmc_get_dma_dir(data));
phys_addr = sg_dma_address(data->sg);
mvsd_write(MVSD_SYS_ADDR_LOW, (u32)phys_addr & 0xffff);
mvsd_write(MVSD_SYS_ADDR_HI, (u32)phys_addr >> 16);
@@ -294,8 +294,7 @@ static u32 mvsd_finish_data(struct mvsd_host *host, struct mmc_data *data,
host->pio_size = 0;
} else {
dma_unmap_sg(mmc_dev(host->mmc), data->sg, host->sg_frags,
- (data->flags & MMC_DATA_READ) ?
- DMA_FROM_DEVICE : DMA_TO_DEVICE);
+ mmc_get_dma_dir(data));
}
if (err_status & MVSD_ERR_DATA_TIMEOUT)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index a58bd653..bf64cf23 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -935,15 +935,6 @@ omap_hsmmc_start_command(struct omap_hsmmc_host *host, struct mmc_command *cmd,
OMAP_HSMMC_WRITE(host->base, CMD, cmdreg);
}
-static int
-omap_hsmmc_get_dma_dir(struct omap_hsmmc_host *host, struct mmc_data *data)
-{
- if (data->flags & MMC_DATA_WRITE)
- return DMA_TO_DEVICE;
- else
- return DMA_FROM_DEVICE;
-}
-
static struct dma_chan *omap_hsmmc_get_dma_chan(struct omap_hsmmc_host *host,
struct mmc_data *data)
{
@@ -1055,7 +1046,7 @@ static void omap_hsmmc_dma_cleanup(struct omap_hsmmc_host *host, int errno)
dmaengine_terminate_all(chan);
dma_unmap_sg(chan->device->dev,
host->data->sg, host->data->sg_len,
- omap_hsmmc_get_dma_dir(host, host->data));
+ mmc_get_dma_dir(host->data));
host->data->host_cookie = 0;
}
@@ -1350,7 +1341,7 @@ static void omap_hsmmc_dma_callback(void *param)
if (!data->host_cookie)
dma_unmap_sg(chan->device->dev,
data->sg, data->sg_len,
- omap_hsmmc_get_dma_dir(host, data));
+ mmc_get_dma_dir(data));
req_in_progress = host->req_in_progress;
host->dma_ch = -1;
@@ -1383,7 +1374,7 @@ static int omap_hsmmc_pre_dma_transfer(struct omap_hsmmc_host *host,
/* Check if next job is already prepared */
if (next || data->host_cookie != host->next_data.cookie) {
dma_len = dma_map_sg(chan->device->dev, data->sg, data->sg_len,
- omap_hsmmc_get_dma_dir(host, data));
+ mmc_get_dma_dir(data));
} else {
dma_len = host->next_data.dma_len;
@@ -1569,7 +1560,7 @@ static void omap_hsmmc_post_req(struct mmc_host *mmc, struct mmc_request *mrq,
struct dma_chan *c = omap_hsmmc_get_dma_chan(host, data);
dma_unmap_sg(c->device->dev, data->sg, data->sg_len,
- omap_hsmmc_get_dma_dir(host, data));
+ mmc_get_dma_dir(data));
data->host_cookie = 0;
}
}
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 7a173f8c..5c9037eb 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -1104,7 +1104,7 @@ static int s3cmci_prepare_dma(struct s3cmci_host *host, struct mmc_data *data)
conf.direction = DMA_MEM_TO_DEV;
dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- rw ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
+ mmc_get_dma_dir(data));
dmaengine_slave_config(host->dma, &conf);
desc = dmaengine_prep_slave_sg(host->dma, data->sg, data->sg_len,
@@ -1121,7 +1121,7 @@ static int s3cmci_prepare_dma(struct s3cmci_host *host, struct mmc_data *data)
unmap_exit:
dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- rw ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
+ mmc_get_dma_dir(data));
return -ENOMEM;
}
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index a33102fc..af8b60f3 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -502,8 +502,7 @@ static int sdhci_pre_dma_transfer(struct sdhci_host *host,
return data->sg_count;
sg_count = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- data->flags & MMC_DATA_WRITE ?
- DMA_TO_DEVICE : DMA_FROM_DEVICE);
+ mmc_get_dma_dir(data));
if (sg_count == 0)
return -ENOSPC;
@@ -2213,8 +2212,7 @@ static void sdhci_post_req(struct mmc_host *mmc, struct mmc_request *mrq,
if (data->host_cookie != COOKIE_UNMAPPED)
dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- data->flags & MMC_DATA_WRITE ?
- DMA_TO_DEVICE : DMA_FROM_DEVICE);
+ mmc_get_dma_dir(data));
data->host_cookie = COOKIE_UNMAPPED;
}
@@ -2330,8 +2328,7 @@ static bool sdhci_request_done(struct sdhci_host *host)
if (data && data->host_cookie == COOKIE_MAPPED) {
dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- (data->flags & MMC_DATA_READ) ?
- DMA_FROM_DEVICE : DMA_TO_DEVICE);
+ mmc_get_dma_dir(data));
data->host_cookie = COOKIE_UNMAPPED;
}
}
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index 6ffcd283..ea415b0d 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -385,14 +385,6 @@ static void sunxi_mmc_init_idma_des(struct sunxi_mmc_host *host,
wmb();
}
-static enum dma_data_direction sunxi_mmc_get_dma_dir(struct mmc_data *data)
-{
- if (data->flags & MMC_DATA_WRITE)
- return DMA_TO_DEVICE;
- else
- return DMA_FROM_DEVICE;
-}
-
static int sunxi_mmc_map_dma(struct sunxi_mmc_host *host,
struct mmc_data *data)
{
@@ -400,7 +392,7 @@ static int sunxi_mmc_map_dma(struct sunxi_mmc_host *host,
struct scatterlist *sg;
dma_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- sunxi_mmc_get_dma_dir(data));
+ mmc_get_dma_dir(data));
if (dma_len == 0) {
dev_err(mmc_dev(host->mmc), "dma_map_sg failed\n");
return -ENOMEM;
@@ -551,7 +543,7 @@ static irqreturn_t sunxi_mmc_finalize_request(struct sunxi_mmc_host *host)
rval |= SDXC_FIFO_RESET;
mmc_writel(host, REG_GCTRL, rval);
dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
- sunxi_mmc_get_dma_dir(data));
+ mmc_get_dma_dir(data));
}
mmc_writel(host, REG_RINTR, 0xffff);
@@ -1022,7 +1014,7 @@ static void sunxi_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq)
if (data)
dma_unmap_sg(mmc_dev(mmc), data->sg, data->sg_len,
- sunxi_mmc_get_dma_dir(data));
+ mmc_get_dma_dir(data));
dev_err(mmc_dev(mmc), "request already pending\n");
mrq->cmd->error = -EBUSY;
--
2.12.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] mmc: factor out getting dma direction from host drivers
2017-03-23 21:17 [PATCH 0/2] mmc: factor out getting dma direction from host drivers Heiner Kallweit
2017-03-23 21:20 ` [PATCH 1/2] mmc: core: add mmc_get_dma_dir Heiner Kallweit
2017-03-23 21:27 ` [PATCH 2/2] mmc: use new core function mmc_get_dma_dir Heiner Kallweit
@ 2017-03-24 1:14 ` Shawn Lin
2017-03-24 6:44 ` Heiner Kallweit
2 siblings, 1 reply; 5+ messages in thread
From: Shawn Lin @ 2017-03-24 1:14 UTC (permalink / raw)
To: Heiner Kallweit; +Cc: Ulf Hansson, linux-mmc
Hi Heiner,
On 2017/3/24 5:17, Heiner Kallweit wrote:
> Several host drivers contain identical code for determining the
> DMA direction. Therefore factor this out to the core.
I like this patchset, at least it removes more lines than insertions :)
Only a small nit,
s3cmci_prepare_dma seems need some more cleanup as the rw variable
isn't useful personally. Anyway,
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
>
> Heiner Kallweit (2):
> mmc: core: add mmc_get_dma_dir
> mmc: use new core function mmc_get_dma_dir
>
> drivers/mmc/host/android-goldfish.c | 10 ++--------
> drivers/mmc/host/atmel-mci.c | 6 ++----
> drivers/mmc/host/davinci_mmc.c | 10 +++-------
> drivers/mmc/host/dw_mmc.c | 14 +++-----------
> drivers/mmc/host/jz4740_mmc.c | 9 ++-------
> drivers/mmc/host/mmc_spi.c | 5 +----
> drivers/mmc/host/mtk-sd.c | 8 ++------
> drivers/mmc/host/mvsdio.c | 11 +++++------
> drivers/mmc/host/omap_hsmmc.c | 17 ++++-------------
> drivers/mmc/host/s3cmci.c | 4 ++--
> drivers/mmc/host/sdhci.c | 9 +++------
> drivers/mmc/host/sunxi-mmc.c | 14 +++-----------
> include/linux/mmc/host.h | 6 ++++++
> 13 files changed, 38 insertions(+), 85 deletions(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] mmc: factor out getting dma direction from host drivers
2017-03-24 1:14 ` [PATCH 0/2] mmc: factor out getting dma direction from host drivers Shawn Lin
@ 2017-03-24 6:44 ` Heiner Kallweit
0 siblings, 0 replies; 5+ messages in thread
From: Heiner Kallweit @ 2017-03-24 6:44 UTC (permalink / raw)
To: Shawn Lin; +Cc: Ulf Hansson, linux-mmc
Am 24.03.2017 um 02:14 schrieb Shawn Lin:
> Hi Heiner,
>
> On 2017/3/24 5:17, Heiner Kallweit wrote:
>> Several host drivers contain identical code for determining the
>> DMA direction. Therefore factor this out to the core.
>
> I like this patchset, at least it removes more lines than insertions :)
>
> Only a small nit,
>
> s3cmci_prepare_dma seems need some more cleanup as the rw variable
> isn't useful personally. Anyway,
>
rw is still used for setting conf.direction, therefore I decided to
keep it (at least for now, however this variable might be a victim of
some later, more general refactoring).
However I found few more places where the new function can be applied.
So I'll send a v2 anyway.
> Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
>
Thanks for the quick review.
>
>
>>
>> Heiner Kallweit (2):
>> mmc: core: add mmc_get_dma_dir
>> mmc: use new core function mmc_get_dma_dir
>>
>> drivers/mmc/host/android-goldfish.c | 10 ++--------
>> drivers/mmc/host/atmel-mci.c | 6 ++----
>> drivers/mmc/host/davinci_mmc.c | 10 +++-------
>> drivers/mmc/host/dw_mmc.c | 14 +++-----------
>> drivers/mmc/host/jz4740_mmc.c | 9 ++-------
>> drivers/mmc/host/mmc_spi.c | 5 +----
>> drivers/mmc/host/mtk-sd.c | 8 ++------
>> drivers/mmc/host/mvsdio.c | 11 +++++------
>> drivers/mmc/host/omap_hsmmc.c | 17 ++++-------------
>> drivers/mmc/host/s3cmci.c | 4 ++--
>> drivers/mmc/host/sdhci.c | 9 +++------
>> drivers/mmc/host/sunxi-mmc.c | 14 +++-----------
>> include/linux/mmc/host.h | 6 ++++++
>> 13 files changed, 38 insertions(+), 85 deletions(-)
>>
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-03-24 6:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-23 21:17 [PATCH 0/2] mmc: factor out getting dma direction from host drivers Heiner Kallweit
2017-03-23 21:20 ` [PATCH 1/2] mmc: core: add mmc_get_dma_dir Heiner Kallweit
2017-03-23 21:27 ` [PATCH 2/2] mmc: use new core function mmc_get_dma_dir Heiner Kallweit
2017-03-24 1:14 ` [PATCH 0/2] mmc: factor out getting dma direction from host drivers Shawn Lin
2017-03-24 6:44 ` Heiner Kallweit
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.