From: Florian Fainelli <florian.fainelli@int-evry.fr>
To: linux-mips@linux-mips.org
Subject: [PATCH] Add support for Cobalt Server front LED
Date: Mon, 15 Jan 2007 19:36:52 +0100 [thread overview]
Message-ID: <200701151936.57738.florian.fainelli@int-evry.fr> (raw)
[-- Attachment #1: Type: text/plain, Size: 4166 bytes --]
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
# define COBALT_LED_BAR_LEFT (1 << 0) /* Qube */
# define COBALT_LED_BAR_RIGHT (1 << 1) /* Qube */
# define COBALT_LED_WEB (1 << 2) /* RaQ */
diff -urN linux-2.6.19.1/drivers/leds/Kconfig
linux-2.6.19.1.led/drivers/leds/Kconfig
--- linux-2.6.19.1/drivers/leds/Kconfig 2006-12-11 20:32:53.000000000 +0100
+++ linux-2.6.19.1.led/drivers/leds/Kconfig 2007-01-15 19:22:00.000000000
+0100
@@ -76,6 +76,12 @@
This option enables support for the Soekris net4801 and net4826
error
LED.
+config LEDS_COBALT
+ tristate "LED Support for Cobalt Server front LED"
+ depends on LEDS_CLASS && MIPS_COBALT
+ help
+ This option enables support for the front LED on Cobalt Server
+
comment "LED Triggers"
config LEDS_TRIGGERS
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-15
19:28:09.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:
+ *(volatile uint8_t *) COBALT_LED_BASE = 0;
+ break;
+ case LED_FULL:
+ *(volatile uint8_t *) COBALT_LED_BASE = 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>");
diff -urN linux-2.6.19.1/drivers/leds/Makefile
linux-2.6.19.1.led/drivers/leds/Makefile
--- linux-2.6.19.1/drivers/leds/Makefile 2006-12-11 20:32:53.000000000
+0100
+++ linux-2.6.19.1.led/drivers/leds/Makefile 2007-01-15 19:22:18.000000000
+0100
@@ -13,6 +13,7 @@
obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o
obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o
obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
+obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
# LED Triggers
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2007-01-15 18:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-15 18:36 Florian Fainelli [this message]
2007-01-15 22:42 ` [PATCH] Add support for Cobalt Server front LED Yoichi Yuasa
2007-01-15 23:33 ` Florian Fainelli
2007-01-15 23:56 ` Florian Fainelli
2007-01-17 16:46 ` Ralf Baechle
2007-01-17 18:04 ` Florian Fainelli
2007-01-17 18:29 ` Ralf Baechle
2007-01-17 18:37 ` Florian Fainelli
2007-01-16 9:53 ` Peter Horton
2007-01-16 10:14 ` Florian Fainelli
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=200701151936.57738.florian.fainelli@int-evry.fr \
--to=florian.fainelli@int-evry.fr \
--cc=linux-mips@linux-mips.org \
/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: link
Be 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