diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2012-02-14 22:06:51 +0100 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-02-14 22:06:51 +0100 |
commit | 4bbdd45afdae208a7c4ade89cf602f89a6397cff (patch) | |
tree | f6a061599d777e3177a369165f58bed7132cb30b /kernel/irq | |
parent | irq_domain/powerpc: Use common irq_domain structure instead of irq_host (diff) | |
download | linux-4bbdd45afdae208a7c4ade89cf602f89a6397cff.tar.xz linux-4bbdd45afdae208a7c4ade89cf602f89a6397cff.zip |
irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead
This patch drops the powerpc-specific irq_map table and replaces it with
directly using the irq_alloc_desc()/irq_free_desc() interfaces for allocating
and freeing irq_desc structures.
This patch is a preparation step for generalizing the powerpc-specific virq
infrastructure to become irq_domains.
As part of this change, the irq_big_lock is changed to a mutex from a raw
spinlock. There is no longer any need to use a spin lock since the irq_desc
allocation code is now responsible for the critical section of finding
an unused range of irq numbers.
The radix lookup table is also changed to store the irq_data pointer instead
of the irq_map entry since the irq_map is removed. This should end up being
functionally equivalent since only allocated irq_descs are ever added to the
radix tree.
v5: - Really don't ever allocate virq 0. The previous version could still
do it if hint == 0
- Respect irq_virq_count setting for NOMAP. Some NOMAP domains cannot
use virq values above irq_virq_count.
- Use numa_node_id() when allocating irq_descs. Ideally the API should
obtain that value from the caller, but that touches a lot of call sites
so will be deferred to a follow-on patch.
- Fix irq_find_mapping() to include irq numbers lower than
NUM_ISA_INTERRUPTS. With the switch to irq_alloc_desc*(), the lowest
possible allocated irq is now returned by arch_probe_nr_irqs().
v4: - Fix incorrect access to irq_data structure in debugfs code
- Don't ever allocate virq 0
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Milton Miller <miltonm@bga.com>
Tested-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'kernel/irq')
0 files changed, 0 insertions, 0 deletions