aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/qcom-pdc.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2022-02-24 10:12:24 +0000
committerMarc Zyngier <maz@kernel.org>2022-03-01 10:06:24 +0000
commitd494d088ac44b9cf561362a7856fa20b656be64f (patch)
tree3f9789902dd37ce797dd41d03fc5ca77fde35dc6 /drivers/irqchip/qcom-pdc.c
parentirqchip/qcom-pdc: Kill non-wakeup irqdomain (diff)
downloadlinux-dev-d494d088ac44b9cf561362a7856fa20b656be64f.tar.xz
linux-dev-d494d088ac44b9cf561362a7856fa20b656be64f.zip
irqchip/qcom-pdc: Kill qcom_pdc_translate helper
qcom_pdc_translate() really is nothing but an open coded version of irq_domain_translate_twocell(). Get rid of it and use the common version instead. Signed-off-by: Marc Zyngier <maz@kernel.org> Reviewed-by: Maulik Shah <quic_mkshah@quicinc.com> Link: https://lore.kernel.org/r/20220224101226.88373-4-maz@kernel.org
Diffstat (limited to 'drivers/irqchip/qcom-pdc.c')
-rw-r--r--drivers/irqchip/qcom-pdc.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c
index 5be531403f50..837ca6998f6a 100644
--- a/drivers/irqchip/qcom-pdc.c
+++ b/drivers/irqchip/qcom-pdc.c
@@ -198,21 +198,6 @@ static struct pdc_pin_region *get_pin_region(int pin)
return NULL;
}
-static int qcom_pdc_translate(struct irq_domain *d, struct irq_fwspec *fwspec,
- unsigned long *hwirq, unsigned int *type)
-{
- if (is_of_node(fwspec->fwnode)) {
- if (fwspec->param_count != 2)
- return -EINVAL;
-
- *hwirq = fwspec->param[0];
- *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK;
- return 0;
- }
-
- return -EINVAL;
-}
-
static int qcom_pdc_alloc(struct irq_domain *domain, unsigned int virq,
unsigned int nr_irqs, void *data)
{
@@ -223,7 +208,7 @@ static int qcom_pdc_alloc(struct irq_domain *domain, unsigned int virq,
unsigned int type;
int ret;
- ret = qcom_pdc_translate(domain, fwspec, &hwirq, &type);
+ ret = irq_domain_translate_twocell(domain, fwspec, &hwirq, &type);
if (ret)
return ret;
@@ -256,7 +241,7 @@ static int qcom_pdc_alloc(struct irq_domain *domain, unsigned int virq,
}
static const struct irq_domain_ops qcom_pdc_ops = {
- .translate = qcom_pdc_translate,
+ .translate = irq_domain_translate_twocell,
.alloc = qcom_pdc_alloc,
.free = irq_domain_free_irqs_common,
};