lkml.org 
[lkml]   [2017]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 141/152] mmc: sdhci-of-esdhc: remove default broken-cd for ARM
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

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

    From: yangbo lu <yangbo.lu@nxp.com>

    [ Upstream commit e9acc77dd046b22c7ebf70e35f68968978445f8b ]

    Initially all QorIQ platforms were PowerPC architecture and they didn't
    support card detection except several platforms. The driver added the
    quirk SDHCI_QUIRK_BROKEN_CARD_DETECTION as default and this made broken-cd
    property in dts node didn't work. Now QorIQ platform turns to ARM
    architecture and most of them could support card detection. However it's
    a large number of dts trees that need to be fixed with broken-cd if we
    remove the default SDHCI_QUIRK_BROKEN_CARD_DETECTION in driver. And the
    users don't want to see this. So this patch is to remove this default
    quirk just for ARM and keep it for PowerPC.(Note, QorIQ PowerPC platform
    only has big-endian eSDHC while QorIQ ARM platform has big-endian or
    little-endian eSDHC) This makes broken-cd property work again for ARM.

    Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/mmc/host/sdhci-of-esdhc.c | 18 ++++++++++--------
    1 file changed, 10 insertions(+), 8 deletions(-)

    --- a/drivers/mmc/host/sdhci-of-esdhc.c
    +++ b/drivers/mmc/host/sdhci-of-esdhc.c
    @@ -559,16 +559,19 @@ static const struct sdhci_ops sdhci_esdh
    };

    static const struct sdhci_pltfm_data sdhci_esdhc_be_pdata = {
    - .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_BROKEN_CARD_DETECTION
    - | SDHCI_QUIRK_NO_CARD_NO_RESET
    - | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
    + .quirks = ESDHC_DEFAULT_QUIRKS |
    +#ifdef CONFIG_PPC
    + SDHCI_QUIRK_BROKEN_CARD_DETECTION |
    +#endif
    + SDHCI_QUIRK_NO_CARD_NO_RESET |
    + SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
    .ops = &sdhci_esdhc_be_ops,
    };

    static const struct sdhci_pltfm_data sdhci_esdhc_le_pdata = {
    - .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_BROKEN_CARD_DETECTION
    - | SDHCI_QUIRK_NO_CARD_NO_RESET
    - | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
    + .quirks = ESDHC_DEFAULT_QUIRKS |
    + SDHCI_QUIRK_NO_CARD_NO_RESET |
    + SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
    .ops = &sdhci_esdhc_le_ops,
    };

    @@ -623,8 +626,7 @@ static int sdhci_esdhc_probe(struct plat
    of_device_is_compatible(np, "fsl,p5020-esdhc") ||
    of_device_is_compatible(np, "fsl,p4080-esdhc") ||
    of_device_is_compatible(np, "fsl,p1020-esdhc") ||
    - of_device_is_compatible(np, "fsl,t1040-esdhc") ||
    - of_device_is_compatible(np, "fsl,ls1021a-esdhc"))
    + of_device_is_compatible(np, "fsl,t1040-esdhc"))
    host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;

    if (of_device_is_compatible(np, "fsl,ls1021a-esdhc"))

    \
     
     \ /
      Last update: 2017-04-10 19:24    [W:4.168 / U:1.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site