From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757892AbbIVK0N (ORCPT ); Tue, 22 Sep 2015 06:26:13 -0400 Received: from mga03.intel.com ([134.134.136.65]:53750 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757755AbbIVK0L (ORCPT ); Tue, 22 Sep 2015 06:26:11 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,572,1437462000"; d="scan'208";a="566143438" Subject: Re: [PATCH 2/5] Documentation: leds: Add description of brightness setting API To: Jacek Anaszewski , linux-leds@vger.kernel.org Cc: linux-kernel@vger.kernel.org, andrew@lunn.ch References: <1442845770-17800-1-git-send-email-j.anaszewski@samsung.com> <1442845770-17800-3-git-send-email-j.anaszewski@samsung.com> From: Sakari Ailus X-Enigmail-Draft-Status: N1110 Message-ID: <56012CC0.3030405@linux.intel.com> Date: Tue, 22 Sep 2015 13:26:08 +0300 User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 SeaMonkey/2.35 MIME-Version: 1.0 In-Reply-To: <1442845770-17800-3-git-send-email-j.anaszewski@samsung.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jacek, Jacek Anaszewski wrote: > This patch adds description of the LED subsystem API for > setting an LED brightness. > > Signed-off-by: Jacek Anaszewski > --- > Documentation/leds/leds-class.txt | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/Documentation/leds/leds-class.txt b/Documentation/leds/leds-class.txt > index 62261c0..2cc38fa 100644 > --- a/Documentation/leds/leds-class.txt > +++ b/Documentation/leds/leds-class.txt > @@ -52,6 +52,27 @@ above leaves scope for further attributes should they be needed. If sections > of the name don't apply, just leave that section blank. > > > +Brightness setting API > +====================== > + > +LED subsystem core exposes following API for setting brightness: > + > + - led_set_brightness : if necessary, cancels the software blink timer that > + implements blinking when the hardware doesn't; it is guaranteed > + not to sleep, which implies the possibility of delegating the > + job to a work queue task (uses led_set_brightness_nosleep > + underneath - see below), > + - led_set_brightness_sync : for use cases when immediate effect is desired; > + it can block the caller for the time required for accessing > + device registers and can sleep, > + - led_set_brightness_nosleep : sets an LEDs brightness using either > + brightness_set op, which is guaranteed not to sleep, or, if only > + brightness_set_blocking op is available, delegates it to a work > + queue task; this API is inteded for use by LED core and > + led-triggers, as they can be called from atomic context, and thus > + cannot sleep. led_set_brightness_nosleep() isn't part of the API intended to be used outside the LED framework --- I wouldn't document it here, only the part relevant for users outside the LED class and triggers frameworks. > + > + > Hardware accelerated blink of LEDs > ================================== > > -- Kind regards, Sakari Ailus sakari.ailus@linux.intel.com