On Sun, Aug 18, 2024 at 09:57:58PM -0700, Dmitry Torokhov wrote: > Switch to using devm_clk_get_prepared() instead of combining > devm_clk_get() with clk_prepare(), which simplifies the code and > ensures that the clock is unprepared at the right time relative to > releasing other managed resources. ... > device_init_wakeup(&pdev->dev, pdata->wakeup); > @@ -439,20 +433,12 @@ static int samsung_keypad_probe(struct platform_device *pdev) > > err_disable_runtime_pm: > pm_runtime_disable(&pdev->dev); > -err_unprepare_clk: > - clk_unprepare(keypad->clk); > return error; > } > > static void samsung_keypad_remove(struct platform_device *pdev) > { > - struct samsung_keypad *keypad = platform_get_drvdata(pdev); > - > pm_runtime_disable(&pdev->dev); > - > - input_unregister_device(keypad->input_dev); This looks unrelated. Best regards, Krzysztof