linux/drivers/mmc/host
Ulf Hansson 55df329207 mmc: sdhci: Restore behavior while creating OCR mask
commit 5fd26c7ecb upstream.

Commit 3a48edc4bd ("mmc: sdhci: Use mmc core regulator infrastucture")
changed the behavior for how to assign the ocr_avail mask for the mmc
host. More precisely it started to mask the bits instead of assigning
them.

Restore the behavior, but also make it clear that an OCR mask created
from an external regulator overrides the other ones. The OCR mask is
determined by one of the following with this priority:

1. Supported ranges of external regulator if one supplies VDD
2. Host OCR mask if set by the driver (based on DT properties)
3. The capabilities reported by the controller itself

Fixes: 3a48edc4bd ("mmc: sdhci: Use mmc core regulator infrastucture")
Cc: Tim Kryger <tim.kryger@gmail.com>
Reported-by: Yangbo Lu <yangbo.lu@freescale.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Tim Kryger <tim.kryger@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-08-03 09:29:15 -07:00
..
android-goldfish.c mmc: remove unnecessary platform_set_drvdata() 2013-05-26 14:23:23 -04:00
atmel-mci-regs.h mmc: atmel-mci: use endian agnostic IO 2015-03-25 09:46:18 +01:00
atmel-mci.c mmc: atmel-mci: fix bad variable type for clkdiv 2015-05-18 09:04:42 +02:00
au1xmmc.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
bfin_sdh.c mmc: bfin_sdh: Move away from using deprecated APIs 2013-10-30 20:26:36 -04:00
cb710-mmc.c mmc: cb710: Move away from using deprecated APIs 2013-10-30 20:26:37 -04:00
cb710-mmc.h mmc: host: use platform_{get,set}_drvdata() 2013-06-27 11:13:02 -04:00
davinci_mmc.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
dw_mmc-exynos.c mmc: dw_mmc: exynos: dw_mci_exynos_prepare_hs400_tuning() can be static 2015-03-23 14:13:38 +01:00
dw_mmc-exynos.h mmc: dw_mmc: exynos: Support eMMC's HS400 mode 2015-03-23 14:13:28 +01:00
dw_mmc-k3.c mmc: dw_mmc: fix possible build error 2014-03-03 14:00:56 -05:00
dw_mmc-pci.c mmc: dw_mmc-pci: Remove superflous #else condition on CONFIG_PM_SLEEP 2014-09-09 13:59:05 +02:00
dw_mmc-pltfm.c mmc: dw_mmc: Add support for IMG Pistachio 2014-11-26 14:31:03 +01:00
dw_mmc-pltfm.h mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
dw_mmc-rockchip.c mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability 2015-03-23 14:13:28 +01:00
dw_mmc.c mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE 2015-05-08 08:55:47 +02:00
dw_mmc.h mmc: dw_mmc: fix fifo ordering in big endian 2015-04-09 09:08:15 +02:00
jz4740_mmc.c mmc: remove .owner field for drivers using module_platform_driver 2014-09-09 13:59:04 +02:00
Kconfig ARM: SoC cleanups for v4.1 2015-04-22 09:04:39 -07:00
Makefile ARM: SoC cleanups for v4.1 2015-04-22 09:04:39 -07:00
mmc_spi.c mmc: constify of_device_id array 2015-03-23 14:13:49 +01:00
mmci.c mmc: mmci: Cascade EPROBE_DEFER from regulators. 2015-03-25 09:46:35 +01:00
mmci.h mmc: mmci: Add Qcom specific rx_fifocnt logic. 2014-07-09 11:25:57 +02:00
mmci_qcom_dml.c mmc: mmci: Add qcom dml support to the driver. 2014-09-09 13:58:46 +02:00
mmci_qcom_dml.h mmc: mmci: Add qcom dml support to the driver. 2014-09-09 13:58:46 +02:00
moxart-mmc.c mmc: moxart: fix probe logic 2015-02-04 09:42:29 +01:00
mvsdio.c mmc: mvsdio: don't use devm_pinctrl_get_select_default() in probe 2015-01-19 09:56:21 +01:00
mvsdio.h mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mxcmmc.c powerpc: Remove arch specific byteswappers from the MXC MMC driver 2015-03-24 13:33:50 +11:00
mxs-mmc.c mmc: mxs-mmc: remove unneeded NULL check 2015-01-19 09:56:10 +01:00
of_mmc_spi.c mmc: mmc_spi: Support CD/RO GPIOs 2013-08-24 23:45:22 -04:00
omap.c mmc: remove .owner field for drivers using module_platform_driver 2014-09-09 13:59:04 +02:00
omap_hsmmc.c mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin 2015-03-31 16:50:44 +02:00
pxamci.c mmc: pxamci: prepare and unprepare the clocks 2014-09-09 13:59:24 +02:00
pxamci.h [ARM] pxa: mmc: add 1st host controller support for pxa3xx 2008-01-26 15:07:53 +00:00
rtsx_pci_sdmmc.c mmc: rtsx: check sg_count before long data xfer 2015-01-21 13:58:44 +01:00
rtsx_usb_sdmmc.c mmc: rtsx_pci: Set power related cap2 macros 2014-09-24 11:20:16 +02:00
s3cmci.c mmc: Convert pr_warning to pr_warn 2014-09-24 10:13:09 +02:00
s3cmci.h mmc: s3cmci: port DMA code to dmaengine API 2014-07-09 11:26:13 +02:00
sdhci-acpi.c mmc: sdhci: Remove the sdhci exported header file 2015-03-23 14:13:45 +01:00
sdhci-bcm-kona.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-bcm2835.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-cns3xxx.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-dove.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: Call mmc_of_parse() 2015-04-09 09:14:41 +02:00
sdhci-esdhc.h mmc: sdhci: convert sdhci_set_clock() into a library function 2014-05-22 07:26:32 -04:00
sdhci-iproc.c mmc: sdhci-iproc: fix oops in sdhci_iproc_writew 2015-03-23 14:13:47 +01:00
sdhci-msm.c mmc: sdhci-msm: Add support for vendor capabilities registers 2015-03-25 09:46:36 +01:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Call OF parsing for MMC 2015-04-08 12:05:11 +02:00
sdhci-of-esdhc.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-of-hlwd.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-pci-data.c mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: Fix Dell E5440 issue 2014-11-10 12:40:25 +01:00
sdhci-pci-o2micro.h mmc: sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support 2014-05-22 08:40:44 -04:00
sdhci-pci.c mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx 2015-04-08 11:55:19 +02:00
sdhci-pci.h mmc: sdhci-pci: Add support for Intel SPT 2015-01-12 10:14:58 +01:00
sdhci-pltfm.c mmc: sdhci-pltfm: remove the unneeded check of disabled device 2015-03-23 14:13:44 +01:00
sdhci-pltfm.h mmc: sdhci-pltfm: export pltfm suspend/resume api 2014-01-13 12:48:06 -05:00
sdhci-pxav2.c mmc: sdhci-pxav2: Drop unused struct sdhci_pxa 2014-11-10 12:40:30 +01:00
sdhci-pxav3.c mmc: sdhci-pxav3: Modify clock settings for the SDR50 and DDR50 modes 2015-01-29 13:08:46 +01:00
sdhci-s3c-regs.h mmc: sdhci-s3c: remove platform dependencies 2013-04-19 13:51:23 +02:00
sdhci-s3c.c mmc: sdhci-s3c: solve problem with sleeping in atomic context 2015-02-04 13:39:14 +01:00
sdhci-sirf.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-spear.c mmc: sdhci-spear: Remove exported header 2015-03-23 14:13:46 +01:00
sdhci-st.c mmc: sdhci-st: Update the quirks for this controller. 2015-04-10 12:55:40 +02:00
sdhci-tegra.c mmc: sdhci-tegra: convert to use GPIO descriptors 2015-04-01 12:56:07 +02:00
sdhci.c mmc: sdhci: Restore behavior while creating OCR mask 2015-08-03 09:29:15 -07:00
sdhci.h mmc: sdhci: Remove the sdhci exported header file 2015-03-23 14:13:45 +01:00
sdhci_f_sdh30.c mmc: sdhci: host: fix odd_ptr_err.cocci warnings 2015-01-21 12:33:43 +01:00
sdricoh_cs.c mmc: sdricoh_cs: Move away from using deprecated APIs 2013-10-30 20:28:32 -04:00
sh_mmcif.c mmc: sh_mmcif: Fix timeout value for command request 2015-05-06 11:58:33 +02:00
sh_mobile_sdhi.c mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info 2015-03-05 21:54:26 +05:30
sunxi-mmc.c mmc: sunxi: add MMC_CAP_SDIO_IRQ capability 2015-03-23 14:13:47 +01:00
tifm_sd.c mmc: Convert pr_warning to pr_warn 2014-09-24 10:13:09 +02:00
tmio_mmc.c mmc: tmio: tmio_mmc_host has .bus_shift 2015-01-20 10:22:48 +01:00
tmio_mmc.h mmc: tmio: mmc: tmio: tmio_mmc_data has .chan_priv_?x 2015-03-05 21:54:17 +05:30
tmio_mmc_dma.c mmc: tmio: mmc: tmio: tmio_mmc_data has .chan_priv_?x 2015-03-05 21:54:17 +05:30
tmio_mmc_pio.c mmc: tmio: Remove bogus un-initialization in tmio_mmc_host_free() 2015-03-23 14:13:38 +01:00
toshsd.c mmc: toshsd: Fix unbalanced locking 2015-01-19 09:56:07 +01:00
toshsd.h mmc: add Toshiba PCI SD controller driver 2014-11-26 14:30:58 +01:00
usdhi6rol0.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
ushc.c mmc: ushc: Fix incorrect parameter in sizeof 2014-02-25 15:42:20 -05:00
via-sdmmc.c mmc: via-sdmmc: Move away from using deprecated APIs 2013-10-30 20:28:36 -04:00
vub300.c mmc: vub300: remove unreachable return value handling 2015-01-21 12:02:05 +01:00
wbsd.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
wbsd.h mmc: update header file paths 2007-07-26 01:53:31 +02:00
wmt-sdmmc.c mmc: constify of_device_id array 2015-03-23 14:13:49 +01:00