linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / arm / mach-integrator / integrator_ap.c
index 191c57a..d8d3c2a 100644 (file)
@@ -161,8 +161,7 @@ static void sc_unmask_irq(unsigned int irq)
        writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_SET);
 }
 
-static struct irq_chip sc_chip = {
-       .name   = "SC",
+static struct irqchip sc_chip = {
        .ack    = sc_mask_irq,
        .mask   = sc_mask_irq,
        .unmask = sc_unmask_irq,
@@ -320,10 +319,12 @@ static void __init ap_init(void)
                if ((sc_dec & (16 << i)) == 0)
                        continue;
 
-               lmdev = kzalloc(sizeof(struct lm_device), GFP_KERNEL);
+               lmdev = kmalloc(sizeof(struct lm_device), GFP_KERNEL);
                if (!lmdev)
                        continue;
 
+               memset(lmdev, 0, sizeof(struct lm_device));
+
                lmdev->resource.start = 0xc0000000 + 0x10000000 * i;
                lmdev->resource.end = lmdev->resource.start + 0x0fffffff;
                lmdev->resource.flags = IORESOURCE_MEM;