diff options
Diffstat (limited to 'drivers/pwm/pwm-dwc-core.c')
-rw-r--r-- | drivers/pwm/pwm-dwc-core.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/pwm/pwm-dwc-core.c b/drivers/pwm/pwm-dwc-core.c index ac7a0b2cb8b9..de1d2ac3316c 100644 --- a/drivers/pwm/pwm-dwc-core.c +++ b/drivers/pwm/pwm-dwc-core.c @@ -164,15 +164,13 @@ struct pwm_chip *dwc_pwm_alloc(struct device *dev) struct pwm_chip *chip; struct dwc_pwm *dwc; - dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL); - if (!dwc) - return ERR_PTR(-ENOMEM); - chip = &dwc->chip; + chip = devm_pwmchip_alloc(dev, DWC_TIMERS_TOTAL, sizeof(*dwc)); + if (IS_ERR(chip)) + return chip; + dwc = to_dwc_pwm(chip); dwc->clk_ns = 10; - chip->dev = dev; chip->ops = &dwc_pwm_ops; - chip->npwm = DWC_TIMERS_TOTAL; dev_set_drvdata(dev, chip); return chip; |