static u32 s_addr = 0;
static ssize_t efuse_class_show(struct class *class,
struct class_attribute *attr,
char *buf)
{
return scnprintf(buf, PAGE_SIZE, "s_addr=0x%x \n", s_addr );
}
static ssize_t efuse_class_store(struct class *class,
struct class_attribute *attr,
const char *buf, size_t size)
{
unsigned long bt;
ssize_t result;
result = sscanf(buf, "%lu", &bt);
if (result != 1)
return -EINVAL;
s_addr = bt;
return size;
}
static struct class_attribute efuse_class_attrs[] = {
__ATTR(s_addr, S_IWUSR | S_IRUGO,
efuse_class_show, efuseclass_store),
__ATTR_NULL,
};
/** Device model classes */
struct class efuse_class = {
.name = "efuse_class",
.class_attrs = efuse_class_attrs,
};
class_register(&efuse_class);
届时将会在sys/class/ 生成 efuse_class/s_addr