linux-mips
[Top] [All Lists]

Re: [PATCH] Add support for Cobalt Server front LED

To: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Subject: Re: [PATCH] Add support for Cobalt Server front LED
From: Florian Fainelli <florian.fainelli@int-evry.fr>
Date: Tue, 16 Jan 2007 00:56:00 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <200701160033.10947.florian.fainelli@int-evry.fr>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200701151936.57738.florian.fainelli@int-evry.fr> <20070116074205.0428449d.yoichi_yuasa@tripeaks.co.jp> <200701160033.10947.florian.fainelli@int-evry.fr>
Sender: linux-mips-bounce@linux-mips.org
User-agent: KMail/1.9.5
Hi Yoichi,

Answering back to myself, since I fixed the stuff using the COBALT_LED_PORT, 
here the corrected patch. Can you queue this patch for a commit if it sounds 
acceptable to you ?

Thank you very much in advance.

diff -urN linux-2.6.19.1/drivers/leds/leds-cobalt.c 
linux-2.6.19.1.led/drivers/leds/leds-cobalt.c
--- linux-2.6.19.1/drivers/leds/leds-cobalt.c   1970-01-01 01:00:00.000000000 
+0100
+++ linux-2.6.19.1.led/drivers/leds/leds-cobalt.c       2007-01-16 
00:49:20.000000000 +0100
@@ -0,0 +1,55 @@
+#include <linux/module.h>
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/device.h>
+#include <linux/leds.h>
+#include <asm/mach-cobalt/cobalt.h>
+
+/* Copyright 2006 - Florian Fainelli <florian@openwrt.org>
+ *
+ * This driver let you control the Cobalt Qube/RaQ front LED
+ *
+ * 255 (max brightness) -> turn the led on
+ * 0 -> turn the led off
+ *
+ * If you want the LED to be blinking on IDE activity, select the IDE trigger
+ */
+
+void cobalt_led_set(struct led_classdev *led_cdev, enum led_brightness 
brightness)
+{
+       switch (brightness) {
+       case LED_OFF:
+               COBALT_LED_PORT = 0;
+               break;
+       case LED_FULL:
+               COBALT_LED_PORT = COBALT_LED_BAR_LEFT | COBALT_LED_BAR_RIGHT;
+               break;
+       default:
+               return;
+       }
+}
+
+static struct led_classdev cobalt_led = {
+       .name = "cobalt-front-led",
+       .brightness_set = cobalt_led_set,
+#ifdef CONFIG_LEDS_TRIGGER_IDE_DISK
+       .default_trigger = "ide-disk",
+#endif
+};
+
+static int __init cobalt_led_init(void)
+{
+       return led_classdev_register(NULL, &cobalt_led);
+}
+
+static void __exit cobalt_led_exit(void)
+{
+       led_classdev_unregister(&cobalt_led);
+}
+
+module_init(cobalt_led_init);
+module_exit(cobalt_led_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Front LED support for Cobalt Server");
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");

Le mardi 16 janvier 2007 00:33, Florian Fainelli a écrit :
> Hi Yoichi,
>
> I first used the COBALT_LED_PORT address but it did not work for a reason I
> ignore. If I use the COBALT_LED_BASE as defined, which is taken from the
> CoLo code, it works fine.
>
> Do know you what could explain this difference ? Can you test it on your
> boxes ?
>
> Thank you very much in advance for your answer.
>
> Le lundi 15 janvier 2007 23:42, Yoichi Yuasa a écrit :
> > Hi,
> >
> > On Mon, 15 Jan 2007 19:36:52 +0100
> >
> > Florian Fainelli <florian.fainelli@int-evry.fr> wrote:
> > > Hi all,
> > >
> > > This patch adds support for controlling the front LED on Cobalt Server.
> > > It has been tested on Qube 2 with either no default trigger, or the
> > > IDE-activity trigger. Both work fine. Please comment and test !
> > >
> > > Thanks
> > >
> > > Florian
> > >
> > > Signed-off-by: Florian Fainelli <florian.fainelli@int-evry.fr>
> > >
> > > diff -urN linux-2.6.19.1/include/asm-mips/mach-cobalt/cobalt.h
> > > linux-2.6.19.1.led/include/asm-mips/mach-cobalt/cobalt.h
> > > --- linux-2.6.19.1/include/asm-mips/mach-cobalt/cobalt.h
> > > 2006-12-11 20:32:53.000000000 +0100
> > > +++ linux-2.6.19.1.led/include/asm-mips/mach-cobalt/cobalt.h
> > > 2007-01-15 19:29:07.000000000 +0100
> > > @@ -97,6 +97,7 @@
> > >                 (PCI_FUNC (devfn) << 8) | (where)),
> > > GT_PCI0_CFGADDR_OFS)
> > >
> > >  #define COBALT_LED_PORT                (*(volatile unsigned char *)
> > > CKSEG1ADDR(0x1c000000))
> > > +#define COBALT_LED_BASE         0xbc000000
> >
> > You don't need COBALT_LED_BASE.
> > Because COBALT_LED_PORT is already defined.
> >
> > Yoichi

-- 
Cordialement, Florian Fainelli
---------------------------------------------
5, rue Charles Fourier
Chambre 1202
91011 Evry
http://www.alphacore.net
(+33) 01 60 76 64 21
(+33) 06 09 02 64 95
---------------------------------------------
Association MiNET
http://www.minet.net
---------------------------------------------
Institut National des Télécommunication
http://www.int-evry.fr/telecomint
---------------------------------------------

Attachment: pgpsBtCCAa1ZJ.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>