Re: [PATCH] genirq: ARM dyntick cleanup

From: Christoph Hellwig
Date: Tue Jul 04 2006 - 07:53:04 EST


On Mon, Jul 03, 2006 at 08:57:35AM +0200, Ingo Molnar wrote:
> Christoph has had ideas for cleanups in the irq-header-files area for a
> long time. My rough battleplan would be this:
>
> - linux/interrupt.h should remain the highlevel driver API [which can be
> used by both physical (genirq or non-genirq) or virtual platforms].
> Only this file should be included by drivers.

Yes. Note that it's not quite there yet. Non-genirq architectures currently
have things like enable_irq/disable_irq in asm/irq.h We really need to have
those prototypes only in linux/interrupt.h. Unfortunately at least m68k and
sparc had those as macros so they'll need some tweaking first.

> - rename linux/irq.h to linux/irqchips.h, to make it less likely for
> drivers to include it accidentally.

I find the name rather odd, how bout linux/genirq.h instead?

>
> - rename asm/irq.h to asm/irqchips.h

Note that currently asm/irq.h is included all over.

> - most of linux/hardirq.h should merge into interrupt.h [the rest into
> linux/irqchips.h] and hardirq.h should be eliminated.

Yes.

> - merge asm/hardirq.h and asm/hw_irq.h into asm/irqchips.h.

I'm not sure we can get away with just one asm/*irq.h. We need arch
bits for genirq and we need arch bits for what was in linux/hardirq.h
and I don't think we want to mix those up. The latter is just irq_cpustat_t
which needs a big rework anyway to remove the arch independent use of a arch-
defined struct and use DECLARE_PERCPU for each field in each architecture
or a suitable per-arch meachnism. The only irq_cpustat_t field that the
generic code uses is __softirq_pending and we should rather have a function
abstraction for that.

-
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/