lkml.org 
[lkml]   [2012]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRE: [PATCH 1/4] leds-lp5521: add 'name' in the lp5521_led_config
Add Arun, Srinidhi, Linus and Andrew on CC

> -----Original Message-----
> From: Kim, Milo
> Sent: Sunday, January 22, 2012 3:09 AM
> To: 'linux-kernel@vger.kernel.org'; 'rpurdie@rpsys.net'
> Subject: [PATCH 1/4] leds-lp5521: add 'name' in the lp5521_led_config
>
> The name of each led channel can be configurable.
> For the compatibility, the name is set to default value(xx:channelN)
> when 'name' is not defined.
>
> * kernel patch based on 3.0.1
>
> Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
> ---
> Documentation/leds/leds-lp5521.txt | 6 ++++++
> drivers/leds/leds-lp5521.c | 11 ++++++++---
> include/linux/leds-lp5521.h | 1 +
> 3 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/leds/leds-lp5521.txt
> b/Documentation/leds/leds-lp5521.txt
> index c4d8d15..f48ab75 100644
> --- a/Documentation/leds/leds-lp5521.txt
> +++ b/Documentation/leds/leds-lp5521.txt
> @@ -43,17 +43,23 @@ Format: 10x mA i.e 10 means 1.0 mA
> example platform data:
>
> Note: chan_nr can have values between 0 and 2.
> +The name of each channel can be configurable.
> +If the name field is not defined, the default name will be set to
> 'xxxx:channelN'
> +(XXXX : pdata->label or i2c client name, N : channel number)
>
> static struct lp5521_led_config lp5521_led_config[] = {
> {
> + .name = "red",
> .chan_nr = 0,
> .led_current = 50,
> .max_current = 130,
> }, {
> + .name = "green",
> .chan_nr = 1,
> .led_current = 0,
> .max_current = 130,
> }, {
> + .name = "blue",
> .chan_nr = 2,
> .led_current = 0,
> .max_current = 130,
> diff --git a/drivers/leds/leds-lp5521.c b/drivers/leds/leds-lp5521.c
> index cc1dc48..c0e7c10 100644
> --- a/drivers/leds/leds-lp5521.c
> +++ b/drivers/leds/leds-lp5521.c
> @@ -617,10 +617,15 @@ static int __devinit lp5521_init_led(struct
> lp5521_led *led,
> return -EINVAL;
> }
>
> - snprintf(name, sizeof(name), "%s:channel%d",
> - pdata->label ?: client->name, chan);
> led->cdev.brightness_set = lp5521_set_brightness;
> - led->cdev.name = name;
> + if (pdata->led_config[chan].name) {
> + led->cdev.name = pdata->led_config[chan].name;
> + } else {
> + snprintf(name, sizeof(name), "%s:channel%d",
> + pdata->label ?: client->name, chan);
> + led->cdev.name = name;
> + }
> +
> res = led_classdev_register(dev, &led->cdev);
> if (res < 0) {
> dev_err(dev, "couldn't register led on channel %d\n", chan);
> diff --git a/include/linux/leds-lp5521.h b/include/linux/leds-lp5521.h
> index fd548d2..e675b8d 100644
> --- a/include/linux/leds-lp5521.h
> +++ b/include/linux/leds-lp5521.h
> @@ -26,6 +26,7 @@
> /* See Documentation/leds/leds-lp5521.txt */
>
> struct lp5521_led_config {
> + char *name;
> u8 chan_nr;
> u8 led_current; /* mA x10, 0 if led is not connected */
> u8 max_current;
> --
> 1.7.4.1
>
> Best Regards,
> Milo (Woogyom) Kim
> Texas Instruments Incorporated



\
 
 \ /
  Last update: 2012-01-27 03:23    [W:0.025 / U:0.728 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site