From: Dan Murphy <dmurphy@ti.com>
To: Jacek Anaszewski <j.anaszewski@samsung.com>, linux-leds@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, cooloney@gmail.com,
rpurdie@rpsys.net, stsp@users.sourceforge.net,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH/RFC 18/51] leds: lp8860: Remove work queue
Date: Fri, 17 Jul 2015 08:52:50 -0500 [thread overview]
Message-ID: <55A908B2.1070407@ti.com> (raw)
In-Reply-To: <1437122857-6765-19-git-send-email-j.anaszewski@samsung.com>
On 07/17/2015 03:47 AM, Jacek Anaszewski wrote:
> From: Andrew Lunn <andrew@lunn.ch>
>
> Now the core implements the work queue, remove it from the drivers.
>
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> Cc: Dan Murphy <dmurphy@ti.com>
> ---
> drivers/leds/leds-lp8860.c | 24 +++++-------------------
> 1 file changed, 5 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c
> index 8c2b7fb..40e0ed8 100644
> --- a/drivers/leds/leds-lp8860.c
> +++ b/drivers/leds/leds-lp8860.c
> @@ -91,26 +91,22 @@
> /**
> * struct lp8860_led -
> * @lock - Lock for reading/writing the device
> - * @work - Work item used to off load the brightness register writes
> * @client - Pointer to the I2C client
> * @led_dev - led class device pointer
> * @regmap - Devices register map
> * @eeprom_regmap - EEPROM register map
> * @enable_gpio - VDDIO/EN gpio to enable communication interface
> * @regulator - LED supply regulator pointer
> - * @brightness - Current brightness value requested
> * @label - LED label
> **/
> struct lp8860_led {
> struct mutex lock;
> - struct work_struct work;
> struct i2c_client *client;
> struct led_classdev led_dev;
> struct regmap *regmap;
> struct regmap *eeprom_regmap;
> struct gpio_desc *enable_gpio;
> struct regulator *regulator;
> - enum led_brightness brightness;
> const char *label;
> };
>
> @@ -212,11 +208,13 @@ out:
> return ret;
> }
>
> -static void lp8860_led_brightness_work(struct work_struct *work)
> +static void lp8860_brightness_set(struct led_classdev *led_cdev,
> + enum led_brightness brt_val)
> {
> - struct lp8860_led *led = container_of(work, struct lp8860_led, work);
> + struct lp8860_led *led =
> + container_of(led_cdev, struct lp8860_led, led_dev);
> + int disp_brightness = brt_val * 255;
> int ret;
> - int disp_brightness = led->brightness * 255;
>
> mutex_lock(&led->lock);
>
> @@ -243,16 +241,6 @@ out:
> mutex_unlock(&led->lock);
> }
>
> -static void lp8860_brightness_set(struct led_classdev *led_cdev,
> - enum led_brightness brt_val)
> -{
> - struct lp8860_led *led =
> - container_of(led_cdev, struct lp8860_led, led_dev);
> -
> - led->brightness = brt_val;
> - schedule_work(&led->work);
> -}
> -
> static int lp8860_init(struct lp8860_led *led)
> {
> unsigned int read_buf;
> @@ -409,7 +397,6 @@ static int lp8860_probe(struct i2c_client *client,
> led->led_dev.brightness_set = lp8860_brightness_set;
>
> mutex_init(&led->lock);
> - INIT_WORK(&led->work, lp8860_led_brightness_work);
>
> i2c_set_clientdata(client, led);
>
> @@ -448,7 +435,6 @@ static int lp8860_remove(struct i2c_client *client)
> int ret;
>
> led_classdev_unregister(&led->led_dev);
> - cancel_work_sync(&led->work);
>
> if (led->enable_gpio)
> gpiod_direction_output(led->enable_gpio, 0);
Thanks!
Acked-by: Dan Murphy <dmurphy@ti.com>
--
------------------
Dan Murphy
WARNING: multiple messages have this Message-ID (diff)
From: Dan Murphy <dmurphy@ti.com>
To: Jacek Anaszewski <j.anaszewski@samsung.com>,
<linux-leds@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>, <cooloney@gmail.com>,
<rpurdie@rpsys.net>, <stsp@users.sourceforge.net>,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH/RFC 18/51] leds: lp8860: Remove work queue
Date: Fri, 17 Jul 2015 08:52:50 -0500 [thread overview]
Message-ID: <55A908B2.1070407@ti.com> (raw)
In-Reply-To: <1437122857-6765-19-git-send-email-j.anaszewski@samsung.com>
On 07/17/2015 03:47 AM, Jacek Anaszewski wrote:
> From: Andrew Lunn <andrew@lunn.ch>
>
> Now the core implements the work queue, remove it from the drivers.
>
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> Cc: Dan Murphy <dmurphy@ti.com>
> ---
> drivers/leds/leds-lp8860.c | 24 +++++-------------------
> 1 file changed, 5 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c
> index 8c2b7fb..40e0ed8 100644
> --- a/drivers/leds/leds-lp8860.c
> +++ b/drivers/leds/leds-lp8860.c
> @@ -91,26 +91,22 @@
> /**
> * struct lp8860_led -
> * @lock - Lock for reading/writing the device
> - * @work - Work item used to off load the brightness register writes
> * @client - Pointer to the I2C client
> * @led_dev - led class device pointer
> * @regmap - Devices register map
> * @eeprom_regmap - EEPROM register map
> * @enable_gpio - VDDIO/EN gpio to enable communication interface
> * @regulator - LED supply regulator pointer
> - * @brightness - Current brightness value requested
> * @label - LED label
> **/
> struct lp8860_led {
> struct mutex lock;
> - struct work_struct work;
> struct i2c_client *client;
> struct led_classdev led_dev;
> struct regmap *regmap;
> struct regmap *eeprom_regmap;
> struct gpio_desc *enable_gpio;
> struct regulator *regulator;
> - enum led_brightness brightness;
> const char *label;
> };
>
> @@ -212,11 +208,13 @@ out:
> return ret;
> }
>
> -static void lp8860_led_brightness_work(struct work_struct *work)
> +static void lp8860_brightness_set(struct led_classdev *led_cdev,
> + enum led_brightness brt_val)
> {
> - struct lp8860_led *led = container_of(work, struct lp8860_led, work);
> + struct lp8860_led *led =
> + container_of(led_cdev, struct lp8860_led, led_dev);
> + int disp_brightness = brt_val * 255;
> int ret;
> - int disp_brightness = led->brightness * 255;
>
> mutex_lock(&led->lock);
>
> @@ -243,16 +241,6 @@ out:
> mutex_unlock(&led->lock);
> }
>
> -static void lp8860_brightness_set(struct led_classdev *led_cdev,
> - enum led_brightness brt_val)
> -{
> - struct lp8860_led *led =
> - container_of(led_cdev, struct lp8860_led, led_dev);
> -
> - led->brightness = brt_val;
> - schedule_work(&led->work);
> -}
> -
> static int lp8860_init(struct lp8860_led *led)
> {
> unsigned int read_buf;
> @@ -409,7 +397,6 @@ static int lp8860_probe(struct i2c_client *client,
> led->led_dev.brightness_set = lp8860_brightness_set;
>
> mutex_init(&led->lock);
> - INIT_WORK(&led->work, lp8860_led_brightness_work);
>
> i2c_set_clientdata(client, led);
>
> @@ -448,7 +435,6 @@ static int lp8860_remove(struct i2c_client *client)
> int ret;
>
> led_classdev_unregister(&led->led_dev);
> - cancel_work_sync(&led->work);
>
> if (led->enable_gpio)
> gpiod_direction_output(led->enable_gpio, 0);
Thanks!
Acked-by: Dan Murphy <dmurphy@ti.com>
--
------------------
Dan Murphy
next prev parent reply other threads:[~2015-07-17 13:53 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-17 8:46 [PATCH/RFC v4 00/51] Remove work queues from LED class drivers Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 01/51] leds: Add led_set_brightness_sync to the public LED subsystem API Jacek Anaszewski
2015-07-21 9:50 ` Pavel Machek
2015-07-21 15:43 ` Jacek Anaszewski
2015-07-22 7:25 ` Pavel Machek
2015-07-17 8:46 ` [PATCH/RFC 02/51] leds: Improve asynchronous path of setting brightness Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 03/51] leds: Add an internal led_set_brightness_nosleep function Jacek Anaszewski
2015-07-21 9:53 ` Pavel Machek
2015-07-21 15:43 ` Jacek Anaszewski
2015-07-21 21:30 ` Pavel Machek
2015-07-17 8:46 ` [PATCH/RFC 04/51] leds: Improve setting brightness in a non sleeping way Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 05/51] leds: Drivers shouldn't enforce SYNC/ASYNC brightness setting Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 06/51] media: flash: use led_set_brightness_sync for torch brightness Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 07/51] leds: tlc591xx: Remove work queue Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 08/51] leds: 88pm860x: " Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 09/51] leds: adp5520: " Jacek Anaszewski
2015-07-17 8:52 ` Michael Hennerich
2015-07-17 8:52 ` Michael Hennerich
2015-07-17 8:46 ` [PATCH/RFC 10/51] leds: bd2802: " Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 11/51] leds: blinkm: " Jacek Anaszewski
2015-07-17 8:46 ` [PATCH/RFC 12/51] leds: lm3533: " Jacek Anaszewski
2015-07-17 9:20 ` Johan Hovold
2015-07-17 8:46 ` [PATCH/RFC 13/51] leds: lm3642: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 14/51] leds: pca9532: Remove work queue for LEDs Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 15/51] leds: lp3944: Remove work queue Jacek Anaszewski
2015-07-22 9:45 ` Antonio Ospite
2015-07-17 8:47 ` [PATCH/RFC 16/51] leds: lp55xx: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 17/51] leds: lp8788: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 18/51] leds: lp8860: " Jacek Anaszewski
2015-07-17 13:52 ` Dan Murphy [this message]
2015-07-17 13:52 ` Dan Murphy
2015-07-17 8:47 ` [PATCH/RFC 19/51] leds: pca955x: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 20/51] leds: pca963x: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 21/51] leds: wm831x: " Jacek Anaszewski
2015-07-17 10:02 ` Mark Brown
2015-07-17 8:47 ` [PATCH/RFC 22/51] leds: da903x: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 23/51] leds: da9052: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 24/51] leds: dac124d085: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 25/51] leds: lt3593: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 26/51] leds: max8997: Remove unneeded workqueue include Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 27/51] leds: mc13783: Remove work queue Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 28/51] leds: regulator: " Jacek Anaszewski
2015-07-22 10:03 ` Antonio Ospite
2015-07-17 8:47 ` [PATCH/RFC 29/51] leds: wm8350: " Jacek Anaszewski
2015-07-17 10:02 ` Mark Brown
2015-07-17 8:47 ` [PATCH/RFC 30/51] leds: pwm: remove " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 31/51] leds: lm355x: Remove " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 32/51] leds: gpio: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 33/51] leds: cobalt-raq: Mark the LED fast Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 34/51] leds: bcm6328: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 35/51] leds: bcm6358: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 36/51] leds: syscon: " Jacek Anaszewski
2015-07-17 13:41 ` Linus Walleij
2015-07-17 8:47 ` [PATCH/RFC 37/51] leds: ot200: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 38/51] leds: s3c24xx: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 39/51] leds: ss4200: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 40/51] leds: versatile: " Jacek Anaszewski
2015-07-17 13:42 ` Linus Walleij
2015-07-17 8:47 ` [PATCH/RFC 41/51] leds: wrap: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 42/51] leds: net48xx: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 43/51] leds: asic3: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 44/51] leds: cobalt-qube: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 45/51] leds: fsg: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 46/51] leds: hp6xx: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 47/51] leds: locomo: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 48/51] leds: dell: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 49/51] leds: rb532: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 50/51] leds: sunfire: " Jacek Anaszewski
2015-07-17 8:47 ` [PATCH/RFC 51/51] leds: ipaq-micro: " Jacek Anaszewski
2015-07-17 13:43 ` Linus Walleij
2015-07-17 15:37 ` 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=55A908B2.1070407@ti.com \
--to=dmurphy@ti.com \
--cc=andrew@lunn.ch \
--cc=cooloney@gmail.com \
--cc=j.anaszewski@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=rpurdie@rpsys.net \
--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.