Re: [Patch/RFC]: check CONFIG_GENERIC_HARDIRQS for request/free_irq in interrupt.h

From: Rusty Russell
Date: Thu May 29 2008 - 23:36:38 EST


On Friday 30 May 2008 04:32:58 Christian Borntraeger wrote:
> Am Donnerstag, 29. Mai 2008 schrieb Martin Schwidefsky:
> > On Thu, 2008-05-29 at 17:41 +0200, Christian Borntraeger wrote:
> > > I currently try to evaluate virtio_console for kvm on s390 and got
> > > the following problem:
> > >
> > > virtio_console uses hvc_alloc with irq=0. That means, register_irq
> > > and free_irq are never called by hvc_console.c, but the linker will
> > > still complain about unknown references to free_irq and request_irq.
> > >
> > > As the whole kernel/irq folder depends on CONFIG_GENERIC_HARDIRQS
> > > it seems consistent to declare all functions from kernel/irq only if
> > > CONFIG_GENERIC_HARDIRQS is set. Otherwise we can use empty functions.
> > >
> > > This patch does that for register_irq and free_irq.
> > >
> > > Comments?
> >
> > Please don't. So far whenever the linker complained about the missing
> > register_irq/free_irq functions it has been a bug in a Kconfig file.
> > We should not silently accept code that requires the concept of an
> > irq-line when there is no such thing on a s390.
>
> Ok, convinced.
>
> I will look if I can modify virtio_console to get rid of hvc_console.
> Reading all the comments, it appears that Rusty is not really happy with
> all the dependencies/limitations that hvc_console brings to virtio_console.
>
> Rusty, be prepared.... ;-)
>
> Christian

OK, my plan was to at least allow the hook of notifiers in hvc_console, rather
than relying on interrupts or nothing. Then expose "use interrupt to notify"
and "use a backoff timer to notify" helpers and let the caller hook one up.

But it was a vague plan which may become unrecognisable when meeting
reality...

Cheers,
Rusty.




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