android_kernel_xiaomi_sm8350/drivers/mmc/host
Giuseppe Cavallaro 1978fda85d mmc: sdhci: split up sdhci.h for sdhci-pltfm users
Some platforms based on sdhci-pltfm need to set their own quirks.
Previously to this patch, the quirks were in drivers/mmc/host/sdhci.h.

This patch splits drivers/mmc/host/sdhci.h into two parts:

* drivers/mmc/host/sdhci.h  includes the HC registers and I/O accessors.
* include/linux/mmc/sdhci.h includes the sdhci structure and quirks.

Instead of including drivers/mmc/host/sdhci.h, -pltfm drivers should
now include include/linux/mmc/sdhci.h and include/linux/sdhci-pltfm.h.

This patch avoids adding/changing the calls/flags in the
sdhci_pltfm_data structure.  It has been tested on STM platforms
(e.g. STx7106, STx7108, STx5206) where the driver is configured
and used as shown in the example below:

[snip]
static int mmc_pad_resources(struct sdhci_host *sdhci)
{
	if (!devm_stm_pad_claim(sdhci->mmc->parent,
				&stx7108_mmc_pad_config,
				dev_name(sdhci->mmc->parent)))
		return -ENODEV;

	return 0;
}

static struct sdhci_pltfm_data stx7108_mmc_platform_data = {
	.init = mmc_pad_resources,
	.quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
};

static struct platform_device stx7108_mmc_device = {
	.name = "sdhci",
[snip]

Note: drivers/mmc/host/sdhci.h now also includes linux/mmc/sdhci.h,
and no modifications should be needed on other sdhci-<XXX> drivers.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
2010-10-23 21:11:17 +08:00
..
at91_mci.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
atmel-mci-regs.h
atmel-mci.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
au1xmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
bfin_sdh.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
cb710-mmc.c mmc: remove the "state" argument to mmc_suspend_host() 2010-05-27 09:12:40 -07:00
cb710-mmc.h
davinci_mmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
imxmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
imxmmc.h
jz4740_mmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
Kconfig mmc: USB SD Host Controller (USHC) driver 2010-10-23 21:11:11 +08:00
Makefile mmc: Makefile: Fix EXTRA_CFLAGS assignment 2010-10-23 21:11:15 +08:00
mmc_spi.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
mmci.c mmc: Move regulator handling closer to core 2010-10-23 21:11:16 +08:00
mmci.h ARM: 6437/2: mmci: add some register defines for ST Micro variants 2010-10-11 22:54:34 +01:00
msm_sdcc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
msm_sdcc.h Merge branch 'msm-core' of git://codeaurora.org/quic/kernel/dwalker/linux-msm 2010-08-12 10:07:32 -07:00
mvsdio.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
mvsdio.h
mxcmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
of_mmc_spi.c
omap_hsmmc.c mmc: Move regulator handling closer to core 2010-10-23 21:11:16 +08:00
omap.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
pxamci.c mmc: Move regulator handling closer to core 2010-10-23 21:11:16 +08:00
pxamci.h
s3cmci.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
s3cmci.h
sdhci-cns3xxx.c sdhci-pltfm: add support for CNS3xxx SoC devices 2010-08-11 08:59:03 -07:00
sdhci-of-core.c Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-12 09:11:31 -07:00
sdhci-of-esdhc.c sdhci: build fix: rename SDHCI I/O accessor functions 2010-05-27 09:12:40 -07:00
sdhci-of-hlwd.c sdhci: build fix: rename SDHCI I/O accessor functions 2010-05-27 09:12:40 -07:00
sdhci-of.h
sdhci-pci.c mmc: add ricoh e822 pci id 2010-08-11 08:59:05 -07:00
sdhci-pltfm.c mmc: sdhci-pltfm: add suspend/resume functions 2010-10-23 21:11:17 +08:00
sdhci-pltfm.h sdhci-pltfm: add support for CNS3xxx SoC devices 2010-08-11 08:59:03 -07:00
sdhci-s3c.c mmc: sdhci-s3c: fix NULL ptr access in sdhci_s3c_remove 2010-09-26 16:27:05 -04:00
sdhci-spear.c sdhci-spear: ST SPEAr based SDHCI controller glue 2010-05-27 09:12:40 -07:00
sdhci.c mmc: sdhci: fix "pwr may be used uninitialized" warning 2010-10-23 21:11:17 +08:00
sdhci.h mmc: sdhci: split up sdhci.h for sdhci-pltfm users 2010-10-23 21:11:17 +08:00
sdricoh_cs.c pcmcia: move driver name to struct pcmcia_driver 2010-09-29 17:20:24 +02:00
sh_mmcif.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
tifm_sd.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
tmio_mmc.c mmc: fix the use of kunmap_atomic() in tmio_mmc.h 2010-09-09 18:57:23 -07:00
tmio_mmc.h mmc: fix the use of kunmap_atomic() in tmio_mmc.h 2010-09-09 18:57:23 -07:00
ushc.c mmc: USB SD Host Controller (USHC) driver 2010-10-23 21:11:11 +08:00
via-sdmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
wbsd.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
wbsd.h