nvec_kbd is converted to use devm_input_allocate.
This simplifies error handling and remove path.

Signed-off-by: Leon Romanovsky <[email protected]>
---
 drivers/staging/nvec/nvec_kbd.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/nvec/nvec_kbd.c b/drivers/staging/nvec/nvec_kbd.c
index 7445ce6..ae13791 100644
--- a/drivers/staging/nvec/nvec_kbd.c
+++ b/drivers/staging/nvec/nvec_kbd.c
@@ -126,7 +126,7 @@ static int nvec_kbd_probe(struct platform_device *pdev)
        for (i = 0; i < ARRAY_SIZE(extcode_tab_us102); ++i)
                keycodes[j++] = extcode_tab_us102[i];
 
-       idev = input_allocate_device();
+       idev = devm_input_allocate_device(&pdev-dev);
        idev->name = "nvec keyboard";
        idev->phys = "nvec";
        idev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) | BIT_MASK(EV_LED);
@@ -142,7 +142,7 @@ static int nvec_kbd_probe(struct platform_device *pdev)
        clear_bit(0, idev->keybit);
        err = input_register_device(idev);
        if (err)
-               goto fail;
+               return err;
 
        keys_dev.input = idev;
        keys_dev.notifier.notifier_call = nvec_keys_notifier;
@@ -161,17 +161,10 @@ static int nvec_kbd_probe(struct platform_device *pdev)
        nvec_write_async(nvec, clear_leds, sizeof(clear_leds));
 
        return 0;
-
-fail:
-       input_free_device(idev);
-       return err;
 }
 
 static int nvec_kbd_remove(struct platform_device *pdev)
 {
-       input_unregister_device(keys_dev.input);
-       input_free_device(keys_dev.input);
-
        return 0;
 }
 
-- 
1.8.1.5

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to