mmc: rtsx_usb_sdmmc: Don't runtime resume the device while changing led
In case the card has been powered off, it seems silly to continue to allow the led to be updated. Instead let's forbid that, as it enables us to prevent runtime resuming the device and thus avoids wasting energy. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
This commit is contained in:
parent
7d5ef51257
commit
4bfdd76dcb
|
@ -1297,14 +1297,18 @@ static void rtsx_usb_update_led(struct work_struct *work)
|
|||
container_of(work, struct rtsx_usb_sdmmc, led_work);
|
||||
struct rtsx_ucr *ucr = host->ucr;
|
||||
|
||||
pm_runtime_get_sync(sdmmc_dev(host));
|
||||
pm_runtime_get_noresume(sdmmc_dev(host));
|
||||
mutex_lock(&ucr->dev_mutex);
|
||||
|
||||
if (host->power_mode == MMC_POWER_OFF)
|
||||
goto out;
|
||||
|
||||
if (host->led.brightness == LED_OFF)
|
||||
rtsx_usb_turn_off_led(ucr);
|
||||
else
|
||||
rtsx_usb_turn_on_led(ucr);
|
||||
|
||||
out:
|
||||
mutex_unlock(&ucr->dev_mutex);
|
||||
pm_runtime_put(sdmmc_dev(host));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue