| /linux/drivers/irqchip/ |
| H A D | irq-versatile-fpga.c | 160 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 D | irq-al-fic.c | 40 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 D | irq-realtek-rtl.c | 131 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 D | irq-aspeed-i2c-ic.c | 23 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 D | irq-loongson-htvec.c | 190 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 D | irq-ingenic.c | 67 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 D | irq-idt3243x.c | 52 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 D | irq-goldfish-pic.c | 61 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 D | irq-starfive-jh8100-intc.c | 123 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 D | irq-vic.c | 271 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 D | irq-loongson-eiointc.c | 504 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 D | irq-dw-apb-ictl.c | 121 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 D | irq-loongson-htpic.c | 89 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 D | irq-brcmstb-l2.c | 151 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 D | irq-bcm6345-l1.c | 86 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 D | spear-shirq.c | 204 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 D | irq-loongson-liointc.c | 171 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 D | irq-ls1x.c | 109 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 D | irq-mscc-ocelot.c | 128 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 D | irq-i8259.c | 350 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 D | exynos-combiner.c | 33 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 D | irq-bcm7120-l2.c | 107 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 D | irq-lpc32xx.c | 199 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 D | irq-bcm7038-l1.c | 222 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 D | gpio-brcmstb.c | 54 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 …]
|