diff options
| -rw-r--r-- | drivers/misc/Kconfig | 9 | ||||
| -rw-r--r-- | drivers/misc/Makefile | 1 | ||||
| -rw-r--r-- | drivers/misc/blink.c | 27 |
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 | ||
| 181 | config 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 | |||
| 181 | endmenu | 190 | endmenu |
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/ | |||
| 7 | obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/ | 7 | obj-$(CONFIG_HDPU_FEATURES) += hdpuftrs/ |
| 8 | obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o | 8 | obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o |
| 9 | obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o | 9 | obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o |
| 10 | obj-$(CONFIG_BLINK) += blink.o | ||
| 10 | obj-$(CONFIG_LKDTM) += lkdtm.o | 11 | obj-$(CONFIG_LKDTM) += lkdtm.o |
| 11 | obj-$(CONFIG_TIFM_CORE) += tifm_core.o | 12 | obj-$(CONFIG_TIFM_CORE) += tifm_core.o |
| 12 | obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o | 13 | obj-$(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 | |||
| 6 | static void do_blink(unsigned long data); | ||
| 7 | |||
| 8 | static DEFINE_TIMER(blink_timer, do_blink, 0 ,0); | ||
| 9 | |||
| 10 | static 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 | |||
| 19 | static int blink_init(void) | ||
| 20 | { | ||
| 21 | printk(KERN_INFO "Enabling keyboard blinking\n"); | ||
| 22 | do_blink(0); | ||
| 23 | return 0; | ||
| 24 | } | ||
| 25 | |||
| 26 | module_init(blink_init); | ||
| 27 | |||
