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 a3c525b2616a..bfb02c1a45ae 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 e32516459138..ece6baf76bc7 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 000000000000..634431ce1184
--- /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