diff options
Diffstat (limited to 'drivers/irqchip/irq-gic.c')
| -rw-r--r-- | drivers/irqchip/irq-gic.c | 60 | 
1 files changed, 3 insertions, 57 deletions
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 95e3d2a71db6..412196a7dad5 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -1081,10 +1081,6 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,  	return 0;  } -static void gic_irq_domain_unmap(struct irq_domain *d, unsigned int irq) -{ -} -  static int gic_irq_domain_translate(struct irq_domain *d,  				    struct irq_fwspec *fwspec,  				    unsigned long *hwirq, @@ -1167,11 +1163,6 @@ static const struct irq_domain_ops gic_irq_domain_hierarchy_ops = {  	.free = irq_domain_free_irqs_top,  }; -static const struct irq_domain_ops gic_irq_domain_ops = { -	.map = gic_irq_domain_map, -	.unmap = gic_irq_domain_unmap, -}; -  static int gic_init_bases(struct gic_chip_data *gic,  			  struct fwnode_handle *handle)  { @@ -1219,30 +1210,9 @@ static int gic_init_bases(struct gic_chip_data *gic,  		gic_irqs = 1020;  	gic->gic_irqs = gic_irqs; -	if (handle) {		/* DT/ACPI */ -		gic->domain = irq_domain_create_linear(handle, gic_irqs, -						       &gic_irq_domain_hierarchy_ops, -						       gic); -	} else {		/* Legacy support */ -		/* -		 * For primary GICs, skip over SGIs. -		 * No secondary GIC support whatsoever. -		 */ -		int irq_base; - -		gic_irqs -= 16; /* calculate # of irqs to allocate */ - -		irq_base = irq_alloc_descs(16, 16, gic_irqs, -					   numa_node_id()); -		if (irq_base < 0) { -			WARN(1, "Cannot allocate irq_descs @ IRQ16, assuming pre-allocated\n"); -			irq_base = 16; -		} - -		gic->domain = irq_domain_add_legacy(NULL, gic_irqs, irq_base, -						    16, &gic_irq_domain_ops, gic); -	} - +	gic->domain = irq_domain_create_linear(handle, gic_irqs, +					       &gic_irq_domain_hierarchy_ops, +					       gic);  	if (WARN_ON(!gic->domain)) {  		ret = -ENODEV;  		goto error; @@ -1297,23 +1267,6 @@ static int __init __gic_init_bases(struct gic_chip_data *gic,  	return ret;  } -void __init gic_init(void __iomem *dist_base, void __iomem *cpu_base) -{ -	struct gic_chip_data *gic; - -	/* -	 * Non-DT/ACPI systems won't run a hypervisor, so let's not -	 * bother with these... -	 */ -	static_branch_disable(&supports_deactivate_key); - -	gic = &gic_data[0]; -	gic->raw_dist_base = dist_base; -	gic->raw_cpu_base = cpu_base; - -	__gic_init_bases(gic, NULL); -} -  static void gic_teardown(struct gic_chip_data *gic)  {  	if (WARN_ON(!gic)) @@ -1325,7 +1278,6 @@ static void gic_teardown(struct gic_chip_data *gic)  		iounmap(gic->raw_cpu_base);  } -#ifdef CONFIG_OF  static int gic_cnt __initdata;  static bool gicv2_force_probe; @@ -1570,12 +1522,6 @@ IRQCHIP_DECLARE(cortex_a7_gic, "arm,cortex-a7-gic", gic_of_init);  IRQCHIP_DECLARE(msm_8660_qgic, "qcom,msm-8660-qgic", gic_of_init);  IRQCHIP_DECLARE(msm_qgic2, "qcom,msm-qgic2", gic_of_init);  IRQCHIP_DECLARE(pl390, "arm,pl390", gic_of_init); -#else -int gic_of_init_child(struct device *dev, struct gic_chip_data **gic, int irq) -{ -	return -ENOTSUPP; -} -#endif  #ifdef CONFIG_ACPI  static struct  |