Re: [PATCH] blink: Only blink when parameter is set

From: Bernhard Walle
Date: Mon Jun 18 2007 - 03:18:28 EST


* Randy Dunlap <randy.dunlap@xxxxxxxxxx> [2007-06-18 06:26]:
> > +static int blink = 0;
>
> no need to init to 0.

Does it harm?

> > +module_param(blink, bool, S_IRUGO);
> > +MODULE_PARM_DESC(blink, "Enable blinking (without that, the module does nothing)\n");
>
> unneeded "\n"

Fixed. Please use the following patch.

-----

This patch in the blink driver changes the module to only blink when
the parameter 'blink' is set to true. This is to allow the module to be
compiled in the kernel and not as module.

As the blink module was initially written for kdump, and as the kernel is
relocatable on lots of architectures, there's no need to compile a separate
kdump kernel. The blinking can now enabled via the boot command line
for the kdump kernel when necessary.

The patch also adds some author/license information and marks the init function
as '__init'.

Signed-off-by: Bernhard Walle <bwalle@xxxxxxx>

---
drivers/misc/blink.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

--- a/drivers/misc/blink.c
+++ b/drivers/misc/blink.c
@@ -3,6 +3,10 @@
#include <linux/timer.h>
#include <linux/jiffies.h>

+static int blink;
+module_param(blink, bool, S_IRUGO);
+MODULE_PARM_DESC(blink, "Enable blinking (without that, the module does nothing)");
+
static void do_blink(unsigned long data);

static DEFINE_TIMER(blink_timer, do_blink, 0 ,0);
@@ -16,12 +20,19 @@ static void do_blink(unsigned long data)
add_timer(&blink_timer);
}

-static int blink_init(void)
+static int __init blink_init(void)
{
printk(KERN_INFO "Enabling keyboard blinking\n");
- do_blink(0);
+
+ if (blink)
+ do_blink(0);
+
return 0;
}

module_init(blink_init);

+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Andi Kleen <ak@xxxxxxx>");
+MODULE_DESCRIPTION("Blinks the keyboard LEDs");
+
-
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/