2020-05-07 15:14:53

by Chuhong Yuan

[permalink] [raw]
Subject: [PATCH] Input: wm831x-ts - add missed input_unregister_device

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

--
2.26.2


2020-05-07 15:59:49

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH] Input: wm831x-ts - add missed input_unregister_device

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 <[email protected]>
> ---
> 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
>

2020-05-07 16:04:18

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: wm831x-ts - add missed input_unregister_device

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.

--
Dmitry