mmc: block: move multi-ioctl() to use block layer
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 18 May 2017 09:29:35 +0000 (11:29 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 20 Jun 2017 08:30:19 +0000 (10:30 +0200)
commit3ecd8cf23f88d5df1c545a5c04217987abb28575
tree19f408404e5b620f90551d975c829cc55ff30b58
parent614f0388f580c436d2cf6dc0855de91d13ddc23d
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>
drivers/mmc/core/block.c
drivers/mmc/core/queue.h