Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp3042158ybe; Sun, 8 Sep 2019 06:02:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqzw84O3oLIuuKPjKwMoKmqZ5+/IPMowSXDxrOf9wa/rr0e9bjwX/mY3HkzbjcqcBTcH6ed4 X-Received: by 2002:a50:d758:: with SMTP id i24mr19005209edj.246.1567947727925; Sun, 08 Sep 2019 06:02:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567947727; cv=none; d=google.com; s=arc-20160816; b=DNRycqMCC0+3vYWq9x0PIY4r+q+FnvPiU58Ua2c3NUKD+lK/N+z4e7j/X/Vy0ij1Hi hI/68n3s41dKO59P5i9umIexPCEf3/UXSCK65U/Ld1pmaFPhOP2IhCWP72DZkNOQkf7x wf3XsXU00BRVBrtS0Oi+M5vdR1SefmddKFSNG0IAIDxOfAb1DJJPhPaQ5t5XRMntvY+e DdlSgcMIMHRWNCrtmy3Km694F4z1F11m+vHr+tsjQ4QmnfOILBjVQQCalYy/xH7zsVT+ pL4t79WPQMN4ACEgM5XxZKBUKw7OQHPvUHnR8q4td8Z440BdEwZI74IHSis6SuCzaCUb N4dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=s/uUNSET5cdcr9MP+ioNfRXeHELFVouyjnHy8zcY4NM=; b=SpcgORbNPyarjg8kUsSl9bQhUd6RIQmb+yQN+9vYcwoFZYuqoQ/aHRBpOk8UxQn7uO ewZjowSHgE3OUzYDKwlQiI2Fxb4OfBcv2Ut1UQIBM5DfiieWvLwUPAZ3N7pJuarKAUCB JTUmjz/cLJuPCgG32LmtCa6cuzPQIoW7Nnq58LHYJMU3C/OcEUy0tiT0Vxn+GZQ1MtDa XK8T3KROgEyBAgo+Of+JhKva4ZQbtgsk6wygzC2lyp3X2aY3BVnSarGAxhbUfUn/JPbx 66JOGAsVJFdIljPSLYVNh1ekI39oNnJTHGIzxGfs6gdJdOQUQoOsh+pNMu2di7DJ4Tmu j27Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=RytNBVV3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y24si2413036ejb.344.2019.09.08.06.01.43; Sun, 08 Sep 2019 06:02:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=RytNBVV3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729194AbfIHMl3 (ORCPT + 99 others); Sun, 8 Sep 2019 08:41:29 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:33800 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728770AbfIHMl2 (ORCPT ); Sun, 8 Sep 2019 08:41:28 -0400 Received: by mail-pg1-f196.google.com with SMTP id n9so6184916pgc.1; Sun, 08 Sep 2019 05:41:28 -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=s/uUNSET5cdcr9MP+ioNfRXeHELFVouyjnHy8zcY4NM=; b=RytNBVV3d3qtpwVlZKF9JsFPcA9qJBXwAzy9eqR3/VLYYpsSX/d4MIkPC9mOvINeeS h5oaijAL/poczro1/XQ7utZuwF9iRqDBLRsvUB21uC146xQ5c5cp5l6XQoQSQ2Brd3LH b7ODPRHrCcf1uVYrpruzcmiTjHEsGELLo8YO9uT+qK+gT9rv56GB5gmEz/xoEkOQzg0j nl+ri8nYu/ypaJ9hntz9eglAhVSuZyVOYsF/rFg4O0ScEGti/Ko25PAEKyxtdIhVkLYD Uu02Qe1LpCLBaxE93/mKIYBf6D5PE7QyfQhmd11nTCAO6N/PruEji1oP7XS8HXJ6VbRv H4yg== 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=s/uUNSET5cdcr9MP+ioNfRXeHELFVouyjnHy8zcY4NM=; b=A9CUd8ED96b/Z7fUX91IzJAbkYZbZQVz4bz6yqA1jbwcuzTmA02UFufFdCRtCZeX7G fRQ3qHwzxN2hMwpkkfwvTE6elsRbFrOjD4ufd0L9Si5zyw3xTZfsIdIFvGTGb2aMN7SX XA9mMjTdrTGi5M9mF/CafN6zTKR8sPUSt/+M/BSE9p4H+ME5YYfl5p0lSghLscb/2fHK COYv53b/4egGtd7WzbOwyue4/lLdOu+b6KIMCgJMIeQCrrVrUxkVmSG4Rl+NfJg73o3K fGM/SSHIcKQwEx1cJ0Eol2C+vTQZhTRljjQsZ3X2UT7QO8UBu/VtZoHlj+hqivEO7vuA Uh7A== X-Gm-Message-State: APjAAAUVUMDBKZrwH5AalwzmbFsR4uh9RYOP7psn7hiT1lMBo7E7Fyhv RtFUzvwmGwLJLeyLYCFk09LRP+tj X-Received: by 2002:a63:124a:: with SMTP id 10mr16783420pgs.254.1567946487775; Sun, 08 Sep 2019 05:41:27 -0700 (PDT) Received: from localhost.localdomain ([240f:34:212d:1:cae:1d92:a912:df67]) by smtp.gmail.com with ESMTPSA id s7sm10879582pjn.8.2019.09.08.05.41.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 08 Sep 2019 05:41:26 -0700 (PDT) From: Akinobu Mita To: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Akinobu Mita , Greg Kroah-Hartman , "Rafael J. Wysocki" , Jacek Anaszewski , Pavel Machek , Dan Murphy Subject: [PATCH 0/5] leds: fix /sys/class/leds//trigger and add new api Date: Sun, 8 Sep 2019 21:41:07 +0900 Message-Id: <1567946472-10075-1-git-send-email-akinobu.mita@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reading /sys/class/leds//trigger returns all available LED triggers. However, the size of this file is limited to PAGE_SIZE because of the limitation for sysfs attribute. Enabling LED CPU trigger on systems with thousands of CPUs easily hits PAGE_SIZE limit, and makes it impossible to see all available LED triggers and which trigger is currently activated. The first patch in this series converts /sys/class/leds//trigger to bin attribute and removes the PAGE_SIZE limitation. The rest of series provides a new /sys/class/triggers/ directory and /sys/class/leds//current-trigger. The new api follows the "one value per file" rule of sysfs. Akinobu Mita (5): leds: remove PAGE_SIZE limit of /sys/class/leds//trigger leds: make sure leds_class is initialized before triggers are registered driver core: class: add function to create /sys/class//foo directory leds: add /sys/class/triggers/ that contains trigger sub-directories leds: add /sys/class/leds//current-trigger Documentation/ABI/testing/sysfs-class-led | 22 +++++ drivers/base/class.c | 7 ++ drivers/leds/led-class.c | 49 +++++++++-- drivers/leds/led-triggers.c | 139 +++++++++++++++++++++++++----- drivers/leds/leds.h | 12 +++ include/linux/device.h | 3 + include/linux/leds.h | 6 +- 7 files changed, 207 insertions(+), 31 deletions(-) Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Cc: Jacek Anaszewski Cc: Pavel Machek Cc: Dan Murphy -- 2.7.4