| /Linux-v5.10/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 117 chained_irq_enter(irqchip, desc); in al_fic_irq_handler() 127 chained_irq_exit(irqchip, desc); in al_fic_irq_handler()
|
| /Linux-v5.10/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.10/arch/x86/kvm/ |
| D | irq_comm.c | 35 return kvm_pic_set_irq(pic, e->irqchip.pin, irq_source_id, level); in kvm_set_pic_irq() 43 return kvm_ioapic_set_irq(ioapic, e->irqchip.pin, irq_source_id, level, in kvm_set_ioapic_irq() 252 void kvm_fire_mask_notifiers(struct kvm *kvm, unsigned irqchip, unsigned pin, in kvm_fire_mask_notifiers() argument 259 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_fire_mask_notifiers() 284 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry() 285 switch (ue->u.irqchip.irqchip) { in kvm_set_routing_entry() 287 e->irqchip.pin += PIC_NUM_PINS / 2; in kvm_set_routing_entry() 290 if (ue->u.irqchip.pin >= PIC_NUM_PINS / 2) in kvm_set_routing_entry() 295 if (ue->u.irqchip.pin >= KVM_IOAPIC_NUM_PINS) in kvm_set_routing_entry() 302 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry() [all …]
|
| /Linux-v5.10/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.10/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 | TODO | 127 GPIOLIB irqchip 129 The GPIOLIB irqchip is a helper irqchip for "simple cases" that should 130 try to cover any generic kind of irqchip cascaded from a GPIO. 132 - Convert all the GPIOLIB_IRQCHIP users to pass an irqchip template, 134 Currently we set up the irqchip after setting up the gpiochip 137 the irqchip before registering the gpio_chip, typical example: 139 /* Typical state container with dynamic irqchip */ 149 /* Set up the irqchip dynamically */ 173 dry-code conversions to gpiolib irqchip for maintainers to test 179 irqchip in struct gpio_irq_chip.
|
| D | gpio-ep93xx.c | 111 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_ab_irq_handler() local 115 chained_irq_enter(irqchip, desc); in ep93xx_gpio_ab_irq_handler() 133 chained_irq_exit(irqchip, desc); in ep93xx_gpio_ab_irq_handler() 143 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_f_irq_handler() local 148 chained_irq_enter(irqchip, desc); in ep93xx_gpio_f_irq_handler() 150 chained_irq_exit(irqchip, desc); in ep93xx_gpio_f_irq_handler()
|
| D | gpio-dwapb.c | 86 struct irq_chip irqchip; member 433 pirq->irqchip.name = DWAPB_DRIVER_NAME; in dwapb_configure_irqs() 434 pirq->irqchip.irq_ack = dwapb_irq_ack; in dwapb_configure_irqs() 435 pirq->irqchip.irq_mask = dwapb_irq_mask; in dwapb_configure_irqs() 436 pirq->irqchip.irq_unmask = dwapb_irq_unmask; in dwapb_configure_irqs() 437 pirq->irqchip.irq_set_type = dwapb_irq_set_type; in dwapb_configure_irqs() 438 pirq->irqchip.irq_enable = dwapb_irq_enable; in dwapb_configure_irqs() 439 pirq->irqchip.irq_disable = dwapb_irq_disable; in dwapb_configure_irqs() 441 pirq->irqchip.irq_set_wake = dwapb_irq_set_wake; in dwapb_configure_irqs() 468 girq->chip = &pirq->irqchip; in dwapb_configure_irqs()
|
| D | gpiolib.c | 993 struct irq_chip *irqchip, in gpiochip_set_nested_irqchip() argument 1010 struct irq_chip *irqchip) in gpiochip_set_hierarchical_irqchip() argument 1470 struct irq_chip *irqchip = gc->irq.chip; in gpiochip_set_irq_hooks() local 1472 if (!irqchip->irq_request_resources && in gpiochip_set_irq_hooks() 1473 !irqchip->irq_release_resources) { in gpiochip_set_irq_hooks() 1474 irqchip->irq_request_resources = gpiochip_irq_reqres; in gpiochip_set_irq_hooks() 1475 irqchip->irq_release_resources = gpiochip_irq_relres; in gpiochip_set_irq_hooks() 1480 if (irqchip->irq_enable == gpiochip_irq_enable) { in gpiochip_set_irq_hooks() 1490 if (irqchip->irq_disable) { in gpiochip_set_irq_hooks() 1491 gc->irq.irq_disable = irqchip->irq_disable; in gpiochip_set_irq_hooks() [all …]
|
| 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-ath79.c | 183 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ath79_gpio_irq_handler() local 190 chained_irq_enter(irqchip, desc); in ath79_gpio_irq_handler() 212 chained_irq_exit(irqchip, desc); in ath79_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() 155 chained_irq_exit(irqchip, desc); in ftgpio_gpio_irq_handler()
|
| D | gpio-zx.c | 162 struct irq_chip *irqchip = irq_desc_get_chip(desc); in zx_irq_handler() local 164 chained_irq_enter(irqchip, desc); in zx_irq_handler() 174 chained_irq_exit(irqchip, desc); in zx_irq_handler()
|
| /Linux-v5.10/include/linux/gpio/ |
| D | driver.h | 625 struct irq_chip *irqchip, 629 struct irq_chip *irqchip, 652 struct irq_chip *irqchip, in gpiochip_irqchip_add() argument 660 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add() 666 struct irq_chip *irqchip, in gpiochip_irqchip_add_nested() argument 675 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add_nested() 681 struct irq_chip *irqchip, in gpiochip_irqchip_add() argument 686 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add() 691 struct irq_chip *irqchip, in gpiochip_irqchip_add_nested() argument 696 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add_nested()
|
| /Linux-v5.10/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.10/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.10/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.10/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.10/arch/powerpc/platforms/powernv/ |
| D | opal-irqchip.c | 32 struct irq_chip irqchip; member 106 .irqchip = { 119 irq_set_chip_and_handler(irq, &opal_event_irqchip.irqchip, in opal_event_map()
|
| /Linux-v5.10/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.10/drivers/pinctrl/mvebu/ |
| D | pinctrl-armada-37xx.c | 728 struct irq_chip *irqchip = &info->irq_chip; in armada_37xx_irqchip_register() local 763 irqchip->irq_ack = armada_37xx_irq_ack; in armada_37xx_irqchip_register() 764 irqchip->irq_mask = armada_37xx_irq_mask; in armada_37xx_irqchip_register() 765 irqchip->irq_unmask = armada_37xx_irq_unmask; in armada_37xx_irqchip_register() 766 irqchip->irq_set_wake = armada_37xx_irq_set_wake; in armada_37xx_irqchip_register() 767 irqchip->irq_set_type = armada_37xx_irq_set_type; in armada_37xx_irqchip_register() 768 irqchip->irq_startup = armada_37xx_irq_startup; in armada_37xx_irqchip_register() 769 irqchip->name = info->data->name; in armada_37xx_irqchip_register() 770 girq->chip = irqchip; in armada_37xx_irqchip_register()
|
| /Linux-v5.10/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.10/drivers/i2c/busses/ |
| D | i2c-cht-wc.c | 42 struct irq_chip irqchip; member 327 adap->irqchip = cht_wc_i2c_irq_chip; in cht_wc_i2c_adap_i2c_probe() 365 irq_set_chip_and_handler(adap->client_irq, &adap->irqchip, in cht_wc_i2c_adap_i2c_probe()
|