Linux内核中LED驱动框架

1、读写LED设备属性文件----->LED设备属性的show和store方法-------->LED设备驱动程序--------->操作LED硬件设备;
2、led_classdev结构体定义:
struct led_classdev
{
const char *name; //设备名称
int brightness; //亮度
int max_brightness; //最大亮度
int flag;
#define LED_SUSPENDED (1<<0)
#define LED_CORE_SUSPENDRESUME (1<<16)
void (*brightness_set) (struct led_classdev *led_cdev, enum led_brightness brightness); //设置LED亮度
enum led_brightness (*brightness_get)(struct led_classdev *led_cdev); //获取LED亮度

}
3、编写LED驱动程序其实就是填充led_classdev结构体内的成员,并在模块初始化函数中调用int led_classdev_register(struct device *parent, struct led_classdev *led_cdev)函数向内核注册该LED设备;

发布了2 篇原创文章 · 获赞 4 · 访问量 3213

猜你喜欢

转载自blog.csdn.net/qq_27630885/article/details/105599457