From bcda91bf86c1ff7647df85029d69f2aed80f210e Mon Sep 17 00:00:00 2001 From: Uwe Kleine-König Date: Wed, 7 Apr 2021 10:01:54 +0200 Subject: pwm: Add a device-managed function to add PWM chips MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This potentially simplifies low-level PWM drivers. Signed-off-by: Uwe Kleine-König Signed-off-by: Thierry Reding --- drivers/pwm/core.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'drivers/pwm') diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index a42999f877d2..83db178f16bb 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -335,6 +335,25 @@ out: } EXPORT_SYMBOL_GPL(pwmchip_remove); +static void devm_pwmchip_remove(void *data) +{ + struct pwm_chip *chip = data; + + pwmchip_remove(chip); +} + +int devm_pwmchip_add(struct device *dev, struct pwm_chip *chip) +{ + int ret; + + ret = pwmchip_add(chip); + if (ret) + return ret; + + return devm_add_action_or_reset(dev, devm_pwmchip_remove, chip); +} +EXPORT_SYMBOL_GPL(devm_pwmchip_add); + /** * pwm_request() - request a PWM device * @pwm: global PWM device index -- cgit v1.2.3-70-g09d2