{"id":2233022,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2233022/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/patch/20260505142547.795054-4-johan@kernel.org/","project":{"id":35,"url":"http://patchwork.ozlabs.org/api/1.2/projects/35/?format=json","name":"Linux I2C development","link_name":"linux-i2c","list_id":"linux-i2c.vger.kernel.org","list_email":"linux-i2c@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260505142547.795054-4-johan@kernel.org>","list_archive_url":null,"date":"2026-05-05T14:25:42","name":"[3/8] i2c: core: fix adapter debugfs creation","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"743d23d75b2b745593f8dc23d99303b87659c184","submitter":{"id":64666,"url":"http://patchwork.ozlabs.org/api/1.2/people/64666/?format=json","name":"Johan Hovold","email":"johan@kernel.org"},"delegate":{"id":9049,"url":"http://patchwork.ozlabs.org/api/1.2/users/9049/?format=json","username":"wsa","first_name":"Wolfram","last_name":"Sang","email":"wolfram@the-dreams.de"},"mbox":"http://patchwork.ozlabs.org/project/linux-i2c/patch/20260505142547.795054-4-johan@kernel.org/mbox/","series":[{"id":502847,"url":"http://patchwork.ozlabs.org/api/1.2/series/502847/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/list/?series=502847","date":"2026-05-05T14:25:43","name":"i2c: core: adapter registration fixes","version":1,"mbox":"http://patchwork.ozlabs.org/series/502847/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2233022/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2233022/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-i2c+bounces-17259-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-i2c@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=hWdYCPpl;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-i2c+bounces-17259-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=\"hWdYCPpl\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::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 4g91HZ4xp0z1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 00:34:34 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id D06E530CA497\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 14:28:47 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7CA5448097E;\n\tTue,  5 May 2026 14:28:35 +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 CA08148034A;\n\tTue,  5 May 2026 14:28:34 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 7C6E5C2BD01;\n\tTue,  5 May 2026 14:28:34 +0000 (UTC)","from johan by xi.lan with local (Exim 4.98.2)\n\t(envelope-from <johan@kernel.org>)\n\tid 1wKGlE-00000003Ksw-0UjK;\n\tTue, 05 May 2026 16:28:32 +0200"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777991314; cv=none;\n b=Ps+0Xo3pHDHpR5bUyLMmFWNq/7OGIWHsm3YGbyAgRJ3u5eMmMvgbB+VadZoW0egyOuXGd6dnPlgfTGR+dTZNJCIumxQAKvKO59CNXDsl1zY3fUqxoOY0pP2iOXS/sn+NFDv8sU6PxkmAZ8kuOe14qjip1CtjCe1e/WJovujKO4s=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777991314; c=relaxed/simple;\n\tbh=K6HCzeH4GdbTOgUpIKqBp7V+qgvqdBS9GyKwFcHGQsk=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=LzXy1zjR2ZTorONHzvJkn2u+0/JaYUtZdqC+YAn7y+/QF0pyJQae1g+s/Ziz8+eeG7Fq+9lNJSHdpX9PpwcRRjhtJwLD90VOg/g/jimFwWZzUghFdjIf09REVh26S3JQTPCxBedseysoLx9CUVc5qllaX6lS4PAjfGLfQuW+XSU=","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=hWdYCPpl; 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=1777991314;\n\tbh=K6HCzeH4GdbTOgUpIKqBp7V+qgvqdBS9GyKwFcHGQsk=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=hWdYCPplYbddW/qIjCLcnF3uNNkU4++X5v/0atzNwPppUG58ZKVhmWawSa0dDm8xE\n\t 1BZL3stQ1E0XtD5Q4ZPiNSRU1gk3u8zPMOAJF0ytFGpoNNRYYe13PBw23GTknkGlhs\n\t JZySX+Smm1gQX1slpKSJWVRZD6NSgpV6evsiIk8AJSCsFyAdp/BU+Bzkpb1TMXhHK/\n\t avHTIPSH8roZKFKXSqGytVPS1mWehkU8YEfkISQKHRWpcMQoe74vum68IOwMBmRYJo\n\t oSWFxM/0aQ7g+zoooN1F1mJYeFv3GiyWROoX2qjw929mmPjIrwfLGMes+A9IrJjB97\n\t oY4EINVlA6mOw==","From":"Johan Hovold <johan@kernel.org>","To":"Wolfram Sang <wsa+renesas@sang-engineering.com>","Cc":"Andi Shyti <andi.shyti@kernel.org>,\n\tlinux-i2c@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tJohan Hovold <johan@kernel.org>,\n\tstable@vger.kernel.org","Subject":"[PATCH 3/8] i2c: core: fix adapter debugfs creation","Date":"Tue,  5 May 2026 16:25:42 +0200","Message-ID":"<20260505142547.795054-4-johan@kernel.org>","X-Mailer":"git-send-email 2.53.0","In-Reply-To":"<20260505142547.795054-1-johan@kernel.org>","References":"<20260505142547.795054-1-johan@kernel.org>","Precedence":"bulk","X-Mailing-List":"linux-i2c@vger.kernel.org","List-Id":"<linux-i2c.vger.kernel.org>","List-Subscribe":"<mailto:linux-i2c+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-i2c+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"Clients can be registered from bus notifier callbacks so the debugfs\ndirectory needs to be created before registering the adapter as clients\nuse that directory as their debugfs parent.\n\nMove debugfs creation before adapter registration to avoid having\nclients create their debugfs directories in the debugfs root (which is\nalso more likely to fail due to name collisions).\n\nFixes: 73febd775bdb (\"i2c: create debugfs entry per adapter\")\nCc: stable@vger.kernel.org\t# 6.8\nCc: Wolfram Sang <wsa+renesas@sang-engineering.com>\nSigned-off-by: Johan Hovold <johan@kernel.org>\n---\n drivers/i2c/i2c-core-base.c | 9 +++++----\n 1 file changed, 5 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c\nindex 2832e1aa0ca3..6f198d1325a6 100644\n--- a/drivers/i2c/i2c-core-base.c\n+++ b/drivers/i2c/i2c-core-base.c\n@@ -1575,14 +1575,14 @@ static int i2c_register_adapter(struct i2c_adapter *adap)\n \tpm_suspend_ignore_children(&adap->dev, true);\n \tpm_runtime_enable(&adap->dev);\n \n+\tadap->debugfs = debugfs_create_dir(dev_name(&adap->dev), i2c_debugfs_root);\n+\n \tres = device_add(&adap->dev);\n \tif (res) {\n \t\tpr_err(\"adapter '%s': can't register device (%d)\\n\", adap->name, res);\n-\t\tgoto err_put_adap;\n+\t\tgoto err_remove_debugfs;\n \t}\n \n-\tadap->debugfs = debugfs_create_dir(dev_name(&adap->dev), i2c_debugfs_root);\n-\n \tres = i2c_setup_smbus_alert(adap);\n \tif (res)\n \t\tgoto out_reg;\n@@ -1606,8 +1606,9 @@ static int i2c_register_adapter(struct i2c_adapter *adap)\n \n out_reg:\n \ti2c_deregister_clients(adap);\n-\tdebugfs_remove_recursive(adap->debugfs);\n \tdevice_del(&adap->dev);\n+err_remove_debugfs:\n+\tdebugfs_remove_recursive(adap->debugfs);\n err_put_adap:\n \tinit_completion(&adap->dev_released);\n \tput_device(&adap->dev);\n","prefixes":["3/8"]}