{"id":2227827,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2227827/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260424103604.2616657-3-johan@kernel.org/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.1/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<20260424103604.2616657-3-johan@kernel.org>","date":"2026-04-24T10:36:03","name":"[2/3] powerpc/pseries: switch to dynamic ibmebus root device","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"54dc2dde862fcb7b0fbb869eaf66cc22c977702e","submitter":{"id":64666,"url":"http://patchwork.ozlabs.org/api/1.1/people/64666/?format=json","name":"Johan Hovold","email":"johan@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260424103604.2616657-3-johan@kernel.org/mbox/","series":[{"id":501340,"url":"http://patchwork.ozlabs.org/api/1.1/series/501340/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=501340","date":"2026-04-24T10:36:03","name":"powerpc: switch to dynamic root devices","version":1,"mbox":"http://patchwork.ozlabs.org/series/501340/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2227827/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2227827/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-20065-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.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=SPR35I1X;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20065-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2600:3c04:e001:324:0:1991:8:25\"","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","lists.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=SPR35I1X;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=2600:3c04:e001:324:0:1991:8:25; helo=tor.source.kernel.org;\n envelope-from=johan@kernel.org; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\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 4g28Wm5nbGz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 20:36:20 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g28Wm4PGyz2yjn;\n\tFri, 24 Apr 2026 20:36:20 +1000 (AEST)","from tor.source.kernel.org (tor.source.kernel.org\n [IPv6:2600:3c04:e001:324:0:1991:8:25])\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 lists.ozlabs.org (Postfix) with ESMTPS id 4g28Wl4szdz2yTQ\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 24 Apr 2026 20:36:19 +1000 (AEST)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id A7AF960120;\n\tFri, 24 Apr 2026 10:36:17 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 59653C2BCB5;\n\tFri, 24 Apr 2026 10:36:17 +0000 (UTC)","from johan by xi.lan with local (Exim 4.98.2)\n\t(envelope-from <johan@kernel.org>)\n\tid 1wGDtP-0000000Ayib-0rYe;\n\tFri, 24 Apr 2026 12:36:15 +0200"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777026980;\n\tcv=none;\n b=Be5W853fjZw19yZQrCsbIuUkbBOsCTHDdTyFS8Fb6XRpDir4e5iCByfJFibYuGuh/KcHEp4/5rzcpopo1S3jmvUC9ZobP1DpqA2LoM2m4mpqPqyAl4wVFUmO+RBvKOO2t396IkEk6Hwx/I2JH5nMaAGsHQqkoDp4McCsHgxRIsr11ToXdLZXBOv5qBZmkpYFAFRls46L9dmA7V8torBPQIVsZ3d6pjVm8R6ihieCK299v3E+ZCdtGIS6+XWIGc/kgKsdfyaxpeAhGLNkyEPTKEPN6wBdvdA6Fbxymz8l0+3dmF0C2eRr6liq9jNa6JW1fJs4FPzjap9b/YpDB9HLgw==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777026980; c=relaxed/relaxed;\n\tbh=tcov7yLgleOf2gGykcygfE/Z/ck0E844+4kEd+8wt+8=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=F2v6yEZUzwWYV5KGCoSfSauMjpJo6zTc9lrEWrlZe3tivqULxbQMOYDs8K2HTUY6owqeq6Ss10J/x0Xlpo82aQpfGmpe21KiUxFVXQlLDDVSKBoo20+bWamDqsSAp+3WF/qAr8aaov9O0oWmJ5v7/RWCWr4FmHpfm3vU5H+8+WtYsBUKT7Cp+fykG/dmRvp3ySz1J2PGncvVZ29zbD4T12BpaqQ7nt9t4YwckoXzU0/+M5ngQ2fQjNdVlZyw5rnIwHsVoeCgxu7YzcBuJWvtJXFdHpfrtTjZ2XYT7T1yGjMrwS9YPnxxv8b6OSq29+GCeh5Vtlvp83dOW3/g8LXCcA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=SPR35I1X; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c04:e001:324:0:1991:8:25;\n helo=tor.source.kernel.org; envelope-from=johan@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777026977;\n\tbh=ZwE069RHo6hyU8LL6FzDYw0Wg1+bXUJujekvNAdWEys=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=SPR35I1XRiFR74YKSQrmPc+aOFKBUE9q3V7EgK8pKe4GjghnPqPWyQvysQg8hz7/N\n\t fpIU6UD7f4UQrANglzvxWiNlXVxuIHC57QnJPPOLhFooUVNm/LV3D1CfG4QvHFAWNG\n\t mAs1SWtzElv1BTIurhdgFod9UlXLchTVVARpqP38oJ1WR8HNh4oF5KXL3ITouA5gs4\n\t NzHvYl6LcBncryWJ3bRsPbDzzrOW6LDEgr7Qh90vmEqJLAklHPWLYnFzgQ1auQDO00\n\t xUiPZNbIFXkLa5yKImyi33bkcGDxXtY3xEY3dP/x5N0EfRw04S2RYd8slsCIEe2EOY\n\t 5CIu3OGt452kw==","From":"Johan Hovold <johan@kernel.org>","To":"Geoff Levand <geoff@infradead.org>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>,\n\tMichael Ellerman <mpe@ellerman.id.au>","Cc":"Nicholas Piggin <npiggin@gmail.com>,\n\tChristophe Leroy <chleroy@kernel.org>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-kernel@vger.kernel.org,\n\tJohan Hovold <johan@kernel.org>","Subject":"[PATCH 2/3] powerpc/pseries: switch to dynamic ibmebus root device","Date":"Fri, 24 Apr 2026 12:36:03 +0200","Message-ID":"<20260424103604.2616657-3-johan@kernel.org>","X-Mailer":"git-send-email 2.53.0","In-Reply-To":"<20260424103604.2616657-1-johan@kernel.org>","References":"<20260424103604.2616657-1-johan@kernel.org>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"Driver core expects devices to be dynamically allocated and will, for\nexample, complain loudly if a device that lacks a release function is\never freed.\n\nUse root_device_register() to allocate and register the root device\ninstead of open coding using a static device.\n\nSigned-off-by: Johan Hovold <johan@kernel.org>\n---\n arch/powerpc/platforms/pseries/ibmebus.c | 16 +++++++---------\n 1 file changed, 7 insertions(+), 9 deletions(-)","diff":"diff --git a/arch/powerpc/platforms/pseries/ibmebus.c b/arch/powerpc/platforms/pseries/ibmebus.c\nindex cad2deb7e70d..e3b41e2d844f 100644\n--- a/arch/powerpc/platforms/pseries/ibmebus.c\n+++ b/arch/powerpc/platforms/pseries/ibmebus.c\n@@ -51,9 +51,7 @@\n #include <asm/ibmebus.h>\n #include <asm/machdep.h>\n \n-static struct device ibmebus_bus_device = { /* fake \"parent\" device */\n-\t.init_name = \"ibmebus\",\n-};\n+static struct device *ibmebus_bus_device;\t/* fake \"parent\" device */\n \n const struct bus_type ibmebus_bus_type;\n \n@@ -171,7 +169,7 @@ static int ibmebus_create_device(struct device_node *dn)\n \tstruct platform_device *dev;\n \tint ret;\n \n-\tdev = of_device_alloc(dn, NULL, &ibmebus_bus_device);\n+\tdev = of_device_alloc(dn, NULL, ibmebus_bus_device);\n \tif (!dev)\n \t\treturn -ENOMEM;\n \n@@ -458,11 +456,11 @@ static int __init ibmebus_bus_init(void)\n \t\treturn err;\n \t}\n \n-\terr = device_register(&ibmebus_bus_device);\n-\tif (err) {\n-\t\tprintk(KERN_WARNING \"%s: device_register returned %i\\n\",\n+\tibmebus_bus_device = root_device_register(\"ibmebus\");\n+\tif (IS_ERR(ibmebus_bus_device)) {\n+\t\terr = PTR_ERR(ibmebus_bus_device);\n+\t\tprintk(KERN_WARNING \"%s: root_device_register returned %i\\n\",\n \t\t       __func__, err);\n-\t\tput_device(&ibmebus_bus_device);\n \t\tbus_unregister(&ibmebus_bus_type);\n \n \t\treturn err;\n@@ -470,7 +468,7 @@ static int __init ibmebus_bus_init(void)\n \n \terr = ibmebus_create_devices(ibmebus_matches);\n \tif (err) {\n-\t\tdevice_unregister(&ibmebus_bus_device);\n+\t\troot_device_unregister(ibmebus_bus_device);\n \t\tbus_unregister(&ibmebus_bus_type);\n \t\treturn err;\n \t}\n","prefixes":["2/3"]}