[PATCH] mmc: core: Added support for LED trigger only when SD card is connected

From: Kwon Tae-young
Date: Thu Jun 24 2021 - 02:14:56 EST


led_trigger_event() is always called.
In this case, if the LED trigger is set to the SD Card, the trigger
will occur even when the SD card is not connected and the LED will blink.

In case of SD Card, it is judged based on Card Detection information and
changes to generate LED trigger only when SD Card is connected.

Board tested: NXP i.MX 8M board

Signed-off-by: Kwon Tae-young <tykwon@xxxxxxxxx>
---
drivers/mmc/core/core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index f194940c5974..b3156f6c5cfa 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -352,7 +352,11 @@ int mmc_start_request(struct mmc_host *host, struct mmc_request *mrq)
if (err)
return err;

- led_trigger_event(host->led, LED_FULL);
+ if (host->ops->get_cd)
+ host->ops->get_cd(host) ? led_trigger_event(host->led, LED_FULL) : NULL;
+ else
+ led_trigger_event(host->led, LED_FULL);
+
__mmc_start_request(host, mrq);

return 0;
--
2.17.1