pwm: dwc: Use devm_pwmchip_add()
authorBen Dooks <ben.dooks@sifive.com>
Fri, 23 Dec 2022 15:38:15 +0000 (15:38 +0000)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 20 Feb 2023 11:26:35 +0000 (12:26 +0100)
Add the PWM chip using devm_pwmchip_add() to avoid having to manually
remove it. This is useful for subsequent patches adding platform device
support.

Signed-off-by: Ben Dooks <ben.dooks@sifive.com>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-dwc.c

index e9399df..3bbb26c 100644 (file)
@@ -244,7 +244,7 @@ static int dwc_pwm_probe(struct pci_dev *pci, const struct pci_device_id *id)
                return -ENOMEM;
        }
 
-       ret = pwmchip_add(&dwc->chip);
+       ret = devm_pwmchip_add(dev, &dwc->chip);
        if (ret)
                return ret;
 
@@ -256,12 +256,8 @@ static int dwc_pwm_probe(struct pci_dev *pci, const struct pci_device_id *id)
 
 static void dwc_pwm_remove(struct pci_dev *pci)
 {
-       struct dwc_pwm *dwc = pci_get_drvdata(pci);
-
        pm_runtime_forbid(&pci->dev);
        pm_runtime_get_noresume(&pci->dev);
-
-       pwmchip_remove(&dwc->chip);
 }
 
 #ifdef CONFIG_PM_SLEEP