Re: [PATCH] Add keyboard blink driver

From: Andrew Morton
Date: Thu Apr 12 2007 - 15:10:53 EST


On Thu, 12 Apr 2007 17:27:27 +0200
Andi Kleen <ak@xxxxxxxxxx> wrote:

> Add a blink driver for debugging
>
> Simple driver that blinks the keyboard LEDs when loaded. Useful
> for checking that the kernel is still alive or for crashdumping.
> The kdump kernel currently typically doesn't give any feedback
> on the screen because it often cannot reinitialize the graphics
> state. This patch allows it to at least show blinking lights
> like panic.

OK..

> --- /dev/null
> +++ linux/drivers/misc/blink.c
> @@ -0,0 +1,26 @@
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/timer.h>
> +#include <linux/jiffies.h>
> +
> +static void do_blink(unsigned long data);
> +
> +static DEFINE_TIMER(blink_timer, do_blink, 0 ,0);
> +
> +static void do_blink(unsigned long data)
> +{
> + static long count;
> + panic_blink(count++);
> + blink_timer.expires = jiffies + msecs_to_jiffies(1);
> + add_timer(&blink_timer);
> +}
> +
> +static int blink_init(void)
> +{
> + printk(KERN_INFO "Enabling keyboard blinking\n");
> + do_blink(0);
> + return 0;
> +}
> +
> +module_init(blink_init);

panic_blink is NULL in lots of setups. `modprobe blink' will be deadly.

I wonder if this facility would be more effective if it were to use
schedule_delayed_work(). That way, we're using more of the kernel and it
will more reliably detect kernel deadness.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/