Lines Matching refs:desc
113 static void partition_handle_irq(struct irq_desc *desc)
115 struct partition_desc *part = irq_desc_get_handler_data(desc);
116 struct irq_chip *chip = irq_desc_get_chip(desc);
120 chained_irq_enter(chip, desc);
128 handle_bad_irq(desc);
132 chained_irq_exit(chip, desc);
174 int partition_translate_id(struct partition_desc *desc, void *partition_id)
179 for (i = 0; i < desc->nr_parts; i++) {
180 if (desc->parts[i].partition_id == partition_id) {
181 part = &desc->parts[i];
200 struct partition_desc *desc;
205 desc = kzalloc(sizeof(*desc), GFP_KERNEL);
206 if (!desc)
209 desc->ops = *ops;
210 desc->ops.free = partition_domain_free;
211 desc->ops.alloc = partition_domain_alloc;
213 d = irq_domain_create_linear(fwnode, nr_parts, &desc->ops, desc);
216 desc->domain = d;
218 desc->bitmap = bitmap_zalloc(nr_parts, GFP_KERNEL);
219 if (WARN_ON(!desc->bitmap))
222 desc->chained_desc = irq_to_desc(chained_irq);
223 desc->nr_parts = nr_parts;
224 desc->parts = parts;
226 return desc;
230 kfree(desc);