Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies

Heiko Carstens
2013-02-07T13:32:15Z

On Wed, Feb 06, 2013 at 09:56:55PM +0000, Arnd Bergmann wrote:
> On Wednesday 06 February 2013, Heiko Carstens wrote:
> > On Wed, Feb 06, 2013 at 06:26:02PM +0100, Takashi Iwai wrote:
> > > At Thu, 07 Feb 2013 02:13:19 +0100,
> > > Arnd Bergmann wrote:
> > > > Why not just make CONFIG_GENERIC_HARDIRQS mandatory for all
> > > > platforms. It is use almost everywhere now.
> > >
> > > I wonder it, too...
> >
> > I haven't looked into it, but I doubt if that is possible without large
> > effort, if at all. s390 doesn't have any irq chips, nor something like
> > edge or level triggered irqs.
> > Instead we have floating interrupts. Does that fit into the concept of
> > GENERIC_HARDIRQS at all?
> > If so, we can give it a try, sure. But that won't happen any time soon.
> >
> > Or are you simply proposing we should have both, our own irq handling plus
> > GENERIC_HARDIRQS with dummy functions?
>
> I think you should use GENERIC_HARDIRQ just for PCI, and rename the s390
> interrupt handling to something that does not conflict. I understand
> that the concepts are quite different, but with PCI support, you actually
> do get all the weird interrupt hardware.
> More importantly, some features provided by GENERIC_HARDIRQ are replacing
> the traditional interfaces now, e.g. devm_request_irq() is actually
> recommended over request_irq() for normal drivers these days, as it
> simplifies the error handling.

That sounds reasonable. And a quick grep seems to indicate that s390
is the last architecture with !GENERIC_HARDIRQS.
However having two completely different IRQ subsystems within one
architecture will bring up some interesting questions like e.g.
how should /proc/interrupts look like? Or /proc/stat:intr ?

Jan considered turning GENERIC_HARDIRQS on for PCI support, but didn't.
I don't know why he didn't and since he left, we can't ask him anymore.

So for the time being I'd appreciate it if we can simply add the
additional GENERIC_HARDIRQS dependencies where needed, since I consider
a working allmodconfig quite important.
Later on we should indeed try to switch to GENERIC_HARDIRQS and then
git rid of that config option completely. However I leave that to
Sebastian and Gerald who now take care of our PCI code ;)

Thanks,
Heiko