Received: by 2002:ab2:7041:0:b0:1f4:bcc8:f211 with SMTP id x1csp122686lql; Fri, 12 Apr 2024 05:54:59 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUdZApr0iAGS7iQSK4GPOI/yE+Lh/JGAJzM0yg4ReptyuzY9wsLwad0k0aCDQx5LvAdTQmZNt2n13kO8k6AnTPSE0vqzBw4lrFLs2X2gg== X-Google-Smtp-Source: AGHT+IFn86InCYNYTxtOR1STKthR/F2Q8hhaKxY+Ak7YVRCpSFuqH6LY0xlGOR7XBEtNP39Uv17B X-Received: by 2002:a05:6214:29c3:b0:69b:b87:534d with SMTP id gh3-20020a05621429c300b0069b0b87534dmr2921925qvb.35.1712926498801; Fri, 12 Apr 2024 05:54:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712926498; cv=pass; d=google.com; s=arc-20160816; b=yEyeHyifk+32KFbFaucNhTsZlX+S8gbLyl70MEdHbFneq11xDV+HIOIlnM9YyTK3VN OXGXTOe9cWqyLibTaXF3m2LjEk0mhBAhlT6QubIRHmlM33bccxbeeSXXBqASePmI8mW+ R2PocE0lVWcY+LlxcddCblC0crfcYToD89J6axYDlaT4BSWRGM8qR+YtKV8f/S9Z+54A sVMWROXtIrZzYkbB5iaC92aeBCBaD2NXztL6xTnFjrdGxbJ4oiBbvzapZgE5wfH1TBFV dtAeRzS4ngyoc6NXLOcFpa2Wn71mwAZhpxfjzG4YRwmdVLnLeQxG9v07CxN3kgtTfApx Vcjw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=mGxcR7rEsruswS53pZQQYDhPbyOOq3g3u11FPqLiCm4=; fh=Bkar4CT9udt7/S8Dyk5YfzSHEbJQmowmN87YcaLfUcw=; b=eh4XiePgH7no7nIf9gjAvJ845JWjCes8CgyvI5orKwWg0rToK6KNI0k++pEDS3N1DE SCHYvX0ePvwC7NKCg8LwVlz2n9EeomivhhpmN57fQgK7k43xb4QsGo/TFY2bMk+GmEpu l0+0FQ9Y3d/yUMFCtoQlWu7unXMHe/VYji9+DQHKgKDRhFeYSJMPA8JGDJimy4v3Zt9u Fy5yMjLHFDh7vAlcIqEkTbRgOHhKgmpTwPe6fBetqv/W6qxIA3o3mjwo/FDRj3Efddc+ DZ/CMmmFVKszbAZ0TVSzsXN0U8xUAWPT0q9ZYzM2gmxh+SJ/GB6wY2fraRhBj+eI6xhr OPFg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mrw7zwCj; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-142671-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-142671-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id dj20-20020a056214091400b0069b4105e916si3510582qvb.511.2024.04.12.05.54.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Apr 2024 05:54:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-142671-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mrw7zwCj; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-142671-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-142671-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8600B1C21FCB for ; Fri, 12 Apr 2024 12:54:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AB9395A105; Fri, 12 Apr 2024 12:54:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mrw7zwCj" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0B075915A; Fri, 12 Apr 2024 12:54:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712926488; cv=none; b=qsWJla/D/GdwO1JKTJ38hmAmAW2cY8S4vm66eAqjnBaECuTlYLT9oGEPcpCa24gBWFouG6yMN9GYVlsXJRJawgXFK6kIU9AtQi8REuHgeNEJU98Ed6tW+RKkxwVs5gBDqTcSgYS4v/Hw5vv3tp6cR/NSsh9EeAmr/alNWBB+mW0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712926488; c=relaxed/simple; bh=Ngh8as+dXvRlB5SerxSE46bXBnL0GTaccDHqC6EbXGs=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Q8WnpAWGDzGHXeKNFT9lIQc2+VVulpNnt9lTdryHcs74sHZgo6lYI2NmUPTZ/U9pRB5jc4idUwb/6UqnH/6yef460rJpMlcvCMha8rYZq619wiYkTbjiZVfaO7pQfGwuxpQwDg2OnXjI0Oz3umHOMzffmr3dJZwbk/wZ4YAua2g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mrw7zwCj; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63160C4AF0A; Fri, 12 Apr 2024 12:54:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712926488; bh=Ngh8as+dXvRlB5SerxSE46bXBnL0GTaccDHqC6EbXGs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=mrw7zwCj4c2QBgK6ebnLniWioldnKscr9fp4p1xfsM3oK8SK8KHFwuRNe/3rUVQXx mGByPtNBqaNEyPCrvZj+PHb1DKZfO8e3J+7CApHm3qj8V+t4kMKTEWqU17gxTKhyw8 /fmekHpA7+x2hucHpUzrvhUHeaJfeDqs2AW1FU1u7r90ZL4o25ERwFDchGSfKH5PXW iHH9FXCK11kzEvqcCCp+JCbHBzFKH9j53SEBK6hZDyDYsx0FYcSXG46os3Vt7bqBt1 hhPSv2x1D/Y0+TKWB72PmFCZcDJpDBGJaCOECqNmOW6AGMi4zTPzlpS8tseKUjHPEN YLnbiCbfqBcrg== Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2d47a92cfefso9936721fa.1; Fri, 12 Apr 2024 05:54:48 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCWaYd27OMdYVB2h5nWrpZrzLEC5NMRHWZ1M0HZj8tfeYgqbFPL+/JIixL1C939JiKN45Ui7kruMN4ZfKgEG3WCbF09kP5nyUebVqGGMVNk5eUIU54yLgAnvmWp+VlTVG+u/MRvw22u19QZwOEgLohK3jGSofmvsauYmrQ1LUxvgY+wUGn9d2UNBCW0SC5Tuo3QIfpBpFSRHUhS7EcwsCIjpuHCRHIp7VvB+FoZZ+KJq2U+AXTTFX5vKKU4= X-Gm-Message-State: AOJu0Yw80SHNPssX6hmkfoypbxQF2Sp2JeQNj2BH30wYF9FRp9cmE6V/ raeKRW9FHwBRBaje3d8mhrHTuiiBPgwf1e6H3V7zSHgzILtcdU45TE+TOYmEcwZmM+ieNr93d1R NsVZCp6pJ17gLcs05QHaxGuvs9Q== X-Received: by 2002:a2e:88d4:0:b0:2d9:fe27:7716 with SMTP id a20-20020a2e88d4000000b002d9fe277716mr1833708ljk.38.1712926486579; Fri, 12 Apr 2024 05:54:46 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240411235623.1260061-1-saravanak@google.com> <20240411235623.1260061-3-saravanak@google.com> In-Reply-To: <20240411235623.1260061-3-saravanak@google.com> From: Rob Herring Date: Fri, 12 Apr 2024 07:54:32 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 2/2] of: dynamic: Fix overlayed devices not probing because of fw_devlink To: Saravana Kannan Cc: Herve Codina , Greg Kroah-Hartman , "Rafael J. Wysocki" , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Wolfram Sang , Mark Brown , Len Brown , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Geert Uytterhoeven , kernel-team@android.com, Wolfram Sang , linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-spi@vger.kernel.org, linux-acpi@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 11, 2024 at 6:56=E2=80=AFPM Saravana Kannan wrote: > > When an overlay is applied, if the target device has already probed > successfully and bound to a device, then some of the fw_devlink logic > that ran when the device was probed needs to be rerun. This allows newly > created dangling consumers of the overlayed device tree nodes to be > moved to become consumers of the target device. > > Fixes: 1a50d9403fb9 ("treewide: Fix probing of devices in DT overlays") > Reported-by: Herve Codina > Closes: https://lore.kernel.org/lkml/CAMuHMdXEnSD4rRJ-o90x4OprUacN_rJgyo8= x6=3D9F9rZ+-KzjOg@mail.gmail.com/ > Closes: https://lore.kernel.org/all/20240221095137.616d2aaa@bootlin.com/ > Closes: https://lore.kernel.org/lkml/20240312151835.29ef62a0@bootlin.com/ > Signed-off-by: Saravana Kannan > --- > drivers/base/core.c | 76 +++++++++++++++++++++++++++++++++++++----- > drivers/of/overlay.c | 15 +++++++++ > include/linux/fwnode.h | 1 + > 3 files changed, 83 insertions(+), 9 deletions(-) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index 5f4e03336e68..1a646f393dd7 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -46,6 +46,8 @@ static bool fw_devlink_drv_reg_done; > static bool fw_devlink_best_effort; > static struct workqueue_struct *device_link_wq; > > +#define get_dev_from_fwnode(fwnode) get_device((fwnode)->dev) I think it is better to not have this wrapper. We want it to be clear when we're acquiring a ref. I know get_device() does that, but I have to look up what get_dev_from_fwnode() does exactly. Side note: I didn't know fwnode has a ptr to the struct device. I wonder if we can kill off of_find_device_by_node() using that. That's for platform devices though. Rob