# HG changeset patch
# User Jimi Xenidis <[EMAIL PROTECTED]>
# Node ID 968ced1469e8cbf36d00f437ac084bf064f6df00
# Parent  ad4044d0582162bf98e21bbe6a9c5c3d400e659f
[LINUX][XEN][POWERPC] remove mpic pointer hack.

Since we now allocate the mpic in this file we can get it here rather
than use the hack to get it.

Signed-off-by: Jimi Xenidis <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/xen/evtchn.c |   22 ++++++++--------------
 1 files changed, 8 insertions(+), 14 deletions(-)

diff -r ad4044d05821 -r 968ced1469e8 arch/powerpc/platforms/xen/evtchn.c
--- a/arch/powerpc/platforms/xen/evtchn.c       Tue Oct 17 17:01:57 2006 -0400
+++ b/arch/powerpc/platforms/xen/evtchn.c       Tue Oct 17 17:03:31 2006 -0400
@@ -30,7 +30,7 @@
  */
 
 
-struct hw_interrupt_type *xen_pirq;
+static struct hw_interrupt_type *xen_pirq;
 static struct hw_interrupt_type hc_irq;
 
 static unsigned int xen_startup_irq(unsigned int irq)
@@ -60,7 +60,8 @@ static void xen_ack_irq(unsigned int irq
 static void xen_ack_irq(unsigned int irq)
 {
        xen_pirq->ack(irq);
-       if (hc_irq.ack) hc_irq.ack(irq);
+       if (hc_irq.ack)
+               hc_irq.ack(irq);
 }
 static void xen_end_irq(unsigned int irq)
 {
@@ -68,14 +69,8 @@ static void xen_end_irq(unsigned int irq
        hc_irq.end(irq);
 }
 
-/* Get the mpic structure from the irq number */
-static inline struct mpic *mpic_from_irq(unsigned int irq)
-{
-       return container_of(irq_desc[irq].chip, struct mpic, hc_irq);
-}
-
 /* borrowed from platform/maple/setup.c */
-static __init void xen_share_maple_init_IRQ(void)
+static __init struct mpic *xen_share_maple_init_IRQ(void)
 {
        struct device_node *root;
        unsigned int *opprop;
@@ -112,6 +107,8 @@ static __init void xen_share_maple_init_
        mpic_init(mpic);
 
        DBG(" <- %s\n", __func__);
+
+       return mpic;
 }
 
 static void xen_share_pic(void)
@@ -119,10 +116,7 @@ static void xen_share_pic(void)
        struct mpic *mpic;
 
        xen_pirq = irq_desc[0].chip;
-       xen_share_maple_init_IRQ();
-
-       /* FIXME: 0 may not be valid */
-       mpic = mpic_from_irq(0);
+       mpic = xen_share_maple_init_IRQ();
 
        hc_irq.startup = mpic->hc_irq.startup;
        mpic->hc_irq.startup = xen_startup_irq;
@@ -150,7 +144,7 @@ void xen_maple_init_IRQ(void)
        if (!(xen_start_info->flags & SIF_INITDOMAIN))
                return;
 
-       printk("Sharing PIC with Xen");
+       printk("Sharing PIC with Xen\n");
        xen_share_pic();
 }
 

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to