platform/surface: surface3-wmi: Simplify resource management
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 30 Jan 2022 08:36:54 +0000 (09:36 +0100)
committerHans de Goede <hdegoede@redhat.com>
Thu, 3 Feb 2022 10:56:04 +0000 (11:56 +0100)
's3_wmi.input' is a managed resource, so there should be no need to free it
explicitly.

Moreover, 's3_wmi' is a global variable. 's3_wmi.input' should be NULL
when this error handling path is executed, because it has not been
assigned yet.

All this is puzzling. So simplify it and remove a few lines of code to have
it be more straightforward.

Fixes: 3dda3b3798f9 ("platform/x86: Add custom surface3 platform device for controlling LID")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/8b1a6d05036d5d9527241b2345482b369331ce5c.1643531799.git.christophe.jaillet@wanadoo.fr
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/surface/surface3-wmi.c

index 089a8a48d920c3cfa9caf1d7a884b8290b8f53d9..ca4602bcc7deac5aa4b6ff0c673017ca82c551ed 100644 (file)
@@ -186,14 +186,11 @@ static int s3_wmi_create_and_register_input(struct platform_device *pdev)
 
        error = input_register_device(input);
        if (error)
-               goto out_err;
+               return error;
 
        s3_wmi.input = input;
 
        return 0;
- out_err:
-       input_free_device(s3_wmi.input);
-       return error;
 }
 
 static int __init s3_wmi_probe(struct platform_device *pdev)