| /linux/drivers/irqchip/ |
| H A D | irq-sun4i.c | 39 void __iomem *irq_base; member 56 writel(BIT(0), irq_ic_data->irq_base + SUN4I_IRQ_PENDING_REG(0)); in sun4i_irq_ack() 66 val = readl(irq_ic_data->irq_base + in sun4i_irq_mask() 69 irq_ic_data->irq_base + SUN4I_IRQ_ENABLE_REG(irq_ic_data, reg)); in sun4i_irq_mask() 79 val = readl(irq_ic_data->irq_base + in sun4i_irq_unmask() 82 irq_ic_data->irq_base + SUN4I_IRQ_ENABLE_REG(irq_ic_data, reg)); in sun4i_irq_unmask() 110 irq_ic_data->irq_base = of_iomap(node, 0); in sun4i_of_init() 111 if (!irq_ic_data->irq_base) in sun4i_of_init() 116 writel(0, irq_ic_data->irq_base + SUN4I_IRQ_ENABLE_REG(irq_ic_data, 0)); in sun4i_of_init() 117 writel(0, irq_ic_data->irq_base + SUN4I_IRQ_ENABLE_REG(irq_ic_data, 1)); in sun4i_of_init() [all …]
|
| H A D | irq-davinci-cp-intc.c | 160 int offset, irq_base; in davinci_cp_intc_do_init() local 201 irq_base = irq_alloc_descs(-1, 0, num_irqs, 0); in davinci_cp_intc_do_init() 202 if (irq_base < 0) { in davinci_cp_intc_do_init() 203 pr_err("%s: unable to allocate interrupt descriptors: %d\n", __func__, irq_base); in davinci_cp_intc_do_init() 204 return irq_base; in davinci_cp_intc_do_init() 208 irq_base, 0, in davinci_cp_intc_do_init()
|
| H A D | irq-omap-intc.c | 265 int j, irq_base; in omap_init_irq_legacy() local 271 irq_base = irq_alloc_descs(-1, 0, omap_nr_irqs, 0); in omap_init_irq_legacy() 272 if (irq_base < 0) { in omap_init_irq_legacy() 274 irq_base = 0; in omap_init_irq_legacy() 277 domain = irq_domain_create_legacy(of_fwnode_handle(node), omap_nr_irqs, irq_base, 0, in omap_init_irq_legacy() 283 omap_alloc_gc_legacy(omap_irq_base + j, j + irq_base, 32); in omap_init_irq_legacy()
|
| /linux/drivers/mfd/ |
| H A D | twl4030-irq.c | 416 int irq_base; member 441 agent->imr |= BIT(data->irq - agent->irq_base); in twl4030_sih_mask() 449 agent->imr &= ~BIT(data->irq - agent->irq_base); in twl4030_sih_unmask() 461 agent->edge_change |= BIT(data->irq - agent->irq_base); in twl4030_sih_set_type() 528 type = irq_get_trigger_type(i + agent->irq_base); in twl4030_sih_bus_sync_unlock() 603 handle_nested_irq(agent->irq_base + irq); in handle_twl4030_sih() 612 int twl4030_sih_setup(struct device *dev, int module, int irq_base) in twl4030_sih_setup() argument 638 agent->irq_base = irq_base; in twl4030_sih_setup() 644 irq = irq_base + i; in twl4030_sih_setup() 662 irq, irq_base, irq_base + i - 1); in twl4030_sih_setup() [all …]
|
| H A D | ucb1x00-core.c | 186 return ucb->irq_base > 0 ? ucb->irq_base + offset : -ENXIO; in ucb1x00_to_irq() 297 generic_handle_irq(ucb->irq_base + i); in ucb1x00_irq() 320 unsigned mask = 1 << (data->irq - ucb->irq_base); in ucb1x00_irq_mask() 331 unsigned mask = 1 << (data->irq - ucb->irq_base); in ucb1x00_irq_unmask() 342 unsigned mask = 1 << (data->irq - ucb->irq_base); in ucb1x00_irq_set_type() 369 unsigned mask = 1 << (data->irq - ucb->irq_base); in ucb1x00_irq_set_wake() 500 unsigned id, i, irq_base; in ucb1x00_probe() local 547 irq_base = pdata ? pdata->irq_base : 0; in ucb1x00_probe() 548 ucb->irq_base = irq_alloc_descs(-1, irq_base, 16, -1); in ucb1x00_probe() 549 if (ucb->irq_base < 0) { in ucb1x00_probe() [all …]
|
| H A D | wm8350-irq.c | 364 return &wm8350_irqs[irq - wm8350->irq_base]; in irq_to_wm8350_irq() 408 handle_nested_irq(wm8350->irq_base + i); in wm8350_irq() 468 int irq_base = -1; in wm8350_irq_init() local 492 if (pdata && pdata->irq_base > 0) in wm8350_irq_init() 493 irq_base = pdata->irq_base; in wm8350_irq_init() 495 wm8350->irq_base = in wm8350_irq_init() 496 irq_alloc_descs(irq_base, 0, ARRAY_SIZE(wm8350_irqs), 0); in wm8350_irq_init() 497 if (wm8350->irq_base < 0) { in wm8350_irq_init() 499 wm8350->irq_base); in wm8350_irq_init() 516 for (cur_irq = wm8350->irq_base; in wm8350_irq_init() [all …]
|
| H A D | rc5t583-irq.c | 149 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_unmask() 160 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_mask() 173 unsigned int __irq = irq_data->irq - rc5t583->irq_base; in rc5t583_irq_set_type() 304 handle_nested_irq(rc5t583->irq_base + i); in rc5t583_irq() 320 int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base) in rc5t583_irq_init() argument 324 if (!irq_base) { in rc5t583_irq_init() 365 rc5t583->irq_base = irq_base; in rc5t583_irq_init() 369 int __irq = i + rc5t583->irq_base; in rc5t583_irq_init()
|
| H A D | da9063-core.c | 170 da9063->irq_base = -1; in da9063_device_init() 179 da9063->irq_base = regmap_irq_chip_get_base(da9063->regmap_irq); in da9063_device_init() 184 NULL, da9063->irq_base, NULL); in da9063_device_init() 193 NULL, da9063->irq_base, NULL); in da9063_device_init()
|
| H A D | tps65090.c | 168 int irq_base = 0; in tps65090_i2c_probe() local 179 irq_base = pdata->irq_base; in tps65090_i2c_probe() 197 IRQF_ONESHOT | IRQF_TRIGGER_LOW, irq_base, in tps65090_i2c_probe()
|
| H A D | 88pm860x-core.c | 478 handle_nested_irq(chip->irq_base + i); in pm860x_irq() 575 int nr_irqs, irq_base = -1; in device_irq_init() local 616 if (pdata && pdata->irq_base) in device_irq_init() 617 irq_base = pdata->irq_base; in device_irq_init() 619 chip->irq_base = irq_alloc_descs(irq_base, 0, nr_irqs, 0); in device_irq_init() 620 if (chip->irq_base < 0) { in device_irq_init() 622 chip->irq_base); in device_irq_init() 626 irq_domain_create_legacy(dev_fwnode(&i2c->dev), nr_irqs, chip->irq_base, 0, in device_irq_init() 883 chip->irq_base, NULL); in device_rtc_init() 902 chip->irq_base, NULL); in device_touch_init() [all …]
|
| /linux/arch/mips/kernel/ |
| H A D | irq-msc01.c | 24 static unsigned int irq_base; variable 31 if (irq < (irq_base + 32)) in mask_msc_irq() 32 MSCIC_WRITE(MSC01_IC_DISL, 1<<(irq - irq_base)); in mask_msc_irq() 34 MSCIC_WRITE(MSC01_IC_DISH, 1<<(irq - irq_base - 32)); in mask_msc_irq() 42 if (irq < (irq_base + 32)) in unmask_msc_irq() 43 MSCIC_WRITE(MSC01_IC_ENAL, 1<<(irq - irq_base)); in unmask_msc_irq() 45 MSCIC_WRITE(MSC01_IC_ENAH, 1<<(irq - irq_base - 32)); in unmask_msc_irq() 86 do_IRQ(irq + irq_base); in ll_msc_irq() 152 irq_base = irqbase; in init_msc_irqs()
|
| /linux/arch/arm/mach-sa1100/ |
| H A D | neponset.c | 80 unsigned irq_base; member 180 generic_handle_irq(d->irq_base + NEP_IRQ_SMC91X); in neponset_irq_handler() 183 generic_handle_irq(d->irq_base + NEP_IRQ_USAR); in neponset_irq_handler() 189 generic_handle_irq(d->irq_base + NEP_IRQ_SA1111); in neponset_irq_handler() 307 d->irq_base = ret; in neponset_probe() 309 irq_set_chip_and_handler(d->irq_base + NEP_IRQ_SMC91X, &nochip, in neponset_probe() 311 irq_clear_status_flags(d->irq_base + NEP_IRQ_SMC91X, IRQ_NOREQUEST | IRQ_NOPROBE); in neponset_probe() 312 irq_set_chip_and_handler(d->irq_base + NEP_IRQ_USAR, &nochip, in neponset_probe() 314 irq_clear_status_flags(d->irq_base + NEP_IRQ_USAR, IRQ_NOREQUEST | IRQ_NOPROBE); in neponset_probe() 315 irq_set_chip(d->irq_base + NEP_IRQ_SA1111, &nochip); in neponset_probe() [all …]
|
| /linux/drivers/gpio/ |
| H A D | gpio-timberdale.c | 38 int irq_base; member 92 if (tgpio->irq_base <= 0) in timbgpio_to_irq() 95 return tgpio->irq_base + offset; in timbgpio_to_irq() 104 int offset = d->irq - tgpio->irq_base; in timbgpio_irq_disable() 119 int offset = d->irq - tgpio->irq_base; in timbgpio_irq_enable() 134 int offset = d->irq - tgpio->irq_base; in timbgpio_irq_type() 240 tgpio->irq_base = pdata->irq_base; in timbgpio_probe() 257 gc->to_irq = (irq >= 0 && tgpio->irq_base > 0) ? timbgpio_to_irq : NULL; in timbgpio_probe() 270 if (irq < 0 || tgpio->irq_base <= 0) in timbgpio_probe() 274 irq_set_chip_and_handler(tgpio->irq_base + i, in timbgpio_probe() [all …]
|
| /linux/arch/sh/cchips/hd6446x/ |
| H A D | hd64461.c | 77 int irq_base, i; in setup_hd64461() local 90 irq_base = irq_alloc_descs(HD64461_IRQBASE, HD64461_IRQBASE, 16, -1); in setup_hd64461() 91 if (IS_ERR_VALUE(irq_base)) { in setup_hd64461() 93 return irq_base; in setup_hd64461() 97 irq_set_chip_and_handler(irq_base + i, &hd64461_irq_chip, in setup_hd64461()
|
| /linux/arch/mips/pci/ |
| H A D | pci-ar71xx.c | 51 int irq_base; member 238 generic_handle_irq(apc->irq_base + 0); in ar71xx_pci_irq_handler() 241 generic_handle_irq(apc->irq_base + 1); in ar71xx_pci_irq_handler() 244 generic_handle_irq(apc->irq_base + 2); in ar71xx_pci_irq_handler() 247 generic_handle_irq(apc->irq_base + 4); in ar71xx_pci_irq_handler() 261 irq = d->irq - apc->irq_base; in ar71xx_pci_irq_unmask() 278 irq = d->irq - apc->irq_base; in ar71xx_pci_irq_mask() 304 apc->irq_base = ATH79_PCI_IRQ_BASE; in ar71xx_pci_irq_init() 305 for (i = apc->irq_base; in ar71xx_pci_irq_init() 306 i < apc->irq_base + AR71XX_PCI_IRQ_COUNT; i++) { in ar71xx_pci_irq_init()
|
| H A D | pci-ar724x.c | 45 int irq_base; member 242 generic_handle_irq(apc->irq_base + 0); in ar724x_pci_irq_handler() 257 offset = apc->irq_base - d->irq; in ar724x_pci_irq_unmask() 278 offset = apc->irq_base - d->irq; in ar724x_pci_irq_mask() 316 apc->irq_base = ATH79_PCI_IRQ_BASE + (id * AR724X_PCI_IRQ_COUNT); in ar724x_pci_irq_init() 318 for (i = apc->irq_base; in ar724x_pci_irq_init() 319 i < apc->irq_base + AR724X_PCI_IRQ_COUNT; i++) { in ar724x_pci_irq_init()
|
| /linux/drivers/sh/intc/ |
| H A D | irqdomain.c | 47 unsigned int irq_base, irq_end; in intc_irq_domain_init() local 52 irq_base = evt2irq(hw->vectors[0].vect); in intc_irq_domain_init() 61 if (irq_base == 0 && irq_end == (irq_base + hw->nr_vectors - 1)) in intc_irq_domain_init()
|
| /linux/arch/arm/mach-omap1/ |
| H A D | irq.c | 187 int i, j, irq_base; in omap1_init_irq() local 215 irq_base = irq_alloc_descs(-1, 0, nr_irqs, 0); in omap1_init_irq() 216 if (irq_base < 0) { in omap1_init_irq() 218 irq_base = 0; in omap1_init_irq() 220 omap_l2_irq = irq_base; in omap1_init_irq() 223 domain = irq_domain_create_legacy(NULL, nr_irqs, irq_base, 0, &irq_domain_simple_ops, NULL); in omap1_init_irq() 247 omap_alloc_gc(irq_banks[i].va, irq_base + i * 32, 32); in omap1_init_irq()
|
| /linux/arch/arm/mach-imx/ |
| H A D | tzic.c | 151 int irq_base; in tzic_init_dt() local 175 irq_base = irq_alloc_descs(-1, 0, TZIC_NUM_IRQS, numa_node_id()); in tzic_init_dt() 176 WARN_ON(irq_base < 0); in tzic_init_dt() 178 domain = irq_domain_create_legacy(of_fwnode_handle(np), TZIC_NUM_IRQS, irq_base, 0, in tzic_init_dt() 182 for (i = 0; i < 4; i++, irq_base += 32) in tzic_init_dt() 183 tzic_init_gc(i, irq_base); in tzic_init_dt()
|
| H A D | avic.c | 169 int irq_base; in mxc_init_irq() local 200 irq_base = irq_alloc_descs(-1, 0, AVIC_NUM_IRQS, numa_node_id()); in mxc_init_irq() 201 WARN_ON(irq_base < 0); in mxc_init_irq() 204 domain = irq_domain_create_legacy(of_fwnode_handle(np), AVIC_NUM_IRQS, irq_base, 0, in mxc_init_irq() 208 for (i = 0; i < AVIC_NUM_IRQS / 32; i++, irq_base += 32) in mxc_init_irq() 209 avic_init_gc(i, irq_base); in mxc_init_irq()
|
| /linux/arch/arm/mach-pxa/ |
| H A D | irq.c | 54 static inline void __iomem *irq_base(int i) in irq_base() function 125 void __iomem *base = irq_base(hw / 32); in pxa_irq_map() 157 void __iomem *base = irq_base(n >> 5); in pxa_init_irq_common() 163 __raw_writel(1, irq_base(0) + ICCR); in pxa_init_irq_common() 186 void __iomem *base = irq_base(i); in pxa_irq_suspend() 205 void __iomem *base = irq_base(i); in pxa_irq_resume()
|
| /linux/drivers/base/regmap/ |
| H A D | regmap-irq.c | 30 int irq_base; member 631 static int regmap_irq_create_domain(struct fwnode_handle *fwnode, int irq_base, in regmap_irq_create_domain() argument 639 .virq_base = irq_base, in regmap_irq_create_domain() 674 int irq_flags, int irq_base, in regmap_add_irq_chip_fwnode() argument 700 if (irq_base) { in regmap_add_irq_chip_fwnode() 701 irq_base = irq_alloc_descs(irq_base, 0, chip->num_irqs, 0); in regmap_add_irq_chip_fwnode() 702 if (irq_base < 0) { in regmap_add_irq_chip_fwnode() 704 irq_base); in regmap_add_irq_chip_fwnode() 705 return irq_base; in regmap_add_irq_chip_fwnode() 785 d->irq_base = irq_base; in regmap_add_irq_chip_fwnode() [all …]
|
| /linux/kernel/irq/ |
| H A D | generic-chip.c | 211 int num_ct, unsigned int irq_base, in irq_init_generic_chip() argument 219 gc->irq_base = irq_base; in irq_init_generic_chip() 238 irq_alloc_generic_chip(const char *name, int num_ct, unsigned int irq_base, in irq_alloc_generic_chip() argument 245 irq_init_generic_chip(gc, name, num_ct, irq_base, reg_base, in irq_alloc_generic_chip() 543 for (i = gc->irq_base; msk; msk >>= 1, i++) { in irq_setup_generic_chip() 557 d->mask = 1 << (i - gc->irq_base); in irq_setup_generic_chip() 563 gc->irq_cnt = i - gc->irq_base; in irq_setup_generic_chip() 618 virq = irq_find_mapping(gc->domain, gc->irq_base + i); in irq_remove_generic_chip() 622 virq = gc->irq_base + i; in irq_remove_generic_chip() 639 return irq_get_irq_data(gc->irq_base); in irq_gc_get_irq_data() [all …]
|
| /linux/arch/sh/boards/mach-se/7724/ |
| H A D | irq.c | 114 int irq_base, i; in init_se7724_IRQ() local 124 irq_base = irq_alloc_descs(SE7724_FPGA_IRQ_BASE, SE7724_FPGA_IRQ_BASE, in init_se7724_IRQ() 126 if (IS_ERR_VALUE(irq_base)) { in init_se7724_IRQ() 132 irq_set_chip_and_handler_name(irq_base + i, &se7724_irq_chip, in init_se7724_IRQ()
|
| /linux/arch/sh/boards/mach-se/7722/ |
| H A D | irq.c | 70 unsigned int irq_base; in se7722_gc_init() local 72 irq_base = irq_find_mapping(se7722_irq_domain, 0); in se7722_gc_init() 74 gc = irq_alloc_generic_chip(DRV_NAME, 1, irq_base, se7722_irq_regs, in se7722_gc_init()
|