[GIT PULL] MMC updates for v4.21

From: Ulf Hansson
Date: Thu Dec 27 2018 - 09:32:03 EST


Hi Linus,

Here's the PR with MMC updates for v4.21. Details about the highlights are as
usual found in the signed tag. Please pull this in!

This time, the PR contains changes crossing subsystems/archs/platforms, which
is mainly because of a bigger modernization of moving from legacy GPIO to GPIO
descriptors for MMC (by Linus Walleij). Additionally, again, I am funneling
changes to drivers/misc/cardreader/* and drivers/memstick/*, through my MMC
tree, mostly due to that we lack a maintainer for these. Perhaps, I should
simply volunteer and make that the formal process, let's see.

Happy holidays!

Kind regards
Ulf Hansson


The following changes since commit e3ae3401aa19432ee4943eb0bbc2ec704d07d793:

mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl (2018-12-17 08:59:42 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git tags/mmc-v4.21

for you to fetch changes up to 5215b2e952f3f94d74cac1a59494eb8ac647e216:

mmc: mediatek: Add MMC_CAP_SDIO_IRQ support (2018-12-19 10:16:15 +0100)

----------------------------------------------------------------
MMC core:
- Cleanup BKOPS support
- Introduce MMC_CAP_SYNC_RUNTIME_PM
- slot-gpio: Delete legacy slot GPIO handling

MMC host:
- alcor: Add new mmc host driver for Alcor Micro PCI based cardreader
- bcm2835: Several improvements to better recover from errors
- jz4740: Rework and fixup pre|post_req support
- mediatek: Add support for SDIO IRQs
- meson-gx: Improve clock phase management
- meson-gx: Stop descriptor on errors
- mmci: Complete the sbc error path by sending a stop command
- renesas_sdhi/tmio: Fixup reset/resume operations
- renesas_sdhi: Add support for r8a774c0 and R7S9210
- renesas_sdhi: Whitelist R8A77990 SDHI
- renesas_sdhi: Fixup eMMC HS400 compatibility issues for H3 and M3-W
- rtsx_usb_sdmmc: Re-work card detection/removal support
- rtsx_usb_sdmmc: Re-work runtime PM support
- sdhci: Fix timeout loops for some variant drivers
- sdhci: Improve support for error handling due to failing commands
- sdhci-acpi/pci: Disable LED control for Intel BYT-based controllers
- sdhci_am654: Add new SDHCI variant driver to support TI's AM654 SOCs
- sdhci-of-esdhc: Add support for eMMC HS400 mode
- sdhci-omap: Fixup reset support
- sdhci-omap: Workaround errata regarding SDR104/HS200 tuning failures
- sdhci-msm: Fixup sporadic write transfers issues for SDR104/HS200
- sdhci-msm: Fixup dynamical clock gating issues
- various: Complete converting all hosts into using slot GPIO descriptors

Other:
- Move GPIO mmc platform data for mips/sh/arm to GPIO descriptors
- Add new Alcor Micro cardreader PCI driver
- Support runtime power management for memstick rtsx_usb_ms driver
- Use USB remote wakeups for card detection for rtsx_usb misc driver

----------------------------------------------------------------
A.s. Dong (1):
dt-bindings: mmc: fsl-imx-esdhc: add imx8qxp compatible string

Adrian Hunter (10):
mmc: sdhci: Fix data command CRC error handling
mmc: sdhci: Rename SDHCI_ACMD12_ERR and SDHCI_INT_ACMD12ERR
mmc: sdhci: Handle auto-command errors
mmc: sdhci-pci: Add max-frequency device property for Intel controllers
mmc: sdhci-of-esdhc: Fix timeout checks
mmc: sdhci-omap: Fix timeout checks
mmc: sdhci-xenon: Fix timeout checks
mmc: sdhci: Add quirk to disable LED control
mmc: sdhci-pci: Disable LED control for Intel BYT-based controllers
mmc: sdhci-acpi: Disable LED control for Intel BYT-based controllers

Arnd Bergmann (1):
mmc: sdhci-msm: avoid unused function warning

Biju Das (1):
mmc: renesas_sdhi_internal_dmac: Whitelist r8a774c0

Chris Brandt (2):
mmc: renesas_sdhi_internal_dmac: Add R7S9210 support
dt-bindings: mmc: tmio_mmc: Document Renesas R7S9210

Chunyan Zhang (1):
mmc: sdhci: Convert sdhci_allocate_bounce_buffer() to return void

Colin Ian King (2):
mmc: sdhci-of-esdhc: fix spelling mistake "upsupported" -> "unsupported"
misc: alcor_pci: fix spelling mistake "invailid" -> "invalid"

Evan Green (1):
dt-bindings: mmc: sdhci-msm: Clarify register requirements

Ezequiel Garcia (1):
mmc: jz4740: rework pre_req/post_req implementation

Fabrizio Castro (1):
dt-bindings: mmc: renesas_sdhi: Add r8a774c0 support

Faiz Abbas (7):
mmc: sdhci-omap: Add platform specific reset callback
mmc: sdhci-omap: Remove redundant structure assignments
dt-bindings: mmc: sdhci-am654: Document bindings for the host controllers on TI's AM654 SOCs
dt-bindings: mmc: sdhci-of-arasan: Add deprecated message for AM65
mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver
dt-bindings: sdhci-omap: Add note for cpu_thermal
mmc: sdhci-omap: Workaround errata regarding SDR104/HS200 tuning failures (i929)

Jerome Brunet (4):
mmc: meson-gx: make sure the descriptor is stopped on errors
mmc: meson-gx: remove useless lock
mmc: meson-gx: align default phase on soc vendor tree
mmc: meson-gx: add signal resampling

Jonas Danielsson (1):
mmc: atmel-mci: do not assume idle after atmci_request_end

Kai-Heng Feng (5):
memstick: rtsx_usb_ms: Add missing pm_runtime_disable() in probe function
misc: rtsx_usb: Use USB remote wakeup signaling for card insertion detection
memstick: Prevent memstick host from getting runtime suspended during card detection
memstick: rtsx_usb_ms: Use ms_dev() helper
memstick: rtsx_usb_ms: Support runtime power management

Liming Sun (1):
mmc: dw_mmc-bluefield: simplify the probe() function

Linus Walleij (16):
mmc: slot-gpio: Allocate GPIO labels dynamically
mmc: jz4740: Get CD/WP GPIOs from descriptors
mmc: jz4740: Use GPIO descriptor for power
mmc: sdhci: imx: Use the slot GPIO descriptor
mmc: spi: Convert to use GPIO descriptors
mmc: host: tmio: Use GPIO descriptors
mmc: s3cmci: Use the slot GPIO descriptor
gpio: name PCA953x gpio chips after device name
ARM: pxa: Add gpio descriptor lookup tables for MMC CD/WP
ARM: pxa: Add GPIO descriptors for Palm27x
mmc: pxamci: Support getting GPIO descs for RO and WP
ARM: pxa: Delete platform data for CD/WP
mmc: pxamci: Delete platform data handling of CD and WP
mmc: pxa: Use GPIO descriptor for power
mmc: slot-gpio: Delete legacy GPIO handling
sh: ecovec24: Fix an ifdef

Loic Poulain (1):
mmc: sdhci-msm: Disable CDR function on TX

Ludovic Barre (2):
mmc: mmci: send stop command if sbc error issue
mmc: mmci: add variant property to set command stop bit

Marek Vasut (1):
mmc: renesas_sdhi: Whitelist R8A77990 SDHI

Masaharu Hayakawa (1):
mmc: tmio: delete wait in tuning process

Masahiro Yamada (1):
mmc: sdhci-cadence: include <linux/bits.h> instead of <linux/bitops.h>

Michal Suchanek (1):
mmc: bcm2835: reset host on timeout

Nicholas Mc Guire (1):
mmc: meson-mx-sdio: check devm_kasprintf for failure

Niklas SÃderlund (7):
mmc: renesas_sdhi: remove workaround for HS400 clock
mmc: tmio: enable module clock before resetting when resuming
mmc: tmio: fix reset operation
mmc: renesas_sdhi: add initial setting of interrupt mask register
mmc: renesas_sdhi: handle 4tap hs400 mode quirk based on SoC revision
mmc: renesas_sdhi: align compatibility properties for H3 and M3-W
mmc: renesas_sdhi: disable HS400 on H3 ES1.x and M3-W ES1.[012]

Oleksij Rempel (2):
misc: cardreader: add new Alcor Micro Cardreader PCI driver
mmc: add new Alcor Micro Cardreader SD/MMC driver

Phil Elwell (1):
mmc: bcm2835: Recover from MMC_SEND_EXT_CSD

Stefan Wahren (6):
mmc: bcm2835: Switch to SPDX identifier
mmc: bcm2835: Release DMA channel on driver unload
mmc: bcm2835: Avoid possible races on data requests
mmc: bcm2835: Terminate timeout work synchronously
mmc: bcm2835: Refactor dma_map_sg handling
mmc: bcm2835: Properly handle dmaengine_prep_slave_sg

Ulf Hansson (7):
mmc: core: Introduce MMC_CAP_SYNC_RUNTIME_PM
mmc: rtsx_usb_sdmmc: Don't runtime resume the device while changing led
mmc: rtsx_usb_sdmmc: Re-work runtime PM support
mmc: rtsx_usb_sdmmc: Re-work card detection/removal support
Merge branch 'fixes' into next
mmc: core: Drop redundant check in mmc_send_hpi_cmd()
mmc: core: Cleanup BKOPS support

Veerabhadrarao Badiganti (2):
dt-bindings: mmc: sdhci-msm: Add SoC-specific compatible strings
mmc: sdhci-msm: Re-initialize DLL if MCLK is gated dynamically

Wolfram Sang (3):
mmc: core: remove obsolete mmc_set_blockcount() function
mmc: tmio: introduce mask for 'always 1' bits
mmc: document 'Reliable Write' bit in uapi header

Yangbo Lu (4):
mmc: sdhci-of-esdhc: add hs400 mode support
mmc: sdhci-of-esdhc: add erratum A011334 support
mmc: sdhci-of-esdhc: temporary fixup for eMMC HS400 issue
mmc: sdhci-of-esdhc: workaround for unreliable pulse width detection

Yangtao Li (1):
mmc: convert to DEFINE_SHOW_ATTRIBUTE

Yinbo Zhu (1):
mmc: core: Add ->hs400_prepare_ddr() callback

YueHaibing (2):
mmc: jz4740: Use PTR_ERR_OR_ZERO in jz4740_mmc_request_gpios()
mmc: alcor: remove set but not used variables 'len, clock_out'

jjian zhou (1):
mmc: mediatek: Add MMC_CAP_SDIO_IRQ support

.../devicetree/bindings/mmc/arasan,sdhci.txt | 4 +
.../devicetree/bindings/mmc/fsl-imx-esdhc.txt | 1 +
.../devicetree/bindings/mmc/sdhci-am654.txt | 36 +
.../devicetree/bindings/mmc/sdhci-msm.txt | 23 +-
.../devicetree/bindings/mmc/sdhci-omap.txt | 2 +
Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 4 +-
arch/arm/mach-ep93xx/simone.c | 14 +-
arch/arm/mach-ep93xx/vision_ep9307.c | 17 +-
arch/arm/mach-imx/mach-pcm043.c | 17 +-
arch/arm/mach-pxa/balloon3.c | 3 -
arch/arm/mach-pxa/cm-x270.c | 18 +-
arch/arm/mach-pxa/cm-x300.c | 18 +-
arch/arm/mach-pxa/colibri-evalboard.c | 40 +-
arch/arm/mach-pxa/colibri-pxa270-income.c | 19 +-
arch/arm/mach-pxa/corgi.c | 20 +-
arch/arm/mach-pxa/csb726.c | 19 +-
arch/arm/mach-pxa/em-x270.c | 34 +-
arch/arm/mach-pxa/gumstix.c | 3 -
arch/arm/mach-pxa/idp.c | 3 -
arch/arm/mach-pxa/littleton.c | 18 +-
arch/arm/mach-pxa/lubbock.c | 3 -
arch/arm/mach-pxa/magician.c | 26 +-
arch/arm/mach-pxa/mainstone.c | 3 -
arch/arm/mach-pxa/mioa701.c | 21 +-
arch/arm/mach-pxa/mxm8x10.c | 19 +-
arch/arm/mach-pxa/palm27x.c | 10 +-
arch/arm/mach-pxa/palm27x.h | 8 +-
arch/arm/mach-pxa/palmld.c | 16 +-
arch/arm/mach-pxa/palmt5.c | 16 +-
arch/arm/mach-pxa/palmtc.c | 19 +-
arch/arm/mach-pxa/palmte2.c | 18 +-
arch/arm/mach-pxa/palmtreo.c | 31 +-
arch/arm/mach-pxa/palmtx.c | 16 +-
arch/arm/mach-pxa/palmz72.c | 16 +-
arch/arm/mach-pxa/pcm990-baseboard.c | 3 -
arch/arm/mach-pxa/poodle.c | 15 +-
arch/arm/mach-pxa/raumfeld.c | 3 -
arch/arm/mach-pxa/spitz.c | 16 +-
arch/arm/mach-pxa/stargate2.c | 3 -
arch/arm/mach-pxa/tosa.c | 18 +-
arch/arm/mach-pxa/trizeps4.c | 3 -
arch/arm/mach-pxa/vpac270.c | 16 +-
arch/arm/mach-pxa/z2.c | 14 +-
arch/arm/mach-pxa/zeus.c | 15 +-
arch/arm/mach-pxa/zylonite.c | 57 +-
arch/arm/mach-pxa/zylonite_pxa300.c | 2 +
arch/arm/mach-s3c24xx/mach-at2440evb.c | 14 +-
arch/arm/mach-s3c24xx/mach-h1940.c | 15 +-
arch/arm/mach-s3c24xx/mach-mini2440.c | 15 +-
arch/arm/mach-s3c24xx/mach-n30.c | 15 +-
arch/arm/mach-s3c24xx/mach-rx1950.c | 15 +-
arch/mips/include/asm/mach-jz4740/jz4740_mmc.h | 4 -
arch/mips/jz4740/board-qi_lb60.c | 18 +-
arch/sh/boards/mach-ecovec24/setup.c | 43 +-
drivers/gpio/gpio-pca953x.c | 2 +-
drivers/memstick/core/memstick.c | 3 +
drivers/memstick/host/rtsx_usb_ms.c | 170 +--
drivers/misc/Makefile | 2 +-
drivers/misc/cardreader/Kconfig | 11 +
drivers/misc/cardreader/Makefile | 4 +-
drivers/misc/cardreader/alcor_pci.c | 371 +++++++
drivers/misc/cardreader/rtsx_usb.c | 8 +
drivers/mmc/core/block.c | 2 +-
drivers/mmc/core/card.h | 6 +-
drivers/mmc/core/core.c | 19 +-
drivers/mmc/core/core.h | 2 -
drivers/mmc/core/mmc.c | 9 +-
drivers/mmc/core/mmc_ops.c | 93 +-
drivers/mmc/core/mmc_ops.h | 3 +-
drivers/mmc/core/mmc_test.c | 14 +-
drivers/mmc/core/slot-gpio.c | 97 +-
drivers/mmc/host/Kconfig | 28 +-
drivers/mmc/host/Makefile | 2 +
drivers/mmc/host/alcor.c | 1162 ++++++++++++++++++++
drivers/mmc/host/atmel-mci.c | 34 +-
drivers/mmc/host/bcm2835.c | 71 +-
drivers/mmc/host/dw_mmc-bluefield.c | 11 +-
drivers/mmc/host/jz4740_mmc.c | 202 ++--
drivers/mmc/host/meson-gx-mmc.c | 100 +-
drivers/mmc/host/meson-mx-sdio.c | 6 +
drivers/mmc/host/mmc_spi.c | 27 +-
drivers/mmc/host/mmci.c | 11 +-
drivers/mmc/host/mmci.h | 2 +
drivers/mmc/host/mtk-sd.c | 53 +-
drivers/mmc/host/of_mmc_spi.c | 34 -
drivers/mmc/host/omap_hsmmc.c | 14 +-
drivers/mmc/host/pxamci.c | 68 +-
drivers/mmc/host/renesas_sdhi_core.c | 50 +-
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 28 +-
drivers/mmc/host/renesas_sdhi_sys_dmac.c | 20 +-
drivers/mmc/host/rtsx_usb_sdmmc.c | 44 +-
drivers/mmc/host/s3cmci.c | 59 +-
drivers/mmc/host/sdhci-acpi.c | 7 +-
drivers/mmc/host/sdhci-cadence.c | 2 +-
drivers/mmc/host/sdhci-esdhc-imx.c | 26 +-
drivers/mmc/host/sdhci-esdhc.h | 24 +
drivers/mmc/host/sdhci-msm.c | 126 ++-
drivers/mmc/host/sdhci-of-arasan.c | 46 -
drivers/mmc/host/sdhci-of-esdhc.c | 151 ++-
drivers/mmc/host/sdhci-omap.c | 130 ++-
drivers/mmc/host/sdhci-pci-core.c | 19 +-
drivers/mmc/host/sdhci-xenon-phy.c | 10 +-
drivers/mmc/host/sdhci-xenon.c | 10 +-
drivers/mmc/host/sdhci.c | 106 +-
drivers/mmc/host/sdhci.h | 13 +-
drivers/mmc/host/sdhci_am654.c | 374 +++++++
drivers/mmc/host/tmio_mmc.h | 6 +
drivers/mmc/host/tmio_mmc_core.c | 41 +-
include/linux/alcor_pci.h | 286 +++++
include/linux/mfd/tmio.h | 9 +-
include/linux/mmc/host.h | 5 +-
include/linux/mmc/slot-gpio.h | 5 -
include/linux/platform_data/mmc-esdhc-imx.h | 4 -
include/linux/platform_data/mmc-pxamci.h | 4 -
include/linux/platform_data/mmc-s3cmci.h | 4 -
include/linux/spi/mmc_spi.h | 15 -
include/uapi/linux/mmc/ioctl.h | 5 +-
117 files changed, 4012 insertions(+), 1097 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-am654.txt
create mode 100644 drivers/misc/cardreader/alcor_pci.c
create mode 100644 drivers/mmc/host/alcor.c
create mode 100644 drivers/mmc/host/sdhci_am654.c
create mode 100644 include/linux/alcor_pci.h