| /Linux-v6.1/drivers/gpio/ |
| 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() 70 irq_chip->num_irqs = ARRAY_SIZE(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() [all …]
|
| D | gpio-visconti.c | 34 struct irq_chip irq_chip; member 126 struct irq_chip *irq_chip; in visconti_gpio_probe() local 167 irq_chip = &priv->irq_chip; in visconti_gpio_probe() 168 irq_chip->name = dev_name(dev); in visconti_gpio_probe() 169 irq_chip->irq_mask = irq_chip_mask_parent; in visconti_gpio_probe() 170 irq_chip->irq_unmask = irq_chip_unmask_parent; in visconti_gpio_probe() 171 irq_chip->irq_eoi = irq_chip_eoi_parent; in visconti_gpio_probe() 172 irq_chip->irq_set_type = visconti_gpio_irq_set_type; in visconti_gpio_probe() 173 irq_chip->flags = IRQCHIP_SET_TYPE_MASKED | IRQCHIP_MASK_ON_SUSPEND; in visconti_gpio_probe() 176 girq->chip = irq_chip; in visconti_gpio_probe()
|
| 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->irq_mask = tqmx86_gpio_irq_mask; in tqmx86_gpio_probe() 285 irq_chip->irq_unmask = tqmx86_gpio_irq_unmask; in tqmx86_gpio_probe() 286 irq_chip->irq_set_type = tqmx86_gpio_irq_set_type; in tqmx86_gpio_probe() 296 girq->chip = irq_chip; in tqmx86_gpio_probe()
|
| 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 322 irq_chip = &p->irq_chip; in em_gio_probe() 323 irq_chip->name = "gpio-em"; in em_gio_probe() 324 irq_chip->irq_mask = em_gio_irq_disable; in em_gio_probe() 325 irq_chip->irq_unmask = em_gio_irq_enable; in em_gio_probe() 326 irq_chip->irq_set_type = em_gio_irq_set_type; in em_gio_probe() 327 irq_chip->irq_request_resources = em_gio_irq_reqres; in em_gio_probe() 328 irq_chip->irq_release_resources = em_gio_irq_relres; in em_gio_probe() [all …]
|
| 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() 244 rda_gpio->irq_chip.name = "rda-gpio", in rda_gpio_probe() 245 rda_gpio->irq_chip.irq_ack = rda_gpio_irq_ack, in rda_gpio_probe() 246 rda_gpio->irq_chip.irq_mask = rda_gpio_irq_mask, in rda_gpio_probe() 247 rda_gpio->irq_chip.irq_unmask = rda_gpio_irq_unmask, in rda_gpio_probe() 248 rda_gpio->irq_chip.irq_set_type = rda_gpio_irq_set_type, in rda_gpio_probe() 249 rda_gpio->irq_chip.flags = IRQCHIP_SKIP_SET_WAKE, in rda_gpio_probe() 252 girq->chip = &rda_gpio->irq_chip; in rda_gpio_probe()
|
| 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()
|
| 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()
|
| 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()
|
| D | gpio-davinci.c | 45 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 326 static struct irq_chip gpio_irqchip = { 455 static struct irq_chip *davinci_gpio_get_irq_chip(unsigned int irq) in davinci_gpio_get_irq_chip() 464 static struct irq_chip *keystone_gpio_get_irq_chip(unsigned int irq) in keystone_gpio_get_irq_chip() 466 static struct irq_chip gpio_unbanked; in keystone_gpio_get_irq_chip() 496 struct irq_chip *irq_chip; in davinci_gpio_irq_setup() local 561 irq_chip = gpio_get_irq_chip(irq); in davinci_gpio_irq_setup() 562 irq_chip->name = "GPIO-AINTC"; in davinci_gpio_irq_setup() 563 irq_chip->irq_set_type = gpio_irq_type_unbanked; in davinci_gpio_irq_setup() 572 irq_set_chip(chips->irqs[gpio], irq_chip); in davinci_gpio_irq_setup()
|
| D | gpio-mlxbf2.c | 68 struct irq_chip irq_chip; member 379 gs->irq_chip.name = name; in mlxbf2_gpio_probe() 380 gs->irq_chip.irq_set_type = mlxbf2_gpio_irq_set_type; in mlxbf2_gpio_probe() 381 gs->irq_chip.irq_enable = mlxbf2_gpio_irq_enable; in mlxbf2_gpio_probe() 382 gs->irq_chip.irq_disable = mlxbf2_gpio_irq_disable; in mlxbf2_gpio_probe() 385 girq->chip = &gs->irq_chip; in mlxbf2_gpio_probe()
|
| /Linux-v6.1/drivers/pinctrl/samsung/ |
| D | pinctrl-exynos.c | 34 struct irq_chip chip; 42 struct exynos_irq_chip *irq_chip); 45 static inline struct exynos_irq_chip *to_exynos_irq_chip(struct irq_chip *chip) in to_exynos_irq_chip() 52 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_mask() 70 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_ack() 80 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_unmask() 109 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_set_type() 230 irq_set_chip_and_handler(virq, &b->irq_chip->chip, in exynos_eint_irq_map() 300 bank->irq_chip = devm_kmemdup(dev, &exynos_gpio_irq_chip, in exynos_eint_gpio_init() 301 sizeof(*bank->irq_chip), GFP_KERNEL); in exynos_eint_gpio_init() [all …]
|
| /Linux-v6.1/drivers/irqchip/ |
| 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, 152 .irq_chip = &dummy_irq_chip, 160 .irq_chip = &dummy_irq_chip, 168 .irq_chip = &dummy_irq_chip, [all …]
|
| 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()
|
| 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() 378 struct irq_chip *irq_chip; in intc_irqpin_probe() local 509 irq_chip = &p->irq_chip; in intc_irqpin_probe() 510 irq_chip->name = "intc-irqpin"; 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() 515 irq_chip->flags = IRQCHIP_MASK_ON_SUSPEND; in intc_irqpin_probe()
|
| 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 = {
|
| D | irq-xtensa-mx.c | 29 struct irq_chip *irq_chip = d->host_data; in xtensa_mx_irq_map() local 30 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_mx_irq_map() 143 static struct irq_chip xtensa_mx_irq_chip = {
|
| /Linux-v6.1/arch/xtensa/kernel/ |
| D | irq.c | 88 struct irq_chip *irq_chip = d->host_data; in xtensa_irq_map() local 92 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 96 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 100 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 104 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 109 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map() 115 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_irq_map()
|
| /Linux-v6.1/Documentation/translations/zh_CN/core-api/irq/ |
| D | irq-domain.rst | 73 如在irq_chip回调中),那么可以直接从irq_data->hwirq中获得。 224 栈式(层次结构)的irq_chip。也就是说,一个irq_chip与层次结构中的每个irq_data相关联。 225 一个子irq_chip可以自己或通过与它的父irq_chip合作来实现一个所需的操作。 227 通过堆栈式的irq_chip,中断控制器驱动只需要处理自己管理的硬件,在需要的时候可以向其父 228 irq_chip请求服务。所以我们可以实现更简洁的软件架构。 234 3) 可选择地实现一个irq_chip来管理中断控制器硬件。
|
| /Linux-v6.1/drivers/mfd/ |
| 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()
|
| D | mc13xxx-core.c | 447 mc13xxx->irq_chip.name = dev_name(dev); in mc13xxx_common_init() 448 mc13xxx->irq_chip.status_base = MC13XXX_IRQSTAT0; in mc13xxx_common_init() 449 mc13xxx->irq_chip.mask_base = MC13XXX_IRQMASK0; in mc13xxx_common_init() 450 mc13xxx->irq_chip.ack_base = MC13XXX_IRQSTAT0; in mc13xxx_common_init() 451 mc13xxx->irq_chip.irq_reg_stride = MC13XXX_IRQSTAT1 - MC13XXX_IRQSTAT0; in mc13xxx_common_init() 452 mc13xxx->irq_chip.init_ack_masked = true; in mc13xxx_common_init() 453 mc13xxx->irq_chip.use_ack = true; in mc13xxx_common_init() 454 mc13xxx->irq_chip.num_regs = MC13XXX_IRQ_REG_CNT; in mc13xxx_common_init() 455 mc13xxx->irq_chip.irqs = mc13xxx->irqs; in mc13xxx_common_init() 456 mc13xxx->irq_chip.num_irqs = ARRAY_SIZE(mc13xxx->irqs); in mc13xxx_common_init() [all …]
|
| 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-v6.1/arch/arm/mach-omap1/ |
| D | ams-delta-fiq.c | 44 static struct irq_chip *irq_chip; variable 75 if (!WARN_ON_ONCE(!irq_chip->irq_unmask)) in deferred_fiq() 76 irq_chip->irq_unmask(d); in deferred_fiq() 95 irq_chip = chip->irq.chip; in ams_delta_init_fiq() 96 if (!irq_chip) { in ams_delta_init_fiq()
|
| /Linux-v6.1/arch/powerpc/include/asm/ |
| D | mpic.h | 265 struct irq_chip hc_irq; 267 struct irq_chip hc_ht_irq; 270 struct irq_chip hc_ipi; 272 struct irq_chip hc_tm; 273 struct irq_chip hc_err;
|
| /Linux-v6.1/arch/mips/sgi-ip32/ |
| D | ip32-irq.c | 138 static struct irq_chip crime_level_interrupt = { 157 static struct irq_chip crime_edge_interrupt = { 191 static struct irq_chip ip32_macepci_interrupt = { 290 static struct irq_chip ip32_maceisa_level_interrupt = { 296 static struct irq_chip ip32_maceisa_edge_interrupt = { 325 static struct irq_chip ip32_mace_interrupt = {
|
| /Linux-v6.1/kernel/irq/ |
| D | ipi.c | 188 static int ipi_send_verify(struct irq_chip *chip, struct irq_data *data, in ipi_send_verify() 226 struct irq_chip *chip = irq_data_get_irq_chip(data); in __ipi_send_single() 268 struct irq_chip *chip = irq_data_get_irq_chip(data); in __ipi_send_mask() 313 struct irq_chip *chip = data ? irq_data_get_irq_chip(data) : NULL; in ipi_send_single() 334 struct irq_chip *chip = data ? irq_data_get_irq_chip(data) : NULL; in ipi_send_mask()
|