mmc: sdhci: split up sdhci.h for sdhci-pltfm users
authorGiuseppe Cavallaro <peppe.cavallaro@st.com>
Tue, 28 Sep 2010 08:41:29 +0000 (10:41 +0200)
committerChris Ball <cjb@laptop.org>
Sat, 23 Oct 2010 13:11:17 +0000 (21:11 +0800)
commit1978fda85dfdb53623dddb4ec126163a61ab3933
tree8d49006a8b6740819d215b1b5bf9a46fec8a943e
parent8364248a829d50495a796e7561aaf9a6976f846c
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>
drivers/mmc/host/sdhci.h
include/linux/mmc/sdhci.h [new file with mode: 0644]