> -----Original Message----- > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx] > Sent: Friday, January 8, 2021 7:58 AM > To: Song Bao Hua (Barry Song) <song.bao.hua@xxxxxxxxxxxxx> > Cc: tglx@xxxxxxxxxxxxx; maz@xxxxxxxxxx; linux-input@xxxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; linuxarm@xxxxxxxxxxxxx; Dmitry Torokhov > <dmitry.torokhov@xxxxxxxxx> > Subject: Re: [PATCH v2] genirq: add IRQF_NO_AUTOEN for request_irq > > On Tue, Jan 05, 2021 at 03:14:11PM +1300, Barry Song wrote: > > Many drivers don't want interrupts enabled automatically due to > > request_irq(). So they are handling this issue by either way of > > the below two: > > (1) > > irq_set_status_flags(irq, IRQ_NOAUTOEN); > > request_irq(dev, irq...); > > (2) > > request_irq(dev, irq...); > > disable_irq(irq); > > > > The code in the second way is silly and unsafe. In the small time > > gap between request_irq() and disable_irq(), interrupts can still > > come. > > The code in the first way is safe though we might be able to do it > > in the generic irq code. > > > > With this patch, drivers can request_irq with IRQF_NO_AUTOEN flag. > > They will need neither irq_set_status_flags() nor disable_irq(). > > Hundreds of drivers with this problem will be handled afterwards. > > > > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > Signed-off-by: Barry Song <song.bao.hua@xxxxxxxxxxxxx> > > Can you also convert some in-kernel drivers to this new api so that we > can see how this works? Sure. As the discussion got started from input, so I'll take some input drivers as examples before moving to other folders. > > thanks, > > greg k-h Thanks Barry