Re: [PATCH v4 00/10] gpio: improve support for shared GPIOs
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-11-21 10:20:28
Also in:
linux-arm-msm, linux-gpio, linux-hardening, linux-sound, lkml
On 21/11/2025 10:03, Bartosz Golaszewski wrote:
On Fri, Nov 21, 2025 at 1:28 AM Val Packett [off-list ref] wrote:quoted
Hi, On 11/12/25 10:55 AM, Bartosz Golaszewski wrote:quoted
--- Bartosz Golaszewski (10): string: provide strends() gpiolib: define GPIOD_FLAG_SHARED gpiolib: implement low-level, shared GPIO support gpio: shared-proxy: implement the shared GPIO proxy driver gpiolib: support shared GPIOs in core subsystem code gpio: provide gpiod_is_shared() arm64: select HAVE_SHARED_GPIOS for ARCH_QCOM ASoC: wsa881x: drop GPIOD_FLAGS_BIT_NONEXCLUSIVE flag from GPIO lookup ASoC: wsa883x: drop GPIOD_FLAGS_BIT_NONEXCLUSIVE flag from GPIO lookup regulator: make the subsystem aware of shared GPIOsthis seems to actually have caused a regression for me, audio does not initialize anymore on hamoa due to EBUSY since upgrading from next-20251114 to next-20251118 or next-20251120:Thanks for the heads-up.quoted
[ 11.748781] platform 6800000.remoteproc:glink-edge:gpr:service@1:dais: Adding to iommu group 30 [ 11.785864] wsa_macro 6aa0000.codec: using zero-initialized flat cache, this may cause unexpected behavior [ 11.796964] reset-gpio reset-gpio.0: error -EBUSY: Could not get reset gpios [ 11.796984] reset-gpio reset-gpio.0: probe with driver reset-gpio failed with error -16 [ 11.894662] reset-gpio reset-gpio.1: error -EBUSY: Could not get reset gpios [ 11.894676] reset-gpio reset-gpio.1: probe with driver reset-gpio failed with error -16It seems like it's the reset-gpio driver, not shared GPIOLIB path? This driver has never used the GPIOD_FLAGS_BIT_NONEXCLUSIVE flag.
NONEXCLUSIVE does not matter here. I think this is just broken code - your patch 3 goes through allnodes for_each_property_of_node() and then assumes it is shared GPIO, so probably this nicely breaks existing DTS and reset-gpio. Well, it is not a shared GPIO, so all your assumptions here are just wrong. reset-gpio is already used on multiple Qualcomm and other SoC platforms. Best regards, Krzysztof