From nobody Sun Feb 8 08:22:19 2026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) (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 C522D33EAE6; Mon, 12 Jan 2026 20:35:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768250152; cv=none; b=ao+Qed1GgqeB2tXExxU58sfaA/THhUGGJr16eSfJMUUTbjhuEKvb5rGanVf1eHVHjc523p5nBpsCMtukFuu0DZoK0+VYkM4UhA162DZJrPawVeTTmdEV8ZmblTVwQPkHPEAu08efYngw6zZ6fhA8CKSxJyUv8/f2FTW8SB/GwB8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768250152; c=relaxed/simple; bh=dzIlNxBLNcrWr8IC/y57DQTFAbop0n5nPnrevzaacBI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eI88JJAgQmtM4GaHB+ENhltn41En4blBjY0kApkYjQ/UaitS9/3PXGRGdBYNJv5r5o10NuL++SeTLJgvRG1FaTBeiMLanyEcbC+/mFOk/8iSrDqWjLszIM3xBafD5BmClQILFPCsrLRzpm8CHDqBMAVffFR3s8OpgMAQus5Wj7g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=jzuHypuq; arc=none smtp.client-ip=198.175.65.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="jzuHypuq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1768250151; x=1799786151; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dzIlNxBLNcrWr8IC/y57DQTFAbop0n5nPnrevzaacBI=; b=jzuHypuqUGo6qOQ8r7cE3yRV3G+hWUMp9KuTvJZ2acGIVnhePUJt/Iw2 NXLrgeOKPMcImfwzGXjRteUcRfTHwAU8csHlpaeK+vO6TzEvLLEzgYSyU 2uMPLYP8tJL8XnYbC0RNClM8KX8UGit8DdrYILJjK6myjSg58fu9FH6mo jyJM1Vlnnk3TKWq5ymicd3oHqkJE4TsHz+Bb7HnWFY3NQwMPYyHKm6Alw PWdijHKCG7J5PT8o27Bi7DJAqxH4LYIgpeHmSoZRjZspFcd997V2Q77u/ hTqBgqdkv3XvxhoAFq1WHcm0Oj195UoqNqC/zN+VUmGwHWpUg9bHyiYjS g==; X-CSE-ConnectionGUID: Uy1vY54vQw+Fe3Jw5jqXag== X-CSE-MsgGUID: l6MzxHBzRhyUGTcsn2/GSg== X-IronPort-AV: E=McAfee;i="6800,10657,11669"; a="69515881" X-IronPort-AV: E=Sophos;i="6.21,221,1763452800"; d="scan'208";a="69515881" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2026 12:35:50 -0800 X-CSE-ConnectionGUID: Wd9Pd5v0RsaC3tx7hFm2fQ== X-CSE-MsgGUID: aPk0SsUFTRe0eIv2P2Fwzg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,221,1763452800"; d="scan'208";a="209262083" Received: from black.igk.intel.com ([10.91.253.5]) by orviesa005.jf.intel.com with ESMTP; 12 Jan 2026 12:35:40 -0800 Received: by black.igk.intel.com (Postfix, from userid 1003) id 6FF4698; Mon, 12 Jan 2026 21:35:37 +0100 (CET) From: Andy Shevchenko To: Mark Brown , Varshini Rajendran , Mikhail Kshevetskiy , AngeloGioacchino Del Regno , Haotian Zhang , Sunny Luo , Janne Grunau , Andy Shevchenko , Martin Blumenstingl , Geert Uytterhoeven , Chen-Yu Tsai , Amelie Delaunay , Chin-Ting Kuo , CL Wang , Patrice Chotard , Heiko Stuebner , William Zhang , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Manikandan Muralidharan , David Lechner , Florian Fainelli , Jonas Gorski , Hang Zhou <929513338@qq.com>, Jun Guo , Philipp Stanner , Charles Keepax , Bartosz Golaszewski , =?UTF-8?q?Beno=C3=AEt=20Monin?= , Shiji Yang , James Clark , Jonathan Marek , Carlos Song , Sakari Ailus , Huacai Chen , Xianwei Zhao , Prajna Rajendra Kumar , Sergio Perez Gonzalez , Qianfeng Rong , Haibo Chen , Gabor Juhos , Md Sadre Alam , Rosen Penev , Marek Szyprowski , Luis de Arquer , Cosmin Tanislav , Tudor Ambarus , Krzysztof Kozlowski , Longbin Li , Kunihiko Hayashi , =?UTF-8?q?Cl=C3=A9ment=20Le=20Goffic?= , Alessandro Grassi , Darshan R , Aaron Kling , Vishwaroop A , Haixu Cui , Darshan Rathod , linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, asahi@lists.linux.dev, linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-sound@vger.kernel.org, patches@opensource.cirrus.com, imx@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-riscv@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, virtualization@lists.linux.dev Cc: Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Lorenzo Bianconi , Ray Liu , Sven Peter , Neal Gompa , Joel Stanley , Andrew Jeffery , Ryan Wanner , Michael Hennerich , =?UTF-8?q?Nuno=20S=C3=A1?= , Kamal Dasu , Broadcom internal kernel review list , Ray Jui , Scott Branden , Kursad Oney , Anand Gore , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , David Rhodes , Richard Fitzgerald , Vladimir Oltean , Frank Li , Jean-Marie Verdun , Nick Hawkins , Yang Shen , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Yinbo Zhu , Neil Armstrong , Kevin Hilman , Jerome Brunet , Conor Dooley , Daire McNamara , Matthias Brugger , Avi Fishman , Tomer Maimon , Tali Perry , Patrick Venture , Nancy Yuen , Benjamin Fair , Han Xu , Yogesh Gaur , Linus Walleij , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Chris Packham , Fabrizio Castro , Andi Shyti , Alim Akhtar , Paul Walmsley , Samuel Holland , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Alain Volmat , Jernej Skrabec , Li-hao Kuo , Masahisa Kojima , Jassi Brar , Laxman Dewangan , Thierry Reding , Jonathan Hunter , Sowjanya Komatineni , Masami Hiramatsu , =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= , Michal Simek , Max Filippov Subject: [PATCH v2 1/4] spi: Propagate default fwnode to the SPI controller device Date: Mon, 12 Jan 2026 21:21:23 +0100 Message-ID: <20260112203534.4186261-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260112203534.4186261-1-andriy.shevchenko@linux.intel.com> References: <20260112203534.4186261-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Most of the SPI controller drivers share the parent's fwnode by explicit assignment. Propagate the default by SPI core, so they may drop that in the code. Only corner cases may require a special treatment and we simply (re)assign the controller's fwnode explicitly (as it's done right now, no changes required for that). Reviewed-by: Charles Keepax Tested-by: Charles Keepax Signed-off-by: Andy Shevchenko --- drivers/spi/spi-cs42l43.c | 8 ++++++++ drivers/spi/spi.c | 3 +++ 2 files changed, 11 insertions(+) diff --git a/drivers/spi/spi-cs42l43.c b/drivers/spi/spi-cs42l43.c index 4b6b65f450a8..a4a650c8d740 100644 --- a/drivers/spi/spi-cs42l43.c +++ b/drivers/spi/spi-cs42l43.c @@ -371,6 +371,14 @@ static int cs42l43_spi_probe(struct platform_device *p= dev) =20 fwnode_property_read_u32(xu_fwnode, "01fa-sidecar-instances", &nsidecars); =20 + /* + * Depending on the value of nsidecars we either create a software node + * or assign an fwnode. We don't want software node to be attached to + * the default one. That's why we need to clear the SPI controller fwnode + * first. + */ + device_set_node(&priv->ctlr->dev, NULL); + if (nsidecars) { struct software_node_ref_args args[] =3D { SOFTWARE_NODE_REFERENCE(fwnode, 0, GPIO_ACTIVE_LOW), diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index f077ea74e299..b773c297f8b1 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -3072,6 +3072,9 @@ struct spi_controller *__spi_alloc_controller(struct = device *dev, else ctlr->dev.class =3D &spi_controller_class; ctlr->dev.parent =3D dev; + + device_set_node(&ctlr->dev, dev_fwnode(dev)); + pm_suspend_ignore_children(&ctlr->dev, true); spi_controller_set_devdata(ctlr, (void *)ctlr + ctlr_size); =20 --=20 2.50.1