]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
PM / domains: Remove dev_irq_safe from genpd config
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 3 Sep 2014 10:52:22 +0000 (12:52 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 8 Sep 2014 22:46:11 +0000 (00:46 +0200)
The genpd dev_irq_safe configuration somewhat overlaps with the runtime
PM pm_runtime_irq_safe() option. Also, currently genpd don't have a
good way to deal with these device. So, until we figured out if and how
to support this in genpd, let's remove the option to configure it.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/domain.c
include/linux/pm_domain.h

index e777609ccc77d1f3e0a35bb3c1989f15918d21ea..4298a2bcd22832d8cb98c287e3ac0df7de33f04f 100644 (file)
@@ -615,8 +615,6 @@ static int pm_genpd_runtime_suspend(struct device *dev)
        if (IS_ERR(genpd))
                return -EINVAL;
 
-       might_sleep_if(!genpd->dev_irq_safe);
-
        stop_ok = genpd->gov ? genpd->gov->stop_ok : NULL;
        if (stop_ok && !stop_ok(dev))
                return -EBUSY;
@@ -661,8 +659,6 @@ static int pm_genpd_runtime_resume(struct device *dev)
        if (IS_ERR(genpd))
                return -EINVAL;
 
-       might_sleep_if(!genpd->dev_irq_safe);
-
        /* If power.irq_safe, the PM domain is never powered off. */
        if (dev->power.irq_safe)
                return genpd_start_dev_no_timing(genpd, dev);
index b6343d4b9b046c38623b83032bd4281a0c640cc3..360c94ceeebbf87031a6ae5435cc77e79b4c79ec 100644 (file)
@@ -63,7 +63,6 @@ struct generic_pm_domain {
        unsigned int suspended_count;   /* System suspend device counter */
        unsigned int prepared_count;    /* Suspend counter of prepared devices */
        bool suspend_power_off; /* Power status before system suspend */
-       bool dev_irq_safe;      /* Device callbacks are IRQ-safe */
        int (*power_off)(struct generic_pm_domain *domain);
        s64 power_off_latency_ns;
        int (*power_on)(struct generic_pm_domain *domain);