Hi Shawn, Comments below.
> -----Original Message----- > From: Shawn Lin [mailto:[email protected]] > Sent: Wednesday, January 27, 2016 1:09 PM > To: Ulf Hansson <[email protected]> > Cc: [email protected]; linux-rpi- > [email protected]; [email protected]; linux- > [email protected]; Shawn Lin <[email protected]>; Dong > Aisheng <[email protected]>; Haibo Chen > <[email protected]> > Subject: [RFC PATCH 14/21] mmc: sdhci-esdhc-imx: remove > SDHCI_QUIRK_BROKEN_CARD_DETECTION > > sdhci_esdhc_imx_pdata need SDHCI_QUIRK_BROKEN_CARD_DETECTION, > so we replace it with MMC_CAP_NEEDS_POLL while probing. For other cases, > we directly remove SDHCI_QUIRK_BROKEN_CARD_DETECTION. > > Cc: Dong Aisheng <[email protected]> > Cc: Haibo Chen <[email protected]> > Signed-off-by: Shawn Lin <[email protected]> > --- > > drivers/mmc/host/sdhci-esdhc-imx.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci- > esdhc-imx.c > index f25f292..5705be1 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -952,8 +952,7 @@ static struct sdhci_ops sdhci_esdhc_ops = { static const > struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = { > .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_NO_HISPD_BIT > | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC > - | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC > - | SDHCI_QUIRK_BROKEN_CARD_DETECTION, > + | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC, > .ops = &sdhci_esdhc_ops, > }; > > @@ -1012,7 +1011,7 @@ sdhci_esdhc_imx_probe_dt(struct platform_device > *pdev, > return ret; > > if (!IS_ERR_VALUE(mmc_gpio_get_cd(host->mmc))) > - host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION; > + host->mmc->caps &= MMC_CAP_NEEDS_POLL; You miss ' ~', seems you need to change to: host->mmc->caps &=~ MMC_CAP_NEEDS_POLL; > > return 0; > } > @@ -1064,7 +1063,7 @@ static int sdhci_esdhc_imx_probe_nondt(struct > platform_device *pdev, > > case ESDHC_CD_CONTROLLER: > /* we have a working card_detect back */ > - host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION; > + host->mmc->caps &= MMC_CAP_NEEDS_POLL; The same issue. > break; > > case ESDHC_CD_PERMANENT: > @@ -1104,6 +1103,8 @@ static int sdhci_esdhc_imx_probe(struct > platform_device *pdev) > if (IS_ERR(host)) > return PTR_ERR(host); > > + host->mmc->caps |= MMC_CAP_NEEDS_POLL; > + > pltfm_host = sdhci_priv(host); > > imx_data = devm_kzalloc(&pdev->dev, sizeof(*imx_data), > GFP_KERNEL); > -- > 2.3.7 >

