firmware: dcdbas: use binary attribute groups
The dcdbas code was "hand rolling" a binary attribute group, which the driver core now supports automatically. So remove the "create the files by hand" logic, and just set the proper field in the attribute group structure, saving lots of code and headache. Cc: Doug Warzecha <Douglas_Warzecha@dell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -- Doug, I can take this through my driver-core tree if you don't object. drivers/firmware/dcdbas.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-)
This commit is contained in:
parent
f799878000
commit
4c33dea781
1 changed files with 2 additions and 17 deletions
|
@ -535,11 +535,12 @@ static struct attribute *dcdbas_dev_attrs[] = {
|
|||
|
||||
static struct attribute_group dcdbas_attr_group = {
|
||||
.attrs = dcdbas_dev_attrs,
|
||||
.bin_attrs = dcdbas_bin_attrs,
|
||||
};
|
||||
|
||||
static int dcdbas_probe(struct platform_device *dev)
|
||||
{
|
||||
int i, error;
|
||||
int error;
|
||||
|
||||
host_control_action = HC_ACTION_NONE;
|
||||
host_control_smi_type = HC_SMITYPE_NONE;
|
||||
|
@ -555,18 +556,6 @@ static int dcdbas_probe(struct platform_device *dev)
|
|||
if (error)
|
||||
return error;
|
||||
|
||||
for (i = 0; dcdbas_bin_attrs[i]; i++) {
|
||||
error = sysfs_create_bin_file(&dev->dev.kobj,
|
||||
dcdbas_bin_attrs[i]);
|
||||
if (error) {
|
||||
while (--i >= 0)
|
||||
sysfs_remove_bin_file(&dev->dev.kobj,
|
||||
dcdbas_bin_attrs[i]);
|
||||
sysfs_remove_group(&dev->dev.kobj, &dcdbas_attr_group);
|
||||
return error;
|
||||
}
|
||||
}
|
||||
|
||||
register_reboot_notifier(&dcdbas_reboot_nb);
|
||||
|
||||
dev_info(&dev->dev, "%s (version %s)\n",
|
||||
|
@ -577,11 +566,7 @@ static int dcdbas_probe(struct platform_device *dev)
|
|||
|
||||
static int dcdbas_remove(struct platform_device *dev)
|
||||
{
|
||||
int i;
|
||||
|
||||
unregister_reboot_notifier(&dcdbas_reboot_nb);
|
||||
for (i = 0; dcdbas_bin_attrs[i]; i++)
|
||||
sysfs_remove_bin_file(&dev->dev.kobj, dcdbas_bin_attrs[i]);
|
||||
sysfs_remove_group(&dev->dev.kobj, &dcdbas_attr_group);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue