[POWERPC] Add an optional device_node pointer to the irq_host
[powerpc.git] / arch / powerpc / sysdev / commproc.c
index 4f67b89..05dc30b 100644 (file)
 #define CPM_MAP_SIZE    (0x4000)
 
 static void m8xx_cpm_dpinit(void);
-static uint    host_buffer;    /* One page of host buffer */
-static uint    host_end;       /* end + 1 */
-cpm8xx_t       *cpmp;          /* Pointer to comm processor space */
-cpic8xx_t      *cpic_reg;
+static uint host_buffer; /* One page of host buffer */
+static uint host_end;    /* end + 1 */
+cpm8xx_t *cpmp;          /* Pointer to comm processor space */
+cpic8xx_t *cpic_reg;
 
-static struct device_node *cpm_pic_node;
 static struct irq_host *cpm_pic_host;
 
 static void cpm_mask_irq(unsigned int irq)
@@ -97,7 +96,7 @@ int cpm_get_irq(void)
 
 static int cpm_pic_host_match(struct irq_host *h, struct device_node *node)
 {
-       return cpm_pic_node == node;
+       return h->of_node == node;
 }
 
 static int cpm_pic_host_map(struct irq_host *h, unsigned int virq,
@@ -115,7 +114,7 @@ static int cpm_pic_host_map(struct irq_host *h, unsigned int virq,
  * and return.  This is a no-op function so we don't need any special
  * tests in the interrupt handler.
  */
-static irqreturn_t cpm_error_interrupt(int irq, void *dev)
+static irqreturn_t cpm_error_interrupt(int irq, void *dev)
 {
        return IRQ_HANDLED;
 }
@@ -165,9 +164,8 @@ unsigned int cpm_pic_init(void)
 
        out_be32(&cpic_reg->cpic_cimr, 0);
 
-       cpm_pic_node = of_node_get(np);
-
-       cpm_pic_host = irq_alloc_host(IRQ_HOST_MAP_LINEAR, 64, &cpm_pic_host_ops, 64);
+       cpm_pic_host = irq_alloc_host(of_node_get(np), IRQ_HOST_MAP_LINEAR,
+                                     64, &cpm_pic_host_ops, 64);
        if (cpm_pic_host == NULL) {
                printk(KERN_ERR "CPM2 PIC: failed to allocate irq host!\n");
                sirq = NO_IRQ;
@@ -181,7 +179,7 @@ unsigned int cpm_pic_init(void)
                printk(KERN_ERR "CPM PIC init: can not find cpm node\n");
                goto end;
        }
-       eirq= irq_of_parse_and_map(np, 0);
+       eirq = irq_of_parse_and_map(np, 0);
        if (eirq == NO_IRQ)
                goto end;
 
@@ -197,15 +195,15 @@ end:
 
 void cpm_reset(void)
 {
-       cpm8xx_t        *commproc;
-       sysconf8xx_t    *siu_conf;
+       cpm8xx_t *commproc;
+       sysconf8xx_t *siu_conf;
 
        commproc = (cpm8xx_t *)ioremap(CPM_MAP_ADDR, CPM_MAP_SIZE);
 
 #ifdef CONFIG_UCODE_PATCH
        /* Perform a reset.
        */
-       out_be16(&commproc->cp_cpcr,  CPM_CR_RST | CPM_CR_FLG);
+       out_be16(&commproc->cp_cpcr, CPM_CR_RST | CPM_CR_FLG);
 
        /* Wait for it.
        */
@@ -307,7 +305,7 @@ static rh_block_t cpm_boot_dpmem_rh_block[16];
 static rh_info_t cpm_dpmem_info;
 
 #define CPM_DPMEM_ALIGNMENT    8
-static u8dpram_vbase;
+static u8 *dpram_vbase;
 static uint dpram_pbase;
 
 void m8xx_cpm_dpinit(void)