dm_gpio_request() returns -EBUSY when the requested offset is already claimed, but gives no indication of which label is holding it, making an offset collision opaque to debug.
Add a dev_warn() printing the label already holding the offset alongside the newly requested label. Signed-off-by: Pranav Sanwal <[email protected]> --- drivers/gpio/gpio-uclass.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c index 7559b8dc7e2..45f7367438a 100644 --- a/drivers/gpio/gpio-uclass.c +++ b/drivers/gpio/gpio-uclass.c @@ -391,8 +391,12 @@ int dm_gpio_request(struct gpio_desc *desc, const char *label) int ret; uc_priv = dev_get_uclass_priv(dev); - if (gpio_is_claimed(uc_priv, desc->offset)) + if (gpio_is_claimed(uc_priv, desc->offset)) { + dev_warn(dev, "gpio offset %u already claimed by '%s', requested label '%s'\n", + desc->offset, uc_priv->name[desc->offset], label); return -EBUSY; + } + str = strdup(label); if (!str) return -ENOMEM; -- 2.34.1

