On 2019-11-20 06:59, Yash Shah wrote:
Add a new function irq_domain_translate_onecell() that is to be used
as
the translate function in struct irq_domain_ops for the v2 IRQ API.
Signed-off-by: Yash Shah <yash.shah@xxxxxxxxxx>
---
include/linux/irqdomain.h | 5 +++++
kernel/irq/irqdomain.c | 20 ++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index 583e7ab..cad9eb8 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -426,6 +426,11 @@ int irq_domain_translate_twocell(struct
irq_domain *d,
unsigned long *out_hwirq,
unsigned int *out_type);
+int irq_domain_translate_onecell(struct irq_domain *d,
+ struct irq_fwspec *fwspec,
+ unsigned long *out_hwirq,
+ unsigned int *out_type);
+
/* IPI functions */
int irq_reserve_ipi(struct irq_domain *domain, const struct cpumask
*dest);
int irq_destroy_ipi(unsigned int irq, const struct cpumask *dest);
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 132672b..6972a48 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -987,6 +987,26 @@ const struct irq_domain_ops
irq_domain_simple_ops = {
EXPORT_SYMBOL_GPL(irq_domain_simple_ops);
/**
+ * irq_domain_translate_onecell() - Generic translate for direct one
cell
+ * bindings
+ *
+ * Device Tree IRQ specifier translation function which works with
one cell
nit: the whole point of the 'new' translate function is that they are
firmware-agnostic. Just drop the DT reference here.
+ * bindings where the cell values map directly to the hwirq number.
+ */
+int irq_domain_translate_onecell(struct irq_domain *d,
+ struct irq_fwspec *fwspec,
+ unsigned long *out_hwirq,
+ unsigned int *out_type)
+{
+ if (WARN_ON(fwspec->param_count < 1))
+ return -EINVAL;
+ *out_hwirq = fwspec->param[0];
+ *out_type = IRQ_TYPE_NONE;
+ return 0;
+}
+EXPORT_SYMBOL_GPL(irq_domain_translate_onecell);
+
+/**
* irq_domain_translate_twocell() - Generic translate for direct two
cell
* bindings
*
Can you please also update (potentially in a separate patch) the
potential
users of this? I mentioned the nvic driver last time...
Thanks,
M.
--
Jazz is not dead. It just smells funny...