ARM: 7235/1: irqdomain: export irq_domain_simple_ops for !CONFIG_OF
irqdomain support is used in interrupt controller drivers that may not have device tree support but only need the basic HW->Linux irq translation. Rather than having each of these implement their own IRQ domain, allow them to use the simple ops. Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Rob Herring <robherring2@gmail.com> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
df0bcfe0f8
commit
c87fb57346
|
@ -91,10 +91,11 @@ static inline unsigned int irq_domain_to_irq(struct irq_domain *d,
|
||||||
|
|
||||||
extern void irq_domain_add(struct irq_domain *domain);
|
extern void irq_domain_add(struct irq_domain *domain);
|
||||||
extern void irq_domain_del(struct irq_domain *domain);
|
extern void irq_domain_del(struct irq_domain *domain);
|
||||||
|
|
||||||
|
extern struct irq_domain_ops irq_domain_simple_ops;
|
||||||
#endif /* CONFIG_IRQ_DOMAIN */
|
#endif /* CONFIG_IRQ_DOMAIN */
|
||||||
|
|
||||||
#if defined(CONFIG_IRQ_DOMAIN) && defined(CONFIG_OF_IRQ)
|
#if defined(CONFIG_IRQ_DOMAIN) && defined(CONFIG_OF_IRQ)
|
||||||
extern struct irq_domain_ops irq_domain_simple_ops;
|
|
||||||
extern void irq_domain_add_simple(struct device_node *controller, int irq_base);
|
extern void irq_domain_add_simple(struct device_node *controller, int irq_base);
|
||||||
extern void irq_domain_generate_simple(const struct of_device_id *match,
|
extern void irq_domain_generate_simple(const struct of_device_id *match,
|
||||||
u64 phys_base, unsigned int irq_start);
|
u64 phys_base, unsigned int irq_start);
|
||||||
|
|
|
@ -143,11 +143,6 @@ int irq_domain_simple_dt_translate(struct irq_domain *d,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct irq_domain_ops irq_domain_simple_ops = {
|
|
||||||
.dt_translate = irq_domain_simple_dt_translate,
|
|
||||||
};
|
|
||||||
EXPORT_SYMBOL_GPL(irq_domain_simple_ops);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* irq_domain_create_simple() - Set up a 'simple' translation range
|
* irq_domain_create_simple() - Set up a 'simple' translation range
|
||||||
*/
|
*/
|
||||||
|
@ -182,3 +177,10 @@ void irq_domain_generate_simple(const struct of_device_id *match,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(irq_domain_generate_simple);
|
EXPORT_SYMBOL_GPL(irq_domain_generate_simple);
|
||||||
#endif /* CONFIG_OF_IRQ */
|
#endif /* CONFIG_OF_IRQ */
|
||||||
|
|
||||||
|
struct irq_domain_ops irq_domain_simple_ops = {
|
||||||
|
#ifdef CONFIG_OF_IRQ
|
||||||
|
.dt_translate = irq_domain_simple_dt_translate,
|
||||||
|
#endif /* CONFIG_OF_IRQ */
|
||||||
|
};
|
||||||
|
EXPORT_SYMBOL_GPL(irq_domain_simple_ops);
|
||||||
|
|
Loading…
Reference in a new issue