From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiner Kallweit Subject: Re: [PATCH v5 4/4] leds: core: add support for RGB LED's Date: Tue, 29 Mar 2016 22:42:53 +0200 Message-ID: <56FAE8CD.1010804@gmail.com> References: <56D60B4C.5000506@gmail.com> <20160329100535.GC24964@amd> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: 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 In-Reply-To: <20160329100535.GC24964@amd> Sender: linux-leds-owner@vger.kernel.org List-Id: linux-leds@vger.kernel.org To: Pavel Machek Cc: Jacek Anaszewski , linux-leds@vger.kernel.org, Benjamin Tissoires , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org 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 >