Linux MultiMedia Card development
 help / color / mirror / Atom feed
* [PATCH 0/13] dw_mmc cleanup
@ 2025-11-20 10:29 Shawn Lin
  2025-11-20 10:29 ` [PATCH 01/13] mmc: dw_mmc: Remove unused struct dma_pdata Shawn Lin
                   ` (14 more replies)
  0 siblings, 15 replies; 21+ messages in thread
From: Shawn Lin @ 2025-11-20 10:29 UTC (permalink / raw)
  To: Ulf Hansson; +Cc: linux-mmc, Jaehoon Chung, Shawn Lin

Hi Ulf & Jaehoon

As you can see, dw_mmc is likely one of the most complex and difficult-to-read
host driver at present. It maintains various states and bottom-half scheduling,
containing a significant amount of redundant code—including a multi-slot mechanism
that has been unsupported for over a decade.

Jaehoon attempted to remove cur_slot more than ten years ago, but the driver still
retains the slot structure and the associated queue mechanism designed to support
multiple slots. This has made the already complex code even harder to read and maintain.

The first four patches aim to eliminate some of the redundant code, while the remaining
patches are intended to ultimately remove the dw_mci_slot variable. To facilitate review
and minimize the risk of regression, each patch is designed to accomplish a single,
clear objective.

This series have been tested on the RK3588S EVB1 platform.



Shawn Lin (13):
  mmc: dw_mmc: Remove unused struct dma_pdata
  mmc: dw_mmc: add dw_mci_prepare_desc() for both of 32bit and 64bit DMA
  mmc: dw_mmc: Remove vqmmc_enabled from struct dw_mci
  mmc: dw_mmc: Remove unused header files and keep alphabetical order
  mmc: dw_mmc: Move struct mmc_host from struct dw_mci_slot to struct
    dw_mci
  mmc: dw_mmc: Let glue drivers to use struct dw_mci as possible
  mmc: dw_mmc: Move flags from struct dw_mci_slot to struct dw_mci
  mmc: dw_mmc: Remove id from dw_mci_slot
  mmc: dw_mmc: Remove sdio_id from struct dw_mci_slot
  mmc: dw_mmc: Move clock rate stuff from struct dw_mci_slot to struct
    dw_mci
  mmc: dw_mmc: Remove mrq from struct dw_mci_slot
  mmc: dw_mmc: Remove queue from dw_mci
  mmc: dw_mmc: Remove struct dw_mci_slot

 drivers/mmc/host/dw_mmc-exynos.c      |   9 +-
 drivers/mmc/host/dw_mmc-hi3798cv200.c |   6 +-
 drivers/mmc/host/dw_mmc-hi3798mv200.c |  17 +-
 drivers/mmc/host/dw_mmc-k3.c          |  21 +-
 drivers/mmc/host/dw_mmc-pltfm.c       |   2 +-
 drivers/mmc/host/dw_mmc-rockchip.c    |   9 +-
 drivers/mmc/host/dw_mmc-starfive.c    |   5 +-
 drivers/mmc/host/dw_mmc.c             | 606 ++++++++++++++--------------------
 drivers/mmc/host/dw_mmc.h             |  83 ++---
 9 files changed, 297 insertions(+), 461 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-11-25 14:00 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-20 10:29 [PATCH 0/13] dw_mmc cleanup Shawn Lin
2025-11-20 10:29 ` [PATCH 01/13] mmc: dw_mmc: Remove unused struct dma_pdata Shawn Lin
2025-11-20 10:29 ` [PATCH 02/13] mmc: dw_mmc: add dw_mci_prepare_desc() for both of 32bit and 64bit DMA Shawn Lin
2025-11-20 10:29 ` [PATCH 03/13] mmc: dw_mmc: Remove vqmmc_enabled from struct dw_mci Shawn Lin
2025-11-25 12:23   ` Ulf Hansson
2025-11-20 10:29 ` [PATCH 04/13] mmc: dw_mmc: Remove unused header files and keep alphabetical order Shawn Lin
2025-11-20 10:29 ` [PATCH 05/13] mmc: dw_mmc: Move struct mmc_host from struct dw_mci_slot to struct dw_mci Shawn Lin
2025-11-20 10:29 ` [PATCH 06/13] mmc: dw_mmc: Let glue drivers to use struct dw_mci as possible Shawn Lin
2025-11-20 10:29 ` [PATCH 07/13] mmc: dw_mmc: Move flags from struct dw_mci_slot to struct dw_mci Shawn Lin
2025-11-20 10:29 ` [PATCH 08/13] mmc: dw_mmc: Remove id from dw_mci_slot Shawn Lin
2025-11-20 10:29 ` [PATCH 09/13] mmc: dw_mmc: Remove sdio_id from struct dw_mci_slot Shawn Lin
2025-11-20 10:29 ` [PATCH 10/13] mmc: dw_mmc: Move clock rate stuff from struct dw_mci_slot to struct dw_mci Shawn Lin
2025-11-20 10:29 ` [PATCH 11/13] mmc: dw_mmc: Remove mrq from struct dw_mci_slot Shawn Lin
2025-11-20 10:29 ` [PATCH 12/13] mmc: dw_mmc: Remove queue from dw_mci Shawn Lin
2025-11-20 10:29 ` [PATCH 13/13] mmc: dw_mmc: Remove struct dw_mci_slot Shawn Lin
2025-11-22 18:40   ` kernel test robot
2025-11-22 19:54   ` kernel test robot
2025-11-20 11:10 ` [PATCH 0/13] dw_mmc cleanup Ulf Hansson
2025-11-20 12:51   ` Shawn Lin
2025-11-25 12:33 ` Ulf Hansson
2025-11-25 14:00   ` Shawn Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox