mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
ledtrig-ide-disk: use generic one-shot blink api
Convert ledtrig-ide-disk code to use the generic API for one-shot LED blinking. This patch changes slightly the behaviour of the trigger, as while the original version kept the LED on under heavy activity, the new one keeps a constant on-off blink at 1 / (2 * BLINK_DELAY) Hz. (bryan.wu@canonical.com: remove 2 useless included header files) Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
This commit is contained in:
parent
5bb629c504
commit
3740e49c66
@ -12,39 +12,22 @@
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/leds.h>
|
||||
|
||||
static void ledtrig_ide_timerfunc(unsigned long data);
|
||||
#define BLINK_DELAY 30
|
||||
|
||||
DEFINE_LED_TRIGGER(ledtrig_ide);
|
||||
static DEFINE_TIMER(ledtrig_ide_timer, ledtrig_ide_timerfunc, 0, 0);
|
||||
static int ide_activity;
|
||||
static int ide_lastactivity;
|
||||
static unsigned long ide_blink_delay = BLINK_DELAY;
|
||||
|
||||
void ledtrig_ide_activity(void)
|
||||
{
|
||||
ide_activity++;
|
||||
if (!timer_pending(&ledtrig_ide_timer))
|
||||
mod_timer(&ledtrig_ide_timer, jiffies + msecs_to_jiffies(10));
|
||||
led_trigger_blink_oneshot(ledtrig_ide,
|
||||
&ide_blink_delay, &ide_blink_delay, 0);
|
||||
}
|
||||
EXPORT_SYMBOL(ledtrig_ide_activity);
|
||||
|
||||
static void ledtrig_ide_timerfunc(unsigned long data)
|
||||
{
|
||||
if (ide_lastactivity != ide_activity) {
|
||||
ide_lastactivity = ide_activity;
|
||||
/* INT_MAX will set each LED to its maximum brightness */
|
||||
led_trigger_event(ledtrig_ide, INT_MAX);
|
||||
mod_timer(&ledtrig_ide_timer, jiffies + msecs_to_jiffies(10));
|
||||
} else {
|
||||
led_trigger_event(ledtrig_ide, LED_OFF);
|
||||
}
|
||||
}
|
||||
|
||||
static int __init ledtrig_ide_init(void)
|
||||
{
|
||||
led_trigger_register_simple("ide-disk", &ledtrig_ide);
|
||||
|
Loading…
Reference in New Issue
Block a user