]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Input: bfin_rotary - switch to using devm_add_action_or_reset()
authorGuenter Roeck <linux@roeck-us.net>
Wed, 18 Jan 2017 19:36:25 +0000 (11:36 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 18 Jan 2017 19:49:11 +0000 (11:49 -0800)
Use local variable 'dev' instead of dereferencing it several times and
replace devm_add_action() and manual error handling with
devm_add_action_or_reset().

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/bfin_rotary.c

index a0fc18fdfc0c62263c21537a2f8105a3820846e3..799ce3d2820e45111222262ba8110d34d287adc4 100644 (file)
@@ -147,19 +147,18 @@ static int bfin_rotary_probe(struct platform_device *pdev)
 
        if (pdata->pin_list) {
                error = peripheral_request_list(pdata->pin_list,
-                                               dev_name(&pdev->dev));
+                                               dev_name(dev));
                if (error) {
                        dev_err(dev, "requesting peripherals failed: %d\n",
                                error);
                        return error;
                }
 
-               error = devm_add_action(dev, bfin_rotary_free_action,
-                                       pdata->pin_list);
+               error = devm_add_action_or_reset(dev, bfin_rotary_free_action,
+                                                pdata->pin_list);
                if (error) {
                        dev_err(dev, "setting cleanup action failed: %d\n",
                                error);
-                       peripheral_free_list(pdata->pin_list);
                        return error;
                }
        }
@@ -189,7 +188,7 @@ static int bfin_rotary_probe(struct platform_device *pdev)
 
        input->name = pdev->name;
        input->phys = "bfin-rotary/input0";
-       input->dev.parent = &pdev->dev;
+       input->dev.parent = dev;
 
        input_set_drvdata(input, rotary);
 
@@ -239,7 +238,7 @@ static int bfin_rotary_probe(struct platform_device *pdev)
        }
 
        platform_set_drvdata(pdev, rotary);
-       device_init_wakeup(&pdev->dev, 1);
+       device_init_wakeup(dev, 1);
 
        return 0;
 }