LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Michael Loeffler <zvpunry@zvpunry.de> To: linux-kernel@vger.kernel.org Cc: Richard Purdie <rpurdie@rpsys.net>, Kristian Kielhofner <kris@krisk.org> Subject: [PATCH] leds: Add support for the 3rd LED on the PCEngines WRAP Date: Thu, 27 Dec 2007 14:31:42 +0100 [thread overview] Message-ID: <1198762302.15874.6.camel@macbook> (raw) The 3rd LED on this board is something like a power-led, it is on all the time. With this change to the leds-wrap driver it is possible to use this LED too. Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de> --- Hi I wonder why there was no support for this LED. This LED and the GPIO line is documented in the first commit message (0d75565f) for this file. I use this changed version for five weeks and it just works. I think this patch can be included in 2.6.25. bye PS: I'm not subscribed to the lkml, so please Cc me. drivers/leds/leds-wrap.c | 43 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 37 insertions(+), 6 deletions(-) diff --git a/drivers/leds/leds-wrap.c b/drivers/leds/leds-wrap.c index 27fb2d8..254e426 100644 --- a/drivers/leds/leds-wrap.c +++ b/drivers/leds/leds-wrap.c @@ -19,11 +19,21 @@ #include <linux/scx200_gpio.h> #define DRVNAME "wrap-led" +#define WRAP_POWER_LED_GPIO 2 #define WRAP_ERROR_LED_GPIO 3 -#define WRAP_EXTRA_LED_GPIO 18 +#define WRAP_EXTRA_LED_GPIO 18 static struct platform_device *pdev; +static void wrap_power_led_set(struct led_classdev *led_cdev, + enum led_brightness value) +{ + if (value) + scx200_gpio_set_low(WRAP_POWER_LED_GPIO); + else + scx200_gpio_set_high(WRAP_POWER_LED_GPIO); +} + static void wrap_error_led_set(struct led_classdev *led_cdev, enum led_brightness value) { @@ -42,6 +52,11 @@ static void wrap_extra_led_set(struct led_classdev *led_cdev, scx200_gpio_set_high(WRAP_EXTRA_LED_GPIO); } +static struct led_classdev wrap_power_led = { + .name = "wrap:power", + .brightness_set = wrap_power_led_set, +}; + static struct led_classdev wrap_error_led = { .name = "wrap:error", .brightness_set = wrap_error_led_set, @@ -56,6 +71,7 @@ static struct led_classdev wrap_extra_led = { static int wrap_led_suspend(struct platform_device *dev, pm_message_t state) { + led_classdev_suspend(&wrap_power_led); led_classdev_suspend(&wrap_error_led); led_classdev_suspend(&wrap_extra_led); return 0; @@ -63,6 +79,7 @@ static int wrap_led_suspend(struct platform_device *dev, static int wrap_led_resume(struct platform_device *dev) { + led_classdev_resume(&wrap_power_led); led_classdev_resume(&wrap_error_led); led_classdev_resume(&wrap_extra_led); return 0; @@ -76,17 +93,31 @@ static int wrap_led_probe(struct platform_device *pdev) { int ret; + ret = led_classdev_register(&pdev->dev, &wrap_power_led); + if (ret < 0) + return ret; + ret = led_classdev_register(&pdev->dev, &wrap_error_led); - if (ret == 0) { - ret = led_classdev_register(&pdev->dev, &wrap_extra_led); - if (ret < 0) - led_classdev_unregister(&wrap_error_led); - } + if (ret < 0) + goto err1; + + ret = led_classdev_register(&pdev->dev, &wrap_extra_led); + if (ret < 0) + goto err2; + + return ret; + +err2: + led_classdev_unregister(&wrap_error_led); +err1: + led_classdev_unregister(&wrap_power_led); + return ret; } static int wrap_led_remove(struct platform_device *pdev) { + led_classdev_unregister(&wrap_power_led); led_classdev_unregister(&wrap_error_led); led_classdev_unregister(&wrap_extra_led); return 0; -- 1.5.3.7.1112.g9758e
next reply other threads:[~2007-12-27 14:13 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-12-27 13:31 Michael Loeffler [this message] 2008-01-13 23:21 ` [PATCH] leds: Add support for the 3rd LED on the PCEngines WRAP Richard Purdie
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1198762302.15874.6.camel@macbook \ --to=zvpunry@zvpunry.de \ --cc=kris@krisk.org \ --cc=linux-kernel@vger.kernel.org \ --cc=rpurdie@rpsys.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).