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@xxxxxxx> > > > > 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@xxxxxxxxxx> > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > > --- > > > > 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