Lines Matching defs:xibm
52 struct xive_irq_bitmap *xibm;
54 xibm = kzalloc(sizeof(*xibm), GFP_KERNEL);
55 if (!xibm)
58 spin_lock_init(&xibm->lock);
59 xibm->base = base;
60 xibm->count = count;
61 xibm->bitmap = bitmap_zalloc(xibm->count, GFP_KERNEL);
62 if (!xibm->bitmap) {
63 kfree(xibm);
66 list_add(&xibm->list, &xive_irq_bitmaps);
68 pr_info("Using IRQ range [%x-%x]", xibm->base,
69 xibm->base + xibm->count - 1);
75 struct xive_irq_bitmap *xibm, *tmp;
77 list_for_each_entry_safe(xibm, tmp, &xive_irq_bitmaps, list) {
78 list_del(&xibm->list);
79 bitmap_free(xibm->bitmap);
80 kfree(xibm);
84 static int __xive_irq_bitmap_alloc(struct xive_irq_bitmap *xibm)
88 irq = find_first_zero_bit(xibm->bitmap, xibm->count);
89 if (irq != xibm->count) {
90 set_bit(irq, xibm->bitmap);
91 irq += xibm->base;
101 struct xive_irq_bitmap *xibm;
105 list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
106 spin_lock_irqsave(&xibm->lock, flags);
107 irq = __xive_irq_bitmap_alloc(xibm);
108 spin_unlock_irqrestore(&xibm->lock, flags);
118 struct xive_irq_bitmap *xibm;
120 list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
121 if ((irq >= xibm->base) && (irq < xibm->base + xibm->count)) {
122 spin_lock_irqsave(&xibm->lock, flags);
123 clear_bit(irq - xibm->base, xibm->bitmap);
124 spin_unlock_irqrestore(&xibm->lock, flags);
668 struct xive_irq_bitmap *xibm;
674 list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
676 bitmap_print_to_pagebuf(true, buf, xibm->bitmap, xibm->count);
677 seq_printf(m, "bitmap #%d: %s", xibm->count, buf);