例程:
sysfs_example.c
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kobject.h>
static ssize_t sysfs_read(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
{
return sprintf(buf, "%s\n", "sysfs test read,created by vincent");
}
static ssize_t sysfs_write(struct kobject *kobj, struct kobj_attribute *attr, const char *buf,ssize_t count)
{
int i;
printk("\nfrom user,length=0x%X,content=%s\n",count,buf);
if(count)
return count;
else
return 1 ;
}
/*定义*/
static struct kobj_attribute my_sysfs_read =__ATTR(read, S_IRUGO, sysfs_read, NULL);
static struct kobj_attribute my_sysfs_write =__ATTR(write, S_IWUGO, NULL,sysfs_write);
/*创建接口*/
static struct attribute *my_sysfs_test[] = {
&my_sysfs_read.attr,
&my_sysfs_write.attr,
NULL,
};
/*封装*/
static struct attribute_group my_attr_gro