Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932318AbbGQIsS (ORCPT ); Fri, 17 Jul 2015 04:48:18 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:42537 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932065AbbGQIsO (ORCPT ); Fri, 17 Jul 2015 04:48:14 -0400 X-AuditID: cbfee61a-f79516d000006302-a2-55a8c14c5160 From: Jacek Anaszewski To: linux-leds@vger.kernel.org Cc: linux-kernel@vger.kernel.org, cooloney@gmail.com, rpurdie@rpsys.net, stsp@users.sourceforge.net, Andrew Lunn Subject: [PATCH/RFC 08/51] leds: 88pm860x: Remove work queue Date: Fri, 17 Jul 2015 10:46:54 +0200 Message-id: <1437122857-6765-9-git-send-email-j.anaszewski@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1437122857-6765-1-git-send-email-j.anaszewski@samsung.com> References: <1437122857-6765-1-git-send-email-j.anaszewski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplluLIzCtJLcpLzFFi42I5/e+xgK7PwRWhBq3/LCzO3z3EbHF050Qm i8u75rBZbH2zjtFi966nrBadfdNYHNg8ds66y+6xc8dnJo8983+wejSdamf1+LxJLoA1issm JTUnsyy1SN8ugStj5sX3jAXzhSqWNF1ib2D8zdfFyMkhIWAiMefjYlYIW0ziwr31bF2MXBxC AosYJX58XMAI4fxklLjSfYUJpIpNwFDi54vXQDYHh4iAnMTOM5UgNcwCzYwSbf+aWEHiwgI2 Erf/OoOUswioSrw+cQtsAa+Au8Txc1PBSiQEFCTmTLIBCXMKeEi8f7CSBcQWAipp+3ORbQIj 7wJGhlWMoqkFyQXFSem5hnrFibnFpXnpesn5uZsYwYH0TGoH48oGi0OMAhyMSjy8Da4rQoVY E8uKK3MPMUpwMCuJ8FbuBArxpiRWVqUW5ccXleakFh9ilOZgURLnPZnvEyokkJ5YkpqdmlqQ WgSTZeLglGpgLEp9rxx7wS/NkOHcpALT3dv5lvVsvxf5P9XNUXtd2kUxfr3d3e1dZ70VLglI 8izcyvj86Qq5piVlPDp5kVqLUqak9d9d//nP9DsLBCQaOq/nKh6SjNizJGa1qffL++crlzKX T1NQZP0+YT7bj6XRez6vD/zMycSjlbfMZoZY9QLxiz/5zdRVlViKMxINtZiLihMBFDP9OSAC AAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2501 Lines: 84 From: Andrew Lunn Now the core implements the work queue, remove it from the driver. Signed-off-by: Andrew Lunn --- drivers/leds/leds-88pm860x.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/drivers/leds/leds-88pm860x.c b/drivers/leds/leds-88pm860x.c index 1497a09..fb29848 100644 --- a/drivers/leds/leds-88pm860x.c +++ b/drivers/leds/leds-88pm860x.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include @@ -33,7 +32,6 @@ struct pm860x_led { struct led_classdev cdev; struct i2c_client *i2c; - struct work_struct work; struct pm860x_chip *chip; struct mutex lock; char name[MFD_NAME_SIZE]; @@ -69,17 +67,18 @@ static int led_power_set(struct pm860x_chip *chip, int port, int on) return ret; } -static void pm860x_led_work(struct work_struct *work) +static void pm860x_led_set(struct led_classdev *cdev, + enum led_brightness value) { - - struct pm860x_led *led; + struct pm860x_led *led = container_of(cdev, struct pm860x_led, cdev); struct pm860x_chip *chip; unsigned char buf[3]; int ret; - led = container_of(work, struct pm860x_led, work); chip = led->chip; mutex_lock(&led->lock); + led->brightness = value >> 3; + if ((led->current_brightness == 0) && led->brightness) { led_power_set(chip, led->port, 1); if (led->iset) { @@ -114,15 +113,6 @@ static void pm860x_led_work(struct work_struct *work) mutex_unlock(&led->lock); } -static void pm860x_led_set(struct led_classdev *cdev, - enum led_brightness value) -{ - struct pm860x_led *data = container_of(cdev, struct pm860x_led, cdev); - - data->brightness = value >> 3; - schedule_work(&data->work); -} - #ifdef CONFIG_OF static int pm860x_led_dt_init(struct platform_device *pdev, struct pm860x_led *data) @@ -214,7 +204,6 @@ static int pm860x_led_probe(struct platform_device *pdev) data->cdev.name = data->name; data->cdev.brightness_set = pm860x_led_set; mutex_init(&data->lock); - INIT_WORK(&data->work, pm860x_led_work); ret = led_classdev_register(chip->dev, &data->cdev); if (ret < 0) { -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/