|
@@ -916,30 +916,6 @@ static void gic_irq_domain_unmap(struct irq_domain *d, unsigned int irq)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-static int gic_irq_domain_xlate(struct irq_domain *d,
|
|
|
- struct device_node *controller,
|
|
|
- const u32 *intspec, unsigned int intsize,
|
|
|
- unsigned long *out_hwirq, unsigned int *out_type)
|
|
|
-{
|
|
|
- unsigned long ret = 0;
|
|
|
-
|
|
|
- if (irq_domain_get_of_node(d) != controller)
|
|
|
- return -EINVAL;
|
|
|
- if (intsize < 3)
|
|
|
- return -EINVAL;
|
|
|
-
|
|
|
- /* Get the interrupt number and add 16 to skip over SGIs */
|
|
|
- *out_hwirq = intspec[1] + 16;
|
|
|
-
|
|
|
- /* For SPIs, we need to add 16 more to get the GIC irq ID number */
|
|
|
- if (!intspec[0])
|
|
|
- *out_hwirq += 16;
|
|
|
-
|
|
|
- *out_type = intspec[2] & IRQ_TYPE_SENSE_MASK;
|
|
|
-
|
|
|
- return ret;
|
|
|
-}
|
|
|
-
|
|
|
static int gic_irq_domain_translate(struct irq_domain *d,
|
|
|
struct irq_fwspec *fwspec,
|
|
|
unsigned long *hwirq,
|
|
@@ -1021,7 +997,6 @@ static const struct irq_domain_ops gic_irq_domain_hierarchy_ops = {
|
|
|
static const struct irq_domain_ops gic_irq_domain_ops = {
|
|
|
.map = gic_irq_domain_map,
|
|
|
.unmap = gic_irq_domain_unmap,
|
|
|
- .xlate = gic_irq_domain_xlate,
|
|
|
};
|
|
|
|
|
|
static void __init __gic_init_bases(unsigned int gic_nr, int irq_start,
|