| /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 250 irq_set_chip_and_handler(irq, &p->irq_chip, handle_level_irq); in em_gio_irq_domain_map() 270 struct irq_chip *irq_chip; in em_gio_probe() local 319 irq_chip = &p->irq_chip; in em_gio_probe() 320 irq_chip->name = "gpio-em"; in em_gio_probe() 321 irq_chip->irq_mask = em_gio_irq_disable; in em_gio_probe() 322 irq_chip->irq_unmask = em_gio_irq_enable; in em_gio_probe() 323 irq_chip->irq_set_type = em_gio_irq_set_type; in em_gio_probe() 324 irq_chip->irq_request_resources = em_gio_irq_reqres; in em_gio_probe() 325 irq_chip->irq_release_resources = em_gio_irq_relres; in em_gio_probe() [all …]
|
| H A D | gpio-rtd.c | 381 struct irq_chip *chip = irq_desc_get_chip(desc); in rtd_gpio_irq_handle() 517 static const struct irq_chip rtd_gpio_irq_chip = { 528 struct gpio_irq_chip *irq_chip; in rtd_gpio_probe() local 573 irq_chip = &data->gpio_chip.irq; in rtd_gpio_probe() 574 irq_chip->handler = handle_bad_irq; in rtd_gpio_probe() 575 irq_chip->default_type = IRQ_TYPE_NONE; in rtd_gpio_probe() 576 irq_chip->parent_handler = rtd_gpio_irq_handle; in rtd_gpio_probe() 577 irq_chip->parent_handler_data = data; in rtd_gpio_probe() 578 irq_chip->num_parents = 2; in rtd_gpio_probe() 579 irq_chip->parents = data->irqs; in rtd_gpio_probe() [all …]
|
| H A D | gpio-davinci.c | 42 typedef struct irq_chip *(*gpio_get_irq_chip_cb_t)(unsigned int irq); 306 static const struct irq_chip gpio_irqchip = { 435 static struct irq_chip *davinci_gpio_get_irq_chip(unsigned int irq) in davinci_gpio_get_irq_chip() 444 static struct irq_chip *keystone_gpio_get_irq_chip(unsigned int irq) in keystone_gpio_get_irq_chip() 446 static struct irq_chip gpio_unbanked; in keystone_gpio_get_irq_chip() 473 struct irq_chip *irq_chip; in davinci_gpio_irq_setup() local 529 irq_chip = gpio_get_irq_chip(irq); in davinci_gpio_irq_setup() 530 irq_chip->name = "GPIO-AINTC"; in davinci_gpio_irq_setup() 531 irq_chip->irq_set_type = gpio_irq_type_unbanked; in davinci_gpio_irq_setup() 540 irq_set_chip(chips->irqs[gpio], irq_chip); in davinci_gpio_irq_setup()
|
| H A D | gpio-brcmstb.c | 53 struct irq_chip irq_chip; member 288 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() 471 priv->irq_chip.name = dev_name(dev); in brcmstb_gpio_irq_setup() 472 priv->irq_chip.irq_disable = brcmstb_gpio_irq_mask; in brcmstb_gpio_irq_setup() 473 priv->irq_chip.irq_mask = brcmstb_gpio_irq_mask; in brcmstb_gpio_irq_setup() 474 priv->irq_chip.irq_unmask = brcmstb_gpio_irq_unmask; in brcmstb_gpio_irq_setup() 475 priv->irq_chip.irq_ack = brcmstb_gpio_irq_ack; in brcmstb_gpio_irq_setup() 476 priv->irq_chip.irq_set_type = brcmstb_gpio_irq_set_type; in brcmstb_gpio_irq_setup() 479 priv->irq_chip.irq_set_wake = brcmstb_gpio_irq_set_wake; in brcmstb_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-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 | 38 struct irq_chip chip; 46 struct exynos_irq_chip *irq_chip); 53 static inline struct exynos_irq_chip *to_exynos_irq_chip(struct irq_chip *chip) in to_exynos_irq_chip() 60 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_mask() 91 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_ack() 114 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_unmask() 156 struct irq_chip *chip = irq_data_get_irq_chip(irqd); in exynos_irq_set_type() 325 irq_set_chip_and_handler(virq, &b->irq_chip->chip, in exynos_eint_irq_map() 438 bank->irq_chip = devm_kmemdup(dev, &exynos_gpio_irq_chip, in exynos_eint_gpio_init() 439 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 | 71 如在irq_chip回调中),那么可以直接从irq_data->hwirq中获得。 214 栈式(层次结构)的irq_chip。也就是说,一个irq_chip与层次结构中的每个irq_data相关联。 215 一个子irq_chip可以自己或通过与它的父irq_chip合作来实现一个所需的操作。 217 通过堆栈式的irq_chip,中断控制器驱动只需要处理自己管理的硬件,在需要的时候可以向其父 218 irq_chip请求服务。所以我们可以实现更简洁的软件架构。 224 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 | 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()
|
| H A D | retu-mfd.c | 123 const struct regmap_irq_chip *irq_chip; member 130 .irq_chip = &retu_irq_chip, 137 .irq_chip = &tahvo_irq_chip, 265 ret = retu_write(rdev, rdat->irq_chip->mask_base, 0xffff); in retu_probe() 270 rdat->irq_chip, &rdev->irq_data); in retu_probe()
|
| /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() 46 scoped_irqdesc->irq_data.chip = (struct irq_chip *)(chip ?: &no_irq_chip); in irq_set_chip() 452 struct irq_chip *chip = desc->irq_data.chip; in unmask_threaded_irq() 700 static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) in cond_unmask_eoi_irq() 721 static inline void cond_eoi_irq(struct irq_chip *chip, struct irq_data *data) in cond_eoi_irq() 738 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_irq() 790 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_fasteoi_nmi() 869 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_irq() 899 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_devid_irq() 1030 irq_set_chip_and_handler_name(unsigned int irq, const struct irq_chip *chi [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/drivers/soc/fsl/qe/ |
| H A D | qe_ic.c | 54 struct irq_chip hc_irq; 282 static struct irq_chip qe_ic_irq_chip = { 301 struct irq_chip *chip; in qe_ic_host_map() 365 struct irq_chip *chip = irq_desc_get_chip(desc); in qe_ic_cascade_low() 378 struct irq_chip *chip = irq_desc_get_chip(desc); in qe_ic_cascade_high() 391 struct irq_chip *chip = irq_desc_get_chip(desc); in qe_ic_cascade_muxed_mpic()
|
| /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/arch/mips/cavium-octeon/ |
| H A D | octeon-irq.c | 98 struct irq_chip *chip, in octeon_irq_set_ciu_mapping() 237 static struct irq_chip octeon_irq_chip_core = { 939 static struct irq_chip octeon_irq_chip_ciu_v2 = { 951 static struct irq_chip octeon_irq_chip_ciu_v2_edge = { 967 static struct irq_chip octeon_irq_chip_ciu_sum2 = { 979 static struct irq_chip octeon_irq_chip_ciu_sum2_edge = { 992 static struct irq_chip octeon_irq_chip_ciu = { 1004 static struct irq_chip octeon_irq_chip_ciu_edge = { 1018 static struct irq_chip octeon_irq_chip_ciu_mbox_v2 = { 1030 static struct irq_chip octeon_irq_chip_ciu_mbox = { [all …]
|