Re: [PATCH] gpio: of: make it possible to reference gpios probed in acpi in device tree
From: Mika Westerberg
Date: Fri Oct 03 2025 - 05:06:05 EST
On Fri, Oct 03, 2025 at 08:44:12AM +0000, Markus Probst wrote:
> On Fri, 2025-10-03 at 06:54 +0200, Mika Westerberg wrote:
> > Hi,
> >
> > On Thu, Oct 02, 2025 at 09:58:05PM +0000, Markus Probst wrote:
> > > sometimes it is necessary to use both acpi and device tree to
> > > declare
> > > devices. Not every gpio device driver which has an acpi_match_table
> > > has
> > > an of_match table (e.g. amd-pinctrl). Furthermore gpio is an device
> > > which
> > > can't be easily disabled in acpi and then redeclared in device
> > > tree, as
> > > it often gets used by other devices declared in acpi (e.g. via
> > > GpioInt or
> > > GpioIo). Thus a disable of acpi and migration to device tree is not
> > > always
> > > possible or very time consuming, while acpi by itself is very
> > > limited and
> > > not always sufficient. This won't affect most configurations, as
> > > most of
> > > the time either CONFIG_ACPI or CONFIG_OF gets enabled, not both.
> >
> > Can you provide a real example where this kind of mixup can happen?
> In my specific usecase for the Synology DS923+, there are gpios for
> powering the usb vbus on (powered down by default), also for powering
> on sata disks. (defining a fixed-regulator for the usb vbus for
> example)
Okay regulators are Power Resources in ACPI.
> > The
> > ACPI ID PRP0001 specifically was added to allow using DT bindings in
> > ACPI
> > based systems.
> Hmm, would requiring patching of the acpi tables. Not sure if it would
> work with the fixed-regulator though, as it uses dev->of_node instead
> of dev->fwnode. I will try to see if I can make it work this way.
I think you can do this by using SSDT overlays instead of patching the
tables:
https://docs.kernel.org/admin-guide/acpi/ssdt-overlays.html
There is configfs interface too.