drivers/input/keyboard/samsung-keypad.c | 2 -- 1 file changed, 2 deletions(-)
Since the commit in the Fixes tag below, 'keypad->input_dev' is a managed
resource that doesn't need to be explicitly unregistered or freed (see
devm_input_allocate_device() documentation)
So, remove some unless line of code to slightly simplify it.
Fixes: a57da3479545 ("Input: samsung-keypad - switch to using managed resources")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Compile tested only
---
drivers/input/keyboard/samsung-keypad.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/input/keyboard/samsung-keypad.c b/drivers/input/keyboard/samsung-keypad.c
index df0258dcf89e..b6c3c6399b2e 100644
--- a/drivers/input/keyboard/samsung-keypad.c
+++ b/drivers/input/keyboard/samsung-keypad.c
@@ -451,8 +451,6 @@ static int samsung_keypad_remove(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev);
- input_unregister_device(keypad->input_dev);
-
clk_unprepare(keypad->clk);
return 0;
--
2.32.0
Hi Christophe,
On Sun, Jan 30, 2022 at 09:14:08AM +0100, Christophe JAILLET wrote:
> Since the commit in the Fixes tag below, 'keypad->input_dev' is a managed
> resource that doesn't need to be explicitly unregistered or freed (see
> devm_input_allocate_device() documentation)
>
> So, remove some unless line of code to slightly simplify it.
>
> Fixes: a57da3479545 ("Input: samsung-keypad - switch to using managed resources")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> Compile tested only
> ---
> drivers/input/keyboard/samsung-keypad.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/input/keyboard/samsung-keypad.c b/drivers/input/keyboard/samsung-keypad.c
> index df0258dcf89e..b6c3c6399b2e 100644
> --- a/drivers/input/keyboard/samsung-keypad.c
> +++ b/drivers/input/keyboard/samsung-keypad.c
> @@ -451,8 +451,6 @@ static int samsung_keypad_remove(struct platform_device *pdev)
>
> pm_runtime_disable(&pdev->dev);
>
> - input_unregister_device(keypad->input_dev);
> -
This is wrong; the order of operations is important and you do not want
to call clk_enable/disable on an unprepared clock.
If you want to do this you need to also replace clk_prepare/unprepare
with devm_ variant.
> clk_unprepare(keypad->clk);
>
> return 0;
> --
> 2.32.0
>
Thanks.
--
Dmitry
© 2016 - 2026 Red Hat, Inc.