[U-Boot] [PATCH] mmc: Poll for broken card detection case
Jaehoon Chung
jh80.chung at samsung.com
Tue Jan 23 02:00:00 UTC 2018
On 01/22/2018 09:21 PM, Jun Nie wrote:
> 2018-01-22 13:03 GMT+08:00 Jaehoon Chung <jh80.chung at samsung.com>:
>> Hi,
>>
>> On 01/02/2018 01:25 PM, Jun Nie wrote:
>>> Poll for broken card detection case instead of return
>>> no card detected.
>>
>> Sorry for late. i didn't see this patch in my mailbox.
>>
>> Does it need to add the new config?
>
> Yes, a new config, CONFIG_MMC_BROKEN_CD is needed for board that does
> not support card detection pin. Not sure whether you mean this.
> Without this config, the logic is not changed so no board is impacted
> by this config.
Right, there is no impacted by this config.
In Kernel, there is "broken-cd" property. So how about using 'broken-cd' property instead of adding config?
Best Regards,
Jaehoon Chung
>
> Jun
>
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>> Signed-off-by: Jun Nie <jun.nie at linaro.org>
>>> ---
>>> drivers/mmc/Kconfig | 5 +++++
>>> drivers/mmc/mmc.c | 4 ++++
>>> 2 files changed, 9 insertions(+)
>>>
>>> diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
>>> index 8fbeaa7..ed194a3 100644
>>> --- a/drivers/mmc/Kconfig
>>> +++ b/drivers/mmc/Kconfig
>>> @@ -10,6 +10,11 @@ config MMC
>>> If you want MMC/SD/SDIO support, you should say Y here and
>>> also to your specific host controller driver.
>>>
>>> +config MMC_BROKEN_CD
>>> + bool "Poll for broken card detection case"
>>> + help
>>> + If card detection feature is broken, just poll to detect.
>>> +
>>> config DM_MMC
>>> bool "Enable MMC controllers using Driver Model"
>>> depends on DM
>>> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
>>> index 38d2e07..13c5bf5 100644
>>> --- a/drivers/mmc/mmc.c
>>> +++ b/drivers/mmc/mmc.c
>>> @@ -1650,8 +1650,12 @@ int mmc_start_init(struct mmc *mmc)
>>> bool no_card;
>>> int err;
>>>
>>> +#if !defined(CONFIG_MMC_BROKEN_CD)
>>> /* we pretend there's no card when init is NULL */
>>> no_card = mmc_getcd(mmc) == 0;
>>> +#else
>>> + no_card = 0;
>>> +#endif
>>> #if !CONFIG_IS_ENABLED(DM_MMC)
>>> no_card = no_card || (mmc->cfg->ops->init == NULL);
>>> #endif
>>>
>>
>
>
>
More information about the U-Boot
mailing list