[RFC PATCH 07/21] mmc: sdhci-pxav3: consolidate parsing path

Shawn Lin shawn.lin at rock-chips.com
Tue Jan 26 22:17:11 PST 2016


Hi Jisheng,

On 2016/1/27 13:44, Jisheng Zhang wrote:
> Hi Shawn,
>
> On Wed, 27 Jan 2016 13:07:36 +0800 Shawn Lin wrote:
>
>> This patch remove mmc_of_parse and check return value
>> of sdhci_get_of_property.
>>
>> Cc: Jisheng Zhang <jszhang at marvell.com>
>> Cc: Gregory CLEMENT <gregory.clement at free-electrons.com>
>> Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com>
>
> Reviewed-by: Jisheng Zhang <jszhang at marvell.com>
>
>
> But I have some comments to your patch10:
>
>> SDHCI_QUIRK_BROKEN_CARD_DETECTION is for "broken-cd".
>> If we add MMC_CAP_NONREMOVABLE("non-removeble"), we shoud
>> not add "broken-cd" together according to mmc.txt for
>> dt-bingdings. Also, "broken-cd" can obtain from mmc_of_parse,
>> which will add MMC_CAP_NEEDS_POLL into mmc->caps.
>
> The problem is non-dt platforms which need the broken cd quirk don't have
> chance to set MMC_CAP_NEEDS_POLL in driver, unless we explicitly do so
> in driver. But then, the driver only need to do so on some platforms but
> not always.
>

Thanks for sharing your thought. That is indeed a historical baggage
to improve sdhci. So, it needs to check each platform case by case.
Let's wait more feedback untile I decide how to respin the patchset. :)

> Thanks,
> Jisheng
>
>
>> ---
>>
>>   drivers/mmc/host/sdhci-pxav3.c | 4 +---
>>   1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
>> index f5edf9d..06eda25 100644
>> --- a/drivers/mmc/host/sdhci-pxav3.c
>> +++ b/drivers/mmc/host/sdhci-pxav3.c
>> @@ -410,10 +410,8 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
>>
>>   	match = of_match_device(of_match_ptr(sdhci_pxav3_of_match), &pdev->dev);
>>   	if (match) {
>> -		ret = mmc_of_parse(host->mmc);
>> -		if (ret)
>> +		ret = sdhci_get_of_property(pdev);
>>   			goto err_of_parse;
>> -		sdhci_get_of_property(pdev);
>>   		pdata = pxav3_get_mmc_pdata(dev);
>>   		pdev->dev.platform_data = pdata;
>>   	} else if (pdata) {
>
>
>
>


-- 
Best Regards
Shawn Lin




More information about the linux-rpi-kernel mailing list