* Christoph Hellwig <[email protected]> wrote: > 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? yeah, that would be fine too. The "irq chips" name has the advantage that it points out that this stuff deals with actual hardware, but no strong feelings either way. > > - rename asm/irq.h to asm/irqchips.h > > Note that currently asm/irq.h is included all over. yeah, but only 335 times in drivers/*, so it's a 4 minute job to convert them over. (ok, i just did it to check - it results in a 144K patch and it took 50 seconds to do. I've attached the result.) > > - 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. ok, agreed. Ingo
Attachment:
remove-asm-irq2.h.bz2
Description: BZip2 compressed data
- Follow-Ups:
- Re: [PATCH] genirq: ARM dyntick cleanup
- From: Russell King <[email protected]>
- Re: [PATCH] genirq: ARM dyntick cleanup
- References:
- [PATCH] genirq: ARM dyntick cleanup
- From: Thomas Gleixner <[email protected]>
- Re: [PATCH] genirq: ARM dyntick cleanup
- From: Andrew Morton <[email protected]>
- Re: [PATCH] genirq: ARM dyntick cleanup
- From: Thomas Gleixner <[email protected]>
- Re: [PATCH] genirq: ARM dyntick cleanup
- From: Ingo Molnar <[email protected]>
- Re: [PATCH] genirq: ARM dyntick cleanup
- From: Christoph Hellwig <[email protected]>
- [PATCH] genirq: ARM dyntick cleanup
- Prev by Date: Re: Minor cleanup to lockdep.c
- Next by Date: Re: strict isolation of net interfaces
- Previous by thread: Re: [PATCH] genirq: ARM dyntick cleanup
- Next by thread: Re: [PATCH] genirq: ARM dyntick cleanup
- Index(es):