diff options
author | Ohad Ben-Cohen <ohad@wizery.com> | 2010-10-02 07:54:10 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2010-10-23 09:11:18 -0400 |
commit | 81968561bd69536c82be7ee654b04c68cd3e1746 (patch) | |
tree | e6a4553cb6ce672d73bf0d9ae1dec50cf64e6ddf /drivers/mmc | |
parent | 80fd933c44557c5261b80f8f8145b4fe071aeaf3 (diff) |
mmc: sdio: enable runtime PM for SDIO cards
Enable runtime PM for new SDIO cards.
As soon as the card will be added to the device tree, runtime PM core
will release its power, since it doesn't have any users yet.
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Tested-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/core/sdio.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c index f17e0e0bd9d1..0dbd6fe66660 100644 --- a/drivers/mmc/core/sdio.c +++ b/drivers/mmc/core/sdio.c | |||
@@ -10,6 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/err.h> | 12 | #include <linux/err.h> |
13 | #include <linux/pm_runtime.h> | ||
13 | 14 | ||
14 | #include <linux/mmc/host.h> | 15 | #include <linux/mmc/host.h> |
15 | #include <linux/mmc/card.h> | 16 | #include <linux/mmc/card.h> |
@@ -708,6 +709,18 @@ int mmc_attach_sdio(struct mmc_host *host, u32 ocr) | |||
708 | card = host->card; | 709 | card = host->card; |
709 | 710 | ||
710 | /* | 711 | /* |
712 | * Let runtime PM core know our card is active | ||
713 | */ | ||
714 | err = pm_runtime_set_active(&card->dev); | ||
715 | if (err) | ||
716 | goto remove; | ||
717 | |||
718 | /* | ||
719 | * Enable runtime PM for this card | ||
720 | */ | ||
721 | pm_runtime_enable(&card->dev); | ||
722 | |||
723 | /* | ||
711 | * The number of functions on the card is encoded inside | 724 | * The number of functions on the card is encoded inside |
712 | * the ocr. | 725 | * the ocr. |
713 | */ | 726 | */ |