Commit 4aca67e5 authored by Andrew Morton's avatar Andrew Morton Committed by Greg Kroah-Hartman

Driver core: device_add_attrs() cleanup

Clean up the coding in device_add_attrs() a bit.

Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 873760fb
...@@ -324,27 +324,25 @@ int bus_for_each_drv(struct bus_type * bus, struct device_driver * start, ...@@ -324,27 +324,25 @@ int bus_for_each_drv(struct bus_type * bus, struct device_driver * start,
return error; return error;
} }
static int device_add_attrs(struct bus_type * bus, struct device * dev) static int device_add_attrs(struct bus_type *bus, struct device *dev)
{ {
int error = 0; int error = 0;
int i; int i;
if (bus->dev_attrs) { if (!bus->dev_attrs)
return 0;
for (i = 0; attr_name(bus->dev_attrs[i]); i++) { for (i = 0; attr_name(bus->dev_attrs[i]); i++) {
error = device_create_file(dev,&bus->dev_attrs[i]); error = device_create_file(dev,&bus->dev_attrs[i]);
if (error) if (error) {
goto Err; while (--i >= 0)
device_remove_file(dev, &bus->dev_attrs[i]);
break;
} }
} }
Done:
return error; return error;
Err:
while (--i >= 0)
device_remove_file(dev,&bus->dev_attrs[i]);
goto Done;
} }
static void device_remove_attrs(struct bus_type * bus, struct device * dev) static void device_remove_attrs(struct bus_type * bus, struct device * dev)
{ {
int i; int i;
......
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