c2port: convert class code to use bin_attrs in groups

Now that attribute groups support binary attributes, use them instead of
the dev_bin_attrs field in struct class, as that is going away soon.

Cc: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2013-07-24 15:05:37 -07:00
parent e56341ad38
commit ac3785d5c1
1 changed files with 17 additions and 14 deletions

View File

@ -856,6 +856,9 @@ static ssize_t c2port_write_flash_data(struct file *filp, struct kobject *kobj,
return ret;
}
/* size is computed at run-time */
static BIN_ATTR(flash_data, 0644, c2port_read_flash_data,
c2port_write_flash_data, 0);
/*
* Class attributes
@ -873,19 +876,20 @@ static struct attribute *c2port_attrs[] = {
&dev_attr_flash_erase.attr,
NULL,
};
ATTRIBUTE_GROUPS(c2port);
static struct bin_attribute c2port_bin_attrs[] = {
{
.attr = {
.name = "flash_data",
.mode = 0644
},
.read = c2port_read_flash_data,
.write = c2port_write_flash_data,
/* .size is computed at run-time */
},
__ATTR_NULL
static struct bin_attribute *c2port_bin_attrs[] = {
&bin_attr_flash_data,
NULL,
};
static const struct attribute_group c2port_group = {
.attrs = c2port_attrs,
.bin_attrs = c2port_bin_attrs,
};
static const struct attribute_group *c2port_groups[] = {
&c2port_group,
NULL,
};
/*
@ -918,7 +922,7 @@ struct c2port_device *c2port_device_register(char *name,
goto error_idr_alloc;
c2dev->id = ret;
c2port_bin_attrs[0].size = ops->blocks_num * ops->block_size;
bin_attr_flash_data.size = ops->blocks_num * ops->block_size;
c2dev->dev = device_create(c2port_class, NULL, 0, c2dev,
"c2port%d", c2dev->id);
@ -988,7 +992,6 @@ static int __init c2port_init(void)
return PTR_ERR(c2port_class);
}
c2port_class->dev_groups = c2port_groups;
c2port_class->dev_bin_attrs = c2port_bin_attrs;
return 0;
}