summaryrefslogtreecommitdiff
path: root/drivers/pwm/core.c
diff options
context:
space:
mode:
authorDavid Hsu <davidhsu@google.com>2016-08-09 21:57:46 (GMT)
committerThierry Reding <thierry.reding@gmail.com>2016-09-05 14:45:39 (GMT)
commit0733424c9ba9f42242409d1ece780777272f7ea1 (patch)
tree7d4ab85ed86beb175351738eef22132d8987678e /drivers/pwm/core.c
parent29b4817d4018df78086157ea3a55c1d9424a7cfc (diff)
downloadlinux-0733424c9ba9f42242409d1ece780777272f7ea1.tar.xz
pwm: Unexport children before chip removal
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>
Diffstat (limited to 'drivers/pwm/core.c')
-rw-r--r--drivers/pwm/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 0dbd29e..172ef82 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -339,6 +339,8 @@ int pwmchip_remove(struct pwm_chip *chip)
unsigned int i;
int ret = 0;
+ pwmchip_sysfs_unexport_children(chip);
+
mutex_lock(&pwm_lock);
for (i = 0; i < chip->npwm; i++) {