[{"id":3672905,"web_url":"http://patchwork.ozlabs.org/comment/3672905/","msgid":"<ac7ZA6HJFBhyCROM@google.com>","list_archive_url":null,"date":"2026-04-02T21:04:37","subject":"Re: [PATCH v2 2/4] gpio: swnode: defer probe on references to\n unregistered software nodes","submitter":{"id":695,"url":"http://patchwork.ozlabs.org/api/people/695/","name":"Dmitry Torokhov","email":"dmitry.torokhov@gmail.com"},"content":"On Thu, Apr 02, 2026 at 02:54:27PM +0200, Bartosz Golaszewski wrote:\n> fwnode_property_get_reference_args() now returns -ENXIO when called on a\n> software node referencing another software node which has not yet been\n> registered as a firmware node. It makes sense to defer probe in this\n> situation as the node will most likely be registered later on and we'll\n> be able to resolve the reference eventually. Change the behavior of\n> swnode_find_gpio() to return -EPROBE_DEFER if the software node reference\n> resolution returns -ENXIO.\n> \n> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n> ---\n>  drivers/gpio/gpiolib-swnode.c | 9 +++++++++\n>  1 file changed, 9 insertions(+)\n> \n> diff --git a/drivers/gpio/gpiolib-swnode.c b/drivers/gpio/gpiolib-swnode.c\n> index 0d7f3f09a0b4bee0cf1bbdaa8b7b8ae4cd5de581..06d74e9e199de0b91a019e5e15d4b83d330291e7 100644\n> --- a/drivers/gpio/gpiolib-swnode.c\n> +++ b/drivers/gpio/gpiolib-swnode.c\n> @@ -95,6 +95,15 @@ struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode,\n>  \t\t\tbreak;\n>  \t}\n>  \tif (ret) {\n> +\t\tif (ret == -ENXIO)\n\n\nI'll be just sitting here and quoting sashiko all day long ;)\n\n\"\nIf swnode_gpio_get_reference() returns -ENXIO during the first iteration\n(for example, when checking the con_id-gpios suffix), won't the loop continue\nsince the return value is not 0?\n\nLooking at the loop just above this block:\n\n        for_each_gpio_property_name(propname, con_id) {\n                ret = swnode_gpio_get_reference(fwnode, propname, idx, &args);\n                if (ret == 0)\n                        break;\n        }\n\nIf the initial property check returns -ENXIO, but the subsequent fallback\ncheck for the con_id-gpio suffix returns -ENOENT, the ret variable gets\noverwritten. \n\nWhen the loop terminates, ret would be -ENOENT instead of -ENXIO. Could this\ncause the probe deferral check to evaluate to false and fail the probe\nentirely instead of deferring it as intended? \n\nShould the loop also break early if -ENXIO is encountered?\n\n\"\n\nYou need to change that to\n\n\tif (ret == 0 || ret == -ENXIO)\n\t\tbreak;\n\nbecause if we get -ENXIO that means the GPIO must be there (the property\nexists) but not ready yet and we do not want to fall back to another\nsuffix. \n\nThanks.","headers":{"Return-Path":"\n <linux-gpio+bounces-34618-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=pidkZMHp;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34618-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"pidkZMHp\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=74.125.82.50","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmvWW0n8Kz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 08:05:11 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 8A65E3026BCA\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  2 Apr 2026 21:04:55 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 39A8C392C40;\n\tThu,  2 Apr 2026 21:04:48 +0000 (UTC)","from mail-dl1-f50.google.com (mail-dl1-f50.google.com\n [74.125.82.50])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 950FB38A71E\n\tfor <linux-gpio@vger.kernel.org>; Thu,  2 Apr 2026 21:04:43 +0000 (UTC)","by mail-dl1-f50.google.com with SMTP id\n a92af1059eb24-1271195d2a7so1660140c88.0\n        for <linux-gpio@vger.kernel.org>;\n Thu, 02 Apr 2026 14:04:43 -0700 (PDT)","from google.com ([2a00:79e0:2ebe:8:902a:cd8d:1c0d:8926])\n        by smtp.gmail.com with ESMTPSA id\n a92af1059eb24-12bede545e8sm2818277c88.11.2026.04.02.14.04.40\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Thu, 02 Apr 2026 14:04:41 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775163887; cv=none;\n b=hSlSKEbt3xh11FSPhl5O6S5Kbsn2P6wfzUrcd2KSQbGVXgpYoVRG+7N3pe2hvjP+XY33LCBln7JUGA4zlIldDrpCryvDA3He/r/4t0aizgJ0mS/maBeQVYyvFKwQSR9jRItaoo5CVq2KAVGoxzX1WpHxXrEvGttnNZA9MrX+gas=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775163887; c=relaxed/simple;\n\tbh=9niybiFB5IVgmN0LDSpn+N1s08D0u5vGDHQCV7xvlbU=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=VJntciK5GI3DK4WXRmLgJMju1tuN3X5TDMN99/1Iy7TxFXu7YrIG5zK6pUPmMyrZ0a6OQm+nneIW4MMIzU1xs6otfa4Nmf6BOVLPDSFGz+r3bD4+YS8BeMYXCCzcpBk7OoHYZDpTPj+GeZkRIr2pxEllrojcPyxAWQjZVzBpnUc=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=pidkZMHp; arc=none smtp.client-ip=74.125.82.50","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775163882; x=1775768682;\n darn=vger.kernel.org;\n        h=in-reply-to:content-disposition:mime-version:references:message-id\n         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n        bh=YkigmJHvp4GgElx409CeKFIXm/H3rAfVDHZAfLtsfrs=;\n        b=pidkZMHpIrSmQSbDRL8P8vnV09rQbwkTBwk5gtoF9VJCE5GaZ7TjqDK8ehQpGpnBr/\n         bt9ESrBk2w2mb3nYGWxR51WKtOaseRIm8yfV3eCpdrQ5u16E1oErngngCgOyqm6FCnrz\n         iT+y16nhiUu3C8s6poXOAATYHzU0n3ssDXtkoW5LKfQ+M42HuDQEVl5fRSGMxWllFZxN\n         VoKf1I2MUv0Gcx/C6RDdraV+UQluUFiiZLT8CWp909yK7gpR3sA4hdDxWT+JCIjDRDK1\n         3pizrRFONH6bcmiVkTfsO+MndY4Xzkpvx8JfXsCSPCYt9e8+evkl/yMZnPu8e4qOsCVH\n         xvjw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775163882; x=1775768682;\n        h=in-reply-to:content-disposition:mime-version:references:message-id\n         :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n         :subject:date:message-id:reply-to;\n        bh=YkigmJHvp4GgElx409CeKFIXm/H3rAfVDHZAfLtsfrs=;\n        b=HsIONMUN6aGUQBZr3FZGDFVlnWoQaGaILyOlyAEBF5TCxxuhXCWM4fCWC6uwP6/3OR\n         0xuAXjp/dYBxR6QXm8tX7cNPR9OQ1CUc0ScZhL4xmcMpwZCpAu8Jjyf6RU81FFVuym95\n         hK4C7kpOpewD2oH770Jk5qmViTCATi5o0jNH8oRFtAqDmlrZKc5LqMfghewd6/+3CsfG\n         gMYZPCYrNzIwjkedHEDN5FhGp1/TeM7Gel/4q5BjZ0Maw5j4+7TqiXHgFjceSCmFA1P7\n         Yb7G8Syl8T51K4ECGdUgqVMSMiZY2CrxVT7thQt/XZ83QRQLgSPr/K6t6CxdfLcCoOS8\n         OW3Q==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVbpNmtcKQ1/aMcwOdun1m/FZZBeBA06ylUQ525CTF6PeeYpYJF+XcaAYf69AW7LyQEsVsh8v4k+UOw@vger.kernel.org","X-Gm-Message-State":"AOJu0YzEMlvUhN2mCs7y4UNs8ux4U/XycTnC9tQIzXi7CUVZuNp29aPI\n\tYuHgnuVHsgTAcRzrTSCMiOgqoAu5Gf8ZRjvQwkRO/3vCg9RxLwxJPEjU1qZvrw==","X-Gm-Gg":"ATEYQzzUBd9CIKzrapmHS+11irtI/m9hehRuEQQkILislU3zwoU1hUpMWyHjACg1DsB\n\t1pddM8N0twRNnOkFa4uNL5v0+11I+4iPMhsZlzHMNPI05Psf3Dv8wZu7D7SFsZDhzQCUYlwJQcM\n\t42AxlsYRrLUMrM8Oz+XS0iVuGMrS37jXWoqKQcZgqptuXE009u7OQp7j3Hdw6iAJxBtRN3EGUey\n\tRI01dTPdtcFxdwEAK3ENP0k0tna/NudEFbKvNeoBebzDuo0qWIUpSn/+I7nn2HP5ud6+k1Nepzs\n\tJU9kiIonNtfYxLrKLno4UekVynUKqwb9a5yPc55NnLTlJhCvem8Zhg03aFpjxSCz20NCx+F1xj0\n\tvI2WABYhuE/xLvBdYa+vDmCjiYhokV8YdpuFF/GqA/FuV42Hi20OOIXQDdpTOT77N6MVbsXMmMQ\n\tlSNSNx+SADMh+VckZ+GJN3YaWK0B99MfdWf3pQI0jJ0p9x0eGyeOcIo08lzFO9WOFE","X-Received":"by 2002:a05:7022:1603:b0:12b:ec96:c936 with SMTP id\n a92af1059eb24-12bfb70bfe6mr322111c88.14.1775163881666;\n        Thu, 02 Apr 2026 14:04:41 -0700 (PDT)","Date":"Thu, 2 Apr 2026 14:04:37 -0700","From":"Dmitry Torokhov <dmitry.torokhov@gmail.com>","To":"Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>","Cc":"Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n  Daniel Scally <djrscally@gmail.com>,\n Heikki Krogerus <heikki.krogerus@linux.intel.com>,\n  Sakari Ailus <sakari.ailus@linux.intel.com>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n  \"Rafael J. Wysocki\" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>,\n  Mika Westerberg <mika.westerberg@linux.intel.com>,\n Andy Shevchenko <andy@kernel.org>,  Linus Walleij <linusw@kernel.org>,\n Hans de Goede <hansg@kernel.org>,\n  Ilpo =?utf-8?b?SsOkcnZpbmVu?= <ilpo.jarvinen@linux.intel.com>,\n Len Brown <lenb@kernel.org>, linux-acpi@vger.kernel.org,\n  driver-core@lists.linux.dev, linux-kernel@vger.kernel.org,\n linux-gpio@vger.kernel.org,  platform-driver-x86@vger.kernel.org,\n brgl@kernel.org","Subject":"Re: [PATCH v2 2/4] gpio: swnode: defer probe on references to\n unregistered software nodes","Message-ID":"<ac7ZA6HJFBhyCROM@google.com>","References":"<20260402-baytrail-real-swnode-v2-0-6f5054a4cc07@oss.qualcomm.com>\n <20260402-baytrail-real-swnode-v2-2-6f5054a4cc07@oss.qualcomm.com>","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"\n <20260402-baytrail-real-swnode-v2-2-6f5054a4cc07@oss.qualcomm.com>"}},{"id":3673003,"web_url":"http://patchwork.ozlabs.org/comment/3673003/","msgid":"<CAMRc=Mda08=9zUuhaFVPYc368WE8Tz+Pc7ABCPoiQXWCBiBt9A@mail.gmail.com>","list_archive_url":null,"date":"2026-04-03T07:26:41","subject":"Re: [PATCH v2 2/4] gpio: swnode: defer probe on references to\n unregistered software nodes","submitter":{"id":92191,"url":"http://patchwork.ozlabs.org/api/people/92191/","name":"Bartosz Golaszewski","email":"brgl@kernel.org"},"content":"On Thu, Apr 2, 2026 at 11:04 PM Dmitry Torokhov\n<dmitry.torokhov@gmail.com> wrote:\n>\n> On Thu, Apr 02, 2026 at 02:54:27PM +0200, Bartosz Golaszewski wrote:\n> > fwnode_property_get_reference_args() now returns -ENXIO when called on a\n> > software node referencing another software node which has not yet been\n> > registered as a firmware node. It makes sense to defer probe in this\n> > situation as the node will most likely be registered later on and we'll\n> > be able to resolve the reference eventually. Change the behavior of\n> > swnode_find_gpio() to return -EPROBE_DEFER if the software node reference\n> > resolution returns -ENXIO.\n> >\n> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n> > ---\n> >  drivers/gpio/gpiolib-swnode.c | 9 +++++++++\n> >  1 file changed, 9 insertions(+)\n> >\n> > diff --git a/drivers/gpio/gpiolib-swnode.c b/drivers/gpio/gpiolib-swnode.c\n> > index 0d7f3f09a0b4bee0cf1bbdaa8b7b8ae4cd5de581..06d74e9e199de0b91a019e5e15d4b83d330291e7 100644\n> > --- a/drivers/gpio/gpiolib-swnode.c\n> > +++ b/drivers/gpio/gpiolib-swnode.c\n> > @@ -95,6 +95,15 @@ struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode,\n> >                       break;\n> >       }\n> >       if (ret) {\n> > +             if (ret == -ENXIO)\n>\n>\n> I'll be just sitting here and quoting sashiko all day long ;)\n>\n\nI would love it to produce briefer messages. I'm always put off by the\nwalls of text. I would literally rather deal with neanderthal mode\nlike: \"loop continues on ret != 0, bad!\".\n\n> \"\n> If swnode_gpio_get_reference() returns -ENXIO during the first iteration\n> (for example, when checking the con_id-gpios suffix), won't the loop continue\n> since the return value is not 0?\n>\n> Looking at the loop just above this block:\n>\n>         for_each_gpio_property_name(propname, con_id) {\n>                 ret = swnode_gpio_get_reference(fwnode, propname, idx, &args);\n>                 if (ret == 0)\n>                         break;\n>         }\n>\n> If the initial property check returns -ENXIO, but the subsequent fallback\n> check for the con_id-gpio suffix returns -ENOENT, the ret variable gets\n> overwritten.\n>\n> When the loop terminates, ret would be -ENOENT instead of -ENXIO. Could this\n> cause the probe deferral check to evaluate to false and fail the probe\n> entirely instead of deferring it as intended?\n>\n> Should the loop also break early if -ENXIO is encountered?\n>\n> \"\n>\n> You need to change that to\n>\n>         if (ret == 0 || ret == -ENXIO)\n>                 break;\n>\n> because if we get -ENXIO that means the GPIO must be there (the property\n> exists) but not ready yet and we do not want to fall back to another\n> suffix.\n>\n\nYes, thanks.\n\nBart","headers":{"Return-Path":"\n <linux-gpio+bounces-34624-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=OUnEi7AL;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34624-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"OUnEi7AL\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fn9K05N2Vz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 18:27:00 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 2F8EB303457E\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  3 Apr 2026 07:26:56 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 50FAF373BFC;\n\tFri,  3 Apr 2026 07:26:55 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 125833624A1\n\tfor <linux-gpio@vger.kernel.org>; Fri,  3 Apr 2026 07:26:54 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id C7E11C2BCC4\n\tfor <linux-gpio@vger.kernel.org>; Fri,  3 Apr 2026 07:26:54 +0000 (UTC)","by mail-lf1-f52.google.com with SMTP id\n 2adb3069b0e04-5a2b5ea59a1so2013932e87.1\n        for <linux-gpio@vger.kernel.org>;\n Fri, 03 Apr 2026 00:26:54 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775201215; cv=none;\n b=Ai35NO/8LT6182Hn20upEJKeSJ2eQgC3b9LLy7a23p/7iGy5KoRxuInFh6nBNMvX0283fbItbXxowptRxwp4xOowAGHKOWt0P+c2faS8WulItYxMMyFcRFSnx46iT/y/PfDDY29AR2wT1lFMilb6Ph35hhB04Sq23z7hXC+c3/I=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775201215; c=relaxed/simple;\n\tbh=eM35KzWv2m6tgTzCIiEI5j3QXAuEjv2FFrCxl6NnM1Q=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=KSW2SUe274IjIJWJluGt6bDRW9gtugbP5hqPdej31ATmBW3gD2OwfoRZwbALPZiKQHhXMjOFP/7v3ss/k2jSjzKx2yGWBUDX+bqJl0DPSSpib1zmBpk2s9Nea+7QhM07NWrP42WTDVMS8I4tuNJ/6w/OpPFoQ61KksBye7v6Ae0=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=OUnEi7AL; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775201214;\n\tbh=eM35KzWv2m6tgTzCIiEI5j3QXAuEjv2FFrCxl6NnM1Q=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=OUnEi7ALDfhHN79JTx5WS13kTaX7fcxQT09n2xOdIjnmkCIkyvHU0oQmoTLkh6mHU\n\t lUOC09cZNjIUbdvjXczg+oMDC1cES/aS1AjvfSYWQjugA0JnD2ZJZ8lqfuAJqZhnIp\n\t pFKTMllZc8sgc8PYxR79mJj1bOrkb4qUdUvUcbn9RhIzzpkuj7FNYmrdtQ7Foi5Tzs\n\t FJ71KJQKopslSrhOVAsUc7c99PnGlj/c16Ft55jNAaWcZP3GeRQF15kxiBxn1HxMFm\n\t V11aIqzbcRp82/EgmsX1C0RXIg4gUt+pcESNf8KyWKq805SRZJS9H4puUXURvFjqqA\n\t Q/VC5BSuUN8rw==","X-Forwarded-Encrypted":"i=1;\n AJvYcCUZT37BH06siHr/AZY9hjc3dMU9HWTPD3Xsu6BXczgxB8WaxNpbelXDznbcN9ND0m51x9htt3fFy38K@vger.kernel.org","X-Gm-Message-State":"AOJu0YwnvpUD3+zq+gKLShg7O2Ken4Lm5apIpOx1ra4GpBL37uxvgOmR\n\trTg6/BHEBMQfSuCs1c1BWdMQW48/4OapMQTIOqPTr8RcIxOJzveMHEVv/UIb+Ar4LiuKWJUeCHI\n\twv9ovoJYkIXEk88w5GqwP2gFcxLgdTuDH05StJedcOw==","X-Received":"by 2002:a05:6512:224a:b0:5a2:c914:8aff with SMTP id\n 2adb3069b0e04-5a337556dd5mr775128e87.3.1775201213415; Fri, 03 Apr 2026\n 00:26:53 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260402-baytrail-real-swnode-v2-0-6f5054a4cc07@oss.qualcomm.com>\n <20260402-baytrail-real-swnode-v2-2-6f5054a4cc07@oss.qualcomm.com>\n <ac7ZA6HJFBhyCROM@google.com>","In-Reply-To":"<ac7ZA6HJFBhyCROM@google.com>","From":"Bartosz Golaszewski <brgl@kernel.org>","Date":"Fri, 3 Apr 2026 09:26:41 +0200","X-Gmail-Original-Message-ID":"\n <CAMRc=Mda08=9zUuhaFVPYc368WE8Tz+Pc7ABCPoiQXWCBiBt9A@mail.gmail.com>","X-Gm-Features":"AQROBzAG5FPpFohnKOy2729dNSbwhXiSnZQOyCHPiJE-xJRTJR3vXtww77N-TeQ","Message-ID":"\n <CAMRc=Mda08=9zUuhaFVPYc368WE8Tz+Pc7ABCPoiQXWCBiBt9A@mail.gmail.com>","Subject":"Re: [PATCH v2 2/4] gpio: swnode: defer probe on references to\n unregistered software nodes","To":"Dmitry Torokhov <dmitry.torokhov@gmail.com>","Cc":"Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>,\n  Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Daniel Scally <djrscally@gmail.com>,\n  Heikki Krogerus <heikki.krogerus@linux.intel.com>,\n  Sakari Ailus <sakari.ailus@linux.intel.com>,\n  Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>,  Danilo Krummrich <dakr@kernel.org>,\n Mika Westerberg <mika.westerberg@linux.intel.com>,\n  Andy Shevchenko <andy@kernel.org>, Linus Walleij <linusw@kernel.org>,\n Hans de Goede <hansg@kernel.org>,\n =?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>,\n  Len Brown <lenb@kernel.org>, linux-acpi@vger.kernel.org,\n driver-core@lists.linux.dev,  linux-kernel@vger.kernel.org,\n linux-gpio@vger.kernel.org,  platform-driver-x86@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}},{"id":3673144,"web_url":"http://patchwork.ozlabs.org/comment/3673144/","msgid":"<CAMRc=McaXJbjy04gwyZmszdPs_4RW4WLrU0X6X6wuqKbm_mj1Q@mail.gmail.com>","list_archive_url":null,"date":"2026-04-03T13:44:05","subject":"Re: [PATCH v2 2/4] gpio: swnode: defer probe on references to\n unregistered software nodes","submitter":{"id":92191,"url":"http://patchwork.ozlabs.org/api/people/92191/","name":"Bartosz Golaszewski","email":"brgl@kernel.org"},"content":"On Thu, Apr 2, 2026 at 11:04 PM Dmitry Torokhov\n<dmitry.torokhov@gmail.com> wrote:\n>\n> You need to change that to\n>\n>         if (ret == 0 || ret == -ENXIO)\n>                 break;\n>\n> because if we get -ENXIO that means the GPIO must be there (the property\n> exists) but not ready yet and we do not want to fall back to another\n> suffix.\n>\n\nI'm wondering if we should make this check even stricter and only\ncontinue on -ENOENT - which means: there is no such property - and\nbail out on other errors.\n\nBut that would be a separate change.\n\nBart","headers":{"Return-Path":"\n <linux-gpio+bounces-34646-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=Yf+Sa9Lp;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34646-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"Yf+Sa9Lp\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fnKhb43wnz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 00:44:31 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 83D473007214\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  3 Apr 2026 13:44:29 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 1F1C3364959;\n\tFri,  3 Apr 2026 13:44:26 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id D6157388382\n\tfor <linux-gpio@vger.kernel.org>; Fri,  3 Apr 2026 13:44:25 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 9622EC2BCB5\n\tfor <linux-gpio@vger.kernel.org>; Fri,  3 Apr 2026 13:44:25 +0000 (UTC)","by mail-dl1-f51.google.com with SMTP id\n a92af1059eb24-12a71ade78cso2269714c88.0\n        for <linux-gpio@vger.kernel.org>;\n Fri, 03 Apr 2026 06:44:25 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775223865; cv=none;\n b=R1wgGsE15aiQUAXi0PFw9T0IewVFHrCzuAk06FMWmXD/ifc+FGc6YUt3nm2ETCb/XkKwYjE4iI4WEHBX8KemaBD+Y7rZAniEloIitzVv4DM7GeO1z2XF1iBgT9ZOl9VZn0uk71PyDfcdqGsic420nLY16Eo0a8WPvCFimIDykp4=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775223865; c=relaxed/simple;\n\tbh=6t5r9418LvagyoUOMjuFHRfkHnMedtZ6I0B3/J6r/BU=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=bpQC0/RC8Mgwq1TxkTREgyO0xinIWZsDUATyAG+3JGfHudBW08XxMPUk4r+TMjlraB8VbZEcph+4TkvcIas68oAYuOOgqspHaDE+o0hx+kr1I3c8wvQ3joXkIGg7uTyvy2arCM+2UgX2xLwIjdtwuX4DLf50pms99LlNaO9bRZw=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=Yf+Sa9Lp; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775223865;\n\tbh=6t5r9418LvagyoUOMjuFHRfkHnMedtZ6I0B3/J6r/BU=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=Yf+Sa9LpqjE5bQSyUilcDzH2Q24BcWkdBkfOQhXrhqGm4Bk4rEwF7mimZ64dco9xm\n\t KNwsG/DhnzWsgl2gSmKDF1fl+4yIhYdMCNOuFRgthtCkOEbXme/chZCowT3Rpi3UdL\n\t qDm5b7MUc/m6ifExnIWtHHfrW8yv3onh7ac31YGoCAT8I2q3jC8/soMoUX6p/VYI0m\n\t 82WiNn5xczOPjUuEvkiFYsjijVlKbOtI7kAXCY+QvC3TIJAuFg3JLQ+1+w5rbUFXXu\n\t LqVMqlcW7+FTgWJofB81sZwLt8SLiglizQ8QnYa3EuA/+zosJFpwjz5pm5gF2aA/WS\n\t +En24+/iFiv9Q==","X-Forwarded-Encrypted":"i=1;\n AJvYcCU39exQbdPoAeeFS7EZAxit4T/u7dljlmu4vIhVm+SAcpC6N9j733tSR3dYFYlRccXnZHt7I9B7YjTi@vger.kernel.org","X-Gm-Message-State":"AOJu0YxSbRxen1deLB/piofyD9BK2gkNbUMP/AvhErR0IAppvMvxqjuK\n\tpOSNwlshPYLmnztngsHBzqAWcheN0uqeXZVBMiJPoNYOsdIj5NGB2zvNI17RKjPs8K907bAnHpI\n\tjWfTEC6bzSxgKiX+KAMSdsG+1AGKHP+VhpsmPThVdVw==","X-Received":"by 2002:a05:7022:b81:b0:119:e55a:9c03 with SMTP id\n a92af1059eb24-12bfb765d17mr1120319c88.31.1775223864867; Fri, 03 Apr 2026\n 06:44:24 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260402-baytrail-real-swnode-v2-0-6f5054a4cc07@oss.qualcomm.com>\n <20260402-baytrail-real-swnode-v2-2-6f5054a4cc07@oss.qualcomm.com>\n <ac7ZA6HJFBhyCROM@google.com>","In-Reply-To":"<ac7ZA6HJFBhyCROM@google.com>","From":"Bartosz Golaszewski <brgl@kernel.org>","Date":"Fri, 3 Apr 2026 15:44:05 +0200","X-Gmail-Original-Message-ID":"\n <CAMRc=McaXJbjy04gwyZmszdPs_4RW4WLrU0X6X6wuqKbm_mj1Q@mail.gmail.com>","X-Gm-Features":"AQROBzBvZ243TFYFU14BrtTCsxbTjeeOTP888iqw5ZnYmqyZQD-y8m0ypGLIgFE","Message-ID":"\n <CAMRc=McaXJbjy04gwyZmszdPs_4RW4WLrU0X6X6wuqKbm_mj1Q@mail.gmail.com>","Subject":"Re: [PATCH v2 2/4] gpio: swnode: defer probe on references to\n unregistered software nodes","To":"Dmitry Torokhov <dmitry.torokhov@gmail.com>","Cc":"Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>,\n  Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Daniel Scally <djrscally@gmail.com>,\n  Heikki Krogerus <heikki.krogerus@linux.intel.com>,\n  Sakari Ailus <sakari.ailus@linux.intel.com>,\n  Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>,  Danilo Krummrich <dakr@kernel.org>,\n Mika Westerberg <mika.westerberg@linux.intel.com>,\n  Andy Shevchenko <andy@kernel.org>, Linus Walleij <linusw@kernel.org>,\n Hans de Goede <hansg@kernel.org>,\n =?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>,\n  Len Brown <lenb@kernel.org>, linux-acpi@vger.kernel.org,\n driver-core@lists.linux.dev,  linux-kernel@vger.kernel.org,\n linux-gpio@vger.kernel.org,  platform-driver-x86@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]