Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754447AbcC2UnK (ORCPT ); Tue, 29 Mar 2016 16:43:10 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:33375 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753196AbcC2UnH (ORCPT ); Tue, 29 Mar 2016 16:43:07 -0400 Subject: Re: [PATCH v5 4/4] leds: core: add support for RGB LED's To: Pavel Machek References: <56D60B4C.5000506@gmail.com> <20160329100535.GC24964@amd> Cc: Jacek Anaszewski , linux-leds@vger.kernel.org, Benjamin Tissoires , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org From: Heiner Kallweit Message-ID: <56FAE8CD.1010804@gmail.com> Date: Tue, 29 Mar 2016 22:42:53 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <20160329100535.GC24964@amd> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2001 Lines: 54 Am 29.03.2016 um 12:05 schrieb Pavel Machek: > On Tue 2016-03-01 22:36:12, Heiner Kallweit wrote: >> Export a function to convert HSV color values to RGB. >> It's intended to be called by drivers for RGB LEDs. >> >> Signed-off-by: Heiner Kallweit >> --- >> v2: >> - move hsv -> rgb conversion to separate file >> - remove flag LED_DEV_CAP_RGB >> v3: >> - call led_hsv_to_rgb only if LED_DEV_CAP_HSV is set >> This is needed in cases when we have monochrome and color LEDs >> as well in a system. >> v4: >> - Export led_hsv_to_rgb and let the device driver call it instead >> of doing the conversion in the core >> v5: >> - don't ignore led_cdev->brightness_get silently if LED_DEV_CAP_RGB >> is set but warn >> --- >> drivers/leds/led-class.c | 7 +++++++ >> drivers/leds/led-rgb-core.c | 36 ++++++++++++++++++++++++++++++++++++ >> include/linux/leds.h | 8 ++++++++ >> 3 files changed, 51 insertions(+) >> >> diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c >> index 8a3748a..a4b144e 100644 >> --- a/drivers/leds/led-class.c >> +++ b/drivers/leds/led-class.c >> @@ -193,6 +193,13 @@ int led_classdev_register(struct device *parent, struct led_classdev *led_cdev) >> char name[64]; >> int ret; >> >> + /* >> + * for now reading back the color is not supported as multiple >> + * HSV -> RGB -> HSV conversions may distort the color due to >> + * rounding issues in the conversion algorithm >> + */ >> + WARN_ON(led_cdev->flags & LED_DEV_CAP_RGB && led_cdev->brightness_get); >> + > > Backtrace is useless here, you may want to add some ()s and you don't > really want user to be causing messages in syslog this easily. > I agree that the backtrace doesn't provide a benefit here. However I don't see how a user could create syslog entries. The warn condition can be true only for drivers implementing the RGB extension in a not supported way (by setting flag LED_DEV_CAP_RGB and implementing brightness_get). Pavel >