Staging: quickstart: Cleanup quickstart_acpi_add

Signed-off-by: Szymon Janc <szymon@janc.net.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Szymon Janc 2012-01-11 23:22:42 +01:00 committed by Greg Kroah-Hartman
parent 60955f15d9
commit f27a551968
1 changed files with 14 additions and 8 deletions

View File

@ -262,29 +262,29 @@ static int quickstart_acpi_config(struct quickstart_acpi *quickstart, char *bid)
static int quickstart_acpi_add(struct acpi_device *device)
{
int ret = 0;
acpi_status status = AE_OK;
struct quickstart_acpi *quickstart = NULL;
int ret;
acpi_status status;
struct quickstart_acpi *quickstart;
if (!device)
return -EINVAL;
quickstart = kzalloc(sizeof(struct quickstart_acpi), GFP_KERNEL);
quickstart = kzalloc(sizeof(*quickstart), GFP_KERNEL);
if (!quickstart)
return -ENOMEM;
quickstart->device = device;
strcpy(acpi_device_name(device), QUICKSTART_ACPI_DEVICE_NAME);
strcpy(acpi_device_class(device), QUICKSTART_ACPI_CLASS);
device->driver_data = quickstart;
/* Add button to list and initialize some stuff */
ret = quickstart_acpi_config(quickstart, acpi_device_bid(device));
if (ret)
if (ret < 0)
goto fail_config;
status = acpi_install_notify_handler(device->handle,
ACPI_ALL_NOTIFY,
status = acpi_install_notify_handler(device->handle, ACPI_ALL_NOTIFY,
quickstart_acpi_notify,
quickstart);
if (ACPI_FAILURE(status)) {
@ -293,10 +293,16 @@ static int quickstart_acpi_add(struct acpi_device *device)
goto fail_installnotify;
}
quickstart_acpi_ghid(quickstart);
ret = quickstart_acpi_ghid(quickstart);
if (ret < 0)
goto fail_ghid;
return 0;
fail_ghid:
acpi_remove_notify_handler(device->handle, ACPI_ALL_NOTIFY,
quickstart_acpi_notify);
fail_installnotify:
quickstart_btnlst_del(quickstart->btn);