Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2219435/?format=api
{ "id": 2219435, "url": "http://patchwork.ozlabs.org/api/patches/2219435/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-aspeed/patch/20260402174925.v3.8.I806b8636cd3724f6cd1f5e199318ab8694472d90@changeid/", "project": { "id": 57, "url": "http://patchwork.ozlabs.org/api/projects/57/?format=api", "name": "Linux ASPEED SoC development", "link_name": "linux-aspeed", "list_id": "linux-aspeed.lists.ozlabs.org", "list_email": "linux-aspeed@lists.ozlabs.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260402174925.v3.8.I806b8636cd3724f6cd1f5e199318ab8694472d90@changeid>", "list_archive_url": null, "date": "2026-04-03T00:49:54", "name": "[v3,8/9] driver core: Replace dev->of_node_reused with DEV_FLAG_OF_NODE_REUSED", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "ca3083c1e7308aa4ec0566a771e989141aacb333", "submitter": { "id": 9763, "url": "http://patchwork.ozlabs.org/api/people/9763/?format=api", "name": "Douglas Anderson", "email": "dianders@chromium.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-aspeed/patch/20260402174925.v3.8.I806b8636cd3724f6cd1f5e199318ab8694472d90@changeid/mbox/", "series": [ { "id": 498569, "url": "http://patchwork.ozlabs.org/api/series/498569/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-aspeed/list/?series=498569", "date": "2026-04-03T00:49:46", "name": "driver core: Fix some race conditions", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/498569/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2219435/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2219435/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-aspeed+bounces-3833-incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-aspeed@lists.ozlabs.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=KcK9zswB;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linux-aspeed+bounces-3833-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::1336\"", "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=chromium.org", "lists.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=KcK9zswB;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=chromium.org\n (client-ip=2607:f8b0:4864:20::1336; helo=mail-dy1-x1336.google.com;\n envelope-from=dianders@chromium.org; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4fn0YJ4dXZz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 11:52:04 +1100 (AEDT)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fn0YJ3LtVz2yYy;\n\tFri, 03 Apr 2026 11:52:04 +1100 (AEDT)", "from mail-dy1-x1336.google.com (mail-dy1-x1336.google.com\n [IPv6:2607:f8b0:4864:20::1336])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fn0YH54ZZz2xQD\n\tfor <linux-aspeed@lists.ozlabs.org>; Fri, 03 Apr 2026 11:52:03 +1100 (AEDT)", "by mail-dy1-x1336.google.com with SMTP id\n 5a478bee46e88-2c156c4a9efso1817533eec.1\n for <linux-aspeed@lists.ozlabs.org>;\n Thu, 02 Apr 2026 17:52:03 -0700 (PDT)", "from dianders.sjc.corp.google.com\n ([2a00:79e0:2e7c:8:5db3:7542:a530:f43a])\n by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2ca78df3b84sm3630074eec.5.2026.04.02.17.51.58\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 02 Apr 2026 17:51:59 -0700 (PDT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775177524;\n\tcv=none;\n b=TnT0NSeyiV80ZAIQA0oMXsSkTOcG/E2UPz/vZeohhprAovNRmqUuEkOnKkDKRt8aJ7MdRC6+9mr665i3W58vq26KYXC5xM0wyuMJk2YWoq0SFBXi23/PzN4o4c4SqirGmpXaDFv8svXErtJC6+bR0F9WQxHmBtjYJJkMD52fkTdYwOpUs4LzVRFKImglR4NSqqUl4zJ+9AyZ1Mp2saMhwOJGAIPXw3EFKc7surrFXZyNIvMxMDv/2LzMYxz7iYT8o9uYvLx9/rAeodqmsPIlCZ1Dppr6uAnSvJPCyt3jAntgEYks9JJpFnISfK9if0po7aoMJpeW2eOIteQKDA4nBw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775177524; c=relaxed/relaxed;\n\tbh=c0XcTKJSZv00lNgVXjUFXubjiKj+C90x3kNuWZLzTwo=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=ovWQs22kd38lO5f4bg4RU8sBHwMs64kokdnAA8ZaNZqbceCaw2MU/m1v9RbQiGza7g/m9LDceZl4h4aBrhBR3FAy8uW0Bt1zv6wZaJGpnkVQTGhHcLQCZqKLjv1/TonSgxCIpdwCMFl0i1R3iqaGpwBTDT2UztKorccR5Agv6Kzqb6/zEPnMlHAnFem1ogWGMqjAcJi2wOD5TPLh3Qwh7s4jsx48LHbJkbXq5yXP/ZHPnvp/mGsh0QRH6igp5qjMyETqSZBu7zxu/TL8HosIt8zwXnDoBTFN3y7us3pzJniHfHVKFmT8hDCT9qW5cG9utnjyOvaTEcPOaEUcHCDu1w==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=chromium.org;\n dkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=KcK9zswB; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::1336; helo=mail-dy1-x1336.google.com;\n envelope-from=dianders@chromium.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=chromium.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=chromium.org; s=google; t=1775177522; x=1775782322;\n darn=lists.ozlabs.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=c0XcTKJSZv00lNgVXjUFXubjiKj+C90x3kNuWZLzTwo=;\n b=KcK9zswBIDoGnXtSmSVcHLNZvT8kTsZv7zFWa1bz01u8hOydHxML1TLEZh4r2wKwDd\n T4EIg/XavrD8KPfb3MTOXsWiOLGR/lQ3VYoIPBo7u8xZa96kkSq2xo0EVQSVy8uy/C0d\n ZoC1lJkwayqWty8wcSLHVJapPbzbjsRNzKxXk=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775177522; x=1775782322;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=c0XcTKJSZv00lNgVXjUFXubjiKj+C90x3kNuWZLzTwo=;\n b=abZGDkJl/bh+w2H7lj+23+FayFAsmudoyDI2U66UBCjh0l4nO/MX8P/gyRh6FmtNs3\n AR1YBau2xmJil6ATRMjeiFGOAO58EqvakhL9whAqGegWwamhOrizlzvEr28DO+JtsdVR\n /mh/SqG4B+/TuFBpdCfA15aDT643JSV3t5geUafXyTvj0P0KG3a//2XJqBESsylvZ/sP\n VuhoyBQ1vls9KGxfZfnOnx6F+2a16YmCRlnt3D7W63ZT9EVgkNRnyy8XAIizkvThJ4r2\n 828oEOc2HUaUDGctkrZptXLynmlSnDExp03iPUlGpYR+BUDt7J9nE7TnFA951bbHpiHM\n TpyA==", "X-Forwarded-Encrypted": "i=1;\n AJvYcCVOODpoZfCU9Dt4mq62nJWlJ2DLHKZ+A1Oa2iWeTQJx6lCcitOmDH32Sz8Mk9nF9WMGEusaUd2V+TZ8n3I=@lists.ozlabs.org", "X-Gm-Message-State": "AOJu0YxioqBEhd6urIc+BHEb6pCTj494mKupQimKKhIOronoLUykub8X\n\tCW7cdl82E2s8kmXJfar/qS3KpOG2rEEwC06LsRQDvlJVOGA1IH4I7SftAqwxKQFh1g==", "X-Gm-Gg": "AeBDiesQTyBmq7DuBo+wU6uk+BItVKgMVsywV+AE2sW5EGYsjRcjOs8qlLZUSnbQ7Za\n\tXXsSKKvFUqll/nVi9s9Q4Ry4l7MAhuAGrmwE9pbPNAkGsfAZolVG/4K0NBv4yLjAWoURE596bKF\n\t3JV/3IWgBDJgksIc5LU632Y9qAV7SeLT6EE+Yfo/1zxUBSov4MBD3RxP8zurXqbotxTnDfrFCq1\n\tkcYiNwXsNWDqcHLvGkerY2kFTo0UUUIFr9Ie8oSI6DKEWt4PBO6PNOuPu3cEpf18L25HvNec0ra\n\tDkMHn/lfI6uXM+Z+ZCjO0hZ82dgXovRjwKxB7zvqj7HQ77EyYu+SBruqFyVk365rVjd62+JkY8q\n\tuxP5bzSN8szFj0qyvfVWQvn/8orFRLGxC6YSGS3nhFvOSUY69amCje6c2X5UP2asyVX9/atIJty\n\tUXF9Wgk0MvFqkg3OCxAbZlYTVjg6LS/5MI86VSMqEVg3/ArlTIPyTcpAR2od8TYbySmrILypb2o\n\tQb3kltQNbA=", "X-Received": "by 2002:a05:7300:2315:b0:2c8:b5e1:6b03 with SMTP id\n 5a478bee46e88-2cbfbf77d16mr618666eec.23.1775177521837;\n Thu, 02 Apr 2026 17:52:01 -0700 (PDT)", "From": "Douglas Anderson <dianders@chromium.org>", "To": "Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n\t\"Rafael J . Wysocki\" <rafael@kernel.org>,\n\tDanilo Krummrich <dakr@kernel.org>,\n\tAlan Stern <stern@rowland.harvard.edu>", "Cc": "Robin Murphy <robin.murphy@arm.com>,\n\tLeon Romanovsky <leon@kernel.org>,\n\tPaul Burton <paul.burton@mips.com>,\n\tSaravana Kannan <saravanak@kernel.org>,\n\tAlexander Lobakin <aleksander.lobakin@intel.com>,\n\tEric Dumazet <edumazet@google.com>,\n\tToshi Kani <toshi.kani@hp.com>,\n\tChristoph Hellwig <hch@lst.de>,\n\tAlexey Kardashevskiy <aik@ozlabs.ru>,\n\tJohan Hovold <johan@kernel.org>,\n\tDouglas Anderson <dianders@chromium.org>,\n\talexander.stein@ew.tq-group.com,\n\tandrew@codeconstruct.com.au,\n\tandrew@lunn.ch,\n\tandriy.shevchenko@linux.intel.com,\n\tastewart@tektelic.com,\n\tbhelgaas@google.com,\n\tbrgl@kernel.org,\n\tbroonie@kernel.org,\n\tdavem@davemloft.net,\n\tdevicetree@vger.kernel.org,\n\tdriver-core@lists.linux.dev,\n\thkallweit1@gmail.com,\n\tjirislaby@kernel.org,\n\tjoel@jms.id.au,\n\tkees@kernel.org,\n\tkuba@kernel.org,\n\tlgirdwood@gmail.com,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-aspeed@lists.ozlabs.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-pci@vger.kernel.org,\n\tlinux-serial@vger.kernel.org,\n\tlinux-usb@vger.kernel.org,\n\tlinux@armlinux.org.uk,\n\tmani@kernel.org,\n\tnetdev@vger.kernel.org,\n\tpabeni@redhat.com,\n\trobh@kernel.org", "Subject": "[PATCH v3 8/9] driver core: Replace dev->of_node_reused with\n DEV_FLAG_OF_NODE_REUSED", "Date": "Thu, 2 Apr 2026 17:49:54 -0700", "Message-ID": "\n <20260402174925.v3.8.I806b8636cd3724f6cd1f5e199318ab8694472d90@changeid>", "X-Mailer": "git-send-email 2.53.0.1213.gd9a14994de-goog", "In-Reply-To": "<20260403005005.30424-1-dianders@chromium.org>", "References": "<20260403005005.30424-1-dianders@chromium.org>", "X-Mailing-List": "linux-aspeed@lists.ozlabs.org", "List-Id": "<linux-aspeed.lists.ozlabs.org>", "List-Help": "<mailto:linux-aspeed+help@lists.ozlabs.org>", "List-Owner": "<mailto:linux-aspeed+owner@lists.ozlabs.org>", "List-Post": "<mailto:linux-aspeed@lists.ozlabs.org>", "List-Archive": "<https://lore.kernel.org/linux-aspeed/>,\n <https://lists.ozlabs.org/pipermail/linux-aspeed/>", "List-Subscribe": "<mailto:linux-aspeed+subscribe@lists.ozlabs.org>,\n <mailto:linux-aspeed+subscribe-digest@lists.ozlabs.org>,\n <mailto:linux-aspeed+subscribe-nomail@lists.ozlabs.org>", "List-Unsubscribe": "<mailto:linux-aspeed+unsubscribe@lists.ozlabs.org>", "Precedence": "list", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Spam-Status": "No, score=-0.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "In C, bitfields are not necessarily safe to modify from multiple\nthreads without locking. Switch \"of_node_reused\" over to the \"flags\"\nfield so modifications are safe.\n\nCc: Johan Hovold <johan@kernel.org>\nSigned-off-by: Douglas Anderson <dianders@chromium.org>\n---\nNot fixing any known bugs; problem is theoretical and found by code\ninspection. Change is done somewhat manually and only lightly tested\n(mostly compile-time tested).\n\nChanges in v3:\n- New\n\n drivers/base/core.c | 2 +-\n drivers/base/pinctrl.c | 2 +-\n drivers/base/platform.c | 2 +-\n drivers/net/pcs/pcs-xpcs-plat.c | 2 +-\n drivers/of/device.c | 6 +++---\n drivers/pci/of.c | 2 +-\n drivers/pci/pwrctrl/core.c | 2 +-\n drivers/regulator/bq257xx-regulator.c | 2 +-\n drivers/regulator/rk808-regulator.c | 2 +-\n drivers/tty/serial/serial_base_bus.c | 2 +-\n drivers/usb/gadget/udc/aspeed-vhub/dev.c | 2 +-\n include/linux/device.h | 6 +++---\n 12 files changed, 16 insertions(+), 16 deletions(-)", "diff": "diff --git a/drivers/base/core.c b/drivers/base/core.c\nindex 00005777c21f..a87bd40499b6 100644\n--- a/drivers/base/core.c\n+++ b/drivers/base/core.c\n@@ -5282,7 +5282,7 @@ void device_set_of_node_from_dev(struct device *dev, const struct device *dev2)\n {\n \tof_node_put(dev->of_node);\n \tdev->of_node = of_node_get(dev2->of_node);\n-\tdev->of_node_reused = true;\n+\tset_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags);\n }\n EXPORT_SYMBOL_GPL(device_set_of_node_from_dev);\n \ndiff --git a/drivers/base/pinctrl.c b/drivers/base/pinctrl.c\nindex 6e250272c843..62c228c75d50 100644\n--- a/drivers/base/pinctrl.c\n+++ b/drivers/base/pinctrl.c\n@@ -24,7 +24,7 @@ int pinctrl_bind_pins(struct device *dev)\n {\n \tint ret;\n \n-\tif (dev->of_node_reused)\n+\tif (test_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags))\n \t\treturn 0;\n \n \tdev->pins = devm_kzalloc(dev, sizeof(*(dev->pins)), GFP_KERNEL);\ndiff --git a/drivers/base/platform.c b/drivers/base/platform.c\nindex d44591d52e36..5128ff7e5e78 100644\n--- a/drivers/base/platform.c\n+++ b/drivers/base/platform.c\n@@ -856,7 +856,7 @@ struct platform_device *platform_device_register_full(\n \tpdev->dev.parent = pdevinfo->parent;\n \tpdev->dev.fwnode = pdevinfo->fwnode;\n \tpdev->dev.of_node = of_node_get(to_of_node(pdev->dev.fwnode));\n-\tpdev->dev.of_node_reused = pdevinfo->of_node_reused;\n+\tassign_bit(DEV_FLAG_OF_NODE_REUSED, &pdev->dev.flags, pdevinfo->of_node_reused);\n \n \tif (pdevinfo->dma_mask) {\n \t\tpdev->platform_dma_mask = pdevinfo->dma_mask;\ndiff --git a/drivers/net/pcs/pcs-xpcs-plat.c b/drivers/net/pcs/pcs-xpcs-plat.c\nindex b8c48f9effbf..c2722d8bd98a 100644\n--- a/drivers/net/pcs/pcs-xpcs-plat.c\n+++ b/drivers/net/pcs/pcs-xpcs-plat.c\n@@ -349,7 +349,7 @@ static int xpcs_plat_init_dev(struct dw_xpcs_plat *pxpcs)\n \t * up later. Make sure DD-core is aware of the OF-node being re-used.\n \t */\n \tdevice_set_node(&mdiodev->dev, fwnode_handle_get(dev_fwnode(dev)));\n-\tmdiodev->dev.of_node_reused = true;\n+\tset_bit(DEV_FLAG_OF_NODE_REUSED, &mdiodev->dev.flags);\n \n \t/* Pass the data further so the DW XPCS driver core could use it */\n \tmdiodev->dev.platform_data = (void *)device_get_match_data(dev);\ndiff --git a/drivers/of/device.c b/drivers/of/device.c\nindex f7e75e527667..fd77295a8c0f 100644\n--- a/drivers/of/device.c\n+++ b/drivers/of/device.c\n@@ -26,7 +26,7 @@\n const struct of_device_id *of_match_device(const struct of_device_id *matches,\n \t\t\t\t\t const struct device *dev)\n {\n-\tif (!matches || !dev->of_node || dev->of_node_reused)\n+\tif (!matches || !dev->of_node || test_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags))\n \t\treturn NULL;\n \treturn of_match_node(matches, dev->of_node);\n }\n@@ -192,7 +192,7 @@ ssize_t of_device_modalias(struct device *dev, char *str, ssize_t len)\n {\n \tssize_t sl;\n \n-\tif (!dev || !dev->of_node || dev->of_node_reused)\n+\tif (!dev || !dev->of_node || test_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags))\n \t\treturn -ENODEV;\n \n \tsl = of_modalias(dev->of_node, str, len - 2);\n@@ -254,7 +254,7 @@ int of_device_uevent_modalias(const struct device *dev, struct kobj_uevent_env *\n {\n \tint sl;\n \n-\tif ((!dev) || (!dev->of_node) || dev->of_node_reused)\n+\tif ((!dev) || (!dev->of_node) || test_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags))\n \t\treturn -ENODEV;\n \n \t/* Devicetree modalias is tricky, we add it in 2 steps */\ndiff --git a/drivers/pci/of.c b/drivers/pci/of.c\nindex 9f8eb5df279e..197b60c5a660 100644\n--- a/drivers/pci/of.c\n+++ b/drivers/pci/of.c\n@@ -38,7 +38,7 @@ int pci_set_of_node(struct pci_dev *dev)\n \tstruct device *pdev __free(put_device) =\n \t\tbus_find_device_by_of_node(&platform_bus_type, node);\n \tif (pdev)\n-\t\tdev->bus->dev.of_node_reused = true;\n+\t\tset_bit(DEV_FLAG_OF_NODE_REUSED, &dev->bus->dev.flags);\n \n \tdevice_set_node(&dev->dev, of_fwnode_handle(no_free_ptr(node)));\n \treturn 0;\ndiff --git a/drivers/pci/pwrctrl/core.c b/drivers/pci/pwrctrl/core.c\nindex 7754baed67f2..cfbe9b615b88 100644\n--- a/drivers/pci/pwrctrl/core.c\n+++ b/drivers/pci/pwrctrl/core.c\n@@ -39,7 +39,7 @@ static int pci_pwrctrl_notify(struct notifier_block *nb, unsigned long action,\n \t\t * If we got here then the PCI device is the second after the\n \t\t * power control platform device. Mark its OF node as reused.\n \t\t */\n-\t\tdev->of_node_reused = true;\n+\t\tset_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags);\n \t\tbreak;\n \t}\n \ndiff --git a/drivers/regulator/bq257xx-regulator.c b/drivers/regulator/bq257xx-regulator.c\nindex dab8f1ab4450..01d3139e1d87 100644\n--- a/drivers/regulator/bq257xx-regulator.c\n+++ b/drivers/regulator/bq257xx-regulator.c\n@@ -143,7 +143,7 @@ static int bq257xx_regulator_probe(struct platform_device *pdev)\n \tstruct regulator_config cfg = {};\n \n \tpdev->dev.of_node = pdev->dev.parent->of_node;\n-\tpdev->dev.of_node_reused = true;\n+\tset_bit(DEV_FLAG_OF_NODE_REUSED, &pdev->dev.flags);\n \n \tpdata = devm_kzalloc(&pdev->dev, sizeof(struct bq257xx_reg_data), GFP_KERNEL);\n \tif (!pdata)\ndiff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c\nindex e66408f23bb6..375ea7861134 100644\n--- a/drivers/regulator/rk808-regulator.c\n+++ b/drivers/regulator/rk808-regulator.c\n@@ -2115,7 +2115,7 @@ static int rk808_regulator_probe(struct platform_device *pdev)\n \tint ret, i, nregulators;\n \n \tpdev->dev.of_node = pdev->dev.parent->of_node;\n-\tpdev->dev.of_node_reused = true;\n+\tset_bit(DEV_FLAG_OF_NODE_REUSED, &pdev->dev.flags);\n \n \tregmap = dev_get_regmap(pdev->dev.parent, NULL);\n \tif (!regmap)\ndiff --git a/drivers/tty/serial/serial_base_bus.c b/drivers/tty/serial/serial_base_bus.c\nindex a12935f6b992..86c6003bbebb 100644\n--- a/drivers/tty/serial/serial_base_bus.c\n+++ b/drivers/tty/serial/serial_base_bus.c\n@@ -74,7 +74,7 @@ static int serial_base_device_init(struct uart_port *port,\n \tdev->parent = parent_dev;\n \tdev->bus = &serial_base_bus_type;\n \tdev->release = release;\n-\tdev->of_node_reused = true;\n+\tset_bit(DEV_FLAG_OF_NODE_REUSED, &dev->flags);\n \n \tdevice_set_node(dev, fwnode_handle_get(dev_fwnode(parent_dev)));\n \ndiff --git a/drivers/usb/gadget/udc/aspeed-vhub/dev.c b/drivers/usb/gadget/udc/aspeed-vhub/dev.c\nindex 2ecd049dacc2..57048e3aa6bb 100644\n--- a/drivers/usb/gadget/udc/aspeed-vhub/dev.c\n+++ b/drivers/usb/gadget/udc/aspeed-vhub/dev.c\n@@ -593,7 +593,7 @@ int ast_vhub_init_dev(struct ast_vhub *vhub, unsigned int idx)\n \t\td->gadget.max_speed = USB_SPEED_HIGH;\n \td->gadget.speed = USB_SPEED_UNKNOWN;\n \td->gadget.dev.of_node = vhub->pdev->dev.of_node;\n-\td->gadget.dev.of_node_reused = true;\n+\tset_bit(DEV_FLAG_OF_NODE_REUSED, &d->gadget.dev.flags);\n \n \trc = usb_add_gadget_udc(d->port_dev, &d->gadget);\n \tif (rc != 0)\ndiff --git a/include/linux/device.h b/include/linux/device.h\nindex c2a6dba7a036..f6ca067bacca 100644\n--- a/include/linux/device.h\n+++ b/include/linux/device.h\n@@ -482,6 +482,8 @@ struct device_physical_location {\n *\t\tdriver/bus sync_state() callback.\n * @DEV_FLAG_DMA_COHERENT: This particular device is dma coherent, even if the\n *\t\tarchitecture supports non-coherent devices.\n+ * @DEV_FLAG_OF_NODE_REUSED: Set if the device-tree node is shared with an\n+ *\t\tancestor device.\n */\n enum struct_device_flags {\n \tDEV_FLAG_READY_TO_PROBE,\n@@ -491,6 +493,7 @@ enum struct_device_flags {\n \tDEV_FLAG_DMA_OPS_BYPASS,\n \tDEV_FLAG_STATE_SYNCED,\n \tDEV_FLAG_DMA_COHERENT,\n+\tDEV_FLAG_OF_NODE_REUSED,\n };\n \n /**\n@@ -570,8 +573,6 @@ enum struct_device_flags {\n *\n * @offline_disabled: If set, the device is permanently online.\n * @offline:\tSet after successful invocation of bus type's .offline().\n- * @of_node_reused: Set if the device-tree node is shared with an ancestor\n- * device.\n * @flags:\tDEV_FLAG_XXX flags. Use atomic bitfield operations to modify.\n *\n * At the lowest level, every device in a Linux system is represented by an\n@@ -678,7 +679,6 @@ struct device {\n \n \tbool\t\t\toffline_disabled:1;\n \tbool\t\t\toffline:1;\n-\tbool\t\t\tof_node_reused:1;\n \n \tunsigned long\t\tflags;\n };\n", "prefixes": [ "v3", "8/9" ] }