summaryrefslogtreecommitdiff
path: root/drivers/mmc/core/queue.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2017-05-18 12:29:35 +0300
committerUlf Hansson <ulf.hansson@linaro.org>2017-06-20 11:30:19 +0300
commit3ecd8cf23f88d5df1c545a5c04217987abb28575 (patch)
tree19f408404e5b620f90551d975c829cc55ff30b58 /drivers/mmc/core/queue.h
parent614f0388f580c436d2cf6dc0855de91d13ddc23d (diff)
downloadlinux-3ecd8cf23f88d5df1c545a5c04217987abb28575.tar.xz
mmc: block: move multi-ioctl() to use block layer
This switches also the multiple-command ioctl() call to issue all ioctl()s through the block layer instead of going directly to the device. We extend the passed argument with an argument count and loop over all passed commands in the ioctl() issue function called from the block layer. By doing this we are again loosening the grip on the big host lock, since two calls to mmc_get_card()/mmc_put_card() are removed. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Avri Altman <Avri.Altman@sandisk.com>
Diffstat (limited to 'drivers/mmc/core/queue.h')
-rw-r--r--drivers/mmc/core/queue.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/core/queue.h b/drivers/mmc/core/queue.h
index 005ece9ac7cb..8c76e7118c95 100644
--- a/drivers/mmc/core/queue.h
+++ b/drivers/mmc/core/queue.h
@@ -42,7 +42,8 @@ struct mmc_queue_req {
unsigned int bounce_sg_len;
struct mmc_async_req areq;
int ioc_result;
- struct mmc_blk_ioc_data *idata;
+ struct mmc_blk_ioc_data **idata;
+ unsigned int ioc_count;
};
struct mmc_queue {