diff options
Diffstat (limited to 'kernel/irq/generic-chip.c')
-rw-r--r-- | kernel/irq/generic-chip.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c index e3544c19bdd2..10e663ab1f4a 100644 --- a/kernel/irq/generic-chip.c +++ b/kernel/irq/generic-chip.c | |||
@@ -275,10 +275,7 @@ int irq_alloc_domain_generic_chips(struct irq_domain *d, int irqs_per_chip, | |||
275 | if (d->gc) | 275 | if (d->gc) |
276 | return -EBUSY; | 276 | return -EBUSY; |
277 | 277 | ||
278 | if (d->revmap_type != IRQ_DOMAIN_MAP_LINEAR) | 278 | numchips = d->revmap_size / irqs_per_chip; |
279 | return -EINVAL; | ||
280 | |||
281 | numchips = d->revmap_data.linear.size / irqs_per_chip; | ||
282 | if (!numchips) | 279 | if (!numchips) |
283 | return -EINVAL; | 280 | return -EINVAL; |
284 | 281 | ||
@@ -310,6 +307,7 @@ int irq_alloc_domain_generic_chips(struct irq_domain *d, int irqs_per_chip, | |||
310 | /* Calc pointer to the next generic chip */ | 307 | /* Calc pointer to the next generic chip */ |
311 | tmp += sizeof(*gc) + num_ct * sizeof(struct irq_chip_type); | 308 | tmp += sizeof(*gc) + num_ct * sizeof(struct irq_chip_type); |
312 | } | 309 | } |
310 | d->name = name; | ||
313 | return 0; | 311 | return 0; |
314 | } | 312 | } |
315 | EXPORT_SYMBOL_GPL(irq_alloc_domain_generic_chips); | 313 | EXPORT_SYMBOL_GPL(irq_alloc_domain_generic_chips); |