Commit 94ed3134 authored by Andy Shevchenko's avatar Andy Shevchenko

platform/x86: dell_rbu: Use sysfs_create_group() API

Use sysfs_create_group() API instead of open coded variant.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 45a3d578
...@@ -500,7 +500,7 @@ static ssize_t read_rbu_mono_data(char *buffer, loff_t pos, size_t count) ...@@ -500,7 +500,7 @@ static ssize_t read_rbu_mono_data(char *buffer, loff_t pos, size_t count)
rbu_data.image_update_buffer, rbu_data.bios_image_size); rbu_data.image_update_buffer, rbu_data.bios_image_size);
} }
static ssize_t read_rbu_data(struct file *filp, struct kobject *kobj, static ssize_t data_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buffer, loff_t pos, size_t count) char *buffer, loff_t pos, size_t count)
{ {
...@@ -518,6 +518,7 @@ static ssize_t read_rbu_data(struct file *filp, struct kobject *kobj, ...@@ -518,6 +518,7 @@ static ssize_t read_rbu_data(struct file *filp, struct kobject *kobj,
spin_unlock(&rbu_data.lock); spin_unlock(&rbu_data.lock);
return ret_count; return ret_count;
} }
static BIN_ATTR_RO(data, 0);
static void callbackfn_rbu(const struct firmware *fw, void *context) static void callbackfn_rbu(const struct firmware *fw, void *context)
{ {
...@@ -554,7 +555,7 @@ static void callbackfn_rbu(const struct firmware *fw, void *context) ...@@ -554,7 +555,7 @@ static void callbackfn_rbu(const struct firmware *fw, void *context)
release_firmware(fw); release_firmware(fw);
} }
static ssize_t read_rbu_image_type(struct file *filp, struct kobject *kobj, static ssize_t image_type_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buffer, loff_t pos, size_t count) char *buffer, loff_t pos, size_t count)
{ {
...@@ -564,7 +565,7 @@ static ssize_t read_rbu_image_type(struct file *filp, struct kobject *kobj, ...@@ -564,7 +565,7 @@ static ssize_t read_rbu_image_type(struct file *filp, struct kobject *kobj,
return size; return size;
} }
static ssize_t write_rbu_image_type(struct file *filp, struct kobject *kobj, static ssize_t image_type_write(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buffer, loff_t pos, size_t count) char *buffer, loff_t pos, size_t count)
{ {
...@@ -624,8 +625,9 @@ static ssize_t write_rbu_image_type(struct file *filp, struct kobject *kobj, ...@@ -624,8 +625,9 @@ static ssize_t write_rbu_image_type(struct file *filp, struct kobject *kobj,
return rc; return rc;
} }
static BIN_ATTR_RW(image_type, 0);
static ssize_t read_rbu_packet_size(struct file *filp, struct kobject *kobj, static ssize_t packet_size_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buffer, loff_t pos, size_t count) char *buffer, loff_t pos, size_t count)
{ {
...@@ -638,7 +640,7 @@ static ssize_t read_rbu_packet_size(struct file *filp, struct kobject *kobj, ...@@ -638,7 +640,7 @@ static ssize_t read_rbu_packet_size(struct file *filp, struct kobject *kobj,
return size; return size;
} }
static ssize_t write_rbu_packet_size(struct file *filp, struct kobject *kobj, static ssize_t packet_size_write(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buffer, loff_t pos, size_t count) char *buffer, loff_t pos, size_t count)
{ {
...@@ -652,22 +654,17 @@ static ssize_t write_rbu_packet_size(struct file *filp, struct kobject *kobj, ...@@ -652,22 +654,17 @@ static ssize_t write_rbu_packet_size(struct file *filp, struct kobject *kobj,
spin_unlock(&rbu_data.lock); spin_unlock(&rbu_data.lock);
return count; return count;
} }
static BIN_ATTR_RW(packet_size, 0);
static struct bin_attribute rbu_data_attr = { static struct bin_attribute *rbu_bin_attrs[] = {
.attr = {.name = "data", .mode = 0444}, &bin_attr_data,
.read = read_rbu_data, &bin_attr_image_type,
&bin_attr_packet_size,
NULL
}; };
static struct bin_attribute rbu_image_type_attr = { static const struct attribute_group rbu_group = {
.attr = {.name = "image_type", .mode = 0644}, .bin_attrs = rbu_bin_attrs,
.read = read_rbu_image_type,
.write = write_rbu_image_type,
};
static struct bin_attribute rbu_packet_size_attr = {
.attr = {.name = "packet_size", .mode = 0644},
.read = read_rbu_packet_size,
.write = write_rbu_packet_size,
}; };
static int __init dcdrbu_init(void) static int __init dcdrbu_init(void)
...@@ -684,24 +681,13 @@ static int __init dcdrbu_init(void) ...@@ -684,24 +681,13 @@ static int __init dcdrbu_init(void)
return PTR_ERR(rbu_device); return PTR_ERR(rbu_device);
} }
rc = sysfs_create_bin_file(&rbu_device->dev.kobj, &rbu_data_attr); rc = sysfs_create_group(&rbu_device->dev.kobj, &rbu_group);
if (rc) if (rc)
goto out_devreg; goto out_devreg;
rc = sysfs_create_bin_file(&rbu_device->dev.kobj, &rbu_image_type_attr);
if (rc)
goto out_data;
rc = sysfs_create_bin_file(&rbu_device->dev.kobj,
&rbu_packet_size_attr);
if (rc)
goto out_imtype;
rbu_data.entry_created = 0; rbu_data.entry_created = 0;
return 0; return 0;
out_imtype:
sysfs_remove_bin_file(&rbu_device->dev.kobj, &rbu_image_type_attr);
out_data:
sysfs_remove_bin_file(&rbu_device->dev.kobj, &rbu_data_attr);
out_devreg: out_devreg:
platform_device_unregister(rbu_device); platform_device_unregister(rbu_device);
return rc; return rc;
...@@ -713,6 +699,7 @@ static __exit void dcdrbu_exit(void) ...@@ -713,6 +699,7 @@ static __exit void dcdrbu_exit(void)
packet_empty_list(); packet_empty_list();
img_update_free(); img_update_free();
spin_unlock(&rbu_data.lock); spin_unlock(&rbu_data.lock);
sysfs_remove_group(&rbu_device->dev.kobj, &rbu_group);
platform_device_unregister(rbu_device); platform_device_unregister(rbu_device);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment