public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] leds: make sure led->trigger is valid before calling trigger->activate
@ 2008-06-19 11:48 Dmitry Baryshkov
  2008-06-22 17:00 ` Dmitry Baryshkov
  2008-06-24 21:02 ` Andrew Morton
  0 siblings, 2 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2008-06-19 11:48 UTC (permalink / raw)
  To: linux-kernel; +Cc: rpurdie

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
---
 drivers/leds/led-triggers.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 0f242b3..f910eaf 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -111,16 +111,17 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
 			flags);
 		if (led_cdev->trigger->deactivate)
 			led_cdev->trigger->deactivate(led_cdev);
+		led_cdev->trigger = NULL;
 		led_set_brightness(led_cdev, LED_OFF);
 	}
 	if (trigger) {
 		write_lock_irqsave(&trigger->leddev_list_lock, flags);
 		list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
 		write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
+		led_cdev->trigger = trigger;
 		if (trigger->activate)
 			trigger->activate(led_cdev);
 	}
-	led_cdev->trigger = trigger;
 }
 EXPORT_SYMBOL_GPL(led_trigger_set);
 
-- 
1.5.5.3


-- 
With best wishes
Dmitry


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: make sure led->trigger is valid before calling trigger->activate
  2008-06-19 11:48 [PATCH] leds: make sure led->trigger is valid before calling trigger->activate Dmitry Baryshkov
@ 2008-06-22 17:00 ` Dmitry Baryshkov
  2008-06-24 21:02 ` Andrew Morton
  1 sibling, 0 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2008-06-22 17:00 UTC (permalink / raw)
  To: linux-kernel; +Cc: rpurdie

Hi,

On Thu, Jun 19, 2008 at 03:48:47PM +0400, Dmitry Baryshkov wrote:
> Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
> ---
>  drivers/leds/led-triggers.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 

Any comments about this?

-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: make sure led->trigger is valid before calling trigger->activate
  2008-06-19 11:48 [PATCH] leds: make sure led->trigger is valid before calling trigger->activate Dmitry Baryshkov
  2008-06-22 17:00 ` Dmitry Baryshkov
@ 2008-06-24 21:02 ` Andrew Morton
  2008-06-25  9:50   ` Dmitry Baryshkov
  1 sibling, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2008-06-24 21:02 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: linux-kernel, rpurdie

On Thu, 19 Jun 2008 15:48:47 +0400
Dmitry Baryshkov <dbaryshkov@gmail.com> wrote:

> Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
> ---
>  drivers/leds/led-triggers.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
> index 0f242b3..f910eaf 100644
> --- a/drivers/leds/led-triggers.c
> +++ b/drivers/leds/led-triggers.c
> @@ -111,16 +111,17 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
>  			flags);
>  		if (led_cdev->trigger->deactivate)
>  			led_cdev->trigger->deactivate(led_cdev);
> +		led_cdev->trigger = NULL;
>  		led_set_brightness(led_cdev, LED_OFF);
>  	}
>  	if (trigger) {
>  		write_lock_irqsave(&trigger->leddev_list_lock, flags);
>  		list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
>  		write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
> +		led_cdev->trigger = trigger;
>  		if (trigger->activate)
>  			trigger->activate(led_cdev);
>  	}
> -	led_cdev->trigger = trigger;
>  }
>  EXPORT_SYMBOL_GPL(led_trigger_set);
>  

The changelog tells us what the patch does, but it doesn't tell us
why it does it.

This matters.  For a start, there is no way in which I (at least)
am able to determine whether this change is needed in 2.6.26 nor
in 2.6.25.x.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: make sure led->trigger is valid before calling trigger->activate
  2008-06-24 21:02 ` Andrew Morton
@ 2008-06-25  9:50   ` Dmitry Baryshkov
  2008-06-25 10:18     ` Richard Purdie
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry Baryshkov @ 2008-06-25  9:50 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, rpurdie

On Tue, Jun 24, 2008 at 02:02:35PM -0700, Andrew Morton wrote:
> 
> The changelog tells us what the patch does, but it doesn't tell us
> why it does it.
> 
> This matters.  For a start, there is no way in which I (at least)
> am able to determine whether this change is needed in 2.6.26 nor
> in 2.6.25.x.

I hope this is better. This isn't an 2.6.25.x material. And probably not
an 2.6.26.

>From 4ce3598c6ce5e6b529a05432b18996a99cc5bf0d Mon Sep 17 00:00:00 2001
From: Dmitry Baryshkov <dbaryshkov@gmail.com>
Date: Wed, 25 Jun 2008 13:48:07 +0400
Subject: [PATCH] leds: make sure led->trigger is valid before calling trigger->activate

This is necessary if one wants to use the led->trigger field during
trigger activation for a led (e.g. to set up the state of the led).
No current drivers depend on this.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
---
 drivers/leds/led-triggers.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 0f242b3..f910eaf 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -111,16 +111,17 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
 			flags);
 		if (led_cdev->trigger->deactivate)
 			led_cdev->trigger->deactivate(led_cdev);
+		led_cdev->trigger = NULL;
 		led_set_brightness(led_cdev, LED_OFF);
 	}
 	if (trigger) {
 		write_lock_irqsave(&trigger->leddev_list_lock, flags);
 		list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
 		write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
+		led_cdev->trigger = trigger;
 		if (trigger->activate)
 			trigger->activate(led_cdev);
 	}
-	led_cdev->trigger = trigger;
 }
 EXPORT_SYMBOL_GPL(led_trigger_set);
 
-- 
1.5.5.4


-- 
With best wishes
Dmitry


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: make sure led->trigger is valid before calling trigger->activate
  2008-06-25  9:50   ` Dmitry Baryshkov
@ 2008-06-25 10:18     ` Richard Purdie
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Purdie @ 2008-06-25 10:18 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: Andrew Morton, linux-kernel


On Wed, 2008-06-25 at 13:50 +0400, Dmitry Baryshkov wrote:
> On Tue, Jun 24, 2008 at 02:02:35PM -0700, Andrew Morton wrote:
> > 
> > The changelog tells us what the patch does, but it doesn't tell us
> > why it does it.
> > 
> > This matters.  For a start, there is no way in which I (at least)
> > am able to determine whether this change is needed in 2.6.26 nor
> > in 2.6.25.x.
> 
> I hope this is better. This isn't an 2.6.25.x material. And probably not
> an 2.6.26.
> 
> From 4ce3598c6ce5e6b529a05432b18996a99cc5bf0d Mon Sep 17 00:00:00 2001
> From: Dmitry Baryshkov <dbaryshkov@gmail.com>
> Date: Wed, 25 Jun 2008 13:48:07 +0400
> Subject: [PATCH] leds: make sure led->trigger is valid before calling trigger->activate
> 
> This is necessary if one wants to use the led->trigger field during
> trigger activation for a led (e.g. to set up the state of the led).
> No current drivers depend on this.

I seem to remember actively making the code work the way it does when I
originally wrote it, what I can't remember is why I did that :/.

Anyhow, I have no objections to the change and will probably queue it
for the next merge window, its post 2.6.26 material.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-06-25 10:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-19 11:48 [PATCH] leds: make sure led->trigger is valid before calling trigger->activate Dmitry Baryshkov
2008-06-22 17:00 ` Dmitry Baryshkov
2008-06-24 21:02 ` Andrew Morton
2008-06-25  9:50   ` Dmitry Baryshkov
2008-06-25 10:18     ` Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox