Lines Matching full:irqc
183 struct lpc32xx_irq_chip *irqc; in lpc32xx_of_ic_init() local
188 irqc = kzalloc(sizeof(*irqc), GFP_KERNEL); in lpc32xx_of_ic_init()
189 if (!irqc) in lpc32xx_of_ic_init()
192 irqc->base = of_iomap(node, 0); in lpc32xx_of_ic_init()
193 if (!irqc->base) { in lpc32xx_of_ic_init()
195 kfree(irqc); in lpc32xx_of_ic_init()
199 irqc->chip.irq_ack = lpc32xx_irq_ack; in lpc32xx_of_ic_init()
200 irqc->chip.irq_mask = lpc32xx_irq_mask; in lpc32xx_of_ic_init()
201 irqc->chip.irq_unmask = lpc32xx_irq_unmask; in lpc32xx_of_ic_init()
202 irqc->chip.irq_set_type = lpc32xx_irq_set_type; in lpc32xx_of_ic_init()
204 irqc->chip.name = kasprintf(GFP_KERNEL, "%08x.mic", addr); in lpc32xx_of_ic_init()
206 irqc->chip.name = kasprintf(GFP_KERNEL, "%08x.sic", addr); in lpc32xx_of_ic_init()
208 irqc->domain = irq_domain_add_linear(node, NR_LPC32XX_IC_IRQS, in lpc32xx_of_ic_init()
209 &lpc32xx_irq_domain_ops, irqc); in lpc32xx_of_ic_init()
210 if (!irqc->domain) { in lpc32xx_of_ic_init()
212 iounmap(irqc->base); in lpc32xx_of_ic_init()
213 kfree(irqc->chip.name); in lpc32xx_of_ic_init()
214 kfree(irqc); in lpc32xx_of_ic_init()
219 lpc32xx_mic_irqc = irqc; in lpc32xx_of_ic_init()
226 lpc32xx_sic_handler, irqc); in lpc32xx_of_ic_init()
230 lpc32xx_ic_write(irqc, LPC32XX_INTC_MASK, 0x00); in lpc32xx_of_ic_init()
231 lpc32xx_ic_write(irqc, LPC32XX_INTC_POL, 0x00); in lpc32xx_of_ic_init()
232 lpc32xx_ic_write(irqc, LPC32XX_INTC_TYPE, 0x00); in lpc32xx_of_ic_init()