aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/Kconfig9
-rw-r--r--drivers/misc/Makefile1
-rw-r--r--drivers/misc/blink.c27
3 files changed, 37 insertions, 0 deletions
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index a3c525b261..bfb02c1a45 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -178,4 +178,13 @@ config THINKPAD_ACPI_BAY
178 178
179 If you are not sure, say Y here. 179 If you are not sure, say Y here.
180 180
181config BLINK
182 tristate "Keyboard blink driver"
183 help
184 Driver that when loaded will blink the keyboard LEDs continuously.
185 This is useful for debugging and for kernels that cannot necessarily
186 output something to the screen like kexec kernels to give the user
187 a visual indication that the kernel is doing something.
188
189
181endmenu 190endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index e325164591..ece6baf76b 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_IBM_ASM) += ibmasm/
7obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/ 7obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/
8obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o 8obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o
9obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o 9obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o
10obj-$(CONFIG_BLINK) += blink.o
10obj-$(CONFIG_LKDTM) += lkdtm.o 11obj-$(CONFIG_LKDTM) += lkdtm.o
11obj-$(CONFIG_TIFM_CORE) += tifm_core.o 12obj-$(CONFIG_TIFM_CORE) += tifm_core.o
12obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o 13obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
diff --git a/drivers/misc/blink.c b/drivers/misc/blink.c
new file mode 100644
index 0000000000..634431ce11
--- /dev/null
+++ b/drivers/misc/blink.c
@@ -0,0 +1,27 @@
1#include <linux/kernel.h>
2#include <linux/module.h>
3#include <linux/timer.h>
4#include <linux/jiffies.h>
5
6static void do_blink(unsigned long data);
7
8static DEFINE_TIMER(blink_timer, do_blink, 0 ,0);
9
10static void do_blink(unsigned long data)
11{
12 static long count;
13 if (panic_blink)
14 panic_blink(count++);
15 blink_timer.expires = jiffies + msecs_to_jiffies(1);
16 add_timer(&blink_timer);
17}
18
19static int blink_init(void)
20{
21 printk(KERN_INFO "Enabling keyboard blinking\n");
22 do_blink(0);
23 return 0;
24}
25
26module_init(blink_init);
27