diff options
Diffstat (limited to 'drivers/regulator/gpio-regulator.c')
| -rw-r--r-- | drivers/regulator/gpio-regulator.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/regulator/gpio-regulator.c b/drivers/regulator/gpio-regulator.c index 75bd53445ba7..6351ceefdb3e 100644 --- a/drivers/regulator/gpio-regulator.c +++ b/drivers/regulator/gpio-regulator.c @@ -260,8 +260,10 @@ static int gpio_regulator_probe(struct platform_device *pdev)  		return -ENOMEM;  	} -	drvdata->gpiods = devm_kzalloc(dev, sizeof(struct gpio_desc *), -				       GFP_KERNEL); +	drvdata->gpiods = devm_kcalloc(dev, config->ngpios, +				       sizeof(struct gpio_desc *), GFP_KERNEL); +	if (!drvdata->gpiods) +		return -ENOMEM;  	if (config->input_supply) {  		drvdata->desc.supply_name = devm_kstrdup(&pdev->dev, @@ -274,8 +276,6 @@ static int gpio_regulator_probe(struct platform_device *pdev)  		}  	} -	if (!drvdata->gpiods) -		return -ENOMEM;  	for (i = 0; i < config->ngpios; i++) {  		drvdata->gpiods[i] = devm_gpiod_get_index(dev,  							  NULL,  | 
