These issues were reported by Stephen Rothwell for another 85xx board
port and pointed out by Chen Gong as issues in the DS port.
* mpic OF node reference counting was off
* of_device_id struct should be marked as __initdata
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
 {
        struct mpic *mpic;
        struct resource r;
-       struct device_node *np = NULL;
+       struct device_node *np;
 #ifdef CONFIG_PPC_I8259
        struct device_node *cascade_node = NULL;
        int cascade_irq;
 #endif
 
        np = of_find_node_by_type(np, "open-pic");
-
        if (np == NULL) {
                printk(KERN_ERR "Could not find open-pic node\n");
                return;
                          MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS,
                        0, 256, " OpenPIC  ");
        BUG_ON(mpic == NULL);
+       of_node_put(np);
 
        mpic_init(mpic);
 
        }
 }
 
-static struct of_device_id mpc85xxds_ids[] = {
+static struct of_device_id __initdata mpc85xxds_ids[] = {
        { .type = "soc", },
        { .compatible = "soc", },
        {},