On Thu, May 07, 2020 at 11:12:59PM +0800, Chuhong Yuan wrote: > This driver calls input_register_device() in probe, but misses > input_unregister_device() in remove. > Add the missed function call to fix it. > > Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx> > --- > drivers/input/touchscreen/wm831x-ts.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/input/touchscreen/wm831x-ts.c b/drivers/input/touchscreen/wm831x-ts.c > index 607d1aeb595d..db09dd473ada 100644 > --- a/drivers/input/touchscreen/wm831x-ts.c > +++ b/drivers/input/touchscreen/wm831x-ts.c > @@ -379,6 +379,7 @@ static int wm831x_ts_remove(struct platform_device *pdev) > { > struct wm831x_ts *wm831x_ts = platform_get_drvdata(pdev); > > + input_unregister_device(wm831x_ts->input_dev); Are you seeing specific issues caused by this being missing, if so it would be good if you could elaborate on them? My understanding is that since this driver uses devm_input_allocate_device input_unregister_device will be handled automatically, see the comments on input_register_device/devm_input_allocate_device. Thanks, Charles > free_irq(wm831x_ts->pd_irq, wm831x_ts); > free_irq(wm831x_ts->data_irq, wm831x_ts); > > -- > 2.26.2 >