From: kaf24@firebug.cl.cam.ac.uk Date: Wed, 7 Jun 2006 13:38:36 +0000 (+0100) Subject: [LINUX] Rename hw_resend_irq to allow it to be defined seperately per arch. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15972^2~41 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3729abf36e416fb4b1fb62c0ed764e7fb5c3eb54;p=xen.git [LINUX] Rename hw_resend_irq to allow it to be defined seperately per arch. Signed-off-by Kevin Tian --- diff --git a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c index dcbc828079..750cde5fc4 100644 --- a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c +++ b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c @@ -678,7 +678,7 @@ static struct hw_interrupt_type pirq_type = { set_affinity_irq }; -void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) +void resend_irq_on_evtchn(struct hw_interrupt_type *h, unsigned int i) { int evtchn = evtchn_from_irq(i); shared_info_t *s = HYPERVISOR_shared_info; diff --git a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h index 05cf283a65..eecc6b6a09 100644 --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hw_irq.h @@ -68,6 +68,10 @@ extern atomic_t irq_mis_count; #define IO_APIC_IRQ(x) (((x) >= 16) || ((1<<(x)) & io_apic_irqs)) -extern void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i); +extern void resend_irq_on_evtchn(struct hw_interrupt_type *h, unsigned int i); +static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) +{ + resend_irq_on_evtchn(h, i); +} #endif /* _ASM_HW_IRQ_H */ diff --git a/linux-2.6-xen-sparse/include/asm-ia64/hw_irq.h b/linux-2.6-xen-sparse/include/asm-ia64/hw_irq.h index 6f8bd3334d..d4a0cfcd5d 100644 --- a/linux-2.6-xen-sparse/include/asm-ia64/hw_irq.h +++ b/linux-2.6-xen-sparse/include/asm-ia64/hw_irq.h @@ -90,15 +90,18 @@ extern void free_irq_vector (int vector); extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); -#ifndef CONFIG_XEN static inline void hw_resend_irq (struct hw_interrupt_type *h, unsigned int vector) { +#ifdef CONFIG_XEN + extern void resend_irq_on_evtchn(struct hw_interrupt_type *h, + unsigned int i); + if (is_running_on_xen()) + resend_irq_on_evtchn(h, vector); + else +#endif /* CONFIG_XEN */ platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); } -#else -extern void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i); -#endif /* CONFIG_XEN */ /* * Default implementations for the irq-descriptor API: diff --git a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h index 32607a4e72..f33108241f 100644 --- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h +++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hw_irq.h @@ -132,7 +132,11 @@ __asm__( \ "push $" #nr "-256 ; " \ "jmp common_interrupt"); -extern void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i); +extern void resend_irq_on_evtchn(struct hw_interrupt_type *h, unsigned int i); +static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) +{ + resend_irq_on_evtchn(h, i); +} #define platform_legacy_irq(irq) ((irq) < 16)