/linux/drivers/gpio/ |
A D | gpio-sl28cpld.c | 53 struct regmap_irq_chip *irq_chip; in sl28cpld_gpio_irq_init() local 64 irq_chip = devm_kzalloc(dev, sizeof(*irq_chip), GFP_KERNEL); in sl28cpld_gpio_irq_init() 65 if (!irq_chip) in sl28cpld_gpio_irq_init() 68 irq_chip->name = "sl28cpld-gpio-irq"; in sl28cpld_gpio_irq_init() 69 irq_chip->irqs = sl28cpld_gpio_irqs; in sl28cpld_gpio_irq_init() 71 irq_chip->num_regs = 1; in sl28cpld_gpio_irq_init() 72 irq_chip->status_base = base + GPIO_REG_IP; in sl28cpld_gpio_irq_init() 73 irq_chip->mask_base = base + GPIO_REG_IE; in sl28cpld_gpio_irq_init() 74 irq_chip->mask_invert = true; in sl28cpld_gpio_irq_init() 75 irq_chip->ack_base = base + GPIO_REG_IP; in sl28cpld_gpio_irq_init() [all …]
|
A D | gpio-visconti.c | 34 struct irq_chip irq_chip; member 129 struct irq_chip *irq_chip; in visconti_gpio_probe() local 173 irq_chip = &priv->irq_chip; in visconti_gpio_probe() 174 irq_chip->name = dev_name(dev); in visconti_gpio_probe() 175 irq_chip->irq_mask = irq_chip_mask_parent; in visconti_gpio_probe() 176 irq_chip->irq_unmask = irq_chip_unmask_parent; in visconti_gpio_probe() 177 irq_chip->irq_eoi = irq_chip_eoi_parent; in visconti_gpio_probe() 178 irq_chip->irq_set_type = visconti_gpio_irq_set_type; in visconti_gpio_probe() 179 irq_chip->flags = IRQCHIP_SET_TYPE_MASKED | IRQCHIP_MASK_ON_SUSPEND; in visconti_gpio_probe() 182 girq->chip = irq_chip; in visconti_gpio_probe()
|
A D | gpio-tqmx86.c | 37 struct irq_chip irq_chip; member 184 struct irq_chip *irq_chip = irq_desc_get_chip(desc); in tqmx86_gpio_irq_handler() local 189 chained_irq_enter(irq_chip, desc); in tqmx86_gpio_irq_handler() 199 chained_irq_exit(irq_chip, desc); in tqmx86_gpio_irq_handler() 280 struct irq_chip *irq_chip = &gpio->irq_chip; in tqmx86_gpio_probe() local 283 irq_chip->name = chip->label; in tqmx86_gpio_probe() 284 irq_chip->parent_device = &pdev->dev; in tqmx86_gpio_probe() 285 irq_chip->irq_mask = tqmx86_gpio_irq_mask; in tqmx86_gpio_probe() 286 irq_chip->irq_unmask = tqmx86_gpio_irq_unmask; in tqmx86_gpio_probe() 287 irq_chip->irq_set_type = tqmx86_gpio_irq_set_type; in tqmx86_gpio_probe() [all …]
|
A D | gpio-em.c | 29 struct irq_chip irq_chip; member 253 irq_set_chip_and_handler(irq, &p->irq_chip, handle_level_irq); in em_gio_irq_domain_map() 273 struct irq_chip *irq_chip; in em_gio_probe() local 323 irq_chip = &p->irq_chip; in em_gio_probe() 324 irq_chip->name = "gpio-em"; in em_gio_probe() 325 irq_chip->irq_mask = em_gio_irq_disable; in em_gio_probe() 326 irq_chip->irq_unmask = em_gio_irq_enable; in em_gio_probe() 327 irq_chip->irq_set_type = em_gio_irq_set_type; in em_gio_probe() 328 irq_chip->irq_request_resources = em_gio_irq_reqres; in em_gio_probe() 329 irq_chip->irq_release_resources = em_gio_irq_relres; in em_gio_probe() [all …]
|
A D | gpio-rda.c | 41 struct irq_chip irq_chip; member 181 struct irq_chip *ic = irq_desc_get_chip(desc); in rda_gpio_irq_handler() 247 rda_gpio->irq_chip.name = "rda-gpio", in rda_gpio_probe() 248 rda_gpio->irq_chip.irq_ack = rda_gpio_irq_ack, in rda_gpio_probe() 249 rda_gpio->irq_chip.irq_mask = rda_gpio_irq_mask, in rda_gpio_probe() 250 rda_gpio->irq_chip.irq_unmask = rda_gpio_irq_unmask, in rda_gpio_probe() 251 rda_gpio->irq_chip.irq_set_type = rda_gpio_irq_set_type, in rda_gpio_probe() 252 rda_gpio->irq_chip.flags = IRQCHIP_SKIP_SET_WAKE, in rda_gpio_probe() 255 girq->chip = &rda_gpio->irq_chip; in rda_gpio_probe()
|
A D | gpio-hisi.c | 40 struct irq_chip irq_chip; member 184 struct irq_chip *irq_c = irq_desc_get_chip(desc); in hisi_gpio_irq_handler() 200 hisi_gpio->irq_chip.irq_ack = hisi_gpio_set_ack; in hisi_gpio_init_irq() 201 hisi_gpio->irq_chip.irq_mask = hisi_gpio_irq_set_mask; in hisi_gpio_init_irq() 202 hisi_gpio->irq_chip.irq_unmask = hisi_gpio_irq_clr_mask; in hisi_gpio_init_irq() 203 hisi_gpio->irq_chip.irq_set_type = hisi_gpio_irq_set_type; in hisi_gpio_init_irq() 204 hisi_gpio->irq_chip.irq_enable = hisi_gpio_irq_enable; in hisi_gpio_init_irq() 205 hisi_gpio->irq_chip.irq_disable = hisi_gpio_irq_disable; in hisi_gpio_init_irq() 207 girq_chip->chip = &hisi_gpio->irq_chip; in hisi_gpio_init_irq()
|
A D | gpio-altera.c | 34 struct irq_chip irq_chip; member 187 struct irq_chip *chip; in altera_gpio_irq_edge_handler() 214 struct irq_chip *chip; in altera_gpio_irq_leveL_high_handler() 281 altera_gc->irq_chip.name = "altera-gpio"; in altera_gpio_probe() 282 altera_gc->irq_chip.irq_mask = altera_gpio_irq_mask; in altera_gpio_probe() 283 altera_gc->irq_chip.irq_unmask = altera_gpio_irq_unmask; in altera_gpio_probe() 284 altera_gc->irq_chip.irq_set_type = altera_gpio_irq_set_type; in altera_gpio_probe() 285 altera_gc->irq_chip.irq_startup = altera_gpio_irq_startup; in altera_gpio_probe() 286 altera_gc->irq_chip.irq_shutdown = altera_gpio_irq_mask; in altera_gpio_probe() 289 girq->chip = &altera_gc->irq_chip; in altera_gpio_probe()
|
A D | gpio-uniphier.c | 29 struct irq_chip irq_chip; member 287 &priv->irq_chip, priv); in uniphier_gpio_irq_domain_alloc() 346 struct irq_chip *irq_chip; in uniphier_gpio_probe() local 391 irq_chip = &priv->irq_chip; in uniphier_gpio_probe() 392 irq_chip->name = dev_name(dev); in uniphier_gpio_probe() 393 irq_chip->irq_mask = uniphier_gpio_irq_mask; in uniphier_gpio_probe() 394 irq_chip->irq_unmask = uniphier_gpio_irq_unmask; in uniphier_gpio_probe() 395 irq_chip->irq_eoi = irq_chip_eoi_parent; in uniphier_gpio_probe() 396 irq_chip->irq_set_affinity = irq_chip_set_affinity_parent; in uniphier_gpio_probe() 397 irq_chip->irq_set_type = uniphier_gpio_irq_set_type; in uniphier_gpio_probe()
|
A D | gpio-rcar.c | 47 struct irq_chip irq_chip; member 482 struct irq_chip *irq_chip; in gpio_rcar_probe() local 534 irq_chip = &p->irq_chip; in gpio_rcar_probe() 535 irq_chip->name = "gpio-rcar"; in gpio_rcar_probe() 536 irq_chip->parent_device = dev; in gpio_rcar_probe() 537 irq_chip->irq_mask = gpio_rcar_irq_disable; in gpio_rcar_probe() 538 irq_chip->irq_unmask = gpio_rcar_irq_enable; in gpio_rcar_probe() 539 irq_chip->irq_set_type = gpio_rcar_irq_set_type; in gpio_rcar_probe() 540 irq_chip->irq_set_wake = gpio_rcar_irq_set_wake; in gpio_rcar_probe() 541 irq_chip->flags = IRQCHIP_SET_TYPE_MASKED | IRQCHIP_MASK_ON_SUSPEND; in gpio_rcar_probe() [all …]
|
A D | gpio-mt7621.c | 33 struct irq_chip irq_chip; member 243 rg->irq_chip.name = dev_name(dev); in mediatek_gpio_bank_probe() 244 rg->irq_chip.parent_device = dev; in mediatek_gpio_bank_probe() 245 rg->irq_chip.irq_unmask = mediatek_gpio_irq_unmask; in mediatek_gpio_bank_probe() 246 rg->irq_chip.irq_mask = mediatek_gpio_irq_mask; in mediatek_gpio_bank_probe() 247 rg->irq_chip.irq_mask_ack = mediatek_gpio_irq_mask; in mediatek_gpio_bank_probe() 248 rg->irq_chip.irq_set_type = mediatek_gpio_irq_type; in mediatek_gpio_bank_probe() 268 girq->chip = &rg->irq_chip; in mediatek_gpio_bank_probe()
|
A D | gpio-pl061.c | 55 struct irq_chip irq_chip; member 219 struct irq_chip *irqchip = irq_desc_get_chip(desc); in pl061_irq_handler() 318 pl061->irq_chip.name = dev_name(dev); in pl061_probe() 319 pl061->irq_chip.irq_ack = pl061_irq_ack; in pl061_probe() 320 pl061->irq_chip.irq_mask = pl061_irq_mask; in pl061_probe() 321 pl061->irq_chip.irq_unmask = pl061_irq_unmask; in pl061_probe() 322 pl061->irq_chip.irq_set_type = pl061_irq_type; in pl061_probe() 323 pl061->irq_chip.irq_set_wake = pl061_irq_set_wake; in pl061_probe() 332 girq->chip = &pl061->irq_chip; in pl061_probe()
|
A D | gpio-davinci.c | 44 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 324 static struct irq_chip gpio_irqchip = { 453 static struct irq_chip *davinci_gpio_get_irq_chip(unsigned int irq) in davinci_gpio_get_irq_chip() 462 static struct irq_chip *keystone_gpio_get_irq_chip(unsigned int irq) in keystone_gpio_get_irq_chip() 464 static struct irq_chip gpio_unbanked; in keystone_gpio_get_irq_chip() 494 struct irq_chip *irq_chip; in davinci_gpio_irq_setup() local 559 irq_chip = gpio_get_irq_chip(irq); in davinci_gpio_irq_setup() 560 irq_chip->name = "GPIO-AINTC"; in davinci_gpio_irq_setup() 561 irq_chip->irq_set_type = gpio_irq_type_unbanked; in davinci_gpio_irq_setup() 570 irq_set_chip(chips->irqs[gpio], irq_chip); in davinci_gpio_irq_setup()
|
/linux/drivers/pinctrl/samsung/ |
A D | pinctrl-exynos.c | 36 struct irq_chip chip; 44 struct exynos_irq_chip *irq_chip); 304 if (!bank->irq_chip) { in exynos_eint_gpio_init() 372 *irq_chip->eint_wake_mask_value); in exynos_pinctrl_set_eint_wakeup_mask() 375 *irq_chip->eint_wake_mask_value); in exynos_pinctrl_set_eint_wakeup_mask() 542 irq_chip = match->data; in exynos_eint_wkup_init() 555 bank->irq_chip = devm_kmemdup(dev, irq_chip, sizeof(*irq_chip), in exynos_eint_wkup_init() 557 if (!bank->irq_chip) { in exynos_eint_wkup_init() 665 if (!irq_chip) { in exynos_pinctrl_suspend() 666 irq_chip = bank->irq_chip; in exynos_pinctrl_suspend() [all …]
|
/linux/drivers/irqchip/ |
A D | irq-ts4800.c | 29 struct irq_chip irq_chip; member 55 irq_set_chip_and_handler(irq, &data->irq_chip, handle_simple_irq); in ts4800_irqdomain_map() 70 struct irq_chip *chip = irq_desc_get_chip(desc); in ts4800_ic_chained_handle_irq() 95 struct irq_chip *irq_chip; in ts4800_ic_probe() local 114 irq_chip = &data->irq_chip; in ts4800_ic_probe() 115 irq_chip->name = dev_name(&pdev->dev); in ts4800_ic_probe() 116 irq_chip->irq_mask = ts4800_irq_mask; in ts4800_ic_probe() 117 irq_chip->irq_unmask = ts4800_irq_unmask; in ts4800_ic_probe()
|
A D | irq-mvebu-pic.c | 32 struct irq_chip irq_chip; member 76 irq_set_chip_and_handler(virq, &pic->irq_chip, in mvebu_pic_irq_map() 92 struct irq_chip *chip = irq_desc_get_chip(desc); in mvebu_pic_handle_cascade_irq() 123 struct irq_chip *irq_chip; in mvebu_pic_probe() local 133 irq_chip = &pic->irq_chip; in mvebu_pic_probe() 134 irq_chip->name = dev_name(&pdev->dev); in mvebu_pic_probe() 135 irq_chip->irq_mask = mvebu_pic_mask_irq; in mvebu_pic_probe() 136 irq_chip->irq_unmask = mvebu_pic_unmask_irq; in mvebu_pic_probe() 137 irq_chip->irq_eoi = mvebu_pic_eoi_irq; in mvebu_pic_probe()
|
A D | spear-shirq.c | 49 struct irq_chip *irq_chip; member 82 static struct irq_chip shirq_chip = { 92 .irq_chip = &shirq_chip, 108 .irq_chip = &dummy_irq_chip, 116 .irq_chip = &dummy_irq_chip, 124 .irq_chip = &dummy_irq_chip, 132 .irq_chip = &dummy_irq_chip, 158 .irq_chip = &dummy_irq_chip, 166 .irq_chip = &dummy_irq_chip, 174 .irq_chip = &dummy_irq_chip, [all …]
|
A D | irq-renesas-intc-irqpin.c | 66 struct irq_chip irq_chip; member 340 irq_set_chip_and_handler(virq, &p->irq_chip, handle_level_irq); in intc_irqpin_irq_domain_map() 379 struct irq_chip *irq_chip; in intc_irqpin_probe() local 508 irq_chip = &p->irq_chip; in intc_irqpin_probe() 509 irq_chip->name = "intc-irqpin"; in intc_irqpin_probe() 510 irq_chip->parent_device = dev; in intc_irqpin_probe() 511 irq_chip->irq_mask = disable_fn; in intc_irqpin_probe() 512 irq_chip->irq_unmask = enable_fn; in intc_irqpin_probe() 513 irq_chip->irq_set_type = intc_irqpin_irq_set_type; in intc_irqpin_probe() 514 irq_chip->irq_set_wake = intc_irqpin_irq_set_wake; in intc_irqpin_probe() [all …]
|
A D | irq-partition-percpu.c | 34 struct irq_chip *chip = irq_desc_get_chip(part->chained_desc); in partition_irq_mask() 45 struct irq_chip *chip = irq_desc_get_chip(part->chained_desc); in partition_irq_unmask() 58 struct irq_chip *chip = irq_desc_get_chip(part->chained_desc); in partition_irq_set_irqchip_state() 73 struct irq_chip *chip = irq_desc_get_chip(part->chained_desc); in partition_irq_get_irqchip_state() 86 struct irq_chip *chip = irq_desc_get_chip(part->chained_desc); in partition_irq_set_type() 98 struct irq_chip *chip = irq_desc_get_chip(part->chained_desc); in partition_irq_print_chip() 104 static struct irq_chip partition_irq_chip = { 116 struct irq_chip *chip = irq_desc_get_chip(desc); in partition_handle_irq()
|
A D | irq-bcm2836.c | 57 static struct irq_chip bcm2836_arm_irqchip_timer = { 73 static struct irq_chip bcm2836_arm_irqchip_pmu = { 87 static struct irq_chip bcm2836_arm_irqchip_gpu = { 97 static struct irq_chip bcm2836_arm_irqchip_dummy = { 105 struct irq_chip *chip; in bcm2836_map() 155 struct irq_chip *chip = irq_desc_get_chip(desc); in bcm2836_arm_irqchip_handle_ipi() 194 static struct irq_chip bcm2836_arm_irqchip_ipi = {
|
/linux/arch/xtensa/kernel/ |
A D | irq.c | 89 struct irq_chip *irq_chip = d->host_data; in xtensa_irq_map() local 93 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 97 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 101 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 105 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 110 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 116 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map()
|
/linux/drivers/mfd/ |
A D | sprd-sc27xx-spi.c | 41 struct regmap_irq_chip irq_chip; member 181 ddata->irq_chip.name = dev_name(&spi->dev); in sprd_pmic_probe() 182 ddata->irq_chip.status_base = in sprd_pmic_probe() 184 ddata->irq_chip.mask_base = pdata->irq_base + SPRD_PMIC_INT_EN; in sprd_pmic_probe() 185 ddata->irq_chip.ack_base = 0; in sprd_pmic_probe() 186 ddata->irq_chip.num_regs = 1; in sprd_pmic_probe() 187 ddata->irq_chip.num_irqs = pdata->num_irqs; in sprd_pmic_probe() 188 ddata->irq_chip.mask_invert = true; in sprd_pmic_probe() 196 ddata->irq_chip.irqs = ddata->irqs; in sprd_pmic_probe() 202 &ddata->irq_chip, &ddata->irq_data); in sprd_pmic_probe()
|
A D | mc13xxx-core.c | 445 mc13xxx->irq_chip.name = dev_name(dev); in mc13xxx_common_init() 446 mc13xxx->irq_chip.status_base = MC13XXX_IRQSTAT0; in mc13xxx_common_init() 447 mc13xxx->irq_chip.mask_base = MC13XXX_IRQMASK0; in mc13xxx_common_init() 448 mc13xxx->irq_chip.ack_base = MC13XXX_IRQSTAT0; in mc13xxx_common_init() 449 mc13xxx->irq_chip.irq_reg_stride = MC13XXX_IRQSTAT1 - MC13XXX_IRQSTAT0; in mc13xxx_common_init() 450 mc13xxx->irq_chip.init_ack_masked = true; in mc13xxx_common_init() 451 mc13xxx->irq_chip.use_ack = true; in mc13xxx_common_init() 452 mc13xxx->irq_chip.num_regs = MC13XXX_IRQ_REG_CNT; in mc13xxx_common_init() 453 mc13xxx->irq_chip.irqs = mc13xxx->irqs; in mc13xxx_common_init() 454 mc13xxx->irq_chip.num_irqs = ARRAY_SIZE(mc13xxx->irqs); in mc13xxx_common_init() [all …]
|
A D | twl6030-irq.c | 112 struct irq_chip irq_chip; member 339 irq_set_chip_and_handler(virq, &pdata->irq_chip, handle_simple_irq); in twl6030_irq_map() 405 twl6030_irq->irq_chip = dummy_irq_chip; in twl6030_init_irq() 406 twl6030_irq->irq_chip.name = "twl6030"; in twl6030_init_irq() 407 twl6030_irq->irq_chip.irq_set_type = NULL; in twl6030_init_irq() 408 twl6030_irq->irq_chip.irq_set_wake = twl6030_irq_set_wake; in twl6030_init_irq()
|
/linux/Documentation/translations/zh_CN/core-api/irq/ |
A D | irq-domain.rst | 62 如在irq_chip回调中),那么可以直接从irq_data->hwirq中获得。 210 栈式(层次结构)的irq_chip。也就是说,一个irq_chip与层次结构中的每个irq_data相关联。 211 一个子irq_chip可以自己或通过与它的父irq_chip合作来实现一个所需的操作。 213 通过堆栈式的irq_chip,中断控制器驱动只需要处理自己管理的硬件,在需要的时候可以向其父 214 irq_chip请求服务。所以我们可以实现更简洁的软件架构。 220 3) 可选择地实现一个irq_chip来管理中断控制器硬件。
|
/linux/arch/arm/mach-omap1/ |
A D | ams-delta-fiq.c | 42 static struct irq_chip *irq_chip; variable 73 if (!WARN_ON_ONCE(!irq_chip->irq_unmask)) in deferred_fiq() 74 irq_chip->irq_unmask(d); in deferred_fiq() 93 irq_chip = chip->irq.chip; in ams_delta_init_fiq() 94 if (!irq_chip) { in ams_delta_init_fiq()
|