/linux/drivers/gpio/ |
H 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() 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 …]
|
H A D | gpio-em.c | 29 struct irq_chip irq_chip; member 248 irq_set_chip_and_handler(irq, &p->irq_chip, handle_level_irq); in em_gio_irq_domain_map() 268 struct irq_chip *irq_chip; in em_gio_probe() local 317 irq_chip = &p->irq_chip; in em_gio_probe() 318 irq_chip->name = "gpio-em"; in em_gio_probe() 319 irq_chip->irq_mask = em_gio_irq_disable; in em_gio_probe() 320 irq_chip->irq_unmask = em_gio_irq_enable; in em_gio_probe() 321 irq_chip->irq_set_type = em_gio_irq_set_type; in em_gio_probe() 322 irq_chip->irq_request_resources = em_gio_irq_reqres; in em_gio_probe() 323 irq_chip->irq_release_resources = em_gio_irq_relres; in em_gio_probe() [all …]
|
H 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()
|
H A D | gpio-rtd.c | 379 struct irq_chip *chip = irq_desc_get_chip(desc); in rtd_gpio_irq_handle() 515 static const struct irq_chip rtd_gpio_irq_chip = { 526 struct gpio_irq_chip *irq_chip; in rtd_gpio_probe() local 571 irq_chip = &data->gpio_chip.irq; in rtd_gpio_probe() 572 irq_chip->handler = handle_bad_irq; in rtd_gpio_probe() 573 irq_chip->default_type = IRQ_TYPE_NONE; in rtd_gpio_probe() 574 irq_chip->parent_handler = rtd_gpio_irq_handle; in rtd_gpio_probe() 575 irq_chip->parent_handler_data = data; in rtd_gpio_probe() 576 irq_chip->num_parents = 2; in rtd_gpio_probe() 577 irq_chip->parents = data->irqs; in rtd_gpio_probe() [all …]
|
H A D | gpio-davinci.c | 41 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 287 static struct irq_chip gpio_irqchip = { 416 static struct irq_chip *davinci_gpio_get_irq_chip(unsigned int irq) in davinci_gpio_get_irq_chip() 425 static struct irq_chip *keystone_gpio_get_irq_chip(unsigned int irq) in keystone_gpio_get_irq_chip() 427 static struct irq_chip gpio_unbanked; in keystone_gpio_get_irq_chip() 454 struct irq_chip *irq_chip; in davinci_gpio_irq_setup() local 511 irq_chip = gpio_get_irq_chip(irq); in davinci_gpio_irq_setup() 512 irq_chip->name = "GPIO-AINTC"; in davinci_gpio_irq_setup() 513 irq_chip->irq_set_type = gpio_irq_type_unbanked; in davinci_gpio_irq_setup() 522 irq_set_chip(chips->irqs[gpio], irq_chip); in davinci_gpio_irq_setup()
|
/linux/drivers/irqchip/ |
H 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, 152 .irq_chip = &dummy_irq_chip, 160 .irq_chip = &dummy_irq_chip, 168 .irq_chip = &dummy_irq_chip, [all …]
|
H 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()
|
H A 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()
|
H A D | irq-bcm2836.c | 57 static struct irq_chip bcm2836_arm_irqchip_timer = { 74 static struct irq_chip bcm2836_arm_irqchip_pmu = { 89 static struct irq_chip bcm2836_arm_irqchip_gpu = { 100 static struct irq_chip bcm2836_arm_irqchip_dummy = { 108 struct irq_chip *chip; in bcm2836_map() 158 struct irq_chip *chip = irq_desc_get_chip(desc); in bcm2836_arm_irqchip_handle_ipi() 197 static struct irq_chip bcm2836_arm_irqchip_ipi = {
|
H A 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/drivers/pinctrl/samsung/ |
H A D | pinctrl-exynos.c | 35 struct irq_chip chip; 43 struct exynos_irq_chip *irq_chip); 46 static inline struct exynos_irq_chip *to_exynos_irq_chip(struct irq_chip *chip) in to_exynos_irq_chip() 53 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_mask() 84 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_ack() 107 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_unmask() 149 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_set_type() 318 irq_set_chip_and_handler(virq, &b->irq_chip->chip, in exynos_eint_irq_map() 400 bank->irq_chip = devm_kmemdup(dev, &exynos_gpio_irq_chip, in exynos_eint_gpio_init() 401 sizeof(*bank->irq_chip), GFP_KERNEL); in exynos_eint_gpio_init() [all …]
|
/linux/arch/xtensa/kernel/ |
H 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/Documentation/translations/zh_CN/core-api/irq/ |
H A 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/drivers/mfd/ |
H 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.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()
|
H A 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 …]
|
H 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()
|
H A 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/arch/arm/mach-omap1/ |
H A 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/arch/powerpc/include/asm/ |
H A 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/arch/mips/sgi-ip32/ |
H A D | ip32-irq.c | 136 static struct irq_chip crime_level_interrupt = { 155 static struct irq_chip crime_edge_interrupt = { 189 static struct irq_chip ip32_macepci_interrupt = { 288 static struct irq_chip ip32_maceisa_level_interrupt = { 294 static struct irq_chip ip32_maceisa_edge_interrupt = { 323 static struct irq_chip ip32_mace_interrupt = {
|
/linux/kernel/irq/ |
H A 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()
|
H A D | chip.c | 41 int irq_set_chip(unsigned int irq, const struct irq_chip *chip) in irq_set_chip() 49 desc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip); in irq_set_chip() 445 struct irq_chip *chip = desc->irq_data.chip; in unmask_threaded_irq() 657 static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) in cond_unmask_eoi_irq() 689 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_irq() 753 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_fasteoi_nmi() 851 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_edge_eoi_irq() 896 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_irq() 926 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_devid_irq() 969 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_devid_fasteoi_nmi() [all …]
|
/linux/arch/mips/sgi-ip22/ |
H A 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 = { 279 struct irq_chip *handler; in arch_init_irq()
|
/linux/arch/m68k/kernel/ |
H A D | ints.c | 36 static struct irq_chip auto_irq_chip = { 42 static struct irq_chip user_irq_chip = { 117 void m68k_setup_irq_controller(struct irq_chip *chip, in m68k_setup_irq_controller()
|
/linux/drivers/soc/fsl/qe/ |
H A 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()
|