Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38ff4ffc authored by Kristen Carlson Accardi's avatar Kristen Carlson Accardi Committed by Len Brown
Browse files

ACPI: dock: cleanup the uid patch



Make uid sysfs file error path free memory, and cleanup sysfs file
when removing driver.  Also fix CodingStyle violations.

Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Illya A. Volynets-Evenbakh <ilya@total-knowledge.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent de560374
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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 @@ static int dock_add(acpi_handle handle)
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 */