summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/fixed.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-27 20:47:03 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-27 20:47:03 +0100
commitae523fc5744e5fbe52e2fb790801ffcef51e4612 (patch)
treea40b8071fdbb6a945c3791f03798a2bfe96d7e11 /drivers/regulator/fixed.c
parentMerge remote-tracking branch 'regulator/topic/dt' into regulator-next (diff)
parentregulator: Avoid potential NULL dereference in reg_fixed_voltage_probe() (diff)
downloadlinux-ae523fc5744e5fbe52e2fb790801ffcef51e4612.tar.xz
linux-ae523fc5744e5fbe52e2fb790801ffcef51e4612.zip
Merge remote-tracking branch 'regulator/topic/dt' into regulator-next
Diffstat (limited to 'drivers/regulator/fixed.c')
-rw-r--r--drivers/regulator/fixed.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
index 6828dce72371..72abbf5507a6 100644
--- a/drivers/regulator/fixed.c
+++ b/drivers/regulator/fixed.c
@@ -163,12 +163,17 @@ static struct regulator_ops fixed_voltage_ops = {
static int __devinit reg_fixed_voltage_probe(struct platform_device *pdev)
{
- struct fixed_voltage_config *config = pdev->dev.platform_data;
+ struct fixed_voltage_config *config;
struct fixed_voltage_data *drvdata;
int ret;
if (pdev->dev.of_node)
config = of_get_fixed_voltage_config(&pdev->dev);
+ else
+ config = pdev->dev.platform_data;
+
+ if (!config)
+ return -ENOMEM;
drvdata = kzalloc(sizeof(struct fixed_voltage_data), GFP_KERNEL);
if (drvdata == NULL) {