On 26/12/16 11:40, Yangbo Lu wrote: > 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@xxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> > --- > drivers/mmc/host/sdhci-of-esdhc.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c > index 9a6eb44..364f6b8 100644 > --- a/drivers/mmc/host/sdhci-of-esdhc.c > +++ b/drivers/mmc/host/sdhci-of-esdhc.c > @@ -569,16 +569,19 @@ static const struct sdhci_ops sdhci_esdhc_le_ops = { > }; > > 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, > }; > > @@ -643,8 +646,7 @@ static int sdhci_esdhc_probe(struct platform_device *pdev) > 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")) > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html