mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Lorenzo Pieralisi <lpieralisi@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: "Rafael J. Wysocki (Intel)" <rafael@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Daniel Lezcano <daniel.lezcano@kernel.org>,
	Thomas Gleixner <tglx@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Danilo Krummrich <dakr@kernel.org>,
	Hanjun Guo <guohanjun@huawei.com>,
	Sudeep Holla <sudeep.holla@kernel.org>,
	Wim Van Sebroeck <wim@linux-watchdog.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Bartosz Golaszewski <brgl@kernel.org>,
	linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	driver-core@lists.linux.dev, linux-watchdog@vger.kernel.org
Subject: Re: [PATCH RFC 02/11] ACPI: Introduce irq_get() for static fwnodes
Date: Wed, 21 Oct 2026 12:18:39 +0100	[thread overview]
Message-ID: <7f077fd3-9c67-409a-b46f-7f28a55c180b@arm.com> (raw)
In-Reply-To: <atiAmZSPiRNBAO5O@red-moon>

On 2026-10-21 10:06 am, Lorenzo Pieralisi wrote:
> On Wed, Oct 21, 2026 at 09:58:33AM +0300, Andy Shevchenko wrote:
>> On Tue, Oct 20, 2026 at 05:30:00PM +0200, Lorenzo Pieralisi wrote:
>>> On Mon, Oct 19, 2026 at 08:05:50PM +0200, Rafael J. Wysocki (Intel) wrote:
>>>> On Mon, Oct 19, 2026 at 12:34 PM Lorenzo Pieralisi
>>>> <lpieralisi@kernel.org> wrote:
>>
>> [...]
>>
>>>> Basically, yes, the idea is to defer the creation of the platform
>>>> device until the dependency is met.
>>>>
>>>>> till the dependencies are cleared but then, without a _CRS, where will
>>>>> the consumer driver find the platform device resources ?
>>>>
>>>> Well, good question.
>>>>
>>>>> There are multiple facets in this issue and possibly some of them have
>>>>> been already solved but I need to pull them together.
>>>>>
>>>>>> Note that the dependencies can be added to acpi_dep_list after
>>>>>> creating a struct acpi_device with acpi_add_single_object() and
>>>>>> acpi_scan_add_dep() is not really suitable for that, but it should be
>>>>>> doable if the dependencies can be found.
>>>>>>
>>>>>>> I need to have a deeper look into this next week but I wanted to ask first
>>>>>>> whether there was something I missed - most likely.
>>>>>>
>>>>>> Well, it is not really straightforward.
>>>>>
>>>>> Yes it is getting messy. This RFC, with all its flaws, does not transparently
>>>>> prevents enumeration but rather relies on -EPROBE_DEFER to sort out
>>>>> dependencies - though it does so by adding more stuff into ACPI static fwnode
>>>>> that to be honest I'd rather see gone.
>>>>
>>>> I think what you need is a notification mechanism that will trigger
>>>> when a specific device (enumerated via the ACPI Namespace) becomes
>>>> operational.  It doesn't look like any of the existing ones (platform
>>>> device probe deferral or ACPI device dependencies tracking) is really
>>>> suitable for your use case.
>>>
>>> Yes. It might just be a notification from ACPI core to say "the driver for
>>> this ACPI device probed, go create platform devices that depends on it".
>>>
>>> We can check and track the dependency in code that does create those
>>> devices today.
>>>
>>> I will think about this to see how bad this might look like.
>>
>> Don't we do something similar in drivers/acpi/x86/lpss.c?
> 
> I suppose I can add a notifier that checks whether the device whose
> companion represents the ACPI device a given platform device IRQ depends
> on was bound to its driver and then map the IRQ and add the platform device
> _then_ - after all that's what acpi_dev_clear_dependencies() does (similar
> at least).
> 
> There is still the question - where the GSI number, flags should be
> stashed so that the notifier can grab them in a uniform way. We
> could simply attach platform data storing those values to a pdev, either on
> a per static table basis or generalize the data so that a single notifier
> would be able to deal with it.
> 
> That or I can just piggyback on acpi_dev_clear_dependencies() and add
> a separate dep mechanism to acpi_dep_data that instead of being acpi_handle
> based the consumer is fwnode based (something Rafael mentioned before).
> 
> I will have a stab at this and see what's the least bad solution I can
> come up with.
> 
> I suppose we are scrapping the -EPROBE_DEFER solution (ie this set),
> what we are talking about above won't need to defer anything other
> than the time when platform devices are added.

I dunno, that seems pretty drastic for some use-cases - the fact that a 
GSI is described in a table doesn't necessarily mean it is critical to 
device operation. If we don't even create the device until all possible 
resources are available, then its driver never has any chance to decide 
whether it's happy to ignore the deferral and just use MSIs or polling 
instead...

Thanks,
Robin.

  reply	other threads:[~2026-10-21 11:18 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25  7:47 [PATCH RFC 00/11] ACPI: ARM64: Implement IRQ mapping probe deferral for static table devices Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 01/11] ACPI: irq: Return -EPROBE_DEFER on missing IRQ domain Lorenzo Pieralisi
2026-09-25  9:45   ` Andy Shevchenko
2026-09-25  7:48 ` [PATCH RFC 02/11] ACPI: Introduce irq_get() for static fwnodes Lorenzo Pieralisi
2026-09-25  9:49   ` Andy Shevchenko
2026-09-25 10:30     ` Lorenzo Pieralisi
2026-09-25 10:54       ` Andy Shevchenko
2026-09-25 11:32         ` Lorenzo Pieralisi
2026-09-28 16:15         ` Lorenzo Pieralisi
2026-09-30 17:13           ` Jonathan Cameron
2026-10-06 16:19           ` Robin Murphy
2026-10-07  7:44             ` Lorenzo Pieralisi
2026-10-09  7:57             ` Lorenzo Pieralisi
2026-10-15 20:46               ` Rafael J. Wysocki (Intel)
2026-10-19 10:34                 ` Lorenzo Pieralisi
2026-10-19 18:05                   ` Rafael J. Wysocki (Intel)
2026-10-20 15:30                     ` Lorenzo Pieralisi
2026-10-20 16:00                       ` Rafael J. Wysocki (Intel)
2026-10-21  6:58                       ` Andy Shevchenko
2026-10-21  9:06                         ` Lorenzo Pieralisi
2026-10-21 11:18                           ` Robin Murphy [this message]
2026-09-28 23:24   ` Ashok Raj
2026-09-29  8:40     ` Lorenzo Pieralisi
2026-09-30  0:38       ` Ashok Raj
2026-09-30  7:40         ` Andy Shevchenko
2026-09-30  7:56           ` Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 03/11] driver core: platform: Add static ACPI nodes IRQ retrieval/mapping code Lorenzo Pieralisi
2026-09-25  9:54   ` Andy Shevchenko
2026-09-25 10:16     ` Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 04/11] clocksource/drivers/arm_arch_timer_mmio: Dispose IRQ mappings on probe failure Lorenzo Pieralisi
2026-09-25  9:52   ` Andy Shevchenko
2026-09-25  7:48 ` [PATCH RFC 05/11] clocksource/drivers/arm_arch_timer_mmio: Implement arch mem timer deferred probe Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 06/11] ACPI: GTDT: Convert SBSA watchdog to IRQ properties Lorenzo Pieralisi
2026-09-25  9:56   ` Andy Shevchenko
2026-09-25  7:48 ` [PATCH RFC 07/11] ACPI/IORT: Convert IORT devices to IRQs software-node properties Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 08/11] watchdog: sbsa: Handle IRQ probe deferral Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 09/11] iommu/arm-smmu: Add arm-smmu IRQ mapping -EPROBE_DEFER handling Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 10/11] iommu/arm-smmu-v3: Add " Lorenzo Pieralisi
2026-09-28 22:41   ` Ashok Raj
2026-09-29  8:43     ` Lorenzo Pieralisi
2026-09-25  7:48 ` [PATCH RFC 11/11] perf/arm-smmu-v3-pmu: " Lorenzo Pieralisi

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=7f077fd3-9c67-409a-b46f-7f28a55c180b@arm.com \
    --to=robin.murphy@arm.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=brgl@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=dakr@kernel.org \
    --cc=daniel.lezcano@kernel.org \
    --cc=driver-core@lists.linux.dev \
    --cc=gregkh@linuxfoundation.org \
    --cc=guohanjun@huawei.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lpieralisi@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=rafael@kernel.org \
    --cc=sudeep.holla@kernel.org \
    --cc=tglx@kernel.org \
    --cc=will@kernel.org \
    --cc=wim@linux-watchdog.org \
    /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

all inboxes | Powered by JetHome®