Merge branches 'pm-domains' and 'pm-cpufreq'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 4 Dec 2015 13:01:42 +0000 (14:01 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 4 Dec 2015 13:01:42 +0000 (14:01 +0100)
* pm-domains:
  PM / Domains: Fix bad of_node_put() in failure paths of genpd_dev_pm_attach()
  PM / Domains: Validate cases of a non-bound driver in genpd governor

* pm-cpufreq:
  cpufreq: use last policy after online for drivers with ->setpolicy

1  2  3 
drivers/base/power/domain.c

index e03b1ad25a906334078490786dbd1406ac9ca76b,4e3a1f108b9ce2aa1ce049b9909ea5d0d5167741,e03b1ad25a906334078490786dbd1406ac9ca76b..167418e73445a4f69b372f9205f65ca43f525c9d
@@@@ -1352,7 -1352,6 -1352,7 +1352,7 @@@@ int pm_genpd_add_subdomain(struct gener
                kfree(link);
        return ret;
   }
 + EXPORT_SYMBOL_GPL(pm_genpd_add_subdomain);
   
   /**
    * pm_genpd_remove_subdomain - Remove a subdomain from an I/O PM domain.
   
        return ret;
   }
 + EXPORT_SYMBOL_GPL(pm_genpd_remove_subdomain);
   
   /* Default device callbacks for generic PM domains. */
   
@@@@ -1775,10 -1773,10 -1775,10 +1775,10 @@@@ int genpd_dev_pm_attach(struct device *
        }
   
        pd = of_genpd_get_from_provider(&pd_args);
+ +     of_node_put(pd_args.np);
        if (IS_ERR(pd)) {
                dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
                        __func__, PTR_ERR(pd));
- -             of_node_put(dev->of_node);
                return -EPROBE_DEFER;
        }
   
        if (ret < 0) {
                dev_err(dev, "failed to add to PM domain %s: %d",
                        pd->name, ret);
- -             of_node_put(dev->of_node);
                goto out;
        }