The patch titled genirq: cleanup: remove irq_descp() has been added to the -mm tree. Its filename is genirq-cleanup-remove-irq_descp.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: genirq: cleanup: remove irq_descp() From: Ingo Molnar <mingo@xxxxxxx> Cleanup: remove irq_descp() - explicit use of irq_desc[] is shorter and more readable. Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/ia64/hp/sim/hpsim_irq.c | 2 +- arch/ia64/kernel/iosapic.c | 14 +++++++------- arch/ia64/kernel/irq.c | 2 +- arch/ia64/kernel/irq_ia64.c | 2 +- arch/ia64/kernel/machine_kexec.c | 2 +- arch/ia64/kernel/mca.c | 2 +- arch/ia64/kernel/smpboot.c | 2 +- arch/powerpc/kernel/crash.c | 2 +- include/linux/irq.h | 7 ------- kernel/irq/migration.c | 2 +- 10 files changed, 15 insertions(+), 22 deletions(-) diff -puN arch/ia64/hp/sim/hpsim_irq.c~genirq-cleanup-remove-irq_descp arch/ia64/hp/sim/hpsim_irq.c --- devel/arch/ia64/hp/sim/hpsim_irq.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/hp/sim/hpsim_irq.c 2006-05-22 15:12:23.000000000 -0700 @@ -44,7 +44,7 @@ hpsim_irq_init (void) int i; for (i = 0; i < NR_IRQS; ++i) { - idesc = irq_descp(i); + idesc = irq_desc + i; if (idesc->handler == &no_irq_type) idesc->handler = &irq_type_hp_sim; } diff -puN arch/ia64/kernel/iosapic.c~genirq-cleanup-remove-irq_descp arch/ia64/kernel/iosapic.c --- devel/arch/ia64/kernel/iosapic.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/iosapic.c 2006-05-22 15:12:23.000000000 -0700 @@ -456,7 +456,7 @@ iosapic_startup_edge_irq (unsigned int i static void iosapic_ack_edge_irq (unsigned int irq) { - irq_desc_t *idesc = irq_descp(irq); + irq_desc_t *idesc = irq_desc + irq; move_native_irq(irq); /* @@ -659,7 +659,7 @@ register_intr (unsigned int gsi, int vec else irq_type = &irq_type_iosapic_level; - idesc = irq_descp(vector); + idesc = irq_desc + vector; if (idesc->chip != irq_type) { if (idesc->chip != &no_irq_type) printk(KERN_WARNING @@ -793,14 +793,14 @@ again: return -ENOSPC; } - spin_lock_irqsave(&irq_descp(vector)->lock, flags); + spin_lock_irqsave(&irq_desc[vector].lock, flags); spin_lock(&iosapic_lock); { if (gsi_to_vector(gsi) > 0) { if (list_empty(&iosapic_intr_info[vector].rtes)) free_irq_vector(vector); spin_unlock(&iosapic_lock); - spin_unlock_irqrestore(&irq_descp(vector)->lock, + spin_unlock_irqrestore(&irq_desc[vector].lock, flags); goto again; } @@ -810,7 +810,7 @@ again: polarity, trigger); if (err < 0) { spin_unlock(&iosapic_lock); - spin_unlock_irqrestore(&irq_descp(vector)->lock, + spin_unlock_irqrestore(&irq_desc[vector].lock, flags); return err; } @@ -825,7 +825,7 @@ again: set_rte(gsi, vector, dest, mask); } spin_unlock(&iosapic_lock); - spin_unlock_irqrestore(&irq_descp(vector)->lock, flags); + spin_unlock_irqrestore(&irq_desc[vector].lock, flags); printk(KERN_INFO "GSI %u (%s, %s) -> CPU %d (0x%04x) vector %d\n", gsi, (trigger == IOSAPIC_EDGE ? "edge" : "level"), @@ -860,7 +860,7 @@ iosapic_unregister_intr (unsigned int gs } vector = irq_to_vector(irq); - idesc = irq_descp(irq); + idesc = irq_desc + irq; spin_lock_irqsave(&idesc->lock, flags); spin_lock(&iosapic_lock); { diff -puN arch/ia64/kernel/irq.c~genirq-cleanup-remove-irq_descp arch/ia64/kernel/irq.c --- devel/arch/ia64/kernel/irq.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/irq.c 2006-05-22 15:12:23.000000000 -0700 @@ -120,7 +120,7 @@ static void migrate_irqs(void) int irq, new_cpu; for (irq=0; irq < NR_IRQS; irq++) { - desc = irq_descp(irq); + desc = irq_desc + irq; /* * No handling for now. diff -puN arch/ia64/kernel/irq_ia64.c~genirq-cleanup-remove-irq_descp arch/ia64/kernel/irq_ia64.c --- devel/arch/ia64/kernel/irq_ia64.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/irq_ia64.c 2006-05-22 15:12:23.000000000 -0700 @@ -249,7 +249,7 @@ register_percpu_irq (ia64_vector vec, st for (irq = 0; irq < NR_IRQS; ++irq) if (irq_to_vector(irq) == vec) { - desc = irq_descp(irq); + desc = irq_desc + irq; desc->status |= IRQ_PER_CPU; desc->chip = &irq_type_ia64_lsapic; if (action) diff -puN arch/ia64/kernel/machine_kexec.c~genirq-cleanup-remove-irq_descp arch/ia64/kernel/machine_kexec.c --- devel/arch/ia64/kernel/machine_kexec.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/machine_kexec.c 2006-05-22 15:12:23.000000000 -0700 @@ -66,7 +66,7 @@ void machine_shutdown(void) while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { if (!(dev->is_enabled)) continue; - idesc = irq_descp(dev->irq); + idesc = irq_desc + dev->irq; if (!idesc) continue; cpu_set(0, mask); diff -puN arch/ia64/kernel/mca.c~genirq-cleanup-remove-irq_descp arch/ia64/kernel/mca.c --- devel/arch/ia64/kernel/mca.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/mca.c 2006-05-22 15:12:23.000000000 -0700 @@ -1788,7 +1788,7 @@ ia64_mca_late_init(void) cpe_poll_enabled = 0; for (irq = 0; irq < NR_IRQS; ++irq) if (irq_to_vector(irq) == cpe_vector) { - desc = irq_descp(irq); + desc = irq_desc + irq; desc->status |= IRQ_PER_CPU; setup_irq(irq, &mca_cpe_irqaction); ia64_cpe_irq = irq; diff -puN arch/ia64/kernel/smpboot.c~genirq-cleanup-remove-irq_descp arch/ia64/kernel/smpboot.c --- devel/arch/ia64/kernel/smpboot.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/ia64/kernel/smpboot.c 2006-05-22 15:12:23.000000000 -0700 @@ -677,7 +677,7 @@ int migrate_platform_irqs(unsigned int c new_cpei_cpu = any_online_cpu(cpu_online_map); mask = cpumask_of_cpu(new_cpei_cpu); set_cpei_target_cpu(new_cpei_cpu); - desc = irq_descp(ia64_cpe_irq); + desc = irq_desc + ia64_cpe_irq; /* * Switch for now, immediatly, we need to do fake intr * as other interrupts, but need to study CPEI behaviour with diff -puN arch/powerpc/kernel/crash.c~genirq-cleanup-remove-irq_descp arch/powerpc/kernel/crash.c --- devel/arch/powerpc/kernel/crash.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/arch/powerpc/kernel/crash.c 2006-05-22 15:12:23.000000000 -0700 @@ -190,7 +190,7 @@ void default_machine_crash_shutdown(stru local_irq_disable(); for_each_irq(irq) { - struct irq_desc *desc = irq_descp(irq); + struct irq_desc *desc = irq_desc + irq; if (desc->status & IRQ_INPROGRESS) desc->chip->end(irq); diff -puN include/linux/irq.h~genirq-cleanup-remove-irq_descp include/linux/irq.h --- devel/include/linux/irq.h~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/include/linux/irq.h 2006-05-22 15:12:23.000000000 -0700 @@ -87,13 +87,6 @@ typedef struct irq_desc { extern irq_desc_t irq_desc [NR_IRQS]; -/* Return a pointer to the irq descriptor for IRQ. */ -static inline irq_desc_t * -irq_descp (int irq) -{ - return irq_desc + irq; -} - #include <asm/hw_irq.h> /* the arch dependent stuff */ extern int setup_irq(unsigned int irq, struct irqaction * new); diff -puN kernel/irq/migration.c~genirq-cleanup-remove-irq_descp kernel/irq/migration.c --- devel/kernel/irq/migration.c~genirq-cleanup-remove-irq_descp 2006-05-22 15:12:23.000000000 -0700 +++ devel-akpm/kernel/irq/migration.c 2006-05-22 15:12:23.000000000 -0700 @@ -15,7 +15,7 @@ void set_pending_irq(unsigned int irq, c void move_native_irq(int irq) { cpumask_t tmp; - irq_desc_t *desc = irq_descp(irq); + irq_desc_t *desc = irq_desc + irq; if (likely(!desc->move_irq)) return; _ Patches currently in -mm which might be from mingo@xxxxxxx are git-acpi.patch fix-drivers-mfd-ucb1x00-corec-irq-probing-bug.patch git-dvb.patch git-netdev-all.patch fix-for-serial-uart-lockup.patch qla2xxx-lock-ordering-fix.patch qla2xxx-lock-ordering-fix-warning-fix.patch swapless-pm-add-r-w-migration-entries-fix.patch i386-break-out-of-recursion-in-stackframe-walk.patch work-around-ppc64-bootup-bug-by-making-mutex-debugging-save-restore-irqs.patch kernel-kernel-cpuc-to-mutexes.patch cond-resched-might-sleep-fix.patch define-__raw_get_cpu_var-and-use-it.patch ide-cd-end-of-media-error-fix.patch time-clocksource-infrastructure.patch sched-comment-bitmap-size-accounting.patch sched-fix-interactive-ceiling-code.patch sched-implement-smpnice.patch sched-protect-calculation-of-max_pull-from-integer-wrap.patch sched-store-weighted-load-on-up.patch sched-add-discrete-weighted-cpu-load-function.patch sched-prevent-high-load-weight-tasks-suppressing-balancing.patch sched-improve-stability-of-smpnice-load-balancing.patch sched-improve-smpnice-load-balancing-when-load-per-task.patch smpnice-dont-consider-sched-groups-which-are-lightly-loaded-for-balancing.patch smpnice-dont-consider-sched-groups-which-are-lightly-loaded-for-balancing-fix.patch sched-modify-move_tasks-to-improve-load-balancing-outcomes.patch sched-avoid-unnecessarily-moving-highest-priority-task-move_tasks.patch sched-avoid-unnecessarily-moving-highest-priority-task-move_tasks-fix-2.patch sched_domain-handle-kmalloc-failure.patch sched_domain-handle-kmalloc-failure-fix.patch sched_domain-dont-use-gfp_atomic.patch sched_domain-use-kmalloc_node.patch sched_domain-allocate-sched_group-structures-dynamically.patch sched-add-above-background-load-function.patch mm-implement-swap-prefetching-fix.patch pi-futex-futex-code-cleanups.patch pi-futex-futex-code-cleanups-fix.patch pi-futex-introduce-debug_check_no_locks_freed.patch pi-futex-add-plist-implementation.patch pi-futex-scheduler-support-for-pi.patch pi-futex-rt-mutex-core.patch pi-futex-rt-mutex-core-fix-timeout-race.patch pi-futex-rt-mutex-docs.patch pi-futex-rt-mutex-debug.patch pi-futex-rt-mutex-tester.patch pi-futex-rt-mutex-futex-api.patch pi-futex-futex_lock_pi-futex_unlock_pi-support.patch pi-futex-v2.patch pi-futex-v3.patch pi-futex-patchset-v4.patch pi-futex-patchset-v4-update.patch pi-futex-patchset-v4-fix.patch rtmutex-remove-buggy-bug_on-in-pi-boosting-code.patch futex-pi-enforce-waiter-bit-when-owner-died-is-detected.patch rtmutex-debug-printk-correct-task-information.patch futex-pi-make-use-of-restart_block-when-interrupted.patch document-futex-pi-design.patch futex_requeue-optimization.patch reiser4.patch genirq-rename-desc-handler-to-desc-chip.patch genirq-rename-desc-handler-to-desc-chip-power-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix.patch genirq-sem2mutex-probe_sem-probing_active.patch genirq-cleanup-merge-irq_affinity-into-irq_desc.patch genirq-cleanup-remove-irq_descp.patch genirq-cleanup-remove-fastcall.patch genirq-cleanup-misc-code-cleanups.patch genirq-cleanup-reduce-irq_desc_t-use-mark-it-obsolete.patch genirq-cleanup-include-linux-irqh.patch genirq-cleanup-merge-irq_dir-smp_affinity_entry-into-irq_desc.patch genirq-cleanup-merge-pending_irq_cpumask-into-irq_desc.patch genirq-cleanup-turn-arch_has_irq_per_cpu-into-config_irq_per_cpu.patch genirq-debug-better-debug-printout-in-enable_irq.patch genirq-add-retrigger-irq-op-to-consolidate-hw_irq_resend.patch genirq-doc-comment-include-linux-irqh-structures.patch genirq-doc-handle_irq_event-and-__do_irq-comments.patch genirq-cleanup-no_irq_type-cleanups.patch genirq-doc-add-design-documentation.patch genirq-add-genirq-sw-irq-retrigger.patch genirq-add-irq_noprobe-support.patch genirq-add-irq_norequest-support.patch genirq-add-irq_noautoen-support.patch genirq-update-copyrights.patch genirq-core.patch genirq-add-irq-chip-support.patch genirq-add-handle_bad_irq.patch genirq-add-irq-wake-power-management-support.patch genirq-add-sa_trigger-support.patch genirq-cleanup-no_irq_type-no_irq_chip-rename.patch genirq-convert-the-x86_64-architecture-to-irq-chips.patch genirq-convert-the-i386-architecture-to-irq-chips.patch genirq-more-verbose-debugging-on-unexpected-irq-vectors.patch detect-atomic-counter-underflows.patch debug-shared-irqs.patch make-frame_pointer-default=y.patch mutex-subsystem-synchro-test-module.patch add-print_fatal_signals-support.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html