unsigned long blink_delay_on, blink_delay_off; //闪烁的定时器链表 struct timer_list blink_timer; //闪烁的亮度 int blink_brightness; void (*flash_resume)(struct led_classdev *led_cdev); struct work_struct set_brightness_work; int delayed_set_value; #ifdef CONFIG_LEDS_TRIGGERS //trigger的...
&led_cdev->blink_delay_off); led_cdev->trigger_data= (void *)1; return; err_out_delayon: device_remove_file(led_cdev->dev,&dev_attr_delay_on); } 当某个led_classdev与之连接后,这个触发器会在/sys/class/leds/<device>/下创建两个文件delay_on和delay_off。用户空间往这两个文件中写入数...
– 打开硬盘指示灯:`hdparm -N /dev/sda –led=on` – 关闭硬盘指示灯:`hdparm -N /dev/sda –led=off` – 闪烁硬盘指示灯:`hdparm -N /dev/sda –led=blink` 其中,`/dev/sda`表示要控制的硬盘设备,`–led`参数后的选项可以设置为`on`、`off`或者`blink`来控制指示灯的状态。 3. `dmidecode`命...
int (*blink_set)(struct led_classdev*led_cdev, unsigned long *delay_on, unsigned long *delay_off); //闪烁时点亮和熄灭的时间设置 structdevice *dev; structlist_head node; //leds-list的node constchar *default_trigger; //默认trigger的名字 unsignedlong blink_delay_on,blink_delay_off; //闪烁...
led_trigger_event 被调用,还有一个函数是led_trigger_blink。 1voidled_trigger_blink(structled_trigger *trigger, 2unsignedlong*delay_on, 3unsignedlong*delay_off) 4{ 5structlist_head *entry; 6 7if(!trigger) 8return; 9 10read_lock(&trigger->leddev_list_lock); ...
unsignedlongblink_delay_on,blink_delay_off;//闪烁的定时器链表structtimer_listblink_timer;//闪烁的亮度intblink_brightness;void(*flash_resume)(structled_classdev*led_cdev);structwork_structset_brightness_work;intdelayed_set_value;#ifdefCONFIG_LEDS_TRIGGERS//trigger的锁structrw_semaphoretrigger_lock;/...
unsigned long *delay_on, unsigned long *delay_off); struct device *dev; const struct attribute_group **groups; struct list_head node; /* LED Device list */ const char *default_trigger; /* Trigger to use */ unsigned long blink_delay_on, blink_delay_off; ...
void led_blink_set(struct led_classdev *led_cdev,unsigned long *delay_on,unsigned long *delay_off) void led_brightness_set(struct led_classdev *led_cdev, enum led_brightness brightness) drivers/leds/led-trigger.c 用来注册一个trigger 当对驱动的trigger的属性进行写时调用的接口。 ssize_t led_tr...
struct gpio_led_data{struct led_classdev cdev;// LED Classstruct gpio_desc*gpiod;// GPIO descriptionu8 can_sleep;u8 blinking;// 闪烁gpio_blink_set_t platform_gpio_blink_set;// 闪烁设置}; 结构体名称:gpio_led_data 文件位置:drivers/leds/leds-gpio.c ...
*/int(*blink_set)(structled_classdev *led_cdev,unsignedlong*delay_on,unsignedlong*delay_off);int(*pattern_set)(structled_classdev *led_cdev,structled_pattern *pattern, u32 len,intrepeat);int(*pattern_clear)(structled_classdev *led_cdev);structdevice *dev;conststructattribute_group **groups...