pwm: lpss: Simplify using devm_pwmchip_add()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 7 Apr 2021 08:01:55 +0000 (10:01 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 28 Jun 2021 11:18:25 +0000 (13:18 +0200)
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-lpss-pci.c
drivers/pwm/pwm-lpss-platform.c
drivers/pwm/pwm-lpss.c
drivers/pwm/pwm-lpss.h

index cf749ea0de9ffadcefccccb08edb3c3199f926dc..c893ec3d2fb43b8ecc04e6dca76927ac3d2c6239 100644 (file)
@@ -69,12 +69,8 @@ static int pwm_lpss_probe_pci(struct pci_dev *pdev,
 
 static void pwm_lpss_remove_pci(struct pci_dev *pdev)
 {
-       struct pwm_lpss_chip *lpwm = pci_get_drvdata(pdev);
-
        pm_runtime_forbid(&pdev->dev);
        pm_runtime_get_sync(&pdev->dev);
-
-       pwm_lpss_remove(lpwm);
 }
 
 #ifdef CONFIG_PM
index 986786be1e49bb22faca235b0e2bac5f09bf0333..928570430cef7599b1e72c58e793dfef1b26f3dc 100644 (file)
@@ -85,10 +85,8 @@ static int pwm_lpss_probe_platform(struct platform_device *pdev)
 
 static int pwm_lpss_remove_platform(struct platform_device *pdev)
 {
-       struct pwm_lpss_chip *lpwm = platform_get_drvdata(pdev);
-
        pm_runtime_disable(&pdev->dev);
-       return pwm_lpss_remove(lpwm);
+       return 0;
 }
 
 static const struct acpi_device_id pwm_lpss_acpi_match[] = {
index 58b4031524af7f89c30ecb3b3caa56d27af608f8..36d4e83e6b7901665cf123373bdf2e2be2b6afc6 100644 (file)
@@ -236,7 +236,7 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
        lpwm->chip.ops = &pwm_lpss_ops;
        lpwm->chip.npwm = info->npwm;
 
-       ret = pwmchip_add(&lpwm->chip);
+       ret = devm_pwmchip_add(dev, &lpwm->chip);
        if (ret) {
                dev_err(dev, "failed to add PWM chip: %d\n", ret);
                return ERR_PTR(ret);
@@ -252,12 +252,6 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
 }
 EXPORT_SYMBOL_GPL(pwm_lpss_probe);
 
-int pwm_lpss_remove(struct pwm_lpss_chip *lpwm)
-{
-       return pwmchip_remove(&lpwm->chip);
-}
-EXPORT_SYMBOL_GPL(pwm_lpss_remove);
-
 MODULE_DESCRIPTION("PWM driver for Intel LPSS");
 MODULE_AUTHOR("Mika Westerberg <mika.westerberg@linux.intel.com>");
 MODULE_LICENSE("GPL v2");
index 70db7e389d66b15b15a83bdbcc3c124b2ca1d9a8..8b3476f25e066cfd287d32c503b90ff8900eab66 100644 (file)
@@ -35,6 +35,5 @@ struct pwm_lpss_boardinfo {
 
 struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
                                     const struct pwm_lpss_boardinfo *info);
-int pwm_lpss_remove(struct pwm_lpss_chip *lpwm);
 
 #endif /* __PWM_LPSS_H */