Re: [PATCH] adc:cpcap-adc: Fix IRQ flags for using threaded handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 19 Jan 2018 07:10:08 -0800
Tony Lindgren <tony@xxxxxxxxxxx> wrote:

> Hi,
> 
> * Jonathan Cameron <jic23@xxxxxxxxxx> [180114 12:28]:
> > On Thu, 11 Jan 2018 12:41:00 +0530
> > + CC: Tony as the author of the driver.
> > 
> > venkat.prashanth2498@xxxxxxxxx wrote:
> >   
> > > From: Venkat Prashanth B U <venkat.prashanth2498@xxxxxxxxx>
> > > 
> > > Mark the request with ONESHOT using IRQF_ONESHOT.
> > > 
> > > Semantic patch information:
> > > threaded IRQs without a primary handler need to be
> > > requested with IRQF_ONESHOT, otherwise the request
> > > will fail.
> > > So pass the IRQF_ONESHOT flag in this case.
> > > 
> > > Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci
> > > 
> > > Signed-off-by: Venkat Prashanth B U <venkat.prashanth2498@xxxxxxxxx>  
> > 
> > This looks right but it is rather odd as this should have broken a long
> > time ago now when the irq core started getting fussy about this...
> > 
> > Back in 2012
> > 
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1c6c69525b
> > 
> > Given driver is from 2017 I'm rather surprised...  
> 
> I think this is now automatically set as the controller
> flags don't have IRQCHIP_ONESHOT_SAFE set?
As far as I can tell that's actually used the other way
around...  If ONESHOT_SAFE is set the checks for valid
oneshot are ignored.  There is nothing setting ONESHOT
up in the converse case.

> 
> That being said, adding the IRQF_ONESHOT does not hurt either
> so no objections to adding that if still considered valid.
> 
> But at least the patch description needs to be updated
> though, things have been working just fine :)

Which is curious!  Hmm. I wonder if it has anything to do
with it being IRQF_TYPE_NONE which is pretty rare...

... some digging later ...
Nope, it's because it is a nested interrupt and hence the
default handler is replaced anyway (and largely pointless).

So next question is do we want to fix the warnings that
result and how do we do it.  
We could request an any context irq which would suppress
the warning, but that feels wrong as it has to be a thread..

Maybe marking it (irrelevantly) as ONESHOT is the best
approach.  Perhaps what we should really have is a separate
requester when we know it is nested so that is apparent
to static analysers and they leave us alone.

+CC Thomas to see if he thinks this is crazy or not.

Jonathan

> Regards,
> 
> Tony

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux