[PATCH v7 0/4] Add modules for realtek USB card reader

rogerable
2014-04-11T06:53:19Z

From: Roger Tseng <rogerable@realtek.com>

This patchset adds modules to support Realtek USB vendor specific class flash
card reader: one base module in MFD subsystem and two host modules in both mmc
and memstick subsystems. The architecture is similar to rtsx_pci.

This work is done primarily to replace the staging driver: staging/rts5139,
which doesn't utilize mmc nor memstick subsystems. Once the patchset or its
revision is applied, we may need Greg's help to remove the staging one.

v2:
1. Fix potential buffer overflow in rtsx_usb_seq_write_register()
2. Remove unnecessary casting and messages
3. Revise coding style and white spaces

v3:
1. Fix MMC detection fail when under xhci
2. Minor change of pm_runtime behavior in rtsx_usb_ms to prevent some rare
freeze due to erroneous Memstick card(not MS-Pro)
3. Further revise coding style as suggested in the thread of v2
4. Using managed resources: devm_*
5. Change license from "GPL v2 and later" to "GPL v2"

v4:
1. Remove invocations to deprecated/removed mmc_suspend|resume_host APIs and
unnecessary platform device pm routines
2. Support CRC-ignored R1 response for CMD13 in response to commit:
a27fbf2f067b0cd6f172c8b696b9a44c58bfaa7a: mmc: add ignorance case for
CMD13 CRC error
3. Remove unnecessary #ifdef CONFIG_PM_RUNTIME

v5:
1. rtsx_usb_ms.c: adding header inclusion, removing unnecessary NULL checking,
and add cancel_work_sync in removal handler to wait possible pending
works.
(Changes only rtsx_usb_ms. Other files remain the same to v4)

v6:
NOTE:since the v3 of patch 1/3 (rtsx_usb) has been merged, only diffs are
submitted and splitted into two.
1. rtsx_usb.c: fix possible race conditions:
rtsx_usb_bulk_transfer_sglist(): del_timer() => del_timer_sync()
rtsx_usb_probe(): move setup_timer() before mfd_add_devices() and also
remove unnecessary init_timer()
2. rtsx_usb.c: rtsx_usb_suspend(): add comments to LED turn-off
(Changes only rtsx_usb.c. Other files remain the same to v5)

v7:
1. rtsx_usb_sdmmc: remove unnecessary pm usage balancing during removal
2. rtsx_usb_sdmmc: add Acked-by: Ulf Hansson <ulf.hansson@linaro.org>

Roger Tseng (4):
[v6 fix] mfd/rtsx_usb: fix possible race condition
[v6 fix] mfd/rtsx_usb: add comment in rtsx_usb_suspend
mmc: Add realtek USB sdmmc host driver
memstick: Add realtek USB memstick host driver

drivers/memstick/host/Kconfig | 10 +
drivers/memstick/host/Makefile | 1 +
drivers/memstick/host/rtsx_usb_ms.c | 839 ++++++++++++++++++++
drivers/mfd/rtsx_usb.c | 14 +-
drivers/mmc/host/Kconfig | 7 +
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/rtsx_usb_sdmmc.c | 1455 +++++++++++++++++++++++++++++++++++
7 files changed, 2323 insertions(+), 4 deletions(-)
create mode 100644 drivers/memstick/host/rtsx_usb_ms.c
create mode 100644 drivers/mmc/host/rtsx_usb_sdmmc.c

--
1.8.2