提交 458f8c89 编写于 作者: L Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
  mc13783-regulator: fix a memory leak in mc13783_regulator_remove
  regulator: Let drivers know when they use the stub API
...@@ -618,9 +618,12 @@ static int __devexit mc13783_regulator_remove(struct platform_device *pdev) ...@@ -618,9 +618,12 @@ static int __devexit mc13783_regulator_remove(struct platform_device *pdev)
dev_get_platdata(&pdev->dev); dev_get_platdata(&pdev->dev);
int i; int i;
platform_set_drvdata(pdev, NULL);
for (i = 0; i < pdata->num_regulators; i++) for (i = 0; i < pdata->num_regulators; i++)
regulator_unregister(priv->regulators[i]); regulator_unregister(priv->regulators[i]);
kfree(priv);
return 0; return 0;
} }
......
...@@ -183,9 +183,13 @@ static inline struct regulator *__must_check regulator_get(struct device *dev, ...@@ -183,9 +183,13 @@ static inline struct regulator *__must_check regulator_get(struct device *dev,
{ {
/* Nothing except the stubbed out regulator API should be /* Nothing except the stubbed out regulator API should be
* looking at the value except to check if it is an error * looking at the value except to check if it is an error
* value so the actual return value doesn't matter. * value. Drivers are free to handle NULL specifically by
* skipping all regulator API calls, but they don't have to.
* Drivers which don't, should make sure they properly handle
* corner cases of the API, such as regulator_get_voltage()
* returning 0.
*/ */
return (struct regulator *)id; return NULL;
} }
static inline void regulator_put(struct regulator *regulator) static inline void regulator_put(struct regulator *regulator)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册