The patch titled pnp: introduce pnp_irq_mask_t typedef has been added to the -mm tree. Its filename is pnp-introduce-pnp_irq_mask_t-typedef.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: pnp: introduce pnp_irq_mask_t typedef From: Bjorn Helgaas <bjorn.helgaas@xxxxxx> This adds a typedef for the IRQ bitmap, which should cause no functional change, but will make it easier to pass a pointer to a bitmap to pnp_register_irq_resource(). Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Acked-by: Rene Herman <rene.herman@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Adam M Belay <abelay@xxxxxxx> Cc: Li Shaohua <shaohua.li@xxxxxxxxx> Cc: Matthieu Castet <castet.matthieu@xxxxxxx> Cc: Thomas Renninger <trenn@xxxxxxx> Cc: Jaroslav Kysela <perex@xxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/pnp/base.h | 4 +++- drivers/pnp/interface.c | 4 ++-- drivers/pnp/isapnp/core.c | 2 +- drivers/pnp/manager.c | 6 +++--- drivers/pnp/pnpacpi/rsparser.c | 4 ++-- drivers/pnp/pnpbios/rsparser.c | 2 +- drivers/pnp/quirks.c | 4 ++-- drivers/pnp/resource.c | 6 +++--- 8 files changed, 17 insertions(+), 15 deletions(-) diff -puN drivers/pnp/base.h~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/base.h --- a/drivers/pnp/base.h~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/base.h @@ -30,8 +30,10 @@ struct pnp_port { }; #define PNP_IRQ_NR 256 +typedef struct { DECLARE_BITMAP(bits, PNP_IRQ_NR); } pnp_irq_mask_t; + struct pnp_irq { - DECLARE_BITMAP(map, PNP_IRQ_NR); /* bitmask for IRQ lines */ + pnp_irq_mask_t map; /* bitmap for IRQ lines */ unsigned char flags; /* IRQ flags */ unsigned char pad; /* pad */ struct pnp_irq *next; /* next IRQ */ diff -puN drivers/pnp/interface.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/interface.c --- a/drivers/pnp/interface.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/interface.c @@ -67,7 +67,7 @@ static void pnp_print_irq(pnp_info_buffe pnp_printf(buffer, "%sirq ", space); for (i = 0; i < PNP_IRQ_NR; i++) - if (test_bit(i, irq->map)) { + if (test_bit(i, irq->map.bits)) { if (!first) { pnp_printf(buffer, ","); } else { @@ -78,7 +78,7 @@ static void pnp_print_irq(pnp_info_buffe else pnp_printf(buffer, "%i", i); } - if (bitmap_empty(irq->map, PNP_IRQ_NR)) + if (bitmap_empty(irq->map.bits, PNP_IRQ_NR)) pnp_printf(buffer, "<none>"); if (irq->flags & IORESOURCE_IRQ_HIGHEDGE) pnp_printf(buffer, " High-Edge"); diff -puN drivers/pnp/isapnp/core.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/isapnp/core.c --- a/drivers/pnp/isapnp/core.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/isapnp/core.c @@ -441,7 +441,7 @@ static void __init isapnp_parse_irq_reso if (!irq) return; bits = (tmp[1] << 8) | tmp[0]; - bitmap_copy(irq->map, &bits, 16); + bitmap_copy(irq->map.bits, &bits, 16); if (size > 2) irq->flags = tmp[2]; else diff -puN drivers/pnp/manager.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/manager.c --- a/drivers/pnp/manager.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/manager.c @@ -128,20 +128,20 @@ static int pnp_assign_irq(struct pnp_dev res->start = -1; res->end = -1; - if (bitmap_empty(rule->map, PNP_IRQ_NR)) { + if (bitmap_empty(rule->map.bits, PNP_IRQ_NR)) { res->flags |= IORESOURCE_DISABLED; dev_dbg(&dev->dev, " irq %d disabled\n", idx); goto __add; } /* TBD: need check for >16 IRQ */ - res->start = find_next_bit(rule->map, PNP_IRQ_NR, 16); + res->start = find_next_bit(rule->map.bits, PNP_IRQ_NR, 16); if (res->start < PNP_IRQ_NR) { res->end = res->start; goto __add; } for (i = 0; i < 16; i++) { - if (test_bit(xtab[i], rule->map)) { + if (test_bit(xtab[i], rule->map.bits)) { res->start = res->end = xtab[i]; if (pnp_check_irq(dev, res)) goto __add; diff -puN drivers/pnp/pnpacpi/rsparser.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/pnpacpi/rsparser.c --- a/drivers/pnp/pnpacpi/rsparser.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/pnpacpi/rsparser.c @@ -408,7 +408,7 @@ static __init void pnpacpi_parse_irq_opt for (i = 0; i < p->interrupt_count; i++) if (p->interrupts[i]) - __set_bit(p->interrupts[i], irq->map); + __set_bit(p->interrupts[i], irq->map.bits); irq->flags = irq_flags(p->triggering, p->polarity, p->sharable); pnp_register_irq_resource(dev, option, irq); @@ -429,7 +429,7 @@ static __init void pnpacpi_parse_ext_irq for (i = 0; i < p->interrupt_count; i++) if (p->interrupts[i]) - __set_bit(p->interrupts[i], irq->map); + __set_bit(p->interrupts[i], irq->map.bits); irq->flags = irq_flags(p->triggering, p->polarity, p->sharable); pnp_register_irq_resource(dev, option, irq); diff -puN drivers/pnp/pnpbios/rsparser.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/pnpbios/rsparser.c --- a/drivers/pnp/pnpbios/rsparser.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/pnpbios/rsparser.c @@ -275,7 +275,7 @@ static __init void pnpbios_parse_irq_opt if (!irq) return; bits = (p[2] << 8) | p[1]; - bitmap_copy(irq->map, &bits, 16); + bitmap_copy(irq->map.bits, &bits, 16); if (size > 2) irq->flags = p[3]; else diff -puN drivers/pnp/quirks.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/quirks.c --- a/drivers/pnp/quirks.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/quirks.c @@ -68,7 +68,7 @@ static void quirk_cmi8330_resources(stru for (irq = res->irq; irq; irq = irq->next) { // Valid irqs are 5, 7, 10 tmp = 0x04A0; - bitmap_copy(irq->map, &tmp, 16); // 0000 0100 1010 0000 + bitmap_copy(irq->map.bits, &tmp, 16); // 0000 0100 1010 0000 } for (dma = res->dma; dma; dma = dma->next) // Valid 8bit dma channels are 1,3 @@ -187,7 +187,7 @@ static void quirk_ad1815_mpu_resources(s if (!copy) break; - memcpy(copy->map, irq->map, sizeof copy->map); + bitmap_copy(copy->map.bits, irq->map.bits, PNP_IRQ_NR); copy->flags = irq->flags; copy->next = res->irq; /* Yes, this is NULL */ diff -puN drivers/pnp/resource.c~pnp-introduce-pnp_irq_mask_t-typedef drivers/pnp/resource.c --- a/drivers/pnp/resource.c~pnp-introduce-pnp_irq_mask_t-typedef +++ a/drivers/pnp/resource.c @@ -98,13 +98,13 @@ int pnp_register_irq_resource(struct pnp int i; for (i = 0; i < 16; i++) - if (test_bit(i, data->map)) + if (test_bit(i, data->map.bits)) pcibios_penalize_isa_irq(i, 0); } #endif #ifdef DEBUG - bitmap_scnprintf(buf, sizeof(buf), data->map, PNP_IRQ_NR); + bitmap_scnprintf(buf, sizeof(buf), data->map.bits, PNP_IRQ_NR); dev_dbg(&dev->dev, " irq bitmask %s flags %#x\n", buf, data->flags); #endif @@ -653,7 +653,7 @@ static int pnp_possible_option(struct pn case IORESOURCE_IRQ: for (irq = tmp->irq; irq; irq = irq->next) { if (start < PNP_IRQ_NR && - test_bit(start, irq->map)) + test_bit(start, irq->map.bits)) return 1; } break; _ Patches currently in -mm which might be from bjorn.helgaas@xxxxxx are pnp-mark-resources-that-conflict-with-pci-devices-disabled.patch acpi_pm_device_sleep_state-cleanup.patch mm-only-enforce-acpi-resource-conflict-checks.patch provide-rtc_cmos-platform-device-take-2.patch acpi-fix-drivers-acpi-gluec-build-error.patch pnpacpi-fix-irq-flag-decoding.patch pnpacpi-fix-irq-flag-decoding-comment-fix.patch pnpacpi-fix-shareable-irq-encode-decode.patch pnpacpi-use-_crs-irq-descriptor-length-for-_srs-v2.patch pnp-add-detail-to-debug-resource-dump.patch pnp-remove-pnp_resourceindex.patch pnp-add-pnp_resource_type-internal-interface.patch pnp-add-pnp_resource_type_name-helper-function.patch pnp-make-pnp_portmemetc_start-et-al-work-for-invalid-resources.patch pnp-replace-pnp_resource_table-with-dynamically-allocated-resources.patch pnp-replace-pnp_resource_table-with-dynamically-allocated-resources-merge-fix.patch pnp-remove-ratelimit-on-add-resource-failures.patch pnp-dont-sort-by-type-in-sys-resources.patch pnp-set-the-pnp_card-dma_mask-for-use-by-isapnp-cards.patch isa-set-24-bit-dma_mask-for-isa-devices.patch pnp-add-pnp_possible_config-can-a-device-could-be-configured-this-way.patch pnp-whitespace-coding-style-fixes.patch pnp-define-pnp-specific-ioresource_io_-flags-alongside-irq-dma-mem.patch pnp-make-resource-option-structures-private-to-pnp-subsystem.patch pnp-introduce-pnp_irq_mask_t-typedef.patch pnp-increase-i-o-port-memory-option-address-sizes.patch pnp-improve-resource-assignment-debug.patch pnp-in-debug-resource-dump-make-empty-list-obvious.patch pnp-make-resource-assignment-functions-return-0-success-or-ebusy-failure.patch pnp-remove-redundant-pnp_can_configure-check.patch pnp-centralize-resource-option-allocations.patch pnpacpi-ignore-_prs-interrupt-numbers-larger-than-pnp_irq_nr.patch pnp-rename-pnp_register__resource-local-variables.patch pnp-support-optional-irq-resources.patch pnp-remove-extra-0x100-bit-from-option-priority.patch isapnp-handle-independent-options-following-dependent-ones.patch pnp-convert-resource-options-to-single-linked-list.patch make-pnp_add_card_id-static.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html