unsigned long (*read)(void __iomem *iomem);
void (*write)(void __iomem *iomem, unsigned long data);
int width;
-};
+};
struct intc_irqpin_irq {
int hw_irq;
int irq;
struct intc_irqpin_priv *p;
-};
+};
struct intc_irqpin_priv {
struct intc_irqpin_iomem iomem[INTC_IRQPIN_REG_NR];
int reg)
{
struct intc_irqpin_iomem *i = &p->iomem[reg];
+
return i->read(i->iomem);
}
int reg, unsigned long data)
{
struct intc_irqpin_iomem *i = &p->iomem[reg];
+
i->write(i->iomem, data);
}
dev_warn(&pdev->dev, "irq base mismatch (%d/%d)\n",
p->config.irq_base, k);
}
-
+
return 0;
err3: