[RFT 0/6] mmc: refactor reset callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



While debugging something else, I noticed that the SDHI driver
doesn't use the 'hw_reset' callback as intended. It was used to reset
the tuning block but not the remote card via RSTn.

So, this patch series fixes it by moving stuff to the reset callback. In
addition, calls within the TMIO core are converted to 'reset' and the
'hw_reset' callback is only used by the MMC core now.

This allow for further cleanups which make the code a tad smaller and
much more readable.

I did some testing here, and tuning etc... still works, no regressions,
both with eMMC and SDXC. I send this out as RFT because I want to give
our BSP team also a chance to test more advanced cases. Also, I will be
thinking of more ways to verify this all is correct. A branch for
testing can be found here:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/sdhi/refactor_hw_reset

The branch is based on top of v5.9-rc1.

Looking forward to comments!

Happy hacking,

   Wolfram


Wolfram Sang (6):
  mmc: renesas_sdhi: move wrong 'hw_reset' to 'reset'
  Revert "mmc: tmio: fix reset operation"
  mmc: tmio: remove indirection of 'hw_reset' callback
  mmc: tmio: factor out common parts of the reset routine
  mmc: tmio: don't reset whole IP core when tuning fails
  mmc: tmio: remove indirection of 'execute_tuning' callback

 drivers/mmc/host/renesas_sdhi_core.c | 58 ++++++++++++++--------------
 drivers/mmc/host/tmio_mmc.c          |  8 ----
 drivers/mmc/host/tmio_mmc.h          |  7 ----
 drivers/mmc/host/tmio_mmc_core.c     | 45 ++++-----------------
 drivers/mmc/host/uniphier-sd.c       |  5 ++-
 5 files changed, 39 insertions(+), 84 deletions(-)

-- 
2.20.1




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux