All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Brian Masney <masneyb@onstation.org>
Cc: linus.walleij@linaro.org, sboyd@kernel.org,
	andy.gross@linaro.org, marc.zyngier@arm.com, shawnguo@kernel.org,
	dianders@chromium.org, linux-gpio@vger.kernel.org,
	nicolas.dechesne@linaro.org, niklas.cassel@linaro.org,
	david.brown@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com,
	thierry.reding@gmail.com, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 06/14] spmi: pmic-arb: disassociate old virq if hwirq mapping already exists
Date: Mon, 14 Jan 2019 16:42:03 -0800	[thread overview]
Message-ID: <20190115004203.GK9278@minitux> (raw)
In-Reply-To: <20190113154716.5145-7-masneyb@onstation.org>

On Sun 13 Jan 07:47 PST 2019, Brian Masney wrote:

> Check to see if the hwirq is already associated with another virq on
> this IRQ domain. If so, then disassociate it before associating the
> hwirq with the new virq.
> 
> This is a temporary hack that is needed in order to not break git
> bisect for existing boards. The next patch in this series converts
> spmi-gpio to be a hierarchical IRQ chip, then there are several patches
> to update all of the device tree files, and finally this patch will be
> reverted within the same patch series.
> 

You must maintain compatibility with existing DTB files (at least for
some time), so I don't think we can revert this patch at the end of the
series. 

But the patch itself looks reasonable,

Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> IRQs for spmi-gpio are all initially setup without an IRQ hierarchy
> on pmic-arb when mfd/qcom-spmi-pmic.c is probed (via the
> devm_of_platform_populate call) due to the interrupts property in
> device tree. Once spmi-gpio is converted to be a hierarchical IRQ chip
> in the next patch, existing users of gpio[d]_to_irq() will call
> pmic_gpio_to_irq(), and that will use the new IRQ chip code in
> spmi-gpio that sets up the IRQ in an IRQ hierarchy. The hwirq is now
> associated with two Linux virqs and interrupts will not work as
> expected. This patch corrects that issue.
> 
> Driver was tested using gpio-keys and iadc/vadc on the LG Nexus 5
> (hammerhead) phone.
> 
> Signed-off-by: Brian Masney <masneyb@onstation.org>
> ---
> This is a new patch introduced in V4, but this logic was present in V1.
> 
>  drivers/spmi/spmi-pmic-arb.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
> index 356bc3f66e22..b7cfee831417 100644
> --- a/drivers/spmi/spmi-pmic-arb.c
> +++ b/drivers/spmi/spmi-pmic-arb.c
> @@ -744,8 +744,14 @@ static void qpnpint_irq_domain_map(struct spmi_pmic_arb *pmic_arb,
>  				   struct irq_domain *domain, unsigned int virq,
>  				   irq_hw_number_t hwirq)
>  {
> +	unsigned int old_virq;
> +
>  	dev_dbg(&pmic_arb->spmic->dev, "virq = %u, hwirq = %lu\n", virq, hwirq);
>  
> +	old_virq = irq_find_mapping(domain, hwirq);
> +	if (old_virq)
> +		irq_domain_disassociate(domain, old_virq);
> +
>  	irq_domain_set_info(domain, virq, hwirq, &pmic_arb_irqchip, pmic_arb,
>  			    handle_level_irq, NULL, NULL);
>  }
> -- 
> 2.17.2
> 

  parent reply	other threads:[~2019-01-15  0:42 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-13 15:47 [PATCH v4 00/14] qcom: spmi: add support for hierarchical IRQ chip Brian Masney
2019-01-13 15:47 ` [PATCH v4 01/14] dt-bindings: pinctrl: qcom-pmic-gpio: add qcom,pmi8998-gpio binding Brian Masney
2019-01-14 23:42   ` Stephen Boyd
2019-01-15  0:28   ` Bjorn Andersson
2019-01-15 20:07   ` Rob Herring
2019-01-13 15:47 ` [PATCH v4 02/14] pinctrl: qcom: spmi-gpio: add support for three new variants Brian Masney
2019-01-14 23:43   ` Stephen Boyd
2019-01-15  0:28   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 03/14] pinctrl: qcom: spmi-gpio: hardcode IRQ counts Brian Masney
2019-01-14 23:43   ` Stephen Boyd
2019-01-15  0:34   ` Bjorn Andersson
2019-01-15  1:14     ` Brian Masney
2019-01-15  1:24       ` Brian Masney
2019-01-13 15:47 ` [PATCH v4 04/14] spmi: pmic-arb: convert to v2 irq interfaces to support hierarchical IRQ chips Brian Masney
2019-01-13 15:47 ` [PATCH v4 05/14] gpio: add irq domain activate/deactivate functions Brian Masney
2019-01-13 15:47 ` [PATCH v4 06/14] spmi: pmic-arb: disassociate old virq if hwirq mapping already exists Brian Masney
2019-01-14 23:50   ` Stephen Boyd
2019-01-15  0:42   ` Bjorn Andersson [this message]
2019-01-13 15:47 ` [PATCH v4 07/14] qcom: spmi-gpio: add support for hierarchical IRQ chip Brian Masney
2019-01-13 15:47 ` [PATCH v4 08/14] ARM: dts: qcom: pm8941: add interrupt controller properties Brian Masney
2019-01-15  0:42   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 09/14] ARM: dts: qcom: pma8084: " Brian Masney
2019-01-14 23:44   ` Stephen Boyd
2019-01-15  0:42   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 10/14] arm64: dts: qcom: pm8005: " Brian Masney
2019-01-14 23:44   ` Stephen Boyd
2019-01-15  0:43   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 11/14] arm64: dts: qcom: pm8998: " Brian Masney
2019-01-14 23:44   ` Stephen Boyd
2019-01-15  0:43   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 12/14] arm64: dts: qcom: pmi8994: " Brian Masney
2019-01-14 23:43   ` Stephen Boyd
2019-01-15  0:43   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 13/14] arm64: dts: qcom: pmi8998: " Brian Masney
2019-01-14 23:43   ` Stephen Boyd
2019-01-15  0:43   ` Bjorn Andersson
2019-01-13 15:47 ` [PATCH v4 14/14] spmi: pmic-arb: revert "disassociate old virq if hwirq mapping already exists" Brian Masney
2019-01-14  8:43 ` [PATCH v4 00/14] qcom: spmi: add support for hierarchical IRQ chip Linus Walleij
2019-01-14  8:45   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190115004203.GK9278@minitux \
    --to=bjorn.andersson@linaro.org \
    --cc=andy.gross@linaro.org \
    --cc=david.brown@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=masneyb@onstation.org \
    --cc=nicolas.dechesne@linaro.org \
    --cc=niklas.cassel@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.