lkml.org 
[lkml]   [2016]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 143/342] mmc: sdhci: Allow override of mmc host operations
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Adrian Hunter <adrian.hunter@intel.com>

    commit bf60e592a1af4d6f65dd54593250183f14360eed upstream.

    In the past, fixes for specific hardware devices were implemented
    in sdhci using quirks. That approach is no longer accepted because
    the growing number of quirks was starting to make the code difficult
    to understand and maintain.

    One alternative to quirks, is to allow drivers to override the default
    mmc host operations. This patch makes it easy to do that, and it is
    needed for a subsequent bug fix, for which separate patches are
    provided.

    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/mmc/host/sdhci.c | 3 ++-
    drivers/mmc/host/sdhci.h | 1 +
    2 files changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/mmc/host/sdhci.c
    +++ b/drivers/mmc/host/sdhci.c
    @@ -2864,6 +2864,8 @@ struct sdhci_host *sdhci_alloc_host(stru

    host = mmc_priv(mmc);
    host->mmc = mmc;
    + host->mmc_host_ops = sdhci_ops;
    + mmc->ops = &host->mmc_host_ops;

    return host;
    }
    @@ -3060,7 +3062,6 @@ int sdhci_add_host(struct sdhci_host *ho
    /*
    * Set host parameters.
    */
    - mmc->ops = &sdhci_ops;
    max_clk = host->max_clk;

    if (host->ops->get_min_clock)
    --- a/drivers/mmc/host/sdhci.h
    +++ b/drivers/mmc/host/sdhci.h
    @@ -425,6 +425,7 @@ struct sdhci_host {

    /* Internal data */
    struct mmc_host *mmc; /* MMC structure */
    + struct mmc_host_ops mmc_host_ops; /* MMC host ops */
    u64 dma_mask; /* custom DMA mask */

    #if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
    \
     
     \ /
      Last update: 2016-03-02 01:21    [W:2.316 / U:0.684 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site