diff mbox series

Input: wm831x-ts - add missed input_unregister_device

Message ID 20200507151259.792697-1-hslester96@gmail.com (mailing list archive)
State New, archived
Headers show
Series Input: wm831x-ts - add missed input_unregister_device | expand

Commit Message

Chuhong Yuan May 7, 2020, 3:12 p.m. UTC
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@gmail.com>
---
 drivers/input/touchscreen/wm831x-ts.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Charles Keepax May 7, 2020, 3:57 p.m. UTC | #1
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@gmail.com>
> ---
>  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
>
Dmitry Torokhov May 7, 2020, 4:01 p.m. UTC | #2
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.

The input device in question is devm-managed and therefore does not need
explicit unregistering.

Thanks.
diff mbox series

Patch

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);
 	free_irq(wm831x_ts->pd_irq, wm831x_ts);
 	free_irq(wm831x_ts->data_irq, wm831x_ts);