@@ -475,7 +475,6 @@ extern int __irq_domain_alloc_irqs_data(struct irq_domain *domain, int virq,
const struct irq_affinity_desc *affinity);
extern int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base,
unsigned int nr_irqs, int node, void *arg,
- bool realloc,
const struct irq_affinity_desc *affinity);
extern void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs);
extern int irq_domain_activate_irq(struct irq_data *irq_data, bool early);
@@ -484,8 +483,7 @@ extern void irq_domain_deactivate_irq(struct irq_data *irq_data);
static inline int irq_domain_alloc_irqs(struct irq_domain *domain,
unsigned int nr_irqs, int node, void *arg)
{
- return __irq_domain_alloc_irqs(domain, -1, nr_irqs, node, arg, false,
- NULL);
+ return __irq_domain_alloc_irqs(domain, -1, nr_irqs, node, arg, NULL);
}
extern int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain,
@@ -973,7 +973,7 @@ static int alloc_irq_from_domain(struct irq_domain *domain, int ioapic, u32 gsi,
if (irq == -1 || !legacy)
return __irq_domain_alloc_irqs(domain, irq, 1,
ioapic_alloc_attr_node(info),
- info, false, NULL);
+ info, NULL);
return __irq_domain_alloc_irqs_data(domain, irq, 1,
ioapic_alloc_attr_node(info),
@@ -1059,7 +1059,6 @@ static void gpiochip_set_hierarchical_irqchip(struct gpio_chip *gc,
1,
NUMA_NO_NODE,
&fwspec,
- false,
NULL);
if (ret < 0) {
chip_err(gc,
@@ -431,7 +431,7 @@ static __init void armada_xp_ipi_init(struct device_node *node)
irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI);
base_ipi = __irq_domain_alloc_irqs(ipi_domain, -1, IPI_DOORBELL_END,
- NUMA_NO_NODE, NULL, false, NULL);
+ NUMA_NO_NODE, NULL, NULL);
if (WARN_ON(!base_ipi))
return;
@@ -269,8 +269,7 @@ static void __init bcm2836_arm_irqchip_smp_init(void)
irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI);
base_ipi = __irq_domain_alloc_irqs(ipi_domain, -1, BITS_PER_MBOX,
- NUMA_NO_NODE, NULL,
- false, NULL);
+ NUMA_NO_NODE, NULL, NULL);
if (WARN_ON(!base_ipi))
return;
@@ -1163,8 +1163,7 @@ static void __init gic_smp_init(void)
/* Register all 8 non-secure SGIs */
base_sgi = __irq_domain_alloc_irqs(gic_data.domain, -1, 8,
- NUMA_NO_NODE, &sgi_fwspec,
- false, NULL);
+ NUMA_NO_NODE, &sgi_fwspec, NULL);
if (WARN_ON(base_sgi <= 0))
return;
@@ -117,8 +117,7 @@ static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx)
goto err;
sgi_base = __irq_domain_alloc_irqs(vpe->sgi_domain, -1, 16,
- NUMA_NO_NODE, vpe,
- false, NULL);
+ NUMA_NO_NODE, vpe, NULL);
if (sgi_base <= 0)
goto err;
@@ -154,8 +153,7 @@ int its_alloc_vcpu_irqs(struct its_vm *vm)
}
vpe_base_irq = __irq_domain_alloc_irqs(vm->domain, -1, vm->nr_vpes,
- NUMA_NO_NODE, vm,
- false, NULL);
+ NUMA_NO_NODE, vm, NULL);
if (vpe_base_irq <= 0)
goto err;
@@ -846,8 +846,7 @@ static __init void gic_smp_init(void)
gic_starting_cpu, NULL);
base_sgi = __irq_domain_alloc_irqs(gic_data[0].domain, -1, 8,
- NUMA_NO_NODE, &sgi_fwspec,
- false, NULL);
+ NUMA_NO_NODE, &sgi_fwspec, NULL);
if (WARN_ON(base_sgi <= 0))
return;
@@ -353,7 +353,6 @@ void __init ixp4xx_irq_init(resource_size_t irqbase,
chunk->nr_irqs,
NUMA_NO_NODE,
&fwspec,
- false,
NULL);
if (ret < 0) {
pr_crit("IXP4XX: can not allocate irqs in hierarchy %d\n",
@@ -76,7 +76,7 @@ int irq_reserve_ipi(struct irq_domain *domain,
}
virq = __irq_domain_alloc_irqs(domain, -1, nr_irqs, NUMA_NO_NODE,
- (void *) dest, false, NULL);
+ (void *) dest, NULL);
if (virq <= 0) {
pr_warn("Can't reserve IPI, failed to alloc hw irqs\n");
@@ -1438,12 +1438,10 @@ int __irq_domain_alloc_irqs_data(struct irq_domain *domain, int virq,
* @nr_irqs: number of IRQs to allocate
* @node: NUMA node id for memory allocation
* @arg: domain specific argument
- * @realloc: IRQ descriptors have already been allocated if true
* @affinity: Optional irq affinity mask for multiqueue devices
*
* Allocate IRQ numbers and initialized all data structures to support
* hierarchy IRQ domains.
- * Parameter @realloc is mainly to support legacy IRQs.
* Returns error code or allocated IRQ number
*
* The whole process to setup an IRQ has been split into two steps.
@@ -1455,7 +1453,7 @@ int __irq_domain_alloc_irqs_data(struct irq_domain *domain, int virq,
*/
int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base,
unsigned int nr_irqs, int node, void *arg,
- bool realloc, const struct irq_affinity_desc *affinity)
+ const struct irq_affinity_desc *affinity)
{
int ret, virq;
@@ -414,7 +414,7 @@ int __msi_domain_alloc_irqs(struct irq_domain *domain, struct device *dev,
ops->set_desc(&arg, desc);
virq = __irq_domain_alloc_irqs(domain, -1, desc->nvec_used,
- dev_to_node(dev), &arg, false,
+ dev_to_node(dev), &arg,
desc->affinity);
if (virq < 0) {
ret = -ENOSPC;
The two previous patches made @realloc obsolete. This finishes removing it. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- include/linux/irqdomain.h | 4 +--- arch/x86/kernel/apic/io_apic.c | 2 +- drivers/gpio/gpiolib.c | 1 - drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm2836.c | 3 +-- drivers/irqchip/irq-gic-v3.c | 3 +-- drivers/irqchip/irq-gic-v4.c | 6 ++---- drivers/irqchip/irq-gic.c | 3 +-- drivers/irqchip/irq-ixp4xx.c | 1 - kernel/irq/ipi.c | 2 +- kernel/irq/irqdomain.c | 4 +--- kernel/irq/msi.c | 2 +- 12 files changed, 11 insertions(+), 22 deletions(-)