Lines Matching refs:region
149 struct irq_region *region; in mask_irq() local
154 region = irq_region[IRQ_REGION(irq)]; in mask_irq()
155 if (region->ops.mask_irq) in mask_irq()
156 region->ops.mask_irq(region->data.dev, IRQ_OFFSET(irq)); in mask_irq()
161 struct irq_region *region; in unmask_irq() local
166 region = irq_region[IRQ_REGION(irq)]; in unmask_irq()
167 if (region->ops.unmask_irq) in unmask_irq()
168 region->ops.unmask_irq(region->data.dev, IRQ_OFFSET(irq)); in unmask_irq()
173 struct irq_region *region; in disable_irq() local
178 region = irq_region[IRQ_REGION(irq)]; in disable_irq()
179 if (region->ops.disable_irq) in disable_irq()
180 region->ops.disable_irq(region->data.dev, IRQ_OFFSET(irq)); in disable_irq()
187 struct irq_region *region; in enable_irq() local
192 region = irq_region[IRQ_REGION(irq)]; in enable_irq()
194 if (region->ops.enable_irq) in enable_irq()
195 region->ops.enable_irq(region->data.dev, IRQ_OFFSET(irq)); in enable_irq()
224 struct irq_region *region = irq_region[regnr]; in get_irq_list() local
229 if (!region || !region->action) in get_irq_list()
233 struct irqaction *action = ®ion->action[i]; in get_irq_list()
248 region->data.name ? region->data.name : "N/A"); in get_irq_list()
479 void do_irq_mask(unsigned long mask, struct irq_region *region, struct pt_regs *regs) in do_irq_mask() argument
486 printk(KERN_DEBUG "do_irq_mask %08lx %p %p\n", mask, region, regs); in do_irq_mask()
495 irq_num = region->data.irqbase + irq; in do_irq_mask()
498 do_irq(®ion->action[irq], irq_num, regs); in do_irq_mask()
534 struct irq_region *region; in alloc_irq_region() local
562 region = kmalloc(sizeof(*region), GFP_ATOMIC); in alloc_irq_region()
563 if (!region) in alloc_irq_region()
565 memset(region, 0, sizeof(*region)); in alloc_irq_region()
567 region->action = kmalloc(count * sizeof(*region->action), GFP_ATOMIC); in alloc_irq_region()
568 if (!region->action) { in alloc_irq_region()
569 kfree(region); in alloc_irq_region()
572 memset(region->action, 0, count * sizeof(*region->action)); in alloc_irq_region()
574 region->ops = *ops; in alloc_irq_region()
575 region->data.irqbase = IRQ_FROM_REGION(index); in alloc_irq_region()
576 region->data.name = name; in alloc_irq_region()
577 region->data.dev = dev; in alloc_irq_region()
579 irq_region[index] = region; in alloc_irq_region()
722 struct irq_region *region; in probe_irq_on() local
725 region = irq_region[EISA_IRQ_REGION]; in probe_irq_on()
726 if (!EISA_bus || !region) in probe_irq_on()
740 action = region->action + i; in probe_irq_on()
742 region->data.status[i] |= IRQ_AUTODETECT | IRQ_WAITING; in probe_irq_on()
743 region->ops.enable_irq(region->data.dev,i); in probe_irq_on()
762 status = region->data.status[i]; in probe_irq_on()
767 region->data.status[i] = status & ~IRQ_AUTODETECT; in probe_irq_on()
768 region->ops.disable_irq(region->data.dev,i); in probe_irq_on()
804 struct irq_region *region; in probe_irq_off() local
808 region = irq_region[EISA_IRQ_REGION]; in probe_irq_off()
809 if (!EISA_bus || !region) in probe_irq_off()
818 status = region->data.status[i]; in probe_irq_off()
826 region->ops.disable_irq(region->data.dev,i); in probe_irq_off()
827 region->data.status[i] = status & ~IRQ_AUTODETECT; in probe_irq_off()