Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932490AbbENJLp (ORCPT ); Thu, 14 May 2015 05:11:45 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:40833 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752412AbbENJLm (ORCPT ); Thu, 14 May 2015 05:11:42 -0400 X-AuditID: cbfec7f5-f794b6d000001495-ce-555466cbf3d4 Message-id: <555466C9.7080702@samsung.com> Date: Thu, 14 May 2015 11:11:37 +0200 From: Jacek Anaszewski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 MIME-version: 1.0 To: Stas Sergeev Cc: linux-leds@vger.kernel.org, Linux kernel , Bryan Wu , Richard Purdie , Stas Sergeev Subject: Re: [PATCH] leds: remove redundant SET_BRIGHTNESS_SYNC flag References: <55537091.7040306@list.ru> In-reply-to: <55537091.7040306@list.ru> Content-type: text/plain; charset=UTF-8; format=flowed Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrGLMWRmVeSWpSXmKPExsVy+t/xq7qn00JCDbae0rQ4unMik8XlXXPY LLa+WcdosXvXU1aL1k0NzBadfdNYHNg8ds66y+5xb8tlZo8983+wejSdamf1+LxJLoA1issm JTUnsyy1SN8ugSvj2PKHzAVPRCrWHm1gb2B8LdDFyMkhIWAiceXtQ0YIW0ziwr31bF2MXBxC AksZJfqWz4NynjFK3Nq7j6WLkYODV0BLYtpBYZAGFgFVif0ztrCA2GwChhI/X7xmArFFBSIk /pzexwpi8woISvyYfA+sVURAXmJDYxnISGaBvYwSjy72M4PUCAu4SJx6eBFsjpCAmsSpVb/B DuIUUJe4sXweO4jNLGAm8ahlHTOELS+xec1b5gmMArOQrJiFpGwWkrIFjMyrGEVTS5MLipPS c430ihNzi0vz0vWS83M3MUJC++sOxqXHrA4xCnAwKvHwchgGhwqxJpYVV+YeYpTgYFYS4V0f HRIqxJuSWFmVWpQfX1Sak1p8iFGag0VJnHfmrvchQgLpiSWp2ampBalFMFkmDk6pBsa4b9ET +l1a8xVKVovf/KY0WT6+spy96d0s7k8V684p5c5uMO18y1Xdw86eJ3LV8/G2nTNkdCTu5V9a 1qCpJ3HYTujyka1P/EqleQpmbDnxOv2RZuY8O7v2ksMC/HlF0nfXyLpo5gt+VVC7/7d+U3/Q 8YVuu6PX9tyTeX65evc9s8nyXicrjyixFGckGmoxFxUnAgAkAAsGaQIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2831 Lines: 79 I personally can't find any strong argument against this optimization. I added both flags on Bryan's request while implementing LED Flash class extension. I can see a few occurrences in the include/linux directory where both SYNC and ASYNC flags are implemented. The argument in favour could be the fact that the flags influence the core functionality of the subsystem. Bryan, could you express your opinion, please? On 05/13/2015 05:41 PM, Stas Sergeev wrote: > > There is a complimentary flag called SET_BRIGHTNESS_ASYNC. > Having both is redundant. This patch removes the unneeded flag > without any functionality change. > > CC: Bryan Wu > CC: Richard Purdie > CC: linux-leds@vger.kernel.org > CC: linux-kernel@vger.kernel.org > > Signed-off-by: Stas Sergeev > --- > drivers/leds/led-class-flash.c | 1 - > drivers/leds/led-core.c | 4 +--- > include/linux/leds.h | 2 +- > 3 files changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/leds/led-class-flash.c b/drivers/leds/led-class-flash.c > index 3b25734..bb67364 100644 > --- a/drivers/leds/led-class-flash.c > +++ b/drivers/leds/led-class-flash.c > @@ -318,7 +318,6 @@ int led_classdev_flash_register(struct device *parent, > > /* Setting a torch brightness needs to have immediate effect */ > led_cdev->flags &= ~SET_BRIGHTNESS_ASYNC; > - led_cdev->flags |= SET_BRIGHTNESS_SYNC; > > return 0; > } > diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c > index 9886dac..356e851 100644 > --- a/drivers/leds/led-core.c > +++ b/drivers/leds/led-core.c > @@ -129,10 +129,8 @@ void led_set_brightness(struct led_classdev *led_cdev, > if (led_cdev->flags & SET_BRIGHTNESS_ASYNC) { > led_set_brightness_async(led_cdev, brightness); > return; > - } else if (led_cdev->flags & SET_BRIGHTNESS_SYNC) > + } else > ret = led_set_brightness_sync(led_cdev, brightness); > - else > - ret = -EINVAL; > > if (ret < 0) > dev_dbg(led_cdev->dev, "Setting LED brightness failed (%d)\n", > diff --git a/include/linux/leds.h b/include/linux/leds.h > index 9a2b000..c9e6e5d 100644 > --- a/include/linux/leds.h > +++ b/include/linux/leds.h > @@ -45,7 +45,7 @@ struct led_classdev { > #define LED_BLINK_INVERT (1 << 19) > #define LED_SYSFS_DISABLE (1 << 20) > #define SET_BRIGHTNESS_ASYNC (1 << 21) > -#define SET_BRIGHTNESS_SYNC (1 << 22) > +/* bit 22 unused, take it */ > #define LED_DEV_CAP_FLASH (1 << 23) > > /* Set LED brightness level */ > -- Best Regards, Jacek Anaszewski -- 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/