Florian Fainelli | 2fea6f3 | 2007-02-12 23:16:27 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2006 - Florian Fainelli <florian@openwrt.org> |
| 3 | * |
| 4 | * Control the Cobalt Qube/RaQ front LED |
| 5 | */ |
| 6 | |
| 7 | #include <linux/module.h> |
| 8 | #include <linux/types.h> |
| 9 | #include <linux/kernel.h> |
| 10 | #include <linux/device.h> |
| 11 | #include <linux/leds.h> |
| 12 | #include <asm/mach-cobalt/cobalt.h> |
| 13 | |
| 14 | static void cobalt_led_set(struct led_classdev *led_cdev, enum led_brightness brightness) |
| 15 | { |
| 16 | if (brightness) |
| 17 | COBALT_LED_PORT = COBALT_LED_BAR_LEFT | COBALT_LED_BAR_RIGHT; |
| 18 | else |
| 19 | COBALT_LED_PORT = 0; |
| 20 | } |
| 21 | |
| 22 | static struct led_classdev cobalt_led = { |
| 23 | .name = "cobalt-front-led", |
| 24 | .brightness_set = cobalt_led_set, |
| 25 | .default_trigger = "ide-disk", |
| 26 | }; |
| 27 | |
| 28 | static int __init cobalt_led_init(void) |
| 29 | { |
| 30 | return led_classdev_register(NULL, &cobalt_led); |
| 31 | } |
| 32 | |
| 33 | static void __exit cobalt_led_exit(void) |
| 34 | { |
| 35 | led_classdev_unregister(&cobalt_led); |
| 36 | } |
| 37 | |
| 38 | module_init(cobalt_led_init); |
| 39 | module_exit(cobalt_led_exit); |
| 40 | |
| 41 | MODULE_LICENSE("GPL"); |
| 42 | MODULE_DESCRIPTION("Front LED support for Cobalt Server"); |
| 43 | MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>"); |