* [PATCH] firmware: dcdbas: use binary attribute groups
@ 2013-08-21 0:17 Greg KH
0 siblings, 0 replies; only message in thread
From: Greg KH @ 2013-08-21 0:17 UTC (permalink / raw)
To: Doug Warzecha; +Cc: linux-kernel
From: Greg KH <gregkh@linuxfoundation.org>
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(-)
diff --git a/drivers/firmware/dcdbas.c b/drivers/firmware/dcdbas.c
index 8e77c02e..ff080ee2 100644
--- a/drivers/firmware/dcdbas.c
+++ b/drivers/firmware/dcdbas.c
@@ -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;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2013-08-21 0:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-21 0:17 [PATCH] firmware: dcdbas: use binary attribute groups Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox