linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Tim Harvey <tharvey@gateworks.com>, Lokesh Vutla <lokeshvutla@ti.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Rob Herring <robh+dt@kernel.org>, Nishanth Menon <nm@ti.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Linux ARM Mailing List <linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>,
	Tero Kristo <t-kristo@ti.com>, Sekhar Nori <nsekhar@ti.com>,
	Tony Lindgren <tony@atomide.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Peter Ujfalusi <peter.ujfalusi@ti.com>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Device Tree Mailing List <devicetree@vger.kernel.org>,
	"open list\:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>
Subject: Re: [PATCH v8 07/14] gpio: thunderx: Use the default parent apis for {request,release}_resources
Date: Wed, 11 Mar 2020 16:43:18 +0100	[thread overview]
Message-ID: <87zhcmkicp.fsf@nanos.tec.linutronix.de> (raw)
In-Reply-To: <CAJ+vNU2gnKKxX2YL1JUSnpF7qNqKVAsPhC2emv=Y79HPJbZXzw@mail.gmail.com>

Tim,

Tim Harvey <tharvey@gateworks.com> writes:
> On Tue, Apr 30, 2019 at 3:14 AM Lokesh Vutla <lokeshvutla@ti.com> wrote:
>> -       if (parent_data && parent_data->chip->irq_request_resources) {
>> -               r = parent_data->chip->irq_request_resources(parent_data);
>> -               if (r)
>> -                       goto error;
>> -       }
>> +       r = irq_chip_request_resources_parent(data);
>> +       if (r)
>> +               gpiochip_unlock_as_irq(&txgpio->chip, txline->line);
>
> This patch breaks irq resources for thunderx-gpio as
> parent_data->chip->irq_request_resources is undefined thus your new
> irq_chip_request_resources_parent() returns -ENOSYS causing this
> function to return an error where as before it would happily return 0.
>
> Is the following the correct fix or should we qualify
> data->parent_data->chip->irq_request_resources before calling
> irq_chip_request_resources_parent() in thunderx-gpio?

You are not supposed to fiddle with parent data at all. Just because C
allows you is no excuse to violate abstractions in the first place.

irq_chip_request_resources_parent() rightfully returns -ENOSYS when it
can't request a resource from the parent chip because that chip does not
have anything to offer.

It's up to the caller to do something sensible with the return code. If
your chip is happy with the parent not providing it then handle
-ENOSYS. None of the chip callbacks should return -ENOSYS. If one does
then that wants to be fixed.

Thanks,

        tglx



  parent reply	other threads:[~2020-03-11 15:43 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-30 10:12 [PATCH v8 00/14] Add support for TISCI Interrupt controller drivers Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 01/14] firmware: ti_sci: Add support to get TISCI handle using of_phandle Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 02/14] firmware: ti_sci: Add support for RM core ops Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 03/14] firmware: ti_sci: Add support for IRQ management Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 04/14] firmware: ti_sci: Add RM mapping table for am654 Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 05/14] firmware: ti_sci: Add helper apis to manage resources Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 06/14] genirq: Introduce irq_chip_{request,release}_resource_parent() apis Lokesh Vutla
2019-05-16 12:40   ` Linus Walleij
2019-04-30 10:12 ` [PATCH v8 07/14] gpio: thunderx: Use the default parent apis for {request,release}_resources Lokesh Vutla
2020-03-10 23:27   ` Tim Harvey
2020-03-11  4:56     ` Lokesh Vutla
2020-03-11 15:43     ` Thomas Gleixner [this message]
2020-03-11 16:09       ` Tim Harvey
2019-04-30 10:12 ` [PATCH v8 08/14] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings Lokesh Vutla
2019-04-30 22:24   ` Rob Herring
2019-04-30 10:12 ` [PATCH v8 09/14] irqchip: ti-sci-intr: Add support for Interrupt Router driver Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 10/14] dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings Lokesh Vutla
2019-04-30 22:25   ` Rob Herring
2019-04-30 10:12 ` [PATCH v8 11/14] irqchip: ti-sci-inta: Add support for Interrupt Aggregator driver Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 12/14] soc: ti: Add MSI domain bus support for Interrupt Aggregator Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 13/14] irqchip: ti-sci-inta: Add msi domain support Lokesh Vutla
2019-04-30 10:12 ` [PATCH v8 14/14] arm64: arch_k3: Enable interrupt controller drivers Lokesh Vutla
2019-04-30 11:45 ` [PATCH v8 00/14] Add support for TISCI Interrupt " Nishanth Menon
2019-05-01 11:58 ` Marc Zyngier
2019-05-01 13:23   ` Lokesh Vutla
2019-05-01 13:45     ` Marc Zyngier
2019-05-01 14:04       ` Tony Lindgren
2019-05-01 14:31         ` Marc Zyngier

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=87zhcmkicp.fsf@nanos.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=devicetree@vger.kernel.org \
    --cc=grygorii.strashko@ti.com \
    --cc=jason@lakedaemon.net \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lokeshvutla@ti.com \
    --cc=marc.zyngier@arm.com \
    --cc=nm@ti.com \
    --cc=nsekhar@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=t-kristo@ti.com \
    --cc=tharvey@gateworks.com \
    --cc=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).