/linux-6.6.21/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->unmask_base = base + GPIO_REG_IE; in sl28cpld_gpio_irq_init() 74 irq_chip->ack_base = base + GPIO_REG_IP; in sl28cpld_gpio_irq_init() [all …]
|
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-uniphier.c | 28 struct irq_chip irq_chip; member 286 &priv->irq_chip, priv); in uniphier_gpio_irq_domain_alloc() 345 struct irq_chip *irq_chip; in uniphier_gpio_probe() local 390 irq_chip = &priv->irq_chip; in uniphier_gpio_probe() 391 irq_chip->name = dev_name(dev); in uniphier_gpio_probe() 392 irq_chip->irq_mask = uniphier_gpio_irq_mask; in uniphier_gpio_probe() 393 irq_chip->irq_unmask = uniphier_gpio_irq_unmask; in uniphier_gpio_probe() 394 irq_chip->irq_eoi = irq_chip_eoi_parent; in uniphier_gpio_probe() 395 irq_chip->irq_set_affinity = irq_chip_set_affinity_parent; in uniphier_gpio_probe() 396 irq_chip->irq_set_type = uniphier_gpio_irq_set_type; in uniphier_gpio_probe()
|
D | gpio-davinci.c | 43 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 320 static struct irq_chip gpio_irqchip = { 449 static struct irq_chip *davinci_gpio_get_irq_chip(unsigned int irq) in davinci_gpio_get_irq_chip() 458 static struct irq_chip *keystone_gpio_get_irq_chip(unsigned int irq) in keystone_gpio_get_irq_chip() 460 static struct irq_chip gpio_unbanked; in keystone_gpio_get_irq_chip() 490 struct irq_chip *irq_chip; in davinci_gpio_irq_setup() local 555 irq_chip = gpio_get_irq_chip(irq); in davinci_gpio_irq_setup() 556 irq_chip->name = "GPIO-AINTC"; in davinci_gpio_irq_setup() 557 irq_chip->irq_set_type = gpio_irq_type_unbanked; in davinci_gpio_irq_setup() 566 irq_set_chip(chips->irqs[gpio], irq_chip); in davinci_gpio_irq_setup()
|
D | gpio-brcmstb.c | 51 struct irq_chip irq_chip; member 286 struct irq_chip *chip = irq_desc_get_chip(desc); in brcmstb_gpio_irq_handler() 340 irq_set_chip_and_handler(irq, &priv->irq_chip, handle_level_irq); in brcmstb_gpio_irq_map() 475 priv->irq_chip.name = dev_name(dev); in brcmstb_gpio_irq_setup() 476 priv->irq_chip.irq_disable = brcmstb_gpio_irq_mask; in brcmstb_gpio_irq_setup() 477 priv->irq_chip.irq_mask = brcmstb_gpio_irq_mask; in brcmstb_gpio_irq_setup() 478 priv->irq_chip.irq_unmask = brcmstb_gpio_irq_unmask; in brcmstb_gpio_irq_setup() 479 priv->irq_chip.irq_ack = brcmstb_gpio_irq_ack; in brcmstb_gpio_irq_setup() 480 priv->irq_chip.irq_set_type = brcmstb_gpio_irq_set_type; in brcmstb_gpio_irq_setup() 483 priv->irq_chip.irq_set_wake = brcmstb_gpio_irq_set_wake; in brcmstb_gpio_irq_setup()
|
/linux-6.6.21/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-6.6.21/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 | 65 struct irq_chip irq_chip; member 339 irq_set_chip_and_handler(virq, &p->irq_chip, handle_level_irq); in intc_irqpin_irq_domain_map() 377 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->irq_mask = disable_fn; in intc_irqpin_probe() 511 irq_chip->irq_unmask = enable_fn; in intc_irqpin_probe() 512 irq_chip->irq_set_type = intc_irqpin_irq_set_type; in intc_irqpin_probe() 513 irq_chip->irq_set_wake = intc_irqpin_irq_set_wake; in intc_irqpin_probe() 514 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 | 30 struct irq_chip *irq_chip = d->host_data; in xtensa_mx_irq_map() local 31 irq_set_chip_and_handler_name(irq, irq_chip, in xtensa_mx_irq_map() 144 static struct irq_chip xtensa_mx_irq_chip = {
|
/linux-6.6.21/arch/xtensa/kernel/ |
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-6.6.21/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-6.6.21/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.unmask_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() 195 ddata->irq_chip.irqs = ddata->irqs; in sprd_pmic_probe() 201 &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()
|
D | da9063-irq.c | 173 const struct regmap_irq_chip *irq_chip; in da9063_irq_init() local 182 irq_chip = &da9063_irq_chip; in da9063_irq_init() 184 irq_chip = &da9063l_irq_chip; in da9063_irq_init() 189 da9063->irq_base, irq_chip, &da9063->regmap_irq); in da9063_irq_init()
|
/linux-6.6.21/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-6.6.21/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-6.6.21/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-6.6.21/kernel/irq/ |
D | ipi.c | 188 static int ipi_send_verify(struct irq_chip *chip, struct irq_data *data, in ipi_send_verify() 230 struct irq_chip *chip = irq_data_get_irq_chip(data); in __ipi_send_single() 272 struct irq_chip *chip = irq_data_get_irq_chip(data); in __ipi_send_mask() 317 struct irq_chip *chip = data ? irq_data_get_irq_chip(data) : NULL; in ipi_send_single() 338 struct irq_chip *chip = data ? irq_data_get_irq_chip(data) : NULL; in ipi_send_mask()
|
/linux-6.6.21/arch/mips/sgi-ip22/ |
D | ip22-int.c | 48 static struct irq_chip ip22_local0_irq_type = { 67 static struct irq_chip ip22_local1_irq_type = { 86 static struct irq_chip ip22_local2_irq_type = { 105 static struct irq_chip ip22_local3_irq_type = { 281 struct irq_chip *handler; in arch_init_irq()
|
/linux-6.6.21/arch/m68k/kernel/ |
D | ints.c | 34 static struct irq_chip auto_irq_chip = { 40 static struct irq_chip user_irq_chip = { 115 void m68k_setup_irq_controller(struct irq_chip *chip, in m68k_setup_irq_controller()
|
/linux-6.6.21/drivers/soc/fsl/qe/ |
D | qe_ic.c | 54 struct irq_chip hc_irq; 287 static struct irq_chip qe_ic_irq_chip = { 306 struct irq_chip *chip; in qe_ic_host_map() 370 struct irq_chip *chip = irq_desc_get_chip(desc); in qe_ic_cascade_low() 383 struct irq_chip *chip = irq_desc_get_chip(desc); in qe_ic_cascade_high() 396 struct irq_chip *chip = irq_desc_get_chip(desc); in qe_ic_cascade_muxed_mpic()
|
/linux-6.6.21/include/linux/irqchip/ |
D | chained_irq.h | 16 static inline void chained_irq_enter(struct irq_chip *chip, in chained_irq_enter() 32 static inline void chained_irq_exit(struct irq_chip *chip, in chained_irq_exit()
|