Messages in this thread |  | | From | Arnd Bergmann <> | Subject | Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies | Date | Wed, 6 Feb 2013 21:56:55 +0000 |
| |
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: > > > No, it is intentional that the CONFIG_HAS_IOPORT symbol refers to > > > the fact that you can use the ioport_map function, in order to > > > disallow building drivers that depend on this function when it > > > is unavailable. I actually want to change this, but in the opposite > > > way of what you are proposing: > > > > > > I think CONFIG_HAS_IOPORT should refer to the fact that the > > > inb/outb family of functions are usuable and be unset when > > > they are not provided, and I would introduce a new > > > CONFIG_HAS_IOPORT_MAP symbol for those (few) platforms that > > > have a working inb/outb but no ioport_map. > > > > Yet another Kconfig, but sounds reasonable :) > > Right... I just wanted to make s390 compile with the Kconfig methods we use > since nearly a decade and not change the world ;)
Your patch looks fine here, I was just mentioning that this is going to change. After my patch, things will be different for s390 as well, because it presumably won't provide the inb/outb accessors any more then and not set the (new) CONFIG_HAS_IOPORT.
> > > > > > 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.
Arnd
|  |