Home
last modified time | relevance | path

Searched refs:parent_irq (Results 1 – 25 of 36) sorted by relevance

12

/linux/drivers/irqchip/
H A Dirq-versatile-fpga.c160 static void __init fpga_irq_init(void __iomem *base, int parent_irq, in fpga_irq_init() argument
174 if (parent_irq != -1) { in fpga_irq_init()
175 irq_set_chained_handler_and_data(parent_irq, fpga_irq_handle, in fpga_irq_init()
192 if (parent_irq != -1) in fpga_irq_init()
193 pr_cont(", parent IRQ: %d\n", parent_irq); in fpga_irq_init()
207 int parent_irq; in fpga_irq_of_init() local
225 parent_irq = irq_of_parse_and_map(node, 0); in fpga_irq_of_init()
226 if (!parent_irq) { in fpga_irq_of_init()
228 parent_irq = -1; in fpga_irq_of_init()
231 fpga_irq_init(base, parent_irq, valid_mask, node); in fpga_irq_of_init()
H A Dirq-al-fic.c40 unsigned int parent_irq; member
165 irq_set_chained_handler_and_data(fic->parent_irq, in al_fic_register()
191 unsigned int parent_irq) in al_fic_wire_init() argument
202 fic->parent_irq = parent_irq; in al_fic_wire_init()
220 fic->name, parent_irq); in al_fic_wire_init()
234 unsigned int parent_irq; in al_fic_init_dt() local
249 parent_irq = irq_of_parse_and_map(node, 0); in al_fic_init_dt()
250 if (!parent_irq) { in al_fic_init_dt()
259 parent_irq); in al_fic_init_dt()
271 irq_dispose_mapping(parent_irq); in al_fic_init_dt()
H A Dirq-realtek-rtl.c131 int parent_irq; in realtek_rtl_of_init() local
153 parent_irq = irq_create_of_mapping(&oirq); in realtek_rtl_of_init()
157 parent_irq = of_irq_get(node, 0); in realtek_rtl_of_init()
160 if (parent_irq < 0) in realtek_rtl_of_init()
161 return parent_irq; in realtek_rtl_of_init()
162 else if (!parent_irq) in realtek_rtl_of_init()
169 irq_set_chained_handler_and_data(parent_irq, realtek_irq_dispatch, domain); in realtek_rtl_of_init()
H A Dirq-aspeed-i2c-ic.c23 int parent_irq; member
79 i2c_ic->parent_irq = irq_of_parse_and_map(node, 0); in aspeed_i2c_ic_of_init()
80 if (!i2c_ic->parent_irq) { in aspeed_i2c_ic_of_init()
95 irq_set_chained_handler_and_data(i2c_ic->parent_irq, in aspeed_i2c_ic_of_init()
98 pr_info("i2c controller registered, irq %d\n", i2c_ic->parent_irq); in aspeed_i2c_ic_of_init()
H A Dirq-loongson-htvec.c190 int num_parents, int parent_irq[], struct fwnode_handle *domain_handle) in htvec_init() argument
215 irq_set_chained_handler_and_data(parent_irq[i], in htvec_init()
238 int parent_irq[8]; in htvec_of_init() local
247 parent_irq[i] = irq_of_parse_and_map(node, i); in htvec_of_init()
248 if (parent_irq[i] <= 0) in htvec_of_init()
255 num_parents, parent_irq, of_fwnode_handle(node)); in htvec_of_init()
300 int i, ret, num_parents, parent_irq[8]; in htvec_acpi_init() local
318 parent_irq[i] = irq_create_mapping(parent, acpi_htvec->cascade[i]); in htvec_acpi_init()
320 ret = htvec_init(addr, acpi_htvec->size, num_parents, parent_irq, domain_handle); in htvec_acpi_init()
H A Dirq-ingenic.c67 int parent_irq, err = 0; in ingenic_intc_of_init() local
76 parent_irq = irq_of_parse_and_map(node, 0); in ingenic_intc_of_init()
77 if (!parent_irq) { in ingenic_intc_of_init()
82 err = irq_set_handler_data(parent_irq, intc); in ingenic_intc_of_init()
127 if (request_irq(parent_irq, intc_cascade, IRQF_NO_SUSPEND, in ingenic_intc_of_init()
137 irq_dispose_mapping(parent_irq); in ingenic_intc_of_init()
H A Dirq-idt3243x.c52 unsigned int parent_irq; in idt_pic_init() local
61 parent_irq = irq_of_parse_and_map(of_node, 0); in idt_pic_init()
62 if (!parent_irq) { in idt_pic_init()
104 irq_set_chained_handler_and_data(parent_irq, in idt_pic_init()
114 irq_dispose_mapping(parent_irq); in idt_pic_init()
H A Dirq-goldfish-pic.c61 unsigned int parent_irq; in goldfish_pic_of_init() local
70 parent_irq = irq_of_parse_and_map(of_node, 0); in goldfish_pic_of_init()
71 if (!parent_irq) { in goldfish_pic_of_init()
113 irq_set_chained_handler_and_data(parent_irq, in goldfish_pic_of_init()
125 irq_dispose_mapping(parent_irq); in goldfish_pic_of_init()
H A Dirq-starfive-jh8100-intc.c123 int parent_irq; in starfive_intc_probe() local
169 parent_irq = of_irq_get(intc, 0); in starfive_intc_probe()
170 if (parent_irq < 0) { in starfive_intc_probe()
171 pr_err("Failed to get main IRQ: %d\n", parent_irq); in starfive_intc_probe()
172 ret = parent_irq; in starfive_intc_probe()
176 irq_set_chained_handler_and_data(parent_irq, starfive_intc_irq_handler, in starfive_intc_probe()
H A Dirq-vic.c271 static void __init vic_register(void __iomem *base, unsigned int parent_irq, in vic_register() argument
291 if (parent_irq) { in vic_register()
292 irq_set_chained_handler_and_data(parent_irq, in vic_register()
438 static void __init __vic_init(void __iomem *base, int parent_irq, int irq_start, in __vic_init() argument
475 vic_register(base, parent_irq, irq_start, vic_sources, resume_sources, node); in __vic_init()
498 int parent_irq; in vic_of_init() local
506 parent_irq = of_irq_get(node, 0); in vic_of_init()
507 if (parent_irq < 0) in vic_of_init()
508 parent_irq = 0; in vic_of_init()
513 __vic_init(regs, parent_irq, 0, interrupt_mask, wakeup_mask, node); in vic_of_init()
H A Dirq-loongson-eiointc.c504 static int __init eiointc_init(struct eiointc_priv *priv, int parent_irq, in eiointc_init() argument
557 parent_irq = get_percpu_irq(priv->parent_hwirq + i); in eiointc_init()
558 irq_set_chained_handler_and_data(parent_irq, eiointc_irq_dispatch, in eiointc_init()
565 irq_set_chained_handler_and_data(parent_irq, eiointc_irq_dispatch, in eiointc_init()
583 int parent_irq, ret; in eiointc_acpi_init() local
601 parent_irq = irq_create_mapping(parent, acpi_eiointc->cascade); in eiointc_acpi_init()
603 ret = eiointc_init(priv, parent_irq, acpi_eiointc->node_map); in eiointc_acpi_init()
634 int parent_irq, ret; in eiointc_of_init() local
640 parent_irq = irq_of_parse_and_map(of_node, 0); in eiointc_of_init()
641 if (parent_irq <= 0) { in eiointc_of_init()
[all …]
H A Dirq-dw-apb-ictl.c121 int ret, nrirqs, parent_irq, i; in dw_apb_ictl_init() local
126 parent_irq = 0; in dw_apb_ictl_init()
130 parent_irq = irq_of_parse_and_map(np, 0); in dw_apb_ictl_init()
131 if (parent_irq <= 0) { in dw_apb_ictl_init()
200 if (parent_irq) { in dw_apb_ictl_init()
201 irq_set_chained_handler_and_data(parent_irq, in dw_apb_ictl_init()
H A Dirq-loongson-htpic.c89 unsigned int parent_irq[4]; in htpic_of_init() local
117 parent_irq[i] = irq_of_parse_and_map(node, i); in htpic_of_init()
118 if (parent_irq[i] <= 0) in htpic_of_init()
133 irq_set_chained_handler_and_data(parent_irq[i], in htpic_of_init()
H A Dirq-brcmstb-l2.c151 int parent_irq; in brcmstb_l2_intc_probe() local
173 parent_irq = irq_of_parse_and_map(np, 0); in brcmstb_l2_intc_probe()
174 if (!parent_irq) { in brcmstb_l2_intc_probe()
206 irq_set_chained_handler_and_data(parent_irq, in brcmstb_l2_intc_probe()
243 enable_irq_wake(parent_irq); in brcmstb_l2_intc_probe()
246 pr_info("registered L2 intc (%pOF, parent irq: %d)\n", np, parent_irq); in brcmstb_l2_intc_probe()
H A Dirq-bcm6345-l1.c86 unsigned int parent_irq; member
258 cpu->parent_irq = irq_of_parse_and_map(dn, idx); in bcm6345_l1_init_one()
259 if (!cpu->parent_irq) { in bcm6345_l1_init_one()
260 pr_err("failed to map parent interrupt %d\n", cpu->parent_irq); in bcm6345_l1_init_one()
263 irq_set_chained_handler_and_data(cpu->parent_irq, in bcm6345_l1_init_one()
331 pr_info(" CPU%u (irq = %d)\n", idx, cpu->parent_irq); in bcm6345_l1_of_init()
H A Dspear-shirq.c204 int parent_irq) in spear_shirq_register() argument
211 irq_set_chained_handler_and_data(parent_irq, shirq_handler, shirq); in spear_shirq_register()
223 int i, parent_irq, virq_base, hwirq = 0, nr_irqs = 0; in shirq_init() local
254 parent_irq = irq_of_parse_and_map(np, i); in shirq_init()
255 spear_shirq_register(shirq_blocks[i], parent_irq); in shirq_init()
H A Dirq-loongson-liointc.c171 static int parent_irq[LIOINTC_NUM_PARENT]; variable
301 if (parent_irq[i] <= 0) in liointc_init()
305 irq_set_chained_handler_and_data(parent_irq[i], in liointc_init()
343 parent_irq[i] = of_irq_get_byname(node, parent_names[i]); in liointc_of_init()
344 if (parent_irq[i] > 0) in liointc_of_init()
404 parent_irq[0] = irq_create_mapping(parent, acpi_liointc->cascade[0]); in liointc_acpi_init()
405 parent_irq[1] = irq_create_mapping(parent, acpi_liointc->cascade[1]); in liointc_acpi_init()
H A Dirq-ls1x.c109 int parent_irq, err = 0; in ls1x_intc_of_init() local
121 parent_irq = irq_of_parse_and_map(node, 0); in ls1x_intc_of_init()
122 if (!parent_irq) { in ls1x_intc_of_init()
178 irq_set_chained_handler_and_data(parent_irq, in ls1x_intc_of_init()
H A Dirq-mscc-ocelot.c128 int parent_irq, ret; in vcoreiii_irq_init() local
130 parent_irq = irq_of_parse_and_map(node, 0); in vcoreiii_irq_init()
131 if (!parent_irq) in vcoreiii_irq_init()
179 irq_set_chained_handler_and_data(parent_irq, ocelot_irq_handler, in vcoreiii_irq_init()
H A Dirq-i8259.c350 unsigned int parent_irq; in i8259_of_init() local
354 parent_irq = irq_of_parse_and_map(node, 0); in i8259_of_init()
355 if (!parent_irq) { in i8259_of_init()
361 irq_set_chained_handler_and_data(parent_irq, i8259_irq_dispatch, in i8259_of_init()
H A Dexynos-combiner.c33 unsigned int parent_irq; member
97 struct irq_chip *chip = irq_get_chip(chip_data->parent_irq); in combiner_set_affinity()
98 struct irq_data *data = irq_get_irq_data(chip_data->parent_irq); in combiner_set_affinity()
130 combiner_data->parent_irq = irq; in combiner_init_one()
H A Dirq-bcm7120-l2.c107 int parent_irq; in bcm7120_l2_intc_init_one() local
110 parent_irq = irq_of_parse_and_map(dn, irq); in bcm7120_l2_intc_init_one()
111 if (!parent_irq) { in bcm7120_l2_intc_init_one()
138 irq_set_chained_handler_and_data(parent_irq, in bcm7120_l2_intc_init_one()
141 enable_irq_wake(parent_irq); in bcm7120_l2_intc_init_one()
H A Dirq-lpc32xx.c199 u32 parent_irq, i, addr = reg ? be32_to_cpu(*reg) : 0; in lpc32xx_of_ic_init() local
227 parent_irq = irq_of_parse_and_map(node, i); in lpc32xx_of_ic_init()
228 if (parent_irq) in lpc32xx_of_ic_init()
229 irq_set_chained_handler_and_data(parent_irq, in lpc32xx_of_ic_init()
H A Dirq-bcm7038-l1.c222 unsigned int i, n_words, parent_irq; in bcm7038_l1_init_one() local
261 parent_irq = irq_of_parse_and_map(dn, idx); in bcm7038_l1_init_one()
262 if (!parent_irq) { in bcm7038_l1_init_one()
263 pr_err("failed to map parent interrupt %d\n", parent_irq); in bcm7038_l1_init_one()
268 enable_irq_wake(parent_irq); in bcm7038_l1_init_one()
270 irq_set_chained_handler_and_data(parent_irq, bcm7038_l1_irq_handle, in bcm7038_l1_init_one()
/linux/drivers/gpio/
H A Dgpio-brcmstb.c54 int parent_irq; member
380 if (priv->parent_irq > 0) in brcmstb_gpio_remove()
381 irq_set_chained_handler_and_data(priv->parent_irq, NULL, NULL); in brcmstb_gpio_remove()
481 irq_set_chained_handler_and_data(priv->parent_irq, in brcmstb_gpio_irq_setup()
483 irq_set_status_flags(priv->parent_irq, IRQ_DISABLE_UNLAZY); in brcmstb_gpio_irq_setup()
510 if (priv->parent_irq >= 0) in brcmstb_gpio_quiesce()
511 disable_irq(priv->parent_irq); in brcmstb_gpio_quiesce()
566 if (priv->parent_irq >= 0) in brcmstb_gpio_resume()
567 enable_irq(priv->parent_irq); in brcmstb_gpio_resume()
606 priv->parent_irq = platform_get_irq(pdev, 0); in brcmstb_gpio_probe()
[all …]

12