Lines Matching defs:xibm
49 struct xive_irq_bitmap *xibm;
51 xibm = kzalloc(sizeof(*xibm), GFP_KERNEL);
52 if (!xibm)
55 spin_lock_init(&xibm->lock);
56 xibm->base = base;
57 xibm->count = count;
58 xibm->bitmap = kzalloc(xibm->count, GFP_KERNEL);
59 if (!xibm->bitmap) {
60 kfree(xibm);
63 list_add(&xibm->list, &xive_irq_bitmaps);
65 pr_info("Using IRQ range [%x-%x]", xibm->base,
66 xibm->base + xibm->count - 1);
70 static int __xive_irq_bitmap_alloc(struct xive_irq_bitmap *xibm)
74 irq = find_first_zero_bit(xibm->bitmap, xibm->count);
75 if (irq != xibm->count) {
76 set_bit(irq, xibm->bitmap);
77 irq += xibm->base;
87 struct xive_irq_bitmap *xibm;
91 list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
92 spin_lock_irqsave(&xibm->lock, flags);
93 irq = __xive_irq_bitmap_alloc(xibm);
94 spin_unlock_irqrestore(&xibm->lock, flags);
104 struct xive_irq_bitmap *xibm;
106 list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
107 if ((irq >= xibm->base) && (irq < xibm->base + xibm->count)) {
108 spin_lock_irqsave(&xibm->lock, flags);
109 clear_bit(irq - xibm->base, xibm->bitmap);
110 spin_unlock_irqrestore(&xibm->lock, flags);
659 struct xive_irq_bitmap *xibm;
665 list_for_each_entry(xibm, &xive_irq_bitmaps, list) {
667 bitmap_print_to_pagebuf(true, buf, xibm->bitmap, xibm->count);
668 seq_printf(m, "bitmap #%d: %s", xibm->count, buf);