diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0137-pwm-Set-class-for-exported-channels-in-sysfs.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/950-0137-pwm-Set-class-for-exported-channels-in-sysfs.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0137-pwm-Set-class-for-exported-channels-in-sysfs.patch b/target/linux/brcm2708/patches-4.14/950-0137-pwm-Set-class-for-exported-channels-in-sysfs.patch new file mode 100644 index 0000000000..b204e8e0f5 --- /dev/null +++ b/target/linux/brcm2708/patches-4.14/950-0137-pwm-Set-class-for-exported-channels-in-sysfs.patch @@ -0,0 +1,36 @@ +From dd5e8c9945f3f9a9bd9b307087c2881d8399c87b Mon Sep 17 00:00:00 2001 +From: Gottfried Haider <gottfried.haider@gmail.com> +Date: Tue, 26 Sep 2017 11:59:51 +0000 +Subject: [PATCH 137/454] pwm: Set class for exported channels in sysfs + +[ Upstream commit 7e5d1fd75c3dde9fc10c4472b9368089d1b81d00 ] + +Notifications for devices without bus or class set get dropped by +dev_uevent_filter(). Adding the class to the exported child matches +what the GPIO subsystem is doing. + +With this change exporting a channel triggers a udev event, which +gives userspace a chance to fixup permissions and makes it possible +for non-root users to make use of the PWM subsystem. + +Signed-off-by: Gottfried Haider <gottfried.haider@gmail.com> +CC: Thierry Reding <thierry.reding@gmail.com> +CC: H Hartley Sweeten <hsweeten@visionengravers.com> +CC: linux-pwm@vger.kernel.org +CC: linux-arm-kernel@lists.infradead.org +CC: linux-rpi-kernel@lists.infradead.org +Signed-off-by: Thierry Reding <thierry.reding@gmail.com> +--- + drivers/pwm/sysfs.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/pwm/sysfs.c ++++ b/drivers/pwm/sysfs.c +@@ -263,6 +263,7 @@ static int pwm_export_child(struct devic + export->pwm = pwm; + mutex_init(&export->lock); + ++ export->child.class = parent->class; + export->child.release = pwm_export_release; + export->child.parent = parent; + export->child.devt = MKDEV(0, 0); |