From: Andy Lutomirski Date: Wed, 25 Nov 2015 03:54:46 +0000 (-0800) Subject: platform/x86: wmi: Clean up acpi_wmi_add X-Git-Tag: v4.13-rc1~135^2~41 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=46492ee4a6ca82e878218059c0f8539c8f9ac14e;p=karo-tx-linux.git platform/x86: wmi: Clean up acpi_wmi_add Rearrange acpi_wmi_add to use Linux's error handling conventions. Signed-off-by: Andy Lutomirski Cc: Andy Lutomirski Cc: Mario Limonciello Cc: Pali Rohár Cc: linux-kernel@vger.kernel.org Cc: platform-driver-x86@vger.kernel.org Cc: linux-acpi@vger.kernel.org Acked-by: Rafael J. Wysocki Signed-off-by: Darren Hart (VMware) --- diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index c6e11b573ef3..ac60a5119751 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -803,20 +803,24 @@ static int acpi_wmi_add(struct acpi_device *device) &acpi_wmi_ec_space_handler, NULL, NULL); if (ACPI_FAILURE(status)) { - pr_err("Error installing EC region handler\n"); + dev_err(&device->dev, "Error installing EC region handler\n"); return -ENODEV; } error = parse_wdg(device); if (error) { - acpi_remove_address_space_handler(device->handle, - ACPI_ADR_SPACE_EC, - &acpi_wmi_ec_space_handler); pr_err("Failed to parse WDG method\n"); - return error; + goto err_remove_handler; } return 0; + +err_remove_handler: + acpi_remove_address_space_handler(device->handle, + ACPI_ADR_SPACE_EC, + &acpi_wmi_ec_space_handler); + + return error; } static int __init acpi_wmi_init(void)