diff options
Diffstat (limited to 'drivers/leds/leds-atmel-pwm.c')
| -rw-r--r-- | drivers/leds/leds-atmel-pwm.c | 5 | 
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/leds/leds-atmel-pwm.c b/drivers/leds/leds-atmel-pwm.c index 64ad702a2ec..45430632faa 100644 --- a/drivers/leds/leds-atmel-pwm.c +++ b/drivers/leds/leds-atmel-pwm.c @@ -46,7 +46,8 @@ static int __devinit pwmled_probe(struct platform_device *pdev)  	if (!pdata || pdata->num_leds < 1)  		return -ENODEV; -	leds = kcalloc(pdata->num_leds, sizeof(*leds), GFP_KERNEL); +	leds = devm_kzalloc(&pdev->dev, pdata->num_leds * sizeof(*leds), +			GFP_KERNEL);  	if (!leds)  		return -ENOMEM; @@ -108,7 +109,6 @@ err:  			pwm_channel_free(&leds[i].pwmc);  		}  	} -	kfree(leds);  	return status;  } @@ -129,7 +129,6 @@ static int __exit pwmled_remove(struct platform_device *pdev)  		pwm_channel_free(&led->pwmc);  	} -	kfree(leds);  	platform_set_drvdata(pdev, NULL);  	return 0;  }  |