Linux LED subsystem development
 help / color / mirror / Atom feed
* [PATCH 1/1] leds: blinkm: Remove unused variable
@ 2014-07-01 12:07 Sachin Kamat
  2014-07-01 15:54 ` Bryan Wu
  0 siblings, 1 reply; 5+ messages in thread
From: Sachin Kamat @ 2014-07-01 12:07 UTC (permalink / raw)
  To: linux-leds; +Cc: jansimon.moeller, cooloney, spk.linux

'ret' is not used in the function. Remove it.

Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
---
 drivers/leds/leds-blinkm.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
index d0452b099aee..f07f920ac0ac 100644
--- a/drivers/leds/leds-blinkm.c
+++ b/drivers/leds/leds-blinkm.c
@@ -441,14 +441,13 @@ static int blinkm_transfer_hw(struct i2c_client *client, int cmd)
 
 static void led_work(struct work_struct *work)
 {
-	int ret;
 	struct blinkm_led *led;
 	struct blinkm_data *data;
 	struct blinkm_work *blm_work = work_to_blmwork(work);
 
 	led = blm_work->blinkm_led;
 	data = i2c_get_clientdata(led->i2c_client);
-	ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
+	blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
 	atomic_dec(&led->active);
 	dev_dbg(&led->i2c_client->dev,
 			"# DONE # next_red = %d, next_green = %d,"
@@ -546,9 +545,8 @@ static void blinkm_led_blue_set(struct led_classdev *led_cdev,
 
 static void blinkm_init_hw(struct i2c_client *client)
 {
-	int ret;
-	ret = blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
-	ret = blinkm_transfer_hw(client, BLM_GO_RGB);
+	blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
+	blinkm_transfer_hw(client, BLM_GO_RGB);
 }
 
 static int blinkm_test_run(struct i2c_client *client)
-- 
1.7.9.5

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

* Re: [PATCH 1/1] leds: blinkm: Remove unused variable
  2014-07-01 12:07 [PATCH 1/1] leds: blinkm: Remove unused variable Sachin Kamat
@ 2014-07-01 15:54 ` Bryan Wu
  2014-07-01 21:50   ` Jan-Simon Möller
  0 siblings, 1 reply; 5+ messages in thread
From: Bryan Wu @ 2014-07-01 15:54 UTC (permalink / raw)
  To: Sachin Kamat, Jan-Simon Möller; +Cc: Linux LED Subsystem, spk.linux

On Tue, Jul 1, 2014 at 5:07 AM, Sachin Kamat <sachin.kamat@samsung.com> wrote:
> 'ret' is not used in the function. Remove it.
>

Removing it is easy but I guess we should check the return error status here.
Jan-Simon, what's your opinion then?

Thanks,
-Bryan

> Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
> ---
>  drivers/leds/leds-blinkm.c |    8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
> index d0452b099aee..f07f920ac0ac 100644
> --- a/drivers/leds/leds-blinkm.c
> +++ b/drivers/leds/leds-blinkm.c
> @@ -441,14 +441,13 @@ static int blinkm_transfer_hw(struct i2c_client *client, int cmd)
>
>  static void led_work(struct work_struct *work)
>  {
> -       int ret;
>         struct blinkm_led *led;
>         struct blinkm_data *data;
>         struct blinkm_work *blm_work = work_to_blmwork(work);
>
>         led = blm_work->blinkm_led;
>         data = i2c_get_clientdata(led->i2c_client);
> -       ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
> +       blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
>         atomic_dec(&led->active);
>         dev_dbg(&led->i2c_client->dev,
>                         "# DONE # next_red = %d, next_green = %d,"
> @@ -546,9 +545,8 @@ static void blinkm_led_blue_set(struct led_classdev *led_cdev,
>
>  static void blinkm_init_hw(struct i2c_client *client)
>  {
> -       int ret;
> -       ret = blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
> -       ret = blinkm_transfer_hw(client, BLM_GO_RGB);
> +       blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
> +       blinkm_transfer_hw(client, BLM_GO_RGB);
>  }
>
>  static int blinkm_test_run(struct i2c_client *client)
> --
> 1.7.9.5
>

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

* Re: [PATCH 1/1] leds: blinkm: Remove unused variable
  2014-07-01 15:54 ` Bryan Wu
@ 2014-07-01 21:50   ` Jan-Simon Möller
  2014-07-09 12:34     ` Jan-Simon Möller
  0 siblings, 1 reply; 5+ messages in thread
From: Jan-Simon Möller @ 2014-07-01 21:50 UTC (permalink / raw)
  To: Bryan Wu; +Cc: Sachin Kamat, Linux LED Subsystem, spk.linux

Nighttime here. I'll look tomorrow.
-- 

Dipl.-Ing.
Jan-Simon Möller

jansimon.moeller@gmx.de
Am Dienstag, 1. Juli 2014, 08:54:27 schrieb Bryan Wu:
> On Tue, Jul 1, 2014 at 5:07 AM, Sachin Kamat <sachin.kamat@samsung.com> 
wrote:
> > 'ret' is not used in the function. Remove it.
> 
> Removing it is easy but I guess we should check the return error status
> here. Jan-Simon, what's your opinion then?
> 
> Thanks,
> -Bryan
> 
> > Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
> > ---
> > 
> >  drivers/leds/leds-blinkm.c |    8 +++-----
> >  1 file changed, 3 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
> > index d0452b099aee..f07f920ac0ac 100644
> > --- a/drivers/leds/leds-blinkm.c
> > +++ b/drivers/leds/leds-blinkm.c
> > @@ -441,14 +441,13 @@ static int blinkm_transfer_hw(struct i2c_client
> > *client, int cmd)> 
> >  static void led_work(struct work_struct *work)
> >  {
> > 
> > -       int ret;
> > 
> >         struct blinkm_led *led;
> >         struct blinkm_data *data;
> >         struct blinkm_work *blm_work = work_to_blmwork(work);
> >         
> >         led = blm_work->blinkm_led;
> >         data = i2c_get_clientdata(led->i2c_client);
> > 
> > -       ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
> > +       blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
> > 
> >         atomic_dec(&led->active);
> >         dev_dbg(&led->i2c_client->dev,
> >         
> >                         "# DONE # next_red = %d, next_green = %d,"
> > 
> > @@ -546,9 +545,8 @@ static void blinkm_led_blue_set(struct led_classdev
> > *led_cdev,> 
> >  static void blinkm_init_hw(struct i2c_client *client)
> >  {
> > 
> > -       int ret;
> > -       ret = blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
> > -       ret = blinkm_transfer_hw(client, BLM_GO_RGB);
> > +       blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
> > +       blinkm_transfer_hw(client, BLM_GO_RGB);
> > 
> >  }
> >  
> >  static int blinkm_test_run(struct i2c_client *client)
> > 
> > --
> > 1.7.9.5

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

* Re: [PATCH 1/1] leds: blinkm: Remove unused variable
  2014-07-01 21:50   ` Jan-Simon Möller
@ 2014-07-09 12:34     ` Jan-Simon Möller
  2014-07-15  0:54       ` Bryan Wu
  0 siblings, 1 reply; 5+ messages in thread
From: Jan-Simon Möller @ 2014-07-09 12:34 UTC (permalink / raw)
  To: Bryan Wu; +Cc: Sachin Kamat, Linux LED Subsystem, spk.linux

[-- Attachment #1: Type: text/plain, Size: 2298 bytes --]

What about this ...


-- 

Dipl.-Ing.
Jan-Simon Möller

jansimon.moeller@gmx.de
Am Dienstag, 1. Juli 2014, 23:50:29 schrieb Jan-Simon Möller:
> Nighttime here. I'll look tomorrow.
> 
> > On Tue, Jul 1, 2014 at 5:07 AM, Sachin Kamat <sachin.kamat@samsung.com>
> 
> wrote:
> > > 'ret' is not used in the function. Remove it.
> > 
> > Removing it is easy but I guess we should check the return error status
> > here. Jan-Simon, what's your opinion then?
> > 
> > Thanks,
> > -Bryan
> > 
> > > Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
> > > ---
> > > 
> > >  drivers/leds/leds-blinkm.c |    8 +++-----
> > >  1 file changed, 3 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
> > > index d0452b099aee..f07f920ac0ac 100644
> > > --- a/drivers/leds/leds-blinkm.c
> > > +++ b/drivers/leds/leds-blinkm.c
> > > @@ -441,14 +441,13 @@ static int blinkm_transfer_hw(struct i2c_client
> > > *client, int cmd)>
> > > 
> > >  static void led_work(struct work_struct *work)
> > >  {
> > > 
> > > -       int ret;
> > > 
> > >         struct blinkm_led *led;
> > >         struct blinkm_data *data;
> > >         struct blinkm_work *blm_work = work_to_blmwork(work);
> > >         
> > >         led = blm_work->blinkm_led;
> > >         data = i2c_get_clientdata(led->i2c_client);
> > > 
> > > -       ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
> > > +       blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
> > > 
> > >         atomic_dec(&led->active);
> > >         dev_dbg(&led->i2c_client->dev,
> > >         
> > >                         "# DONE # next_red = %d, next_green = %d,"
> > > 
> > > @@ -546,9 +545,8 @@ static void blinkm_led_blue_set(struct led_classdev
> > > *led_cdev,>
> > > 
> > >  static void blinkm_init_hw(struct i2c_client *client)
> > >  {
> > > 
> > > -       int ret;
> > > -       ret = blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
> > > -       ret = blinkm_transfer_hw(client, BLM_GO_RGB);
> > > +       blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
> > > +       blinkm_transfer_hw(client, BLM_GO_RGB);
> > > 
> > >  }
> > >  
> > >  static int blinkm_test_run(struct i2c_client *client)
> > > 
> > > --
> > > 1.7.9.5

[-- Attachment #2: 0001-Enhance-error-checking-and-remove-sequence-handling.patch --]
[-- Type: text/x-patch, Size: 2167 bytes --]

>From 652251115033be83c3626b260d9f1fdf0e479b73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <dl9pf@gmx.de>
Date: Wed, 9 Jul 2014 14:26:53 +0200
Subject: [PATCH] Enhance error-checking and remove sequence handling.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
---
 drivers/leds/leds-blinkm.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
index d0452b0..9e7b988 100644
--- a/drivers/leds/leds-blinkm.c
+++ b/drivers/leds/leds-blinkm.c
@@ -449,6 +449,8 @@ static void led_work(struct work_struct *work)
 	led = blm_work->blinkm_led;
 	data = i2c_get_clientdata(led->i2c_client);
 	ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
+        if(ret)
+            dev_err(&led->i2c_client->dev, "BlinkM: HW transfer error\n");
 	atomic_dec(&led->active);
 	dev_dbg(&led->i2c_client->dev,
 			"# DONE # next_red = %d, next_green = %d,"
@@ -548,7 +550,11 @@ static void blinkm_init_hw(struct i2c_client *client)
 {
 	int ret;
 	ret = blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
+        if(ret)
+            dev_err(&client->dev, "BlinkM: HW transfer error\n");
 	ret = blinkm_transfer_hw(client, BLM_GO_RGB);
+        if(ret)
+            dev_err(&client->dev, "BlinkM: HW transfer error\n");
 }
 
 static int blinkm_test_run(struct i2c_client *client)
@@ -747,6 +753,8 @@ static int blinkm_remove(struct i2c_client *client)
 
 	/* make sure no workqueue entries are pending */
 	for (i = 0; i < 3; i++) {
+		//imbalance active counter to prevent further work
+		atomic_inc(&data->blinkm_leds[i].active);
 		flush_scheduled_work();
 		led_classdev_unregister(&data->blinkm_leds[i].led_cdev);
 	}
@@ -780,6 +788,10 @@ static int blinkm_remove(struct i2c_client *client)
 		dev_err(&client->dev, "Failure in blinkm_remove ignored. Continuing.\n");
 
 	sysfs_remove_group(&client->dev.kobj, &blinkm_group);
+
+        // make sure all is done before returning
+	flush_scheduled_work();
+
 	return 0;
 }
 
-- 
1.8.4.5


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

* Re: [PATCH 1/1] leds: blinkm: Remove unused variable
  2014-07-09 12:34     ` Jan-Simon Möller
@ 2014-07-15  0:54       ` Bryan Wu
  0 siblings, 0 replies; 5+ messages in thread
From: Bryan Wu @ 2014-07-15  0:54 UTC (permalink / raw)
  To: Jan-Simon Möller; +Cc: Sachin Kamat, Linux LED Subsystem, Sachin Kamat

On Wed, Jul 9, 2014 at 5:34 AM, Jan-Simon Möller <dl9pf@gmx.de> wrote:
> What about this ...
>
>

Could you post the patch directly here? and please fix those C++ style comments.

-Bryan


> --
>
> Dipl.-Ing.
> Jan-Simon Möller
>
> jansimon.moeller@gmx.de
> Am Dienstag, 1. Juli 2014, 23:50:29 schrieb Jan-Simon Möller:
>> Nighttime here. I'll look tomorrow.
>>
>> > On Tue, Jul 1, 2014 at 5:07 AM, Sachin Kamat <sachin.kamat@samsung.com>
>>
>> wrote:
>> > > 'ret' is not used in the function. Remove it.
>> >
>> > Removing it is easy but I guess we should check the return error status
>> > here. Jan-Simon, what's your opinion then?
>> >
>> > Thanks,
>> > -Bryan
>> >
>> > > Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
>> > > ---
>> > >
>> > >  drivers/leds/leds-blinkm.c |    8 +++-----
>> > >  1 file changed, 3 insertions(+), 5 deletions(-)
>> > >
>> > > diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
>> > > index d0452b099aee..f07f920ac0ac 100644
>> > > --- a/drivers/leds/leds-blinkm.c
>> > > +++ b/drivers/leds/leds-blinkm.c
>> > > @@ -441,14 +441,13 @@ static int blinkm_transfer_hw(struct i2c_client
>> > > *client, int cmd)>
>> > >
>> > >  static void led_work(struct work_struct *work)
>> > >  {
>> > >
>> > > -       int ret;
>> > >
>> > >         struct blinkm_led *led;
>> > >         struct blinkm_data *data;
>> > >         struct blinkm_work *blm_work = work_to_blmwork(work);
>> > >
>> > >         led = blm_work->blinkm_led;
>> > >         data = i2c_get_clientdata(led->i2c_client);
>> > >
>> > > -       ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
>> > > +       blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB);
>> > >
>> > >         atomic_dec(&led->active);
>> > >         dev_dbg(&led->i2c_client->dev,
>> > >
>> > >                         "# DONE # next_red = %d, next_green = %d,"
>> > >
>> > > @@ -546,9 +545,8 @@ static void blinkm_led_blue_set(struct led_classdev
>> > > *led_cdev,>
>> > >
>> > >  static void blinkm_init_hw(struct i2c_client *client)
>> > >  {
>> > >
>> > > -       int ret;
>> > > -       ret = blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
>> > > -       ret = blinkm_transfer_hw(client, BLM_GO_RGB);
>> > > +       blinkm_transfer_hw(client, BLM_STOP_SCRIPT);
>> > > +       blinkm_transfer_hw(client, BLM_GO_RGB);
>> > >
>> > >  }
>> > >
>> > >  static int blinkm_test_run(struct i2c_client *client)
>> > >
>> > > --
>> > > 1.7.9.5

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

end of thread, other threads:[~2014-07-15  0:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-01 12:07 [PATCH 1/1] leds: blinkm: Remove unused variable Sachin Kamat
2014-07-01 15:54 ` Bryan Wu
2014-07-01 21:50   ` Jan-Simon Möller
2014-07-09 12:34     ` Jan-Simon Möller
2014-07-15  0:54       ` Bryan Wu

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