首先,创建设备与驱动:
platform_device_register(&test_device);
platform_driver_register(&test_driver);
然后,创建my_class结构:
staticstruct class *my_class;
my_class = class_create(THIS_MODULE,"myled");
if(IS_ERR(my_class))
return PTR_ERR(my_class);
my_class->dev_attrs = my_class_attrs;
创建属性文件:
staticssize_t show_the_rw_information(struct device *dev, structdevice_attribute *attr, char *buf);
staticssize_t store_the_rw_information(struct device *dev,structdevice_attribute *attr, const char *buf, size_t size);
staticstruct device_attribute my_class_attrs[] = {
__ATTR(information,0644,show_the_rw_information, store_the_rw_information),
__ATTR_NULL,
};
最后在probe下:
device_create(my_class,&pdev->dev,0, NULL,"red");
结构图为:sys->bus->paltform->devices->myled->red->information;