led驱动哪行代码会生成 /sys/class/leds/sys-led/trigger文件
时间: 2023-06-30 13:14:15 浏览: 74
LED驱动会在内核初始化时执行probe函数来进行设备的初始化,其中会调用led_classdev_register函数来注册字符设备,生成/sys/class/leds目录,并在该目录下创建trigger文件。具体来说,生成/sys/class/leds/sys-led/trigger文件的代码如下:
```c
static int led_sysfs_register(struct led_classdev *led_cdev,
struct device *parent,
const char *name)
{
struct device *dev;
int err;
dev = device_create_with_groups(led_class, parent, 0, led_cdev,
led_groups, name);
if (IS_ERR(dev)) {
err = PTR_ERR(dev);
dev_err(parent, "Failed to create LED class device: %d\n", err);
return err;
}
return 0;
}
```
其中led_class是/sys/class/leds目录的class,led_groups是/sys/class/leds/sys-led目录下的文件属性组。在这个函数中,调用了device_create_with_groups函数来创建/sys/class/leds/sys-led目录,并在该目录下创建了trigger文件。