The 'input_dev' is a managed resource allocated with devm_input_allocate_device(), so there is no need to call input_unregister_device() in the remove function. In fact, this call was correctly removed in commit 6102752eb354 ("Input: spear-keyboard - switch to using managed resources"), but silently re-introduced later in the commit in Fixes. Fixes: 9336648978c2 ("Input: spear-keyboard - add clk_{un}prepare() support") Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- Compile tested-only --- drivers/input/keyboard/spear-keyboard.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c index 557d00a667ce..5d9fc8dc9433 100644 --- a/drivers/input/keyboard/spear-keyboard.c +++ b/drivers/input/keyboard/spear-keyboard.c @@ -276,7 +276,6 @@ static void spear_kbd_remove(struct platform_device *pdev) { struct spear_kbd *kbd = platform_get_drvdata(pdev); - input_unregister_device(kbd->input); clk_unprepare(kbd->clk); } -- 2.45.2