diff options
author | David Hsu <davidhsu@google.com> | 2016-08-09 14:57:46 -0700 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2017-02-23 03:53:57 +0000 |
commit | 1eb985ab574b02b637bcc0aa94f00b795855ac6a (patch) | |
tree | e1e9ad9cd0585631e25b039918cfb690aef0e8a6 /include | |
parent | f25fec22d4cbc3b921356f4600f48e4eea8a0f7d (diff) | |
download | linux-stable-1eb985ab574b02b637bcc0aa94f00b795855ac6a.tar.gz linux-stable-1eb985ab574b02b637bcc0aa94f00b795855ac6a.tar.bz2 linux-stable-1eb985ab574b02b637bcc0aa94f00b795855ac6a.zip |
pwm: Unexport children before chip removal
commit 0733424c9ba9f42242409d1ece780777272f7ea1 upstream.
Exported pwm channels aren't removed before the pwmchip and are
leaked. This results in invalid sysfs files. This fix removes
all exported pwm channels before chip removal.
Signed-off-by: David Hsu <davidhsu@google.com>
Fixes: 76abbdde2d95 ("pwm: Add sysfs interface")
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/pwm.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/pwm.h b/include/linux/pwm.h index e90628cac8fa..84e526a12def 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h @@ -299,6 +299,7 @@ static inline void pwm_add_table(struct pwm_lookup *table, size_t num) #ifdef CONFIG_PWM_SYSFS void pwmchip_sysfs_export(struct pwm_chip *chip); void pwmchip_sysfs_unexport(struct pwm_chip *chip); +void pwmchip_sysfs_unexport_children(struct pwm_chip *chip); #else static inline void pwmchip_sysfs_export(struct pwm_chip *chip) { @@ -307,6 +308,10 @@ static inline void pwmchip_sysfs_export(struct pwm_chip *chip) static inline void pwmchip_sysfs_unexport(struct pwm_chip *chip) { } + +static inline void pwmchip_sysfs_unexport_children(struct pwm_chip *chip) +{ +} #endif /* CONFIG_PWM_SYSFS */ #endif /* __LINUX_PWM_H */ |