提交 77254950 编写于 作者: R Rafael J. Wysocki

PM: Make dev_pm_get_subsys_data() always return 0 on success

Commits 1d5fcfec (PM / Domains: Add device domain data reference
counter) and 62d44902 (PM / Domains: Allow device callbacks to be
added at any time) added checks for the return value of
dev_pm_get_subsys_data(), but those checks were incorrect, because
that function returned 1 on success in some cases.

Since all of the existing users of dev_pm_get_subsys_data() don't use
the positive value returned by it on success, change its definition
so that it always returns 0 when successful.
Reported-by: NHeiko Stübner <heiko@sntech.de>
Reported-by: NTushar Behera <tushar.behera@linaro.org>
Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
上级 d06a8a4f
...@@ -169,8 +169,7 @@ void pm_clk_init(struct device *dev) ...@@ -169,8 +169,7 @@ void pm_clk_init(struct device *dev)
*/ */
int pm_clk_create(struct device *dev) int pm_clk_create(struct device *dev)
{ {
int ret = dev_pm_get_subsys_data(dev); return dev_pm_get_subsys_data(dev);
return ret < 0 ? ret : 0;
} }
/** /**
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
int dev_pm_get_subsys_data(struct device *dev) int dev_pm_get_subsys_data(struct device *dev)
{ {
struct pm_subsys_data *psd; struct pm_subsys_data *psd;
int ret = 0;
psd = kzalloc(sizeof(*psd), GFP_KERNEL); psd = kzalloc(sizeof(*psd), GFP_KERNEL);
if (!psd) if (!psd)
...@@ -40,7 +39,6 @@ int dev_pm_get_subsys_data(struct device *dev) ...@@ -40,7 +39,6 @@ int dev_pm_get_subsys_data(struct device *dev)
dev->power.subsys_data = psd; dev->power.subsys_data = psd;
pm_clk_init(dev); pm_clk_init(dev);
psd = NULL; psd = NULL;
ret = 1;
} }
spin_unlock_irq(&dev->power.lock); spin_unlock_irq(&dev->power.lock);
...@@ -48,7 +46,7 @@ int dev_pm_get_subsys_data(struct device *dev) ...@@ -48,7 +46,7 @@ int dev_pm_get_subsys_data(struct device *dev)
/* kfree() verifies that its argument is nonzero. */ /* kfree() verifies that its argument is nonzero. */
kfree(psd); kfree(psd);
return ret; return 0;
} }
EXPORT_SYMBOL_GPL(dev_pm_get_subsys_data); EXPORT_SYMBOL_GPL(dev_pm_get_subsys_data);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册