[PATCH v4 07/10] arm64: select HAVE_SHARED_GPIOS for ARCH_QCOM

Pankaj Patil pankaj.patil at oss.qualcomm.com
Wed Jan 7 03:06:53 PST 2026


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




More information about the linux-arm-kernel mailing list