> -----Original Message-----
> From: [email protected] [mailto:linux-mmc-
> [email protected]] On Behalf Of Linus Walleij
> Sent: Wednesday, May 10, 2017 11:24 AM
> To: [email protected]; Ulf Hansson <[email protected]>;
> Adrian Hunter <[email protected]>
> Cc: [email protected]; Jens Axboe <[email protected]>; Christoph
> Hellwig <[email protected]>; Arnd Bergmann <[email protected]>; Bartlomiej
> Zolnierkiewicz <[email protected]>; Paolo Valente
> <[email protected]>; Linus Walleij <[email protected]>
> Subject: [PATCH 4/5] mmc: block: move single ioctl() commands to block
> requests
> 
> This wraps single ioctl() commands into block requests using the custom
> block layer request types REQ_OP_DRV_IN and REQ_OP_DRV_OUT.
> 
> By doing this we are loosening the grip on the big host lock, since two calls 
> to
> mmc_get_card()/mmc_put_card() are removed.
> 
> We are storing the ioctl() in/out argument as a pointer in the per-request
> struct mmc_blk_request container. Since we now let the block layer allocate
> this data, blk_get_request() will allocate it for us and we can immediately
> dereference it and use it to pass the argument into the block layer.
> 
> Tested on the ux500 with the userspace:
> mmc extcsd read /dev/mmcblk3
> resulting in a successful EXTCSD info dump back to the console.
> 
> Signed-off-by: Linus Walleij <[email protected]>
tested-by: Avri Altman <[email protected]>

Reply via email to