[PATCH v4 07/10] arm64: select HAVE_SHARED_GPIOS for ARCH_QCOM
Bartosz Golaszewski
brgl at kernel.org
Thu Jan 8 02:52:15 PST 2026
On Thu, Jan 8, 2026 at 10:44 AM Pankaj Patil
<pankaj.patil at oss.qualcomm.com> wrote:
>
> On 1/8/2026 2:15 PM, Bartosz Golaszewski wrote:
> > On Thu, Jan 8, 2026 at 7:49 AM Pankaj Patil
> > <pankaj.patil at oss.qualcomm.com> wrote:
> >>
> >> On 1/7/2026 6:08 PM, Bartosz Golaszewski wrote:
> >>> On Wed, Jan 7, 2026 at 12:07 PM Pankaj Patil
> >>> <pankaj.patil at oss.qualcomm.com> wrote:
> >>>>
> >>>> On 11/12/2025 7:25 PM, Bartosz Golaszewski wrote:
> >>>>> From: Bartosz Golaszewski <bartosz.golaszewski at linaro.org>
> >>>>>
> >>>>> Some qualcomm platforms use shared GPIOs. Enable support for them by
> >>>>> selecting the Kconfig switch provided by GPIOLIB.
> >>>>>
> >>>>> Acked-by: Linus Walleij <linus.walleij at linaro.org>
> >>>>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski at linaro.org>
> >>>>> ---
> >>>>> arch/arm64/Kconfig.platforms | 1 +
> >>>>> 1 file changed, 1 insertion(+)
> >>>>>
> >>>>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> >>>>> index 13173795c43d4f28e2d47acc700f80a165d44671..3dbff0261f0add0516d8cb3fd0f29e277af94f20 100644
> >>>>> --- a/arch/arm64/Kconfig.platforms
> >>>>> +++ b/arch/arm64/Kconfig.platforms
> >>>>> @@ -316,6 +316,7 @@ config ARCH_QCOM
> >>>>> select GPIOLIB
> >>>>> select PINCTRL
> >>>>> select HAVE_PWRCTRL if PCI
> >>>>> + select HAVE_SHARED_GPIOS
> >>>>> help
> >>>>> This enables support for the ARMv8 based Qualcomm chipsets.
> >>>>>
> >>>>>
> >>>> Enabling shared gpios is breaking hamoa and glymur boot on next-20260106
> >>>> For hamoa - reg_fixed_voltage_probe which calls gpio api is breaking
> >>>> Please find the log here - https://lava-oss.qualcomm.com/scheduler/job/24722#L3514
> >>>>
> >>>> For Glymur - qcom_pcie_parse_perst calls the gpio api <4>[ 2.910982] WARNING: drivers/gpio/gpiolib-shared.c:493 at gpio_shared_add_proxy_lookup+0x160/0x24c, CPU#1: kworker/u75:0/109 <4>[ 2.911027] Call trace: <4>[ 2.911028] gpio_shared_add_proxy_lookup+0x160/0x24c (P) <4>[ 2.911030] gpiod_find_and_request+0x1c0/0x504 <4>[ 2.911032] devm_fwnode_gpiod_get_index+0x1c/0x6c <4>[ 2.911034] qcom_pcie_parse_perst+0x70/0x150 <4>[ 2.911037] qcom_pcie_probe+0x414/0x804 <4>[ 2.911039] platform_probe+0x5c/0x98 <4>[ 2.911042] qcom-eusb2-repeater c448000.spmi:pmic at 9:phy at fd00: supply vdd18 not found, using dummy regulator <4>[ 2.911043] really_probe+0xbc/0x298 <4>[ 2.911045] __driver_probe_device+0x78/0x12c <4>[ 2.911047] driver_probe_device+0x3c/0x15c <4>[ 2.911049] __device_attach_driver+0xb8/0x134 <4>[ 2.911050] bus_for_each_drv+0x84/0xe0 <4>[ 2.911052] __device_attach_async_helper+0xac/0xd0 <4>[ 2.911053] async_run_entry_fn+0x34/0xe0
> >>>> <4>[ 2.911055] process_one_work+0x14c/0x28c <4>[ 2.911058] worker_thread+0x188/0x304 <4>[ 2.911059] kthread+0x11c/0x128 <4>[ 2.911060] qcom-eusb2-repeater c448000.spmi:pmic at 9:phy at fd00: supply vdd3 not found, using dummy regulator <4>[ 2.911061] ret_from_fork+0x10/0x20 <4>[ 2.911063] ---[ end trace 0000000000000000 ]--- <3>[ 2.911065] qcom-pcie 1b40000.pci: error -ENOENT: Failed to parse Root Port: -2 <3>[ 2.911069] qcom-pcie 1b40000.pci: probe with driver qcom-pcie failed with error -2
> >>>> Reverting this commit fixes the boot on both platforms
> >>>>
> >>>
> >>> Hi!
> >>>
> >>> This is not really the offending commit, it's a recent one in the
> >>> implementation. The issue should be fixed by the following series[1]
> >>> that will be in the next next tag. Can you give it a try?
> >>>
> >>> Bart
> >>>
> >>> [1] https://lore.kernel.org/all/20260106-gpio-shared-fixes-v2-0-c7091d2f7581@oss.qualcomm.com/
> >>
> >> With the linked patchset applied I still see the same issue
> >>
> >> Pankaj
> >>
> >
> > Is the gpio-shared-proxy module available? If not, can you change the
> > config to make it built-in like CONFIG_GPIO_SHARED_PROXY=y?
> >
> > Bartosz
>
> With CONFIG_GPIO_SHARED_PROXY=y the issue remains the same
Ok, I believe there must be an issue with environment differences
because I'm not seeing this.
Can you enable CONFIG_DEBUG_GPIO in config and post the entire kernel
log to some pastebin? Can you also post the output of gpiodetect and
gpioinfo?
Thanks
Bartosz
More information about the linux-arm-kernel
mailing list