static __init void pnpacpi_parse_ext_irq_option(struct pnp_dev *dev, unsigned int option_flags, struct acpi_resource_extended_irq *p) { int i; pnp_irq_mask_t map; unsigned char flags; if (p->interrupt_count == 0) return; bitmap_zero(map.bits, PNP_IRQ_NR); for (i = 0; i < p->interrupt_count; i++) { if (p->interrupts[i]) { if (p->interrupts[i] < PNP_IRQ_NR) __set_bit(p->interrupts[i], map.bits); else dev_err(&dev->dev, "ignoring IRQ %d option " "(too large for %d entry bitmap)\n", p->interrupts[i], PNP_IRQ_NR); } } flags = irq_flags(p->triggering, p->polarity, p->sharable); pnp_register_irq_resource(dev, option_flags, &map, flags); }
static __init void pnpacpi_parse_irq_option(struct pnp_dev *dev, unsigned int option_flags, struct acpi_resource_irq *p) { int i; pnp_irq_mask_t map; unsigned char flags; bitmap_zero(map.bits, PNP_IRQ_NR); for (i = 0; i < p->interrupt_count; i++) if (p->interrupts[i]) __set_bit(p->interrupts[i], map.bits); flags = acpi_dev_irq_flags(p->triggering, p->polarity, p->sharable); pnp_register_irq_resource(dev, option_flags, &map, flags); }
static void pnpacpi_parse_ext_irq_option(struct pnp_option *option, struct acpi_resource_ext_irq *p) { int i; struct pnp_irq * irq; if (p->number_of_interrupts == 0) return; irq = pnpacpi_kmalloc(sizeof(struct pnp_irq), GFP_KERNEL); if (!irq) return; for(i = 0; i < p->number_of_interrupts; i++) if (p->interrupts[i]) __set_bit(p->interrupts[i], irq->map); irq->flags = irq_flags(p->edge_level, p->active_high_low); pnp_register_irq_resource(option, irq); return; }
static void pnpacpi_parse_ext_irq_option(struct pnp_option *option, struct acpi_resource_extended_irq *p) { int i; struct pnp_irq *irq; if (p->interrupt_count == 0) return; irq = kcalloc(1, sizeof(struct pnp_irq), GFP_KERNEL); if (!irq) return; for(i = 0; i < p->interrupt_count; i++) if (p->interrupts[i]) __set_bit(p->interrupts[i], irq->map); irq->flags = irq_flags(p->triggering, p->polarity); pnp_register_irq_resource(option, irq); return; }