如何更改 LED 触发器



我在BSP的LED中注册了:

static struct gpio_led ic_leds[] = {
        {
                .name                   = "led1:green",
                .gpio                   = USER_LED,
                .default_trigger        = "heartbeat",
                .active_low             = 1,
        },
};
static struct gpio_led_platform_data ic_led_info = {
        .num_leds       = ARRAY_SIZE(ic_leds),
        .leds           = ic_leds,
};
static struct platform_device ic_leds_device = {
        .name   = "leds-gpio",
        .id     = -1,
        .dev    = {
                .platform_data = &ic_led_info,
        },
};
static void __init ic_add_device_leds(void)
{
        platform_device_register(&ic_leds_device);
}

如何在运行时更改触发器?我知道 sysfs 是可能的,但也许以另一种方式存在?

echo "thetriggeryouwant" > /sys/class/leds/someled/trigger

其中thetriggeryouwant例如phy0rxsomeled是要更改其触发器的 LED 的名称。

<小时 />

要获取该 LED 的所有可用触发器,您可以cat该文件:

cat /sys/class/leds/someled/trigger

例如:

[none] timer oneshot mtd nand-disk heartbeat backlight gpio cpu cpu0 cpu1 activity default-on 2188000.ethernet-2:00:link 2188000.ethernet-2:00:100Mbps 2188000.ethernet-2:00:10Mbps

其中括号中的项 ( [none] ) 表示当前触发器。

最新更新