| /Linux-v5.15/drivers/irqchip/ |
| D | irq-sl28cpld.c | 39 struct sl28cpld_intc *irqchip; in sl28cpld_intc_probe() local 47 irqchip = devm_kzalloc(dev, sizeof(*irqchip), GFP_KERNEL); in sl28cpld_intc_probe() 48 if (!irqchip) in sl28cpld_intc_probe() 51 irqchip->regmap = dev_get_regmap(dev->parent, NULL); in sl28cpld_intc_probe() 52 if (!irqchip->regmap) in sl28cpld_intc_probe() 63 irqchip->chip.name = "sl28cpld-intc"; in sl28cpld_intc_probe() 64 irqchip->chip.irqs = sl28cpld_irqs; in sl28cpld_intc_probe() 65 irqchip->chip.num_irqs = ARRAY_SIZE(sl28cpld_irqs); in sl28cpld_intc_probe() 66 irqchip->chip.num_regs = 1; in sl28cpld_intc_probe() 67 irqchip->chip.status_base = base + INTC_IP; in sl28cpld_intc_probe() [all …]
|
| D | irq-ixp4xx.c | 54 struct irq_chip irqchip; member 178 &ixi->irqchip, in ixp4xx_irq_domain_alloc() 283 ixi->irqchip.name = "IXP4xx"; in ixp4xx_irq_setup() 284 ixi->irqchip.irq_mask = ixp4xx_irq_mask; in ixp4xx_irq_setup() 285 ixi->irqchip.irq_unmask = ixp4xx_irq_unmask; in ixp4xx_irq_setup() 286 ixi->irqchip.irq_set_type = ixp4xx_set_irq_type; in ixp4xx_irq_setup()
|
| D | irq-al-fic.c | 111 struct irq_chip *irqchip = irq_desc_get_chip(desc); in al_fic_irq_handler() local 116 chained_irq_enter(irqchip, desc); in al_fic_irq_handler() 124 chained_irq_exit(irqchip, desc); in al_fic_irq_handler()
|
| /Linux-v5.15/arch/arm64/kvm/vgic/ |
| D | vgic-irqfd.c | 22 unsigned int spi_id = e->irqchip.pin + VGIC_NR_PRIVATE_IRQS; in vgic_irqfd_set_irq() 47 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry() 48 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry() 49 if ((e->irqchip.pin >= KVM_IRQCHIP_NUM_PINS) || in kvm_set_routing_entry() 50 (e->irqchip.irqchip >= KVM_NR_IRQCHIPS)) in kvm_set_routing_entry() 149 entries[i].u.irqchip.irqchip = 0; in kvm_vgic_setup_default_irq_routing() 150 entries[i].u.irqchip.pin = i; in kvm_vgic_setup_default_irq_routing()
|
| /Linux-v5.15/arch/x86/kvm/ |
| D | irq_comm.c | 33 return kvm_pic_set_irq(pic, e->irqchip.pin, irq_source_id, level); in kvm_set_pic_irq() 41 return kvm_ioapic_set_irq(ioapic, e->irqchip.pin, irq_source_id, level, in kvm_set_ioapic_irq() 247 void kvm_fire_mask_notifiers(struct kvm *kvm, unsigned irqchip, unsigned pin, in kvm_fire_mask_notifiers() argument 254 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_fire_mask_notifiers() 279 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry() 280 switch (ue->u.irqchip.irqchip) { in kvm_set_routing_entry() 282 e->irqchip.pin += PIC_NUM_PINS / 2; in kvm_set_routing_entry() 285 if (ue->u.irqchip.pin >= PIC_NUM_PINS / 2) in kvm_set_routing_entry() 290 if (ue->u.irqchip.pin >= KVM_IOAPIC_NUM_PINS) in kvm_set_routing_entry() 297 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry() [all …]
|
| /Linux-v5.15/virt/kvm/ |
| D | irqchip.c | 41 int kvm_irq_map_chip_pin(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_map_chip_pin() argument 46 return irq_rt->chip[irqchip][pin]; in kvm_irq_map_chip_pin() 144 ue->u.irqchip.irqchip == ei->irqchip.irqchip) in setup_routing_entry() 153 rt->chip[e->irqchip.irqchip][e->irqchip.pin] = e->gsi; in setup_routing_entry()
|
| /Linux-v5.15/drivers/gpio/ |
| D | gpio-pcf857x.c | 74 struct irq_chip irqchip; member 341 gpio->irqchip.name = "pcf857x"; in pcf857x_probe() 342 gpio->irqchip.irq_enable = pcf857x_irq_enable; in pcf857x_probe() 343 gpio->irqchip.irq_disable = pcf857x_irq_disable; in pcf857x_probe() 344 gpio->irqchip.irq_ack = noop; in pcf857x_probe() 345 gpio->irqchip.irq_mask = noop; in pcf857x_probe() 346 gpio->irqchip.irq_unmask = noop; in pcf857x_probe() 347 gpio->irqchip.irq_set_wake = pcf857x_irq_set_wake; in pcf857x_probe() 348 gpio->irqchip.irq_bus_lock = pcf857x_irq_bus_lock; in pcf857x_probe() 349 gpio->irqchip.irq_bus_sync_unlock = pcf857x_irq_bus_sync_unlock; in pcf857x_probe() [all …]
|
| D | gpio-sch.c | 41 struct irq_chip irqchip; member 370 sch->irqchip.name = "sch_gpio"; in sch_gpio_probe() 371 sch->irqchip.irq_ack = sch_irq_ack; in sch_gpio_probe() 372 sch->irqchip.irq_mask = sch_irq_mask; in sch_gpio_probe() 373 sch->irqchip.irq_unmask = sch_irq_unmask; in sch_gpio_probe() 374 sch->irqchip.irq_set_type = sch_irq_type; in sch_gpio_probe() 377 girq->chip = &sch->irqchip; in sch_gpio_probe()
|
| D | gpio-xilinx.c | 71 struct irq_chip irqchip; member 505 struct irq_chip *irqchip = irq_desc_get_chip(desc); in xgpio_irqhandler() local 516 chained_irq_enter(irqchip, desc); in xgpio_irqhandler() 544 chained_irq_exit(irqchip, desc); in xgpio_irqhandler() 667 chip->irqchip.name = "gpio-xilinx"; in xgpio_probe() 668 chip->irqchip.irq_ack = xgpio_irq_ack; in xgpio_probe() 669 chip->irqchip.irq_mask = xgpio_irq_mask; in xgpio_probe() 670 chip->irqchip.irq_unmask = xgpio_irq_unmask; in xgpio_probe() 671 chip->irqchip.irq_set_type = xgpio_set_irq_type; in xgpio_probe() 682 girq->chip = &chip->irqchip; in xgpio_probe()
|
| D | gpio-ep93xx.c | 117 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_ab_irq_handler() local 121 chained_irq_enter(irqchip, desc); in ep93xx_gpio_ab_irq_handler() 139 chained_irq_exit(irqchip, desc); in ep93xx_gpio_ab_irq_handler() 149 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_f_irq_handler() local 154 chained_irq_enter(irqchip, desc); in ep93xx_gpio_f_irq_handler() 156 chained_irq_exit(irqchip, desc); in ep93xx_gpio_f_irq_handler()
|
| D | gpio-dwapb.c | 97 struct irq_chip irqchip; member 441 pirq->irqchip.name = DWAPB_DRIVER_NAME; in dwapb_configure_irqs() 442 pirq->irqchip.irq_ack = dwapb_irq_ack; in dwapb_configure_irqs() 443 pirq->irqchip.irq_mask = dwapb_irq_mask; in dwapb_configure_irqs() 444 pirq->irqchip.irq_unmask = dwapb_irq_unmask; in dwapb_configure_irqs() 445 pirq->irqchip.irq_set_type = dwapb_irq_set_type; in dwapb_configure_irqs() 446 pirq->irqchip.irq_enable = dwapb_irq_enable; in dwapb_configure_irqs() 447 pirq->irqchip.irq_disable = dwapb_irq_disable; in dwapb_configure_irqs() 449 pirq->irqchip.irq_set_wake = dwapb_irq_set_wake; in dwapb_configure_irqs() 477 girq->chip = &pirq->irqchip; in dwapb_configure_irqs()
|
| D | gpiolib.c | 980 struct irq_chip *irqchip) in gpiochip_set_hierarchical_irqchip() argument 1440 struct irq_chip *irqchip = gc->irq.chip; in gpiochip_set_irq_hooks() local 1442 if (!irqchip->irq_request_resources && in gpiochip_set_irq_hooks() 1443 !irqchip->irq_release_resources) { in gpiochip_set_irq_hooks() 1444 irqchip->irq_request_resources = gpiochip_irq_reqres; in gpiochip_set_irq_hooks() 1445 irqchip->irq_release_resources = gpiochip_irq_relres; in gpiochip_set_irq_hooks() 1450 if (irqchip->irq_enable == gpiochip_irq_enable || in gpiochip_set_irq_hooks() 1451 irqchip->irq_mask == gpiochip_irq_mask) { in gpiochip_set_irq_hooks() 1461 if (irqchip->irq_disable) { in gpiochip_set_irq_hooks() 1462 gc->irq.irq_disable = irqchip->irq_disable; in gpiochip_set_irq_hooks() [all …]
|
| D | gpio-ath79.c | 184 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ath79_gpio_irq_handler() local 191 chained_irq_enter(irqchip, desc); in ath79_gpio_irq_handler() 210 chained_irq_exit(irqchip, desc); in ath79_gpio_irq_handler()
|
| D | gpio-cadence.c | 126 struct irq_chip *irqchip = irq_desc_get_chip(desc); in cdns_gpio_irq_handler() local 130 chained_irq_enter(irqchip, desc); in cdns_gpio_irq_handler() 138 chained_irq_exit(irqchip, desc); in cdns_gpio_irq_handler()
|
| D | gpio-ftgpio010.c | 143 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ftgpio_gpio_irq_handler() local 147 chained_irq_enter(irqchip, desc); in ftgpio_gpio_irq_handler() 154 chained_irq_exit(irqchip, desc); in ftgpio_gpio_irq_handler()
|
| /Linux-v5.15/include/linux/ |
| D | irqchip.h | 29 #define IRQCHIP_DECLARE(name, compat, fn) OF_DECLARE_2(irqchip, name, compat, fn) 66 ACPI_DECLARE_SUBTABLE_PROBE_ENTRY(irqchip, name, \
|
| /Linux-v5.15/include/trace/events/ |
| D | kvm.h | 177 #define kvm_ack_irq_parm __print_symbolic(__entry->irqchip, kvm_irqchips), __entry->pin 180 #define kvm_ack_irq_parm __entry->irqchip, __entry->pin 184 TP_PROTO(unsigned int irqchip, unsigned int pin), 185 TP_ARGS(irqchip, pin), 188 __field( unsigned int, irqchip ) 193 __entry->irqchip = irqchip;
|
| /Linux-v5.15/arch/powerpc/platforms/52xx/ |
| D | mpc52xx_pic.c | 343 struct irq_chip *irqchip; in mpc52xx_irqhost_map() local 372 case MPC52xx_IRQ_L1_MAIN: irqchip = &mpc52xx_main_irqchip; break; in mpc52xx_irqhost_map() 373 case MPC52xx_IRQ_L1_PERP: irqchip = &mpc52xx_periph_irqchip; break; in mpc52xx_irqhost_map() 374 case MPC52xx_IRQ_L1_SDMA: irqchip = &mpc52xx_sdma_irqchip; break; in mpc52xx_irqhost_map() 382 irq_set_chip_and_handler(virq, irqchip, handle_level_irq); in mpc52xx_irqhost_map()
|
| /Linux-v5.15/Documentation/driver-api/gpio/ |
| D | driver.rst | 265 It is legal for any IRQ consumer to request an IRQ from any irqchip even if it 284 interrupt controller. This is modeled by an irqchip that will inspect bits 285 inside the GPIO controller to figure out which line fired it. The irqchip 300 spinlock_t or any sleepable APIs (like PM runtime) as part of its irqchip 306 on an irqchip. Create the callbacks if needed.[2] 317 system interrupt controller. This means that the GPIO irqchip handler will 318 be called immediately from the parent irqchip, while holding the IRQs 319 disabled. The GPIO irqchip will then end up calling something like this 335 If required (and if it can't be converted to the nested threaded GPIO irqchip, 355 The GPIO irqchip will then end up calling something like this sequence in [all …]
|
| /Linux-v5.15/arch/powerpc/platforms/powernv/ |
| D | opal-irqchip.c | 32 struct irq_chip irqchip; member 103 .irqchip = { 116 irq_set_chip_and_handler(irq, &opal_event_irqchip.irqchip, in opal_event_map()
|
| /Linux-v5.15/drivers/mfd/ |
| D | rohm-bd71828.c | 475 struct regmap_irq_chip *irqchip; in bd71828_i2c_probe() local 494 irqchip = &bd71828_irq_chip; in bd71828_i2c_probe() 502 irqchip = &bd71815_irq_chip; in bd71828_i2c_probe() 524 IRQF_ONESHOT, 0, irqchip, &irq_data); in bd71828_i2c_probe() 531 irqchip->num_irqs); in bd71828_i2c_probe()
|
| /Linux-v5.15/drivers/pinctrl/nomadik/ |
| D | pinctrl-nomadik.c | 247 struct irq_chip irqchip; member 1087 struct irq_chip *irqchip; in nmk_gpio_probe() local 1127 irqchip = &nmk_chip->irqchip; in nmk_gpio_probe() 1128 irqchip->irq_ack = nmk_gpio_irq_ack; in nmk_gpio_probe() 1129 irqchip->irq_mask = nmk_gpio_irq_mask; in nmk_gpio_probe() 1130 irqchip->irq_unmask = nmk_gpio_irq_unmask; in nmk_gpio_probe() 1131 irqchip->irq_set_type = nmk_gpio_irq_set_type; in nmk_gpio_probe() 1132 irqchip->irq_set_wake = nmk_gpio_irq_set_wake; in nmk_gpio_probe() 1133 irqchip->irq_startup = nmk_gpio_irq_startup; in nmk_gpio_probe() 1134 irqchip->irq_shutdown = nmk_gpio_irq_shutdown; in nmk_gpio_probe() [all …]
|
| /Linux-v5.15/drivers/pinctrl/mvebu/ |
| D | pinctrl-armada-37xx.c | 727 struct irq_chip *irqchip = &info->irq_chip; in armada_37xx_irqchip_register() local 762 irqchip->irq_ack = armada_37xx_irq_ack; in armada_37xx_irqchip_register() 763 irqchip->irq_mask = armada_37xx_irq_mask; in armada_37xx_irqchip_register() 764 irqchip->irq_unmask = armada_37xx_irq_unmask; in armada_37xx_irqchip_register() 765 irqchip->irq_set_wake = armada_37xx_irq_set_wake; in armada_37xx_irqchip_register() 766 irqchip->irq_set_type = armada_37xx_irq_set_type; in armada_37xx_irqchip_register() 767 irqchip->irq_startup = armada_37xx_irq_startup; in armada_37xx_irqchip_register() 768 irqchip->name = info->data->name; in armada_37xx_irqchip_register() 769 girq->chip = irqchip; in armada_37xx_irqchip_register()
|
| /Linux-v5.15/Documentation/virt/kvm/devices/ |
| D | mpic.rst | 48 irqchip id 0. 50 This irqchip 0 has 256 interrupt pins, which expose the interrupts in
|
| /Linux-v5.15/drivers/i2c/busses/ |
| D | i2c-cht-wc.c | 42 struct irq_chip irqchip; member 331 adap->irqchip = cht_wc_i2c_irq_chip; in cht_wc_i2c_adap_i2c_probe() 368 irq_set_chip_and_handler(adap->client_irq, &adap->irqchip, in cht_wc_i2c_adap_i2c_probe()
|