Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1515699
| Path | csiph.com!1.us.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!newsfeed.datemas.de!enother.net!enother.net!enother.net!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Jacek Anaszewski <jacek.anaszewski@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/2] leds: core: Remove delayed_set_value property from struct led_classdev |
| Date | Sun, 06 Nov 2016 15:00:02 +0100 |
| Message-ID | <sAw9k-68a-11@gated-at.bofh.it> (permalink) |
| References | <soRjb-7Pg-3@gated-at.bofh.it> <soRjb-7Pg-11@gated-at.bofh.it> |
| X-Original-To | Jacek Anaszewski <j.anaszewski@samsung.com>, linux-leds@vger.kernel.org |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=oD5Ec0iXKHL/pzzSwUG8uM0hcvVRF9bTmmafjnIkg8E=; b=cOpgCJXZkVT/6e36BsMsb3o1Z2OpBQdsFzLENR46JyhtIQewd3I9zaVRA0iizFoaJ0 ySxeUILszwziQjzYxng2lIJsIChA3rnwFfvBjyPjR8ej4SGUUizhOEsFGnP/f1s2i/Fd GWe/XLRW6yJvI4FX/hBbnXvb6wX+vg9icPoeFpuTa43G6TKi6a3C3XtvDp0OhlGQg4hq duNO7CatPRyqmqh2NojAY8gW0ljIyirlUmn3Wd0YZ0bCtVT9s4vhRXNevhXsp/icVxKk daOacjROPoEmdoFArBmMprGstzomtb0NjFwfsQndVVwmjgu5zZPqDHaS/OnNqL/83v+G Xc1w== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=oD5Ec0iXKHL/pzzSwUG8uM0hcvVRF9bTmmafjnIkg8E=; b=HVf95x3bQp0d+ES1WF5DVMPQYFG4uhuYz8HrBxzzhRYP6hyvLoj5zlBXWtFv6hWc5y USyB08stWR+yjXy2bFcSp4otxD23zOkmVsq+BIgR3GYBRhg8Wd9KMmDuu+Fpd13X/bmM +NQZv4tqoXGrTNfmFDOYO7zzRSkykQAAjtPh8MfBTv1O77gdiFY5JTG3Kxqth21gknRE mhwou1kuhy1P4ZpklphRJh+S89rcf39WHRQPJIn9Pn0NeEnd4aji1yzzpiuGpxPpj5I0 M0mW00Boq5eVlnZwIrqotG1w82vL2RJHjztsbeN7MAMuj3/pOS8cTbSZL84wzRd2mrVU wInQ== |
| X-Gm-Message-State | ABUngvdF/gAPWuKFSa59ySpXuTBGeJ1LT2CFwv8jRYnXUwM1/REkwJ0jBoYi62XttkZWyg== |
| X-Received | by 10.194.253.194 with SMTP id ac2mr1328600wjd.8.1478440185442; Sun, 06 Nov 2016 05:49:45 -0800 (PST) |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=windows-1252; format=flowed |
| Content-Transfer-Encoding | 7bit |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 75 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | linux-kernel@vger.kernel.org, Fabio Baltieri <fabio.baltieri@gmail.com>, Sakari Ailus <sakari.ailus@linux.intel.com>, Pavel Machek <pavel@ucw.cz>, Andrew Lunn <andrew@lunn.ch> |
| X-Original-Date | Sun, 6 Nov 2016 14:49:06 +0100 |
| X-Original-Message-ID | <5839241e-e69e-40ea-9a6a-da2ff291117e@gmail.com> |
| X-Original-References | <1475661812-26215-1-git-send-email-j.anaszewski@samsung.com> <1475661812-26215-2-git-send-email-j.anaszewski@samsung.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1515699 |
Show key headers only | View raw
Withdrawing this patch as it breaks restoring brightness
on resume.
Thanks,
Jacek Anaszewski
On 10/05/2016 12:03 PM, Jacek Anaszewski wrote:
> delayed_set_value property was introduced in the commit
> d23a22a74fde ("leds: delay led_set_brightness if stopping soft-blink").
> Its aim was to allow calling led_set_brightness() from hard irq context
> when soft blinking is enabled. Later LED core refactoring preserved
> the property, although in an ineffective way. That bug was harmless
> because in the new approach brightness setting is deferred until the
> next timer tick when software blinking is enabled.
>
> Since LED brightness is assigned immediately in
> led_set_brightness_nosleep() or through struct led_classdev's
> blink_brightness while soft blinking is enabled, then
> delayed_set_value is no longer required.
>
> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
> Cc: Fabio Baltieri <fabio.baltieri@gmail.com>
> Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
> Cc: Pavel Machek <pavel@ucw.cz>
> Cc: Andrew Lunn <andrew@lunn.ch>
> ---
> drivers/leds/led-core.c | 8 ++++----
> include/linux/leds.h | 1 -
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c
> index 3bce448..2d0c75a 100644
> --- a/drivers/leds/led-core.c
> +++ b/drivers/leds/led-core.c
> @@ -107,15 +107,15 @@ static void set_brightness_delayed(struct work_struct *ws)
> int ret = 0;
>
> if (led_cdev->flags & LED_BLINK_DISABLE) {
> - led_cdev->delayed_set_value = LED_OFF;
> + led_cdev->brightness = LED_OFF;
> led_stop_software_blink(led_cdev);
> led_cdev->flags &= ~LED_BLINK_DISABLE;
> }
>
> - ret = __led_set_brightness(led_cdev, led_cdev->delayed_set_value);
> + ret = __led_set_brightness(led_cdev, led_cdev->brightness);
> if (ret == -ENOTSUPP)
> ret = __led_set_brightness_blocking(led_cdev,
> - led_cdev->delayed_set_value);
> + led_cdev->brightness);
> if (ret < 0 &&
> /* LED HW might have been unplugged, therefore don't warn */
> !(ret == -ENODEV && (led_cdev->flags & LED_UNREGISTERING) &&
> @@ -260,7 +260,7 @@ void led_set_brightness_nopm(struct led_classdev *led_cdev,
> return;
>
> /* If brightness setting can sleep, delegate it to a work queue task */
> - led_cdev->delayed_set_value = value;
> + led_cdev->brightness = value;
> schedule_work(&led_cdev->set_brightness_work);
> }
> EXPORT_SYMBOL_GPL(led_set_brightness_nopm);
> diff --git a/include/linux/leds.h b/include/linux/leds.h
> index ddfcb2d..52993de 100644
> --- a/include/linux/leds.h
> +++ b/include/linux/leds.h
> @@ -92,7 +92,6 @@ struct led_classdev {
> void (*flash_resume)(struct led_classdev *led_cdev);
>
> struct work_struct set_brightness_work;
> - int delayed_set_value;
>
> #ifdef CONFIG_LEDS_TRIGGERS
> /* Protects the trigger data below */
>
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH 2/2] leds: core: Remove delayed_set_value property from struct led_classdev Jacek Anaszewski <jacek.anaszewski@gmail.com> - 2016-11-06 15:00 +0100
csiph-web