summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/input/misc/dm355evm_keys.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/input/misc/dm355evm_keys.c b/drivers/input/misc/dm355evm_keys.c
index 82e272ebc0ed..5db493dfe509 100644
--- a/drivers/input/misc/dm355evm_keys.c
+++ b/drivers/input/misc/dm355evm_keys.c
@@ -213,21 +213,19 @@ static int dm355evm_keys_probe(struct platform_device *pdev)
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
dev_name(&pdev->dev), keys);
if (status < 0)
- goto fail2;
+ goto fail1;
/* register */
status = input_register_device(input);
if (status < 0)
- goto fail3;
+ goto fail2;
platform_set_drvdata(pdev, keys);
return 0;
-fail3:
- free_irq(keys->irq, keys);
fail2:
- sparse_keymap_free(input);
+ free_irq(keys->irq, keys);
fail1:
input_free_device(input);
kfree(keys);
@@ -241,7 +239,6 @@ static int dm355evm_keys_remove(struct platform_device *pdev)
struct dm355evm_keys *keys = platform_get_drvdata(pdev);
free_irq(keys->irq, keys);
- sparse_keymap_free(keys->input);
input_unregister_device(keys->input);
kfree(keys);