[U-Boot] [PATCH] mmc: Poll for broken card detection case

Poll for broken card detection case instead of return no card detected.
Signed-off-by: Jun Nie jun.nie@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

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?
Best Regards, Jaehoon Chung
Signed-off-by: Jun Nie jun.nie@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

2018-01-22 13:03 GMT+08:00 Jaehoon Chung jh80.chung@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.
Jun
Best Regards, Jaehoon Chung
Signed-off-by: Jun Nie jun.nie@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

On 01/22/2018 09:21 PM, Jun Nie wrote:
2018-01-22 13:03 GMT+08:00 Jaehoon Chung jh80.chung@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@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

2018-01-23 10:00 GMT+08:00 Jaehoon Chung jh80.chung@samsung.com:
On 01/22/2018 09:21 PM, Jun Nie wrote:
2018-01-22 13:03 GMT+08:00 Jaehoon Chung jh80.chung@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
Some platforms, if not all, do not support DTB in SPL. So a config is better than dt node property.
Jun
Jun
Best Regards, Jaehoon Chung
Signed-off-by: Jun Nie jun.nie@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

On 01/23/2018 12:10 PM, Jun Nie wrote:
2018-01-23 10:00 GMT+08:00 Jaehoon Chung jh80.chung@samsung.com:
On 01/22/2018 09:21 PM, Jun Nie wrote:
2018-01-22 13:03 GMT+08:00 Jaehoon Chung jh80.chung@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
Some platforms, if not all, do not support DTB in SPL. So a config is better than dt node property.
Ok. It make sense...Will apply this patch to u-boot-mmc. Thanks!
Best Regards, Jaehoon Chung
Jun
Jun
Best Regards, Jaehoon Chung
Signed-off-by: Jun Nie jun.nie@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

On 01/23/2018 12:25 PM, Jaehoon Chung wrote:
On 01/23/2018 12:10 PM, Jun Nie wrote:
2018-01-23 10:00 GMT+08:00 Jaehoon Chung jh80.chung@samsung.com:
On 01/22/2018 09:21 PM, Jun Nie wrote:
2018-01-22 13:03 GMT+08:00 Jaehoon Chung jh80.chung@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
Some platforms, if not all, do not support DTB in SPL. So a config is better than dt node property.
Ok. It make sense...Will apply this patch to u-boot-mmc. Thanks!
Applied to u-boot-mmc.
Best Regards, Jaehoon Chung
Best Regards, Jaehoon Chung
Jun
Jun
Best Regards, Jaehoon Chung
Signed-off-by: Jun Nie jun.nie@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
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
participants (2)
-
Jaehoon Chung
-
Jun Nie