2006-03-31 14:31:16 +04:00
/*
2016-06-10 08:59:56 +03:00
* LED Disk Activity Trigger
2006-03-31 14:31:16 +04:00
*
* 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>
2012-05-27 03:19:23 +04:00
# define BLINK_DELAY 30
2006-03-31 14:31:16 +04:00
2016-06-10 08:59:56 +03:00
DEFINE_LED_TRIGGER ( ledtrig_disk ) ;
2018-02-25 01:45:56 +03:00
DEFINE_LED_TRIGGER ( ledtrig_disk_read ) ;
DEFINE_LED_TRIGGER ( ledtrig_disk_write ) ;
2006-03-31 14:31:16 +04:00
DEFINE_LED_TRIGGER ( ledtrig_ide ) ;
2018-02-25 01:45:56 +03:00
void ledtrig_disk_activity ( bool write )
2006-03-31 14:31:16 +04:00
{
2016-06-10 08:59:56 +03:00
unsigned long blink_delay = BLINK_DELAY ;
2016-04-18 17:09:55 +03:00
2016-06-10 08:59:56 +03:00
led_trigger_blink_oneshot ( ledtrig_disk ,
& blink_delay , & blink_delay , 0 ) ;
2012-05-27 03:19:23 +04:00
led_trigger_blink_oneshot ( ledtrig_ide ,
2016-06-10 08:59:56 +03:00
& blink_delay , & blink_delay , 0 ) ;
2018-02-25 01:45:56 +03:00
if ( write )
led_trigger_blink_oneshot ( ledtrig_disk_write ,
& blink_delay , & blink_delay , 0 ) ;
else
led_trigger_blink_oneshot ( ledtrig_disk_read ,
& blink_delay , & blink_delay , 0 ) ;
2006-03-31 14:31:16 +04:00
}
2016-06-10 08:59:56 +03:00
EXPORT_SYMBOL ( ledtrig_disk_activity ) ;
2006-03-31 14:31:16 +04:00
2016-06-10 08:59:56 +03:00
static int __init ledtrig_disk_init ( void )
2006-03-31 14:31:16 +04:00
{
2016-06-10 08:59:56 +03:00
led_trigger_register_simple ( " disk-activity " , & ledtrig_disk ) ;
2018-02-25 01:45:56 +03:00
led_trigger_register_simple ( " disk-read " , & ledtrig_disk_read ) ;
led_trigger_register_simple ( " disk-write " , & ledtrig_disk_write ) ;
2006-03-31 14:31:16 +04:00
led_trigger_register_simple ( " ide-disk " , & ledtrig_ide ) ;
2016-06-10 08:59:56 +03:00
2006-03-31 14:31:16 +04:00
return 0 ;
}
2016-06-10 08:59:56 +03:00
device_initcall ( ledtrig_disk_init ) ;