From 21cc84f2e97569e4a9f9dee30ef82a2ceed8c5ba Mon Sep 17 00:00:00 2001 From: Ohad Ben-Cohen Date: Sat, 2 Oct 2010 13:54:09 +0200 Subject: [PATCH] --- yaml --- r: 219008 b: refs/heads/master c: 80fd933c44557c5261b80f8f8145b4fe071aeaf3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/mmc/core/sdio_bus.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0df482bb669b..d162ee31f24e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 516d5ccdc61178b9701af1adfa86a306d51fbad2 +refs/heads/master: 80fd933c44557c5261b80f8f8145b4fe071aeaf3 diff --git a/trunk/drivers/mmc/core/sdio_bus.c b/trunk/drivers/mmc/core/sdio_bus.c index 4a890dcb95ab..256a968774a0 100644 --- a/trunk/drivers/mmc/core/sdio_bus.c +++ b/trunk/drivers/mmc/core/sdio_bus.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -154,6 +155,24 @@ static int sdio_bus_remove(struct device *dev) return 0; } +#ifdef CONFIG_PM_RUNTIME + +static const struct dev_pm_ops sdio_bus_pm_ops = { + SET_RUNTIME_PM_OPS( + pm_generic_runtime_suspend, + pm_generic_runtime_resume, + pm_generic_runtime_idle + ) +}; + +#define SDIO_PM_OPS_PTR (&sdio_bus_pm_ops) + +#else /* !CONFIG_PM_RUNTIME */ + +#define SDIO_PM_OPS_PTR NULL + +#endif /* !CONFIG_PM_RUNTIME */ + static struct bus_type sdio_bus_type = { .name = "sdio", .dev_attrs = sdio_dev_attrs, @@ -161,6 +180,7 @@ static struct bus_type sdio_bus_type = { .uevent = sdio_bus_uevent, .probe = sdio_bus_probe, .remove = sdio_bus_remove, + .pm = SDIO_PM_OPS_PTR, }; int sdio_register_bus(void)