*flags |= rule->flags | IORESOURCE_IRQ;
*flags &= ~IORESOURCE_UNSET;
- if (bitmap_empty(rule->map, PNP_IRQ_NR)) {
+ if (!rule->map) {
*flags |= IORESOURCE_DISABLED;
return 1; /* skip disabled resource requests */
}
- /* TBD: need check for >16 IRQ */
- *start = find_next_bit(rule->map, PNP_IRQ_NR, 16);
- if (*start < PNP_IRQ_NR) {
- *end = *start;
- return 1;
- }
for (i = 0; i < 16; i++) {
- if(test_bit(xtab[i], rule->map)) {
+ if(rule->map & (1<<xtab[i])) {
*start = *end = xtab[i];
if(pnp_check_irq(dev, idx))
return 1;