aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/pwm-lpc18xx-sct.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pwm/pwm-lpc18xx-sct.c')
-rw-r--r--drivers/pwm/pwm-lpc18xx-sct.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/pwm/pwm-lpc18xx-sct.c b/drivers/pwm/pwm-lpc18xx-sct.c
index 19dc64cab2f0..d7f5f7de030d 100644
--- a/drivers/pwm/pwm-lpc18xx-sct.c
+++ b/drivers/pwm/pwm-lpc18xx-sct.c
@@ -413,14 +413,18 @@ static int lpc18xx_pwm_probe(struct platform_device *pdev)
413 } 413 }
414 414
415 for (i = 0; i < lpc18xx_pwm->chip.npwm; i++) { 415 for (i = 0; i < lpc18xx_pwm->chip.npwm; i++) {
416 struct lpc18xx_pwm_data *data;
417
416 pwm = &lpc18xx_pwm->chip.pwms[i]; 418 pwm = &lpc18xx_pwm->chip.pwms[i];
417 pwm->chip_data = devm_kzalloc(lpc18xx_pwm->dev, 419
418 sizeof(struct lpc18xx_pwm_data), 420 data = devm_kzalloc(lpc18xx_pwm->dev, sizeof(*data),
419 GFP_KERNEL); 421 GFP_KERNEL);
420 if (!pwm->chip_data) { 422 if (!data) {
421 ret = -ENOMEM; 423 ret = -ENOMEM;
422 goto remove_pwmchip; 424 goto remove_pwmchip;
423 } 425 }
426
427 pwm_set_chip_data(pwm, data);
424 } 428 }
425 429
426 platform_set_drvdata(pdev, lpc18xx_pwm); 430 platform_set_drvdata(pdev, lpc18xx_pwm);