platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_...
authorAxel Lin <axel.lin@gmail.com>
Wed, 27 Jul 2011 07:27:34 +0000 (15:27 +0800)
committerMatthew Garrett <mjg@redhat.com>
Fri, 5 Aug 2011 19:21:50 +0000 (15:21 -0400)
In the case of ideapad_backlight_init() failure,
we need to free the resources allocated by ideapad_input_init().

Aslo drop __devexit annotation for ideapad_input_exit() because
we also call it in ideapad_acpi_add() error path.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/ideapad-laptop.c

index 8811c68f809dd2d18d3c83f60c4a3ab3d2ab3f44..0c595410e78897e8b6b3f4b9e9c84e765ac0ba57 100644 (file)
@@ -406,7 +406,7 @@ err_free_dev:
        return error;
 }
 
-static void __devexit ideapad_input_exit(struct ideapad_private *priv)
+static void ideapad_input_exit(struct ideapad_private *priv)
 {
        sparse_keymap_free(priv->inputdev);
        input_unregister_device(priv->inputdev);
@@ -563,6 +563,7 @@ static int __devinit ideapad_acpi_add(struct acpi_device *adevice)
 backlight_failed:
        for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++)
                ideapad_unregister_rfkill(adevice, i);
+       ideapad_input_exit(priv);
 input_failed:
        ideapad_platform_exit(priv);
 platform_failed: