diff options
author | Ulf Hansson <ulf.hansson@linaro.org> | 2018-04-26 04:53:03 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-05-14 16:58:44 -0400 |
commit | 4f688748c958deb947759773be6dffe6b44d084d (patch) | |
tree | f403d602c8e114a33618ba35d36b1ceb22a0de01 | |
parent | b56d9c9135629632faff44cff153784e76b82550 (diff) |
PM / Domains: Check for existing PM domain in dev_pm_domain_attach()
Instead of checking if an existing PM domain pointer has been assigned in
genpd_dev_pm_attach() and acpi_dev_pm_attach(), move the check to the
common path in dev_pm_domain_attach(), thus potentially avoid one
unnecessary check.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/acpi/device_pm.c | 3 | ||||
-rw-r--r-- | drivers/base/power/common.c | 3 | ||||
-rw-r--r-- | drivers/base/power/domain.c | 3 |
3 files changed, 3 insertions, 6 deletions
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c index 3d96e4da2d98..d00630016176 100644 --- a/drivers/acpi/device_pm.c +++ b/drivers/acpi/device_pm.c | |||
@@ -1259,9 +1259,6 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on) | |||
1259 | if (!adev) | 1259 | if (!adev) |
1260 | return -ENODEV; | 1260 | return -ENODEV; |
1261 | 1261 | ||
1262 | if (dev->pm_domain) | ||
1263 | return -EEXIST; | ||
1264 | |||
1265 | /* | 1262 | /* |
1266 | * Only attach the power domain to the first device if the | 1263 | * Only attach the power domain to the first device if the |
1267 | * companion is shared by multiple. This is to prevent doing power | 1264 | * companion is shared by multiple. This is to prevent doing power |
diff --git a/drivers/base/power/common.c b/drivers/base/power/common.c index f6a9ad52cbbf..f3cf61f58f25 100644 --- a/drivers/base/power/common.c +++ b/drivers/base/power/common.c | |||
@@ -104,6 +104,9 @@ int dev_pm_domain_attach(struct device *dev, bool power_on) | |||
104 | { | 104 | { |
105 | int ret; | 105 | int ret; |
106 | 106 | ||
107 | if (dev->pm_domain) | ||
108 | return -EEXIST; | ||
109 | |||
107 | ret = acpi_dev_pm_attach(dev, power_on); | 110 | ret = acpi_dev_pm_attach(dev, power_on); |
108 | if (ret) | 111 | if (ret) |
109 | ret = genpd_dev_pm_attach(dev); | 112 | ret = genpd_dev_pm_attach(dev); |
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index d4b96edb027d..b816adbe1e62 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c | |||
@@ -2194,9 +2194,6 @@ int genpd_dev_pm_attach(struct device *dev) | |||
2194 | if (!dev->of_node) | 2194 | if (!dev->of_node) |
2195 | return -ENODEV; | 2195 | return -ENODEV; |
2196 | 2196 | ||
2197 | if (dev->pm_domain) | ||
2198 | return -EEXIST; | ||
2199 | |||
2200 | ret = of_parse_phandle_with_args(dev->of_node, "power-domains", | 2197 | ret = of_parse_phandle_with_args(dev->of_node, "power-domains", |
2201 | "#power-domain-cells", 0, &pd_args); | 2198 | "#power-domain-cells", 0, &pd_args); |
2202 | if (ret < 0) | 2199 | if (ret < 0) |