| /OK3568_Linux_fs/u-boot/drivers/irq/ |
| H A D | irq-generic.c | 32 static struct irqchip_desc irqchip; variable 76 assert(irqchip.gic->irq_get); in __do_generic_irq_handler() 77 assert(irqchip.gic->irq_eoi); in __do_generic_irq_handler() 79 irq = irqchip.gic->irq_get(); in __do_generic_irq_handler() 88 irqchip.gic->irq_eoi(irq); in __do_generic_irq_handler() 119 irqchip.gic = arch_gic_get_irqchip(); in __do_arch_irq_init() 120 if (bad_irq_chip(irqchip.gic)) { in __do_arch_irq_init() 125 irqchip.gpio = arch_gpio_get_irqchip(); in __do_arch_irq_init() 126 if (bad_irq_chip(irqchip.gpio)) { in __do_arch_irq_init() 131 irqchip.virq = arch_virq_get_irqchip(); in __do_arch_irq_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/irqchip/ |
| H A 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 …]
|
| H A 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()
|
| H A 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()
|
| /OK3568_Linux_fs/kernel/arch/arm64/kvm/vgic/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/arch/x86/kvm/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/virt/kvm/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/drivers/gpio/ |
| H A 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 …]
|
| H A D | gpio-aw9110.c | 72 struct irq_chip irqchip; member 397 gpio->irqchip.name = "aw9110"; in aw9110_probe() 398 gpio->irqchip.irq_enable = aw9110_irq_enable; in aw9110_probe() 399 gpio->irqchip.irq_disable = aw9110_irq_disable; in aw9110_probe() 400 gpio->irqchip.irq_ack = aw9110_noop; in aw9110_probe() 401 gpio->irqchip.irq_mask = aw9110_noop; in aw9110_probe() 402 gpio->irqchip.irq_unmask = aw9110_noop; in aw9110_probe() 403 gpio->irqchip.irq_set_wake = aw9110_irq_set_wake; in aw9110_probe() 404 gpio->irqchip.irq_bus_lock = aw9110_irq_bus_lock; in aw9110_probe() 405 gpio->irqchip.irq_bus_sync_unlock = aw9110_irq_bus_sync_unlock; in aw9110_probe() [all …]
|
| H A 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.
|
| H A D | gpio-dln2.c | 49 struct irq_chip irqchip; member 472 dln2->irqchip.name = "dln2-irq", in dln2_gpio_probe() 473 dln2->irqchip.irq_mask = dln2_irq_mask, in dln2_gpio_probe() 474 dln2->irqchip.irq_unmask = dln2_irq_unmask, in dln2_gpio_probe() 475 dln2->irqchip.irq_set_type = dln2_irq_set_type, in dln2_gpio_probe() 476 dln2->irqchip.irq_bus_lock = dln2_irq_bus_lock, in dln2_gpio_probe() 477 dln2->irqchip.irq_bus_sync_unlock = dln2_irq_bus_unlock, in dln2_gpio_probe() 480 girq->chip = &dln2->irqchip; in dln2_gpio_probe()
|
| H A D | gpio-ep93xx.c | 115 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_ab_irq_handler() local 119 chained_irq_enter(irqchip, desc); in ep93xx_gpio_ab_irq_handler() 137 chained_irq_exit(irqchip, desc); in ep93xx_gpio_ab_irq_handler() 147 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_f_irq_handler() local 152 chained_irq_enter(irqchip, desc); in ep93xx_gpio_f_irq_handler() 154 chained_irq_exit(irqchip, desc); in ep93xx_gpio_f_irq_handler()
|
| H A 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()
|
| H A D | gpiolib.c | 1007 struct irq_chip *irqchip, in gpiochip_set_nested_irqchip() argument 1024 struct irq_chip *irqchip) in gpiochip_set_hierarchical_irqchip() argument 1494 struct irq_chip *irqchip = gc->irq.chip; in gpiochip_set_irq_hooks() local 1496 if (!irqchip->irq_request_resources && in gpiochip_set_irq_hooks() 1497 !irqchip->irq_release_resources) { in gpiochip_set_irq_hooks() 1498 irqchip->irq_request_resources = gpiochip_irq_reqres; in gpiochip_set_irq_hooks() 1499 irqchip->irq_release_resources = gpiochip_irq_relres; in gpiochip_set_irq_hooks() 1504 if (irqchip->irq_enable == gpiochip_irq_enable || in gpiochip_set_irq_hooks() 1505 irqchip->irq_mask == gpiochip_irq_mask) { in gpiochip_set_irq_hooks() 1515 if (irqchip->irq_disable) { in gpiochip_set_irq_hooks() [all …]
|
| H A 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()
|
| H A 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()
|
| H A 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()
|
| /OK3568_Linux_fs/kernel/include/linux/gpio/ |
| H A D | driver.h | 639 struct irq_chip *irqchip, 643 struct irq_chip *irqchip, 675 struct irq_chip *irqchip, in gpiochip_irqchip_add() argument 683 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add() 689 struct irq_chip *irqchip, in gpiochip_irqchip_add_nested() argument 698 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add_nested() 704 struct irq_chip *irqchip, in gpiochip_irqchip_add() argument 709 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add() 714 struct irq_chip *irqchip, in gpiochip_irqchip_add_nested() argument 719 return gpiochip_irqchip_add_key(gc, irqchip, first_irq, in gpiochip_irqchip_add_nested()
|
| /OK3568_Linux_fs/kernel/include/trace/events/ |
| H A 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;
|
| /OK3568_Linux_fs/kernel/Documentation/driver-api/gpio/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/arch/powerpc/platforms/52xx/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A 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, \
|
| /OK3568_Linux_fs/kernel/arch/powerpc/platforms/powernv/ |
| H A 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()
|
| /OK3568_Linux_fs/kernel/drivers/pinctrl/nomadik/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/pinctrl/mvebu/ |
| H A 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()
|