forked from Minki/linux
eb25cb9956
This patch converts the IDE specific LED trigger to a generic disk activity LED trigger. The libata core is now a trigger source just like before the IDE disk driver. It's merely a replacement of the string ide by disk. The patch is taken from http://dev.gentoo.org/~josejx/ata.patch and is widely used by any ibook/powerbook owners with great satisfaction. Likewise, it is very often used successfully on different ARM platforms. Unlike the original patch, the existing 'ide-disk' trigger is still available for backward compatibility. That reduce the amount of patches in affected device trees out of the mainline kernel. For further development, the new name 'disk-activity' should be used. Cc: Joseph Jezak <josejx@gentoo.org> Cc: Jörg Sommer <joerg@alea.gnuu.de> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Stephan Linz <linz@li-pro.net> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
42 lines
976 B
C
42 lines
976 B
C
/*
|
|
* LED Disk Activity Trigger
|
|
*
|
|
* Copyright 2006 Openedhand Ltd.
|
|
*
|
|
* Author: Richard Purdie <rpurdie@openedhand.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/leds.h>
|
|
|
|
#define BLINK_DELAY 30
|
|
|
|
DEFINE_LED_TRIGGER(ledtrig_disk);
|
|
DEFINE_LED_TRIGGER(ledtrig_ide);
|
|
|
|
void ledtrig_disk_activity(void)
|
|
{
|
|
unsigned long blink_delay = BLINK_DELAY;
|
|
|
|
led_trigger_blink_oneshot(ledtrig_disk,
|
|
&blink_delay, &blink_delay, 0);
|
|
led_trigger_blink_oneshot(ledtrig_ide,
|
|
&blink_delay, &blink_delay, 0);
|
|
}
|
|
EXPORT_SYMBOL(ledtrig_disk_activity);
|
|
|
|
static int __init ledtrig_disk_init(void)
|
|
{
|
|
led_trigger_register_simple("disk-activity", &ledtrig_disk);
|
|
led_trigger_register_simple("ide-disk", &ledtrig_ide);
|
|
|
|
return 0;
|
|
}
|
|
device_initcall(ledtrig_disk_init);
|