From patchwork Fri Jun 2 10:05:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gottfried Haider X-Patchwork-Id: 770220 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wfKbM3KpHz9s2G for ; Fri, 2 Jun 2017 20:05:35 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LchW6lk2"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751125AbdFBKFe (ORCPT ); Fri, 2 Jun 2017 06:05:34 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:33506 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750910AbdFBKFd (ORCPT ); Fri, 2 Jun 2017 06:05:33 -0400 Received: by mail-wm0-f67.google.com with SMTP id b84so17797555wmh.0 for ; Fri, 02 Jun 2017 03:05:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=4AkDmQOgfrLsykNnbzDgdCYo01/jNehEG3p7zdhdXJQ=; b=LchW6lk2kzLjZohfZvnsW2j6ODvS+vGs3yypTwymrvuo852TWok0KmN6+dIr715S+7 lDu4KymvHlEuVt1OG4Zyga/iC3W12T0LqERyoyngdhEdceDfDeiiqzdVJrgbOxkWYIQR rG08TS9lkkl3E1cNtq0rw5p9gAY2hm53bSXufAWEeEQD+Auz7Oiw2jPbK0i5W6AUsq11 rlI0v37Czet+r8BeDW2rBQ7HqenRIjK16qLN8F9T7BClcjfN1AfESVWRuK3TseBhFBMq VtbwKgeR0B0nHJv/E3qjsFfSLzadYbOJ44fC3cClyoVSsbm8pYpu4xYFCfgiiKwdJ/0z gyVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=4AkDmQOgfrLsykNnbzDgdCYo01/jNehEG3p7zdhdXJQ=; b=HndfC1HJh8qEviRVJ6UGTFZ2cNyAC1dOcN4eJgEdBo8XkbK/fgsQwHPy6PkH6smimr CzhQ632lpKXrkS1WS/FJlW2bZO3O1diJPxtCLjvybp5S0wZn3hUOvky7p44IsfRgEQgg 7xf4Jk5gacRIsIZu1LVx8ziDVsPRlx6nShTk0ntlEq19xk+r6t+8lyirqF6OQFS34Bf4 VO4iEAQAG8I+6Z61dIsT6kraPpLNCIKPMAm4Ytp4/n8ru5+P9Iy6H/HSa6NqejssEpx6 jYULb1UEqBIpvRmUOnSy2ZGEpQb9kdMzmessqDv4vaJlUhhyJeQQ8CrqHTeenHj8YgCM pyQA== X-Gm-Message-State: AODbwcBOuIJ2tNATIpGTFZdg6AW7G0M5/eONezn4s33DefinsrcPqfux V95NTuNUD1jhkw== X-Received: by 10.223.151.210 with SMTP id t18mr5298119wrb.18.1496397932171; Fri, 02 Jun 2017 03:05:32 -0700 (PDT) Received: from localhost.localdomain ([62.178.189.236]) by smtp.gmail.com with ESMTPSA id y6sm26744940wrc.51.2017.06.02.03.05.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 02 Jun 2017 03:05:30 -0700 (PDT) From: Gottfried Haider To: Gottfried Haider , Thierry Reding Cc: H Hartley Sweeten , linux-pwm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org Subject: [RESEND][PATCH] pwm: Set class for exported channels in sysfs Date: Fri, 2 Jun 2017 10:05:21 +0000 Message-Id: <1496397921-1713-1-git-send-email-gottfried.haider@gmail.com> X-Mailer: git-send-email 2.1.4 Sender: linux-pwm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pwm@vger.kernel.org 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 CC: Thierry Reding CC: H Hartley Sweeten CC: linux-pwm@vger.kernel.org CC: linux-arm-kernel@lists.infradead.org CC: linux-rpi-kernel@lists.infradead.org --- drivers/pwm/sysfs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c index a813239..83f2b0b 100644 --- a/drivers/pwm/sysfs.c +++ b/drivers/pwm/sysfs.c @@ -263,6 +263,7 @@ static int pwm_export_child(struct device *parent, struct pwm_device *pwm) 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);