ACPI: dock: cleanup the uid patch
authorKristen Carlson Accardi <kristen.c.accardi@intel.com>
Wed, 9 May 2007 22:04:24 +0000 (15:04 -0700)
committerLen Brown <len.brown@intel.com>
Thu, 10 May 2007 07:30:37 +0000 (03:30 -0400)
Make uid sysfs file error path free memory, and cleanup sysfs file
when removing driver.  Also fix CodingStyle violations.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Illya A. Volynets-Evenbakh <ilya@total-knowledge.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/dock.c

index 4546bf873aea273c2a0993fb3fbb465d801543ed..9ddc3f189bb74b958e1a7037ce9cd3925fc96138 100644 (file)
@@ -675,16 +675,15 @@ static ssize_t show_dock_uid(struct device *dev,
                             struct device_attribute *attr, char *buf)
 {
        unsigned long lbuf;
-       acpi_status status = acpi_evaluate_integer(dock_station->handle, "_UID", NULL, &lbuf);
-       if(ACPI_FAILURE(status)) {
+       acpi_status status = acpi_evaluate_integer(dock_station->handle,
+                                       "_UID", NULL, &lbuf);
+       if (ACPI_FAILURE(status))
            return 0;
-       }
+
        return snprintf(buf, PAGE_SIZE, "%lx\n", lbuf);
 }
 DEVICE_ATTR(uid, S_IRUGO, show_dock_uid, NULL);
 
-
-
 /**
  * dock_add - add a new dock station
  * @handle: the dock station handle
@@ -736,6 +735,8 @@ static int dock_add(acpi_handle handle)
        ret = device_create_file(&dock_device.dev, &dev_attr_uid);
        if (ret) {
                printk("Error %d adding sysfs file\n", ret);
+               device_remove_file(&dock_device.dev, &dev_attr_docked);
+               device_remove_file(&dock_device.dev, &dev_attr_undock);
                platform_device_unregister(&dock_device);
                kfree(dock_station);
                return ret;
@@ -775,6 +776,7 @@ dock_add_err:
 dock_add_err_unregister:
        device_remove_file(&dock_device.dev, &dev_attr_docked);
        device_remove_file(&dock_device.dev, &dev_attr_undock);
+       device_remove_file(&dock_device.dev, &dev_attr_uid);
        platform_device_unregister(&dock_device);
        kfree(dock_station);
        return ret;
@@ -806,6 +808,7 @@ static int dock_remove(void)
        /* cleanup sysfs */
        device_remove_file(&dock_device.dev, &dev_attr_docked);
        device_remove_file(&dock_device.dev, &dev_attr_undock);
+       device_remove_file(&dock_device.dev, &dev_attr_uid);
        platform_device_unregister(&dock_device);
 
        /* free dock station memory */