summaryrefslogtreecommitdiffstats
path: root/drivers/pwm
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2021-04-29 15:32:18 +0200
committerThierry Reding <thierry.reding@gmail.com>2021-06-28 13:28:11 +0200
commitec67fba92ebf6249b8155613063e403c695696c6 (patch)
tree10808a8706e7bfca9f0b4b5735ee050157b038d1 /drivers/pwm
parentad5e085c63f59391f5cfbde64fbff192872dfe8f (diff)
downloadlinux-stable-ec67fba92ebf6249b8155613063e403c695696c6.tar.gz
linux-stable-ec67fba92ebf6249b8155613063e403c695696c6.tar.bz2
linux-stable-ec67fba92ebf6249b8155613063e403c695696c6.zip
pwm: tiecap: Drop .free() callback
ecap_pwm_free is only called when a consumer releases the PWM (using pwm_put() or pwm_free()). The consumer is expected to disable the PWM before doing that. It's not clear if a warning about that is justified, but if it is this is independent of the actual driver and can better be done in the core. Also if there is a good reason it's wrong to disable the hardware and so the call to pm_runtime_put_sync() should be dropped. Moreover there is no matching pwm_runtime_get call and so the runtime usage counter might become negative. Fixes: 8e0cb05b3b75 ("pwm: pwm-tiecap: PWM driver support for ECAP APWM") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Diffstat (limited to 'drivers/pwm')
-rw-r--r--drivers/pwm/pwm-tiecap.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/drivers/pwm/pwm-tiecap.c b/drivers/pwm/pwm-tiecap.c
index f40975fcb195..027dd0142558 100644
--- a/drivers/pwm/pwm-tiecap.c
+++ b/drivers/pwm/pwm-tiecap.c
@@ -168,16 +168,7 @@ static void ecap_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
pm_runtime_put_sync(pc->chip.dev);
}
-static void ecap_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
-{
- if (pwm_is_enabled(pwm)) {
- dev_warn(chip->dev, "Removing PWM device without disabling\n");
- pm_runtime_put_sync(chip->dev);
- }
-}
-
static const struct pwm_ops ecap_pwm_ops = {
- .free = ecap_pwm_free,
.config = ecap_pwm_config,
.set_polarity = ecap_pwm_set_polarity,
.enable = ecap_pwm_enable,