diff options
author | Jens Axboe <axboe@fb.com> | 2014-04-15 22:02:24 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-04-15 22:02:24 +0200 |
commit | f89e0dd9d1a72fdf6b8958bcadfa6abf84f3cae0 (patch) | |
tree | 6d4ca8c67dc22d1c81053392078588f9ab3804b5 /drivers/base | |
parent | block: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO (diff) | |
parent | Linux 3.15-rc1 (diff) | |
download | linux-f89e0dd9d1a72fdf6b8958bcadfa6abf84f3cae0.tar.xz linux-f89e0dd9d1a72fdf6b8958bcadfa6abf84f3cae0.zip |
Merge tag 'v3.15-rc1' into for-3.16/core
We don't like this, but things have diverged with the blk-mq fixes
in 3.15-rc1. So merge it in.
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/power/domain.c | 13 | ||||
-rw-r--r-- | drivers/base/regmap/regmap.c | 3 | ||||
-rw-r--r-- | drivers/base/topology.c | 12 |
3 files changed, 23 insertions, 5 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 6f54962aae1d..ae098a261fcd 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -705,6 +705,14 @@ static int pm_genpd_runtime_resume(struct device *dev) return 0; } +static bool pd_ignore_unused; +static int __init pd_ignore_unused_setup(char *__unused) +{ + pd_ignore_unused = true; + return 1; +} +__setup("pd_ignore_unused", pd_ignore_unused_setup); + /** * pm_genpd_poweroff_unused - Power off all PM domains with no devices in use. */ @@ -712,6 +720,11 @@ void pm_genpd_poweroff_unused(void) { struct generic_pm_domain *genpd; + if (pd_ignore_unused) { + pr_warn("genpd: Not disabling unused power domains\n"); + return; + } + mutex_lock(&gpd_list_lock); list_for_each_entry(genpd, &gpd_list, gpd_list_node) diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index d0a072463a04..63e30ef096e2 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -761,10 +761,11 @@ skip_format_initialization: if (ret != 0) goto err_range; - if (dev) + if (dev) { ret = regmap_attach_dev(dev, map, config); if (ret != 0) goto err_regcache; + } return map; diff --git a/drivers/base/topology.c b/drivers/base/topology.c index ad9d17762664..bbcbd3c43926 100644 --- a/drivers/base/topology.c +++ b/drivers/base/topology.c @@ -160,16 +160,20 @@ static int topology_cpu_callback(struct notifier_block *nfb, static int topology_sysfs_init(void) { int cpu; - int rc; + int rc = 0; + + cpu_notifier_register_begin(); for_each_online_cpu(cpu) { rc = topology_add_dev(cpu); if (rc) - return rc; + goto out; } - hotcpu_notifier(topology_cpu_callback, 0); + __hotcpu_notifier(topology_cpu_callback, 0); - return 0; +out: + cpu_notifier_register_done(); + return rc; } device_initcall(topology_sysfs_init); |