[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<PAXPR04MB84590937ECEC0F60701BC5B088522@PAXPR04MB8459.eurprd04.prod.outlook.com>
Date: Tue, 5 Nov 2024 15:09:19 +0000
From: Peng Fan <peng.fan@....com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>, "Peng Fan (OSS)"
<peng.fan@....nxp.com>
CC: Frank Li <frank.li@....com>, Jacky Bai <ping.bai@....com>, Jason Liu
<jason.hui.liu@....com>, "open list:INPUT (KEYBOARD, MOUSE, JOYSTICK,
TOUCHSCREEN)..." <linux-input@...r.kernel.org>, open list
<linux-kernel@...r.kernel.org>, Christophe JAILLET
<christophe.jaillet@...adoo.fr>
Subject: RE: [PATCH V2] Input: bbnsm_pwrkey - add remove hook
Hi Dmitry,
> Subject: Re: [PATCH V2] Input: bbnsm_pwrkey - add remove hook
>
> Hi Peng,
>
> On Mon, Nov 04, 2024 at 11:15:51AM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@....com>
> >
> > Without remove hook to clear wake irq, there will be kernel dump
> when
> > doing module test.
> > "bbnsm_pwrkey 44440000.bbnsm:pwrkey: wake irq already
> initialized"
> >
> > Add remove hook to clear wake irq and set wakeup to false.
> >
> > Fixes: 40e40fdfec3f ("Input: bbnsm_pwrkey - add bbnsm power key
> > support")
> > Cc: Christophe JAILLET <christophe.jaillet@...adoo.fr>
> > Signed-off-by: Peng Fan <peng.fan@....com>
> > ---
> >
> > V2:
> > Per Christophe JAILLET
> > Use remove, not remove_new
> > Drop checking bbnsm pointer in remove
> >
> > drivers/input/misc/nxp-bbnsm-pwrkey.c | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/drivers/input/misc/nxp-bbnsm-pwrkey.c
> > b/drivers/input/misc/nxp-bbnsm-pwrkey.c
> > index eb4173f9c820..f0bf119309dd 100644
> > --- a/drivers/input/misc/nxp-bbnsm-pwrkey.c
> > +++ b/drivers/input/misc/nxp-bbnsm-pwrkey.c
> > @@ -187,6 +187,16 @@ static int bbnsm_pwrkey_probe(struct
> platform_device *pdev)
> > return 0;
> > }
> >
> > +static void bbnsm_pwrkey_remove(struct platform_device *pdev) {
> > + struct bbnsm_pwrkey *bbnsm = platform_get_drvdata(pdev);
> > +
> > + dev_pm_clear_wake_irq(&pdev->dev);
>
> I wonder, could we have this done in the driver core instead of
> individual drivers?
I will give a look to see whether possible to make it in
device_unbind_cleanup. But as a bug fix, I still need
to do this in remove. In future, if clear wake irq
could be in driver core, it could be remove in the
individual driver remove path. How do you think?
>
> > + device_init_wakeup(&pdev->dev, false);
> > +
> > + input_unregister_device(bbnsm->input);
>
> No need to call unregister here, it should happen automatically.
sure. I will remove this line.
Thanks,
Peng.
>
> Thanks.
>
> --
> Dmitry
Powered by blists - more mailing lists