1 --- kernel-power-2.6.28.orig/drivers/leds/Kconfig
2 +++ kernel-power-2.6.28/drivers/leds/Kconfig
4 This allows LEDs to be initialised in the ON state.
7 +config LEDS_TRIGGER_KEYB
8 + tristate "LED Trigger as Keyboard led"
9 + depends on LEDS_TRIGGERS
11 + This allows LEDs to be used as keyboard indication leds.
14 --- kernel-power-2.6.28.orig/drivers/leds/Makefile
15 +++ kernel-power-2.6.28/drivers/leds/Makefile
17 obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
18 obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o
19 obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
20 +obj-$(CONFIG_LEDS_TRIGGER_KEYB) += ledtrig-keyb.o
22 +++ kernel-power-2.6.28/drivers/leds/ledtrig-keyb.c
25 + * LED keyboard driver.
27 + * Author: Matan Ziv-Av <matan@svgalib.org>
29 + * This program is free software; you can redistribute it and/or modify
30 + * it under the terms of the GNU General Public License version 2 as
31 + * published by the Free Software Foundation.
35 +#include <linux/module.h>
36 +#include <linux/jiffies.h>
37 +#include <linux/kernel.h>
38 +#include <linux/init.h>
39 +#include <linux/list.h>
40 +#include <linux/spinlock.h>
41 +#include <linux/device.h>
42 +#include <linux/sysdev.h>
43 +#include <linux/timer.h>
44 +#include <linux/ctype.h>
45 +#include <linux/leds.h>
48 +static int keyb_led_active;
49 +static struct led_classdev *keyb_led_cdev;
51 +void keyb_led_set (int v) {
52 + if(keyb_led_active) {
53 + led_set_brightness(keyb_led_cdev, v ? LED_FULL:LED_OFF ) ;
57 +EXPORT_SYMBOL_GPL(keyb_led_set);
58 +//static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store);
59 +//static DEVICE_ATTR(delay_off, 0644, led_delay_off_show, led_delay_off_store);
61 +static void trig_activate(struct led_classdev *led_cdev)
64 + keyb_led_cdev = led_cdev;
67 +static void trig_deactivate(struct led_classdev *led_cdev)
72 +static struct led_trigger keyb_led_trigger = {
74 + .activate = trig_activate,
75 + .deactivate = trig_deactivate,
78 +static int __init keyb_trig_init(void)
80 + return led_trigger_register(&keyb_led_trigger);
83 +static void __exit keyb_trig_exit(void)
85 + led_trigger_unregister(&keyb_led_trigger);
88 +module_init(keyb_trig_init);
89 +module_exit(keyb_trig_exit);
91 +MODULE_AUTHOR("Matan Ziv-Av <matan@svgalib.org>");
92 +MODULE_DESCRIPTION("Keyboard LED trigger");
93 +MODULE_LICENSE("GPL");