All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Jacek Anaszewski <j.anaszewski@samsung.com>
Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Pavel Machek <pavel@ucw.cz>,
	Stas Sergeev <stsp@users.sourceforge.net>
Subject: Re: [PATCH/RFC v6 01/36] leds: Add brightness_set_blocking op
Date: Thu, 20 Aug 2015 17:21:57 +0200	[thread overview]
Message-ID: <20150820152157.GD27457@lunn.ch> (raw)
In-Reply-To: <1440081846-11697-2-git-send-email-j.anaszewski@samsung.com>

On Thu, Aug 20, 2015 at 04:43:31PM +0200, Jacek Anaszewski wrote:
> This patch adds a new brightness_set_blocking op to the LED subsystem.
> The op is intended for drivers that set brightness in a blocking way,
> i.e. they either can sleep or use delays while setting brightness.

Thanks for adding this. This is the correct way to go.

Acked-by: Andrew Lunn <andrew@lunn.ch>

	  Andrew
 
> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
> Cc: Pavel Machek <pavel@ucw.cz>
> Cc: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/leds/led-class.c |    3 +++
>  include/linux/leds.h     |    6 ++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
> index ca51d58..93a2414 100644
> --- a/drivers/leds/led-class.c
> +++ b/drivers/leds/led-class.c
> @@ -267,6 +267,9 @@ int led_classdev_register(struct device *parent, struct led_classdev *led_cdev)
>  		dev_warn(parent, "Led %s renamed to %s due to name collision",
>  				led_cdev->name, dev_name(led_cdev->dev));
>  
> +	WARN_ON(led_cdev->brightness_set &&
> +		led_cdev->brightness_set_blocking);
> +
>  #ifdef CONFIG_LEDS_TRIGGERS
>  	init_rwsem(&led_cdev->trigger_lock);
>  #endif
> diff --git a/include/linux/leds.h b/include/linux/leds.h
> index b122eea..85fad6b 100644
> --- a/include/linux/leds.h
> +++ b/include/linux/leds.h
> @@ -54,6 +54,12 @@ struct led_classdev {
>  	void		(*brightness_set)(struct led_classdev *led_cdev,
>  					  enum led_brightness brightness);
>  	/*
> +	 * Intended for drivers that either can sleep or use delays while
> +	 * setting brightness.
> +	 */
> +	int (*brightness_set_blocking)(struct led_classdev *led_cdev,
> +				       enum led_brightness brightness);
> +	/*
>  	 * Set LED brightness level immediately - it can block the caller for
>  	 * the time required for accessing a LED device register.
>  	 */
> -- 
> 1.7.9.5
> 

  reply	other threads:[~2015-08-20 15:29 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-20 14:43 [PATCH/RFC v6 00/36] Remove work queues from LED class drivers Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 01/36] leds: Add brightness_set_blocking op Jacek Anaszewski
2015-08-20 15:21   ` Andrew Lunn [this message]
2015-08-24 11:40   ` Pavel Machek
2015-08-20 14:43 ` [PATCH/RFC v6 02/36] leds: Add led_set_brightness_sync to the public LED subsystem API Jacek Anaszewski
2015-08-20 15:43   ` Andrew Lunn
2015-08-20 14:43 ` [PATCH/RFC v6 03/36] leds: Improve asynchronous path of setting brightness Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 04/36] leds: Add an internal led_set_brightness_nosleep function Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 05/36] leds: Improve setting brightness in a non sleeping way Jacek Anaszewski
2015-08-20 16:09   ` Andrew Lunn
2015-08-21  9:22     ` Jacek Anaszewski
2015-08-21 17:45       ` Andrew Lunn
2015-08-21 20:31         ` Jacek Anaszewski
2015-08-21 20:42           ` Andrew Lunn
2015-08-24  8:11             ` Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 06/36] leds: Drivers shouldn't enforce SYNC/ASYNC brightness setting Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 07/36] Documentation: leds: Add description of brightness_set* ops Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 08/36] leds: ktd2692: Remove work queue Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 09/36] leds: aat1290: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 10/36] leds: max77693: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 11/36] leds: tlc591xx: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 12/36] leds: 88pm860x: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 13/36] leds: adp5520: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 14/36] leds: bd2802: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 15/36] leds: blinkm: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 16/36] leds: lm3533: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 17/36] leds: lm3642: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 18/36] leds: pca9532: Remove work queue for LEDs Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 19/36] leds: lp3944: Remove work queue Jacek Anaszewski
2015-08-21  7:47   ` Antonio Ospite
2015-08-20 14:43 ` [PATCH/RFC v6 20/36] leds: lp55xx: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 21/36] leds: lp8788: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 22/36] leds: lp8860: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 23/36] leds: pca955x: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 24/36] leds: pca963x: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 25/36] leds: wm831x: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 26/36] leds: da903x: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 27/36] leds: da9052: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 28/36] leds: dac124d085: " Jacek Anaszewski
2015-08-20 14:43 ` [PATCH/RFC v6 29/36] leds: lt3593: " Jacek Anaszewski
2015-08-20 14:44 ` [PATCH/RFC v6 30/36] leds: max8997: Remove unneeded workqueue include Jacek Anaszewski
2015-08-20 14:44 ` [PATCH/RFC v6 31/36] leds: mc13783: Remove work queue Jacek Anaszewski
2015-08-20 14:44 ` [PATCH/RFC v6 32/36] leds: regulator: " Jacek Anaszewski
2015-08-21  7:49   ` Antonio Ospite
2015-08-20 14:44 ` [PATCH/RFC v6 33/36] leds: wm8350: " Jacek Anaszewski
2015-08-20 14:44 ` [PATCH/RFC v6 34/36] leds: gpio: " Jacek Anaszewski
2015-08-20 14:44 ` [PATCH/RFC v6 35/36] leds: pwm: remove " Jacek Anaszewski
2015-08-20 14:44 ` [PATCH/RFC v6 36/36] leds: lm355x: Remove " Jacek Anaszewski
2015-11-16 13:38 ` [PATCH/RFC v6 00/36] Remove work queues from LED class drivers Jacek Anaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150820152157.GD27457@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=j.anaszewski@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=sakari.ailus@linux.intel.com \
    --cc=stsp@users.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.