X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=kernel%2Firq%2Fgeneric-chip.c;h=452d6f2ba21d9ae0b2b6cd1a966721b325ec9e23;hb=c79a8d85d7f540e9dbe3e3111c41d14395a0c9e2;hp=e3544c19bdd260b10840c285b733403ebf8419fd;hpb=622f9a8e7b8043a5ea2c7d047d65ecad01fe0f97;p=deliverable%2Flinux.git diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c index e3544c19bdd2..452d6f2ba21d 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, if (d->gc) return -EBUSY; - if (d->revmap_type != IRQ_DOMAIN_MAP_LINEAR) - return -EINVAL; - - numchips = d->revmap_data.linear.size / irqs_per_chip; + numchips = DIV_ROUND_UP(d->revmap_size, irqs_per_chip); if (!numchips) return -EINVAL; @@ -310,6 +307,7 @@ int irq_alloc_domain_generic_chips(struct irq_domain *d, int irqs_per_chip, /* Calc pointer to the next generic chip */ tmp += sizeof(*gc) + num_ct * sizeof(struct irq_chip_type); } + d->name = name; return 0; } EXPORT_SYMBOL_GPL(irq_alloc_domain_generic_chips);