From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Chris Simpson <chris@nilk.net>
Cc: Konrad Dybcio <quic_kdybcio@quicinc.com>,
Hans de Goede <hansg@kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
janussss@163.com, luzmaximilian@gmail.com,
platform-driver-x86@vger.kernel.org
Subject: Re: [PATCH] surface: aggregator: propagate -EPROBE_DEFER from ssam_irq_setup()
Date: Mon, 26 Oct 2026 20:40:35 +0200 (EET) [thread overview]
Message-ID: <a8f480c1-a50b-dcd6-dfb4-70aff42a7840@linux.intel.com> (raw)
In-Reply-To: <17d6081f-50e2-42b1-831e-34ad02b7240f@nilk.net>
On Mon, 26 Oct 2026, Chris Simpson wrote:
> Hi Ilpo,
>
> > Are there some legimate cases where error other than -EDEFER_PROBE should
> > end up into this else like it previously did?
>
> Two corrections to my earlier mail first. The Surface Pro 9 here is
> Alder Lake (i7-1255U), not Tiger Lake; its GPIO controller, INTC1055,
> is handled by pinctrl-tigerlake, which is where my mix-up came from.
> And "follows Ilpo's comment" was my misreading of your review: the
> gpiod_get_optional() idea was mine, sorry for attributing it to you
> (v2's "Suggested by Ilpo" comes from that too).
Np. The end result seems better even if there was misread which triggered
that. At least sometimes misreading ends up being useful. :-)
--
i.
> On the question, I couldn't find such a case:
>
> - DT: microsoft,surface-sam.yaml requires "interrupts" and has
> additionalProperties: false, and the in-tree DTS files
> (sc8280xp-microsoft-arcata, x1e80100-microsoft-romulus,
> x1-microsoft-denali, x1p42100-microsoft-sp12in) all use
> interrupts-extended. So on DT gpiod_get() returns -ENOENT, which
> gpiod_get_optional() turns into NULL, and v2 still takes the
> fwnode_irq_get() path.
>
> - ACPI: fwnode_irq_get() ends up in acpi_irq_get(), which only looks at
> Interrupt()/IRQ() resources, not GpioInt(). On the Pro 9 (UEFI
> 22.107.143) the MSHW0084 _CRS has UartSerialBusV2 plus GpioInt and
> GpioIo on pin 174 of INTC1055, and no Interrupt() or IRQ(), and the
> Surface Laptop 4 tables in linux-surface#2219 have the same layout.
> So on these two machines the fallback can only turn -EPROBE_DEFER, or
> a real GPIO error, into -EINVAL; for -EPROBE_DEFER that is the probe
> failure v2 fixes.
>
> What I can't tell is whether Konrad had another case in mind, or whether
> some other Surface model has a plain Interrupt() there; I've only looked
> at these two. I'm happy to test any variant on the Pro 9. As before, I
> did the analysis with Claude Code.
>
> Chris Simpson
>
next prev parent reply other threads:[~2026-10-26 18:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-03 4:48 [PATCH] surface: aggregator: propagate -EPROBE_DEFER from ssam_irq_setup() Janus
2026-10-14 10:45 ` Ilpo Järvinen
2026-10-23 19:28 ` Chris Simpson
2026-10-26 10:42 ` Ilpo Järvinen
2026-10-26 18:23 ` Andy Shevchenko
2026-10-26 18:35 ` Chris Simpson
2026-10-26 18:40 ` Ilpo Järvinen [this message]
2026-10-24 5:49 ` [PATCH v2] " Wu Enqiang
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=a8f480c1-a50b-dcd6-dfb4-70aff42a7840@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=chris@nilk.net \
--cc=hansg@kernel.org \
--cc=janussss@163.com \
--cc=luzmaximilian@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=quic_kdybcio@quicinc.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.