diff mbox series

Input: samsung-keypad - Simplify resource management

Message ID 8877b9db412fbeb3b43ba4a3ff6c4b39a5440c70.1643530436.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State New, archived
Headers show
Series Input: samsung-keypad - Simplify resource management | expand

Commit Message

Christophe JAILLET Jan. 30, 2022, 8:14 a.m. UTC
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(-)

Comments

Dmitry Torokhov Jan. 31, 2022, 4:14 p.m. UTC | #1
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.
diff mbox series

Patch

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;