From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ACCF9C00140 for ; Mon, 15 Aug 2022 09:57:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242226AbiHOJ5n (ORCPT ); Mon, 15 Aug 2022 05:57:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241988AbiHOJ5m (ORCPT ); Mon, 15 Aug 2022 05:57:42 -0400 Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 802161C925 for ; Mon, 15 Aug 2022 02:57:41 -0700 (PDT) Received: by mail-ej1-x634.google.com with SMTP id gk3so12671681ejb.8 for ; Mon, 15 Aug 2022 02:57:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=r1NsrzieKJbz0xeysq9ijMttBXf0JDgLn0ohifJ6FV0=; b=gFptx6rdf1WmUqIRWVe+56U/Fl2x7Vlevj+kn9aSdpUpmlTGT8zizF89evlAIXSLr0 qcp4N/y8VKls98M6J9BBaplfbsqSiDbFZuWf/4hACiKKSOAj6QuMMsxoRfyLjRCS5ynX BWgAPx00uVspe9NbSXzukFJptl4K6fbbFVi56ECvPsX9N45wwEt6GA7TRgYueiGoIbMe N4YA5FtvIMKaIU/XuIm+47VmJ99k7WMAhXmNwaVK1qMMcmUI18SymK23LPQ4RCIGRy2p 627xhWBGUoql2p8Lz/bjmhKdXNE6u+YdFOiEN7OT2QnaPqX9PwFExEDljV42PTk4A6EH Nk/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=r1NsrzieKJbz0xeysq9ijMttBXf0JDgLn0ohifJ6FV0=; b=Y3/DbS2Iw2g+eLZZ8S6yLhdx4qw+Hm2yjUdJgZiNwni83g8fHppIoTlIl/iRWEZhJn 4FE5RBP0deWzhqtALKbf27aV3LjOkYOLFimNEfXYAR/Rtk2BgHsSHXV5bZQWKJ5pK1t7 DZQyJ5U+Aras0Gu0fbUnrR67uWATy/a2RYy+ZoTceMPnVsVKNigKNJQKMKeDgRVF9SW0 +0xtSjIOUKIhrAAZ38ic44UHdfwYxB19/UcHPbzwbAlvYkQCS3JrI3mRk5N+CZjyhntv lQ6UJPfZYapfd46fCVtnklMWnIA5I0C87el95CXXeSj1QDwWiZXzCpHnnC7hKxGZCCAR +vMw== X-Gm-Message-State: ACgBeo3QoS8ICNPSgirAlPw/doR3RLDMInn96845vuQMo7QPEMlhPZ82 mguLxM6YBlwtMcB+ycbBQz2ZC170VlG+VPQOlxURng== X-Google-Smtp-Source: AA6agR42gGHsKm0sw1MEgLwBiUC1pxf/08kt1kKkLbCwyDpNq+KcaYcUtN0ZKxYuGENxjoXyk9gWqGn/QTO3a8wYKnE= X-Received: by 2002:a17:907:7254:b0:731:61c6:ecf9 with SMTP id ds20-20020a170907725400b0073161c6ecf9mr10009999ejc.101.1660557460076; Mon, 15 Aug 2022 02:57:40 -0700 (PDT) MIME-Version: 1.0 References: <20220810060040.321697-1-saravanak@google.com> <20220810060040.321697-5-saravanak@google.com> In-Reply-To: <20220810060040.321697-5-saravanak@google.com> From: Bartosz Golaszewski Date: Mon, 15 Aug 2022 11:57:29 +0200 Message-ID: Subject: Re: [PATCH v1 4/9] gpiolib: Clear the gpio_device's fwnode initialized flag before adding To: Saravana Kannan Cc: Greg Kroah-Hartman , "Rafael J. Wysocki" , Linus Walleij , Rob Herring , Frank Rowand , Geert Uytterhoeven , Magnus Damm , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Len Brown , Abel Vesa , Alexander Stein , Tony Lindgren , Sudeep Holla , Geert Uytterhoeven , John Stultz , Doug Anderson , Guenter Roeck , kernel-team@android.com, Linux Kernel Mailing List , "open list:GPIO SUBSYSTEM" , devicetree , Linux-Renesas , ACPI Devel Maling List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On Wed, Aug 10, 2022 at 8:00 AM Saravana Kannan wrote: > > Registering an irqdomain sets the flag for the fwnode. But having the > flag set when a device is added is interpreted by fw_devlink to mean the > device has already been initialized and will never probe. This prevents > fw_devlink from creating device links with the gpio_device as a > supplier. So, clear the flag before adding the device. > > Signed-off-by: Saravana Kannan > --- > drivers/gpio/gpiolib.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index cc9c0a12259e..1d57d6f24632 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -522,6 +522,12 @@ static int gpiochip_setup_dev(struct gpio_device *gdev) > { > int ret; > > + /* > + * If fwnode doesn't belong to another device, it's safe to clear its > + * initialized flag. > + */ > + if (!gdev->dev.fwnode->dev) > + fwnode_dev_initialized(gdev->dev.fwnode, false); > ret = gcdev_register(gdev, gpio_devt); > if (ret) > return ret; > -- > 2.37.1.559.g78731f0fdb-goog > Acked-by: Bartosz Golaszewski