0032-Add-blk_pos-parameter-to-mmc-multi_io_quirk-callback.patch 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. From 462591cf98f15614620667e93b7f8bc0da6e86da Mon Sep 17 00:00:00 2001
  2. From: Phil Elwell <[email protected]>
  3. Date: Fri, 17 Apr 2015 19:30:22 +0100
  4. Subject: [PATCH 032/170] Add blk_pos parameter to mmc multi_io_quirk callback
  5. ---
  6. drivers/mmc/card/block.c | 1 +
  7. drivers/mmc/host/omap_hsmmc.c | 4 +++-
  8. drivers/mmc/host/sh_mobile_sdhi.c | 4 +++-
  9. drivers/mmc/host/tmio_mmc_pio.c | 4 +++-
  10. include/linux/mmc/host.h | 4 +++-
  11. 5 files changed, 13 insertions(+), 4 deletions(-)
  12. --- a/drivers/mmc/card/block.c
  13. +++ b/drivers/mmc/card/block.c
  14. @@ -1518,6 +1518,7 @@ static void mmc_blk_rw_rq_prep(struct mm
  15. brq->data.blocks = card->host->ops->multi_io_quirk(card,
  16. (rq_data_dir(req) == READ) ?
  17. MMC_DATA_READ : MMC_DATA_WRITE,
  18. + blk_rq_pos(req),
  19. brq->data.blocks);
  20. }
  21. --- a/drivers/mmc/host/omap_hsmmc.c
  22. +++ b/drivers/mmc/host/omap_hsmmc.c
  23. @@ -1832,7 +1832,9 @@ static void omap_hsmmc_conf_bus_power(st
  24. }
  25. static int omap_hsmmc_multi_io_quirk(struct mmc_card *card,
  26. - unsigned int direction, int blk_size)
  27. + unsigned int direction,
  28. + u32 blk_pos,
  29. + int blk_size)
  30. {
  31. /* This controller can't do multiblock reads due to hw bugs */
  32. if (direction == MMC_DATA_READ)
  33. --- a/drivers/mmc/host/sh_mobile_sdhi.c
  34. +++ b/drivers/mmc/host/sh_mobile_sdhi.c
  35. @@ -170,7 +170,9 @@ static int sh_mobile_sdhi_write16_hook(s
  36. }
  37. static int sh_mobile_sdhi_multi_io_quirk(struct mmc_card *card,
  38. - unsigned int direction, int blk_size)
  39. + unsigned int direction,
  40. + u32 blk_pos,
  41. + int blk_size)
  42. {
  43. /*
  44. * In Renesas controllers, when performing a
  45. --- a/drivers/mmc/host/tmio_mmc_pio.c
  46. +++ b/drivers/mmc/host/tmio_mmc_pio.c
  47. @@ -1003,7 +1003,9 @@ static int tmio_mmc_get_ro(struct mmc_ho
  48. }
  49. static int tmio_multi_io_quirk(struct mmc_card *card,
  50. - unsigned int direction, int blk_size)
  51. + unsigned int direction,
  52. + u32 blk_pos,
  53. + int blk_size)
  54. {
  55. struct tmio_mmc_host *host = mmc_priv(card->host);
  56. --- a/include/linux/mmc/host.h
  57. +++ b/include/linux/mmc/host.h
  58. @@ -143,7 +143,9 @@ struct mmc_host_ops {
  59. * I/O. Returns the number of supported blocks for the request.
  60. */
  61. int (*multi_io_quirk)(struct mmc_card *card,
  62. - unsigned int direction, int blk_size);
  63. + unsigned int direction,
  64. + u32 blk_pos,
  65. + int blk_size);
  66. };
  67. struct mmc_card;