• Giuseppe Cavallaro's avatar
    mmc: sdhci: split up sdhci.h for sdhci-pltfm users · 1978fda8
    Giuseppe Cavallaro authored
    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: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
    Reviewed-by: default avatarWolfram Sang <w.sang@pengutronix.de>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    1978fda8
sdhci.h 8.54 KB