From nobody Sat Apr 4 00:10:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 505273E51F4 for ; Thu, 2 Apr 2026 14:15:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139323; cv=none; b=baAHOmJ3WH++ORl7LQ/W2j4Oe//8AKZ4AUWtHv0JimUN5WSt3KtAgGdsHiAqc6ot6F14N3ZePk0Z7FaJQii3Fzz2bxWypmqk9pSXpZd+R/3PtTu4QsZL0i0iQgoVEqATxL4oFflHiXbFZj/6C1frlmc5IvpVKO7oe569e0MaAEU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139323; c=relaxed/simple; bh=biv+GH+fROKOSl4fjZqd21aT3c4FLHEhSXzFKMuT8pQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mK+OFEPayup3sQw2RzCzm6DTizAZQ5S9O2NRir/RWG4vxWwS4FmVI/2kyZAoQDq/owauthYa0RCneoxkyG3A023lvPzF7l/ejswbougZaS9rt4tfniCmdw7Ahd7VcJTN7StyWpUFB6kjbIBndvevQ0OmJCqZIpMnlxNKCKNw4+0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ZJ9HwgEw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UNTWu6jC; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ZJ9HwgEw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UNTWu6jC" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632CZPfh2798853 for ; Thu, 2 Apr 2026 14:15:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1QP3yia4CdU5PX7yrF+zFl8JFATM5bcCf24XnEBdAEY=; b=ZJ9HwgEw3XRIYWXB 5Dy0Wpj5dn+FGEp441qjsC2bPEzYqQzvcRCFp2TTSuP68RwkhbqNAvZA70PHDvBn eGfBeQet+Z0Kx/hasgTcjeAiMJJ+ftCYY+DPISLN1C+Q9ZW5iEsZyC84njmCX+Oj iaoD50pu+JIiNtP0wZ/1d2ZoF/2uLPBzdcwRYXzLCx/oPNfikHn9kkWNiQjWJV0l uyOtjlLm+YMd18I/aO+OQxhGwl9Q09DcsODECgPhtYTgFobVJrD1TmEgdkfnF3eP 9WBPqvQKDx9EN2qdHhDxjj4wswEx9iRpmMsoVcqWL66sxbvfDYC87b/Z9xC3ODHD 1Jgv+w== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d96hk4hug-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:15:21 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50b274f94f8so3113861cf.1 for ; Thu, 02 Apr 2026 07:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775139321; x=1775744121; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=1QP3yia4CdU5PX7yrF+zFl8JFATM5bcCf24XnEBdAEY=; b=UNTWu6jCoGZJxdACXDUC1030yqFwJwK1cWFzHX3pnACQrKsy4BC6NmAwSD0VZKEWID jEl3mpA4km684UUiJtksJJgvolAe/CZCyF51wQqNZJhRpBxUb6rK7Ny+l7wcfmLxxq3C eIXklY+fays4OWy3DJqh4p+oEhRW0rdprQxCtr+zRN/1BL1l/LKRl6mqMUlgGU/G+bpe 4KRew/qXstuCMSWL4GZqUue2g3sCpltaGcQZpik0q18lKccT3LanCY4CXdYgWOxjg8N6 i4r+y1+rAmmyQgmwiMO4fzMkB4oI+D8r/qGZqXKczOK+X/mfeqNVnJkE5RWPxy6wCQaj SIuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775139321; x=1775744121; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1QP3yia4CdU5PX7yrF+zFl8JFATM5bcCf24XnEBdAEY=; b=kDBvSoedFN5mW6Vco4OCnsI5eJ0kZHjeGNkrmTdjObcH8HmM4asRR9YN7eX2YTwpuZ LzWq/xav7AHdUAEajs+pAayl9CeYQE0MCqjsSD77qOzFfGA9pJ+Zj40Y3wyTu2k/hv5y AN9AJijgxh3RlOzLjr9WrZ3kL2pTtWEbR6b1ZVf89xhmNDVZk8/yZuUzuNhM/2FtFQHA owOJEW4Nz7o/egXzOdHocHGEVW14DnT3JNy86z+jwHcyPArd3mtvmxm7bPErwyQbPFOY 0w7GZ0yo49elfvocP+sBnJi36pgbaa7s8ZufXbpTXdSD1EkXw41IBJELsWtdeBSc73WK CUbw== X-Forwarded-Encrypted: i=1; AJvYcCUHarhqTL4bk6MUbrWyym6MVzFBbT9i8jS2wl1bjhcBaHsHPbtJVkx+XQBkv1kSNc4VHEf3ZHhPnCszEqA=@vger.kernel.org X-Gm-Message-State: AOJu0YzQDe7vWy5WIpNV/v3HFJR+3CVHwEvD1KWmTKEgzKSUTdxtSH1a 7UbMNtD84upYzS86vQ9jcltyV4/SCFHSUDiBebt6zCUqPuksylesNoSdYzGD0rnjHGvI0fwd/rz 28UzNxc64n2/f1uINqDRzR8oOj5b3VUBfZuMq5HhvLSoEpU+DUy5Vqg+72IK7dsbIO0Ar6ZPJGV 4= X-Gm-Gg: ATEYQzyYkgZdCWWpEGJbrGKypG3oVaQizBnDfXuQh3bwU3Se1NEI3MHGHe1MgV7XljB Iig/T5qPIaq2adky9JtUP2Q5fWmtI0EQICRnEcGx4EQAtoL78NBW0NqUlxDh52FidWuaXfKIpr8 p+BiWj+I2gWnM3jv/wUqXl/bElOSz9Rv48f/cqFyft/OgZpgN9ZxedwVvhexO7OAZ3GMJ4ygkf5 pfsEkFWm2qpfyq9IMyIv9ZzAJ+KROd3tnTFwwBuV2+Bl/tY8zXbLXqluuuiOVTNBQvnmbOsIKn9 jt8Qj4xRvEVO3n8JjAs7mflfsYKA/6ATRfDPm7LIu/9B9X0OnxhAgEyWh9qynCy1Lrai8ZTweOE 1Zech4V7iNji49VRsUdIJBzdQnk0uPZUAY+vbeOCqEW/XdFZDfOx7 X-Received: by 2002:a05:622a:e:b0:50b:893f:7d89 with SMTP id d75a77b69052e-50d4fcf5467mr29566311cf.36.1775139319956; Thu, 02 Apr 2026 07:15:19 -0700 (PDT) X-Received: by 2002:a05:622a:e:b0:50b:893f:7d89 with SMTP id d75a77b69052e-50d4fcf5467mr29564051cf.36.1775139318611; Thu, 02 Apr 2026 07:15:18 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4887e80a5e2sm192824885e9.1.2026.04.02.07.15.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:15:17 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:15:02 +0200 Subject: [PATCH v5 1/4] kernel: ksysfs: initialize kernel_kobj earlier Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-nokia770-gpio-swnodes-v5-1-d730db3dd299@oss.qualcomm.com> References: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> In-Reply-To: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Russell King , Dmitry Torokhov , Kevin Hilman , Arnd Bergmann Cc: brgl@kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2976; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=biv+GH+fROKOSl4fjZqd21aT3c4FLHEhSXzFKMuT8pQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpznnu7om+n7+rbJOz3z08q9B8Y3FEV7dYeTCln OZLROiB7lWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac557gAKCRAFnS7L/zaE w+WKEACdYAfS2DGORcLixPHvLig3V48ch0qzhA4/SOrOeb8/L90oRYwHpVF3FIN8XJzcj+sXrqR mlvTnt8vY4kXOYEKWN8M9ozIXntN3nD5cBV970wYhYxNEddy/g6xcFc2D7MLu/vKNsU18jaLRG2 uUqYfq1288iNrwpEa20YD8fdUsTj68e4RHXkBiG1F0WsNOEx4fJJGeAbiQkB26B09EfDCSkvZxx ItkmsL/OjanSVB+1Wad3WZWFE5g8Dwx6PbqCZXp8oja4Xrpo7opxeKIF1dr5YFMwKvCjlZR9TvQ 332efEH7bJT0Tov0H/xOSgTKMOezKuVG+EN+cODZ+CsZrOSyCtMYBENElpyfAf9vV8SB60tGFGa BpJ2VG/WASYT54LNTh+sopX5OYCnYlCEDRZFIlatE6Y4WgPGovNHUKI8I0R2e+RUME1wSggR6p/ HTLsIgc8Fq1kTvZL3ep+ygvuwb7eV0fBtv2KR0Hsb4gTnePyZSnwVeFxfCR4Zi2HIWAE1OZKOBP mkH6cVwt35lSDpumJverYjHAkR7wJRlqMZemeZDsWnjW8+NU3920MVWAUGAJ0MbCHUAqTVuYIL9 GLLpdx7e48FFJh6X8e8ShyK6edBvSrsYGdzeN/5jZcUgZ+LBlWFgWWQN0SDMd1lC0xe6hL+gyz5 LMEtq/0VCF+he0g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEyOCBTYWx0ZWRfX+jlHqhXKg1e0 Wlh8/xpUECmH8ZHDdfzdkkfAcKUOhv0t7AELRh3BfOx8Ru/nXM0/uv/ng2i313ogz6K0aQFT2+X 2wPaSgQBwwbZQqx9F3ZcTp38rXKbmRTQHRJrhb5OeQQ4HVMVpmnAkdJN9eg3APOzqBecgxvNfQE XWd1FG2sOtI4Si7A+KM3VXsDI41NhJmjmWjdRnnVswqhoqp6aZmTna3Y3V4vrTHD8BTnYBJmNkP dYYzrTnmFg1dGBr28TKgQ90Fs/ScjCyFWR9MWXCzWGUcmT5COrfrrwdBqleqnKOBVl2QNzwy0LD 4o0EnS5VkHJiXXNkUtX9drbFhrInTxoFMvHE9PUSHEcYn7WhRjR0ImEfHvlFVL8tSW2suOvFrlW ss+fyKlNnZcXFKZwseSDxZbqQMZ892dHJoQl8YBVROgU5HuzKKdpESUCuUqtf4YI0Z8LQP5pcva PN2pkwWWASXJEm5n8uA== X-Proofpoint-GUID: O-RQp7XgDbimQbebxErPbBfJQqvHDDub X-Proofpoint-ORIG-GUID: O-RQp7XgDbimQbebxErPbBfJQqvHDDub X-Authority-Analysis: v=2.4 cv=e9ULiKp/ c=1 sm=1 tr=0 ts=69ce79f9 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=cUGsBi5UaGteNmT5bNcA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 phishscore=0 bulkscore=0 malwarescore=0 clxscore=1015 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020128 Software nodes depend on kernel_kobj which is initialized pretty late into the boot process - as a core_initcall(). Ahead of moving the software node initialization to driver_init() we must first make kernel_kobj available before it. Make ksysfs_init() visible in a new header - ksysfs.h - and call it in do_basic_setup() right before driver_init(). Signed-off-by: Bartosz Golaszewski --- MAINTAINERS | 1 + include/linux/ksysfs.h | 8 ++++++++ init/main.c | 2 ++ kernel/ksysfs.c | 9 ++++----- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 0f258aeeacba184d2025b932d90280cf2aabf4b0..8bc934162e712cf8ddf033e53bf= 3481054cfb7fe 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7843,6 +7843,7 @@ F: include/linux/debugfs.h F: include/linux/device.h F: include/linux/fwnode.h F: include/linux/kobj* +F: include/linux/ksysfs.h F: include/linux/property.h F: include/linux/sysfs.h F: lib/kobj* diff --git a/include/linux/ksysfs.h b/include/linux/ksysfs.h new file mode 100644 index 0000000000000000000000000000000000000000..c7dc6e18f28e8a12a66d64ffffb= 13749d424a881 --- /dev/null +++ b/include/linux/ksysfs.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef _KSYSFS_H_ +#define _KSYSFS_H_ + +void ksysfs_init(void); + +#endif /* _KSYSFS_H_ */ diff --git a/init/main.c b/init/main.c index 8b7633b7ab720b9c13a231d64291d35d3852602c..96f93bb06c49013bae8d3d6b7af= ca13d6277a868 100644 --- a/init/main.c +++ b/init/main.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -1482,6 +1483,7 @@ static void __init do_initcalls(void) static void __init do_basic_setup(void) { cpuset_init_smp(); + ksysfs_init(); driver_init(); init_irq_proc(); do_ctors(); diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c index a9e6354d9e2579317d3b1bcb54223432d3ce0950..f45ade718054af4eb72fba88dab= 10c86287986ee 100644 --- a/kernel/ksysfs.c +++ b/kernel/ksysfs.c @@ -8,6 +8,7 @@ =20 #include #include +#include #include #include #include @@ -213,7 +214,7 @@ static const struct attribute_group kernel_attr_group = =3D { .attrs =3D kernel_attrs, }; =20 -static int __init ksysfs_init(void) +void __init ksysfs_init(void) { int error; =20 @@ -234,14 +235,12 @@ static int __init ksysfs_init(void) goto group_exit; } =20 - return 0; + return; =20 group_exit: sysfs_remove_group(kernel_kobj, &kernel_attr_group); kset_exit: kobject_put(kernel_kobj); exit: - return error; + pr_err("failed to initialize the kernel kobject: %d\n", error); } - -core_initcall(ksysfs_init); --=20 2.47.3 From nobody Sat Apr 4 00:10:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 457033E928B for ; Thu, 2 Apr 2026 14:15:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139327; cv=none; b=NXw30EABw7k4ux0LzHUqf/pAUqb9Pzp0y/Waq8p4d4aYmQvkZHR74ul54IznEParQXYqb4Amn/isOBntLBD7vmfNy9qSMWiE2OMPBYG6ehTz18E+/wS2wrLdLcKdkMj+ElnQaTwrJZiKcTM0MMSiur7vG75I7Z22R2xqS9HZ+T4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139327; c=relaxed/simple; bh=yBKrNw7YytejW291mPySbI6LGBLYwN1ehugPvNfrHLM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QW4VNjUXcJlo5dG9H+5YBawwdnyVcL6CSBh9bk04tZFuANsLFWstJa0uabF6o3lzNGwYv0tw3u1pB85xw/9n0eR5Y+TKARBu6Sai7+LpH5PXDMakVGQYBFiswYi4/KKZDdBb+EQqaCu/DCQjOTsOcdyJYF6V04RpoKhZIu/Nflo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=JK9y2rzy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R/8Ugbfl; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="JK9y2rzy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R/8Ugbfl" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632B8ljq090872 for ; Thu, 2 Apr 2026 14:15:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= HwshQwGEYEPB4ewYumRkBFMYexYVpzxnnKi7Qlm1u/c=; b=JK9y2rzy2T82T4od hlXEty4Z194J87BnMHPKV1Xm0zaIdOavDzvHIjzVTkZJFpmq8LtbZt2PyzyqSERt iQX1gQmPRsOF76azXI88JRtsbXsDXgT3NT4yFV8RsE5IKvIONKrLNac/yXF6ME4D gDkbIdvlcTi5EApn7Kn/UnAaLdseqaPM0fRI08GakZ1U01PNuGh/VdaqIHkOEtpp qOyzEzFHQO90FjRnF4aiJ0asS4jiHtmmcVR7beSN2+xHn5rR6csNXKG5Zshk+Vj/ SiHkOmaPKwcq6vdGdmkMFZOWXvebEdUC75QaCSfonmbkt4Gcg3l2ovpOUTPiktRC nCZxUQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d9jcua4dn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:15:25 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50b2cbe7223so27317851cf.2 for ; Thu, 02 Apr 2026 07:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775139325; x=1775744125; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=HwshQwGEYEPB4ewYumRkBFMYexYVpzxnnKi7Qlm1u/c=; b=R/8UgbflCpIdNl7rlyqsfe5JWzWKvWzXy0jVTVogafCBWk8zo89fLZdiivw2tlDH1b CCbflF3oAgeKd9s6KAEcAHDrYC6yZrUj73ZUhwMWGlj7YmsJzSdRdGGOqrvDPIZOb6sT ZI8RbaRt6DgGxigPc+rGQV/6tk94b3/DAYg3y7PDRi/MjtnuJVDGa6AZWQgcvWCQNUEU 4FSn4xd+Ww5mkPj1PI43ps+13sucR2VKBIRWc2cVlcHfE8ERNvsAy+pO54GZwkmYJprk nSV2hKNwa5unSpK4YNpOwNGuluZQXPrbz99pbT8Vpa1R29C88MnxkeozxkQk4aVulg5c J1xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775139325; x=1775744125; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=HwshQwGEYEPB4ewYumRkBFMYexYVpzxnnKi7Qlm1u/c=; b=qzclHn7uae4pj0R+TpqsHFqXwChLcnvTJkQmSI4lfY1+3q6bL9Qv12QXmjvAsdhrHe O6EdFB/5qb3Y9yTN+zUl8ohdR55gnuKiuQfFJqgjEYvHtVUBRBDwG+9oJmjb379AOcbW MroV/Jx7JJjCnivtPpDkZIzGZyN0NpvrgRWt7Njs/8fS4JYoPOKKlHSLzXiCMFu4zvJ0 sNXrWD7K8kdFbTvjkv/Soywag61rIYs8vHYyfzbCIRHPtL8TbXvtvmgw/T21mUup1Ldv ohRNwRyyL0wnU60/X6YIx0Sj2mbqxz6oeiwvL8BFNDbP3DqCciQMW5oA8OiLRjYSYk/0 aUSQ== X-Forwarded-Encrypted: i=1; AJvYcCV58lucoNTXh9yr6fh/9/Wc5vJsXEHHR7zbEn5u4DYkysale1rZOA5e7A53OWSpgaGN3ZWzr8nQHR0eWcM=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4RLb5pv0IymarrnD2TLVLvZEKPrw+CmPmR/4Qu1R7ArHZVCQz GvBEBFwFWj4j/oyCzhkRTJ9V+EC3khXSkJRjN1s1zCTyaKYtjF7JKXdzq+XodLyStF91MW81U5N whG+QAv6oujLwOw3x/sX212sA7eXvCiJfs31P0QN+fHIX3q8jU4RwX9jVWe6cuZ79C7I= X-Gm-Gg: ATEYQzzmZGglNKFEnMXkv+pbMWm39qqb3QJMcD7PPSgF9MdT/Aw+Do8s61Q3eKHzXMc N83riAQscGMt4GmZGCLRV3J9ITaCWgPoL1aattNIWbirIBLgPHy9j2a4wbd8a65rUQOO8ygJvew ebTOKK8aK6hziCCvc8ioRUI9dq9YZKB5aPq9wXGGzs3UkEMkKs5vU6IctTY3u6j5MPQXqoIf5uY FRxHSXr6DNy5svQJ+PKmk9LtXXJ9cNtgNMo0dP3sdjAJnPReAY60OKSrDfU2CpSXQibg8d6b6KX VtVVieEkGaPHTuyZhXkSklun3EMA4fowhhYZvuSXZv2er3V/ZpQAKFQ8++3j13KpX2ReM29Tc/Q KGpFBB7o4LaJFBTunLQ6nF34YM7cdi7mSJOsQlA== X-Received: by 2002:ac8:5fd0:0:b0:509:2822:670d with SMTP id d75a77b69052e-50d3bc2a2f8mr109666031cf.27.1775139322509; Thu, 02 Apr 2026 07:15:22 -0700 (PDT) X-Received: by 2002:ac8:5fd0:0:b0:509:2822:670d with SMTP id d75a77b69052e-50d3bc2a2f8mr109662421cf.27.1775139320358; Thu, 02 Apr 2026 07:15:20 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4887e80a5e2sm192824885e9.1.2026.04.02.07.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:15:19 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:15:03 +0200 Subject: [PATCH v5 2/4] software node: remove software_node_exit() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-nokia770-gpio-swnodes-v5-2-d730db3dd299@oss.qualcomm.com> References: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> In-Reply-To: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Russell King , Dmitry Torokhov , Kevin Hilman , Arnd Bergmann Cc: brgl@kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=776; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=yBKrNw7YytejW291mPySbI6LGBLYwN1ehugPvNfrHLM=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpznnvGSCWONe5TLbuQtSrY72fMOoZXTKRAcb0s mqhmDG1RZuJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac557wAKCRAFnS7L/zaE w1OUD/9OSD86XkGc+sAjVkMGHKvcn39N4RTc5O0XXVLyLfKn8tE4xyjvFcPy+smX4mZyqyxcO9v QE0Y54slQVt6egHK85JFznO6nDzDzrYEI4wJnsTzUyRS/cE23bZdQm8DFkgyYgP8SulxVAS3F+e d+SBdsaUs6fkx/LqtPKOc1XoUXMTM7FD9IhjioyMDVXHUHCGcx0x8d42mPmg1PiaQLThQCwguoy sncbcYKbq7W+1u5FKq0JmITwHq57JrwfABCNQI0X1hVrQlwTi9AXAto2/4SHQww+mzBIse1gNU8 gjo5XvNYp5r0dqhHoq6mXrJ0+kOV6ElLlHCw6n+vrXNjmMzdcz5Vccwh0z7vqIkRJvZwoRaBhHm 0xKIF6wX+eB1TQyioX01Sn/QUuJ1WgrEdOnx2t0/EQgEJVzp2gqeJLymBvCvoxDroUsRPyF1WdB P5fB2uoHdxlEid8l7NJPUtghQ94mOdP9pf16fIt+hn53sovq4v/O3tkDlVDcDL75pxTWYHkk+UK KmasIyRWS9Slo0MnNObblidd2xrrH5qjDmYLxjMyAdowUPByvMTuTwsvG+2F6WNzAF4gWsc87h+ og8McoR/tx9in0Wch9REdNGOErbElO7/2aTCUayieZjXfpgNFbzdYNUbZibB/Y/2s/wiEhPOAVW oB7blfpwAAyLd1g== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEyOCBTYWx0ZWRfX+oXrJ5HwqGqx ebmlsOPoNuNUaEhM0dtd3vnHBcXtcUyFgx24QU5r8f1kh+my9vhNc8RKKE3XAXOxqfogVQTdro2 xFXTHqtgnINoGWbPRGUJ9TT7zH/SxC7A+trQRJwZiEoPJxYcInNhTrROHV/BzDVTYVFIIyxb4JF Msu0VHUYeJwBjLFFKTglqm5yx+lcg+CPnBt9oRi4SSrH7zgRTrAB7td+I2+CCQOWGV4vmJ4HpBO 7NOZ6gkm6IkKJixZDhlkUVFnVelRCgSw3Benp0s08F/he2BG77HqfNUsfaeYczZ4FnBOJ+lT6aw g1+CIFkFreyXs4ShnUowtGrn20O9yFDVxTE2oxVv5s+kwPiyW/IUalhejyFSJN2UZRf1lhC2Fqb FpoQKyQnmx5Qv91DKMSKwgEjFcnkzfJzrG9z3hX3qhEIth9tycIQCnuy7tWKr7abjJwRBrgMYLy WdkYOhH39g95/nLWUZQ== X-Proofpoint-GUID: bQC3nIlfwGbqgRzb4FkDSvOxHzKLn-ML X-Authority-Analysis: v=2.4 cv=eYYwvrEH c=1 sm=1 tr=0 ts=69ce79fd cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=mhlm9Ems92mV8WSaVUEA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: bQC3nIlfwGbqgRzb4FkDSvOxHzKLn-ML X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 impostorscore=0 malwarescore=0 bulkscore=0 adultscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020128 software_node_exit() is an __exitcall() in a built-in compilation unit so effectively dead code. Remove it. Signed-off-by: Bartosz Golaszewski Reviewed-by: Andy Shevchenko --- drivers/base/swnode.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index 51320837f3a9f1bf4f65aa161d9b941affc74936..26cbe1c2a2e043a231576408520= 7561069c23ccd 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -1135,10 +1135,3 @@ static int __init software_node_init(void) return 0; } postcore_initcall(software_node_init); - -static void __exit software_node_exit(void) -{ - ida_destroy(&swnode_root_ids); - kset_unregister(swnode_kset); -} -__exitcall(software_node_exit); --=20 2.47.3 From nobody Sat Apr 4 00:10:46 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 90E9C3E51F4 for ; Thu, 2 Apr 2026 14:16:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139368; cv=none; b=HRzwdLy+XNvH/wPxj01fRVEChRFWErbhPRzbHN9soQBLawndGZQRHSA8FJqfz9Hy8qUWtz3i4vAVFhc/D98to2qRQmccoOLxgbiYpoDMIjKyvDoYZgJXulJRR23qRD1n9wIQ+UzZ+REjebX708OXonM+x38FJlO6XuDhN7/5ZyI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139368; c=relaxed/simple; bh=LCXTRWIgG/99GVhp8MFYkc06vlJUWv5VfMB08f8sFao=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hpy1jRDMThguatdyST23hwDyekD+ZV1a5+94NEvNftg38zarjOkAnuvh/qRcWRyIZlslSW5KuZq48dJEekM8yLP7swDCttvabw2PgmxcJ6Hq/5jAl664J1vrt5u4EEiQmTNvQ4R2Ox+nDsUWRTbxZbz8M6PWqQlTUzApxqVbFSE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jv3WMqmF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HgswPZAI; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jv3WMqmF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HgswPZAI" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632BW1Gl948926 for ; Thu, 2 Apr 2026 14:16:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wES8wcKZ1pvEl/GAGqGsZxc6MwZbf2WUlgbApncZLUs=; b=jv3WMqmFBff5n/3D p2Q4nbtgyH7nrv5A28lD+FTh32DfaAjYQfVtWjy/XIWhE3JRLMEnijm/ei4Bj5rh KvckIv1qIpteRNPmKWmeBghWcVyUw/ccZE0OdZ4mhMN3p2hCsfKxJj7GsLAZaa95 Jd0HLcyHDy1CNPKgQzR3YFGq9gFir+g1xxfsGNqrdI+fZINbYfHFqqjulNSPwHfb /LDLzCjZ424Jf1kaxV/+iRqX3M/ZK8mVnoKZEtkE6m9S3LjIq1aNxYN/g4NzOlz+ r5p289hpQSq0k1knzA9gfQj8xYJp7mA+ldH5icZ3f70VOdC8bo0307DZ2Er+DOAk 9prNJQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d9qnu0p90-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:16:05 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50937cf66b5so39254461cf.3 for ; Thu, 02 Apr 2026 07:16:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775139364; x=1775744164; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=wES8wcKZ1pvEl/GAGqGsZxc6MwZbf2WUlgbApncZLUs=; b=HgswPZAIwJSoFVLKbwvvFsyK4Eg5PafoiMEm9UJrz+3xmLF4Bo5dZtvKPUGEpixWYA PpgU3QXg6HZcjJikSZ8QpmAFxw4MGwBOW2Hvn99oD9Sw86Ubzshgulu1HVuTyd+qRDij 8Aa1pxA8OEvI7b2ksPiDvTaqpTJf7VDDy7huH6KOWrcaWpYhW/znfk4ps3HAypS313sg bCg+GkYmJWFiD7FiH72x31XavrnSvfzOcmhIjAPtSpIplDLT3ZpwqT4uu0rbzF964FFZ Z2KDNrEFhSGIYikLj1oYzsE2D1xJ7goUy+bm04oNQZ6sYVCUljxmI4RKwjZOkBvUuXQL 1xwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775139364; x=1775744164; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=wES8wcKZ1pvEl/GAGqGsZxc6MwZbf2WUlgbApncZLUs=; b=rsTry7NEdNK1Rxs5uYPHyT0trw2ZEJ//C/eebu7lw4rbeNx1K0ac6dCmYXoIaujNOg 7Q+4ZKsAJ5+u+CbixzO+ig7KuTAMvxRxZa6p/Ztj78DImX6Ju/emlEiR+c9UnX1Q1nbq Oy0dHGLqdcwUwxI7yiwDOgesJQb9WMxdIgIBNOPQfJZpaUQG8KUYc5zDLO4ntUQMOTZS eUrvRElX6w0fOPNnaBht2XBWBZUr7PemjIRsUuXB/qWzY6/hrsARnmcuQlnUm79A0iuF 78s7HYP/fHoJdZBzwg6qnpqeVC4aOkSUy8dcji7c75EA63vTZLDuaSXWDlWHBqosI4JD 0pDg== X-Forwarded-Encrypted: i=1; AJvYcCVyoZWROhM0Y6s9ozsnwYEY5zxszlZv0MuPqRQ2gYRvdS+9aFAOSXb6nK1caYoCFHmBU0+WZny0pkReGY4=@vger.kernel.org X-Gm-Message-State: AOJu0YxPiT7TfvsYlRDfUvDcDbyluiUkzoJz1OHALk9gPGbBF8hcnV5C CGa+psMVzuKcuE+7yQCRJPtdqMb0OWMJru9OdzERedD8JDKKWxw2cdlhkGseNuK6uG0FqWp9yCv sY/LXuFs5XgJOYSZCgSfqdTb+61llQIpnQNJ13LoLFY7G9VKWcv3hnNS7cxgJi//hVsM= X-Gm-Gg: ATEYQzyfuZgP1VXc+k9rD3jbbOegoIqCXW9gQaZEa29LgoH+vxdZNeyKzCXvFHRzcjB ze4PiJy68TEpgTq3B4HDnraJfXzn3dcs3T+Zf5jSOKOliszpzY9G4vp6FJj/50pG9JjWYadkXmr OkbbGKbX1Eyad1j0y2pkBz++4ikLi1PO3PQnvqXh8GVH0UPqbV/zLKt4syMzY4TlBG7uajlnIQ3 A7WX5s87mbMa6073Nb+jtQUcRVw/oqz7zc34IutgH1EnziRyqVJmwt3nfGUzICRZ62Ox44/bsN7 4YbjiualqODUnQz7mbIvg+AVuU4Q/9NSzJ96Hf6G84wFeMRuB5Uqd15SRgzCE3E+vjVUESzi4q3 pwhDzk0oxts8+GH7Vv6pEdnsfDAo5kluD3n2SwaCJ+RWPsI+lrmyq X-Received: by 2002:a05:622a:1648:b0:50b:7d38:9453 with SMTP id d75a77b69052e-50d3bc8d065mr106377501cf.39.1775139342691; Thu, 02 Apr 2026 07:15:42 -0700 (PDT) X-Received: by 2002:a05:622a:1648:b0:50b:7d38:9453 with SMTP id d75a77b69052e-50d3bc8d065mr106332871cf.39.1775139322170; Thu, 02 Apr 2026 07:15:22 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4887e80a5e2sm192824885e9.1.2026.04.02.07.15.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:15:21 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:15:04 +0200 Subject: [PATCH v5 3/4] driver core: make software nodes available earlier Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-nokia770-gpio-swnodes-v5-3-d730db3dd299@oss.qualcomm.com> References: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> In-Reply-To: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Russell King , Dmitry Torokhov , Kevin Hilman , Arnd Bergmann Cc: brgl@kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2240; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=LCXTRWIgG/99GVhp8MFYkc06vlJUWv5VfMB08f8sFao=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpznnwjyviMXX92bx3A1RXtxXU4Yu4V8IwHdYnS LameZPSOhGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac558AAKCRAFnS7L/zaE w833EACzWlKbqVGcfZAhKjZPDmJLE3XoLYXCIx6/AmX6i/x38OUku4A8Hy5Vu6BnJmTohfTi3l6 ICdFhU7cVmlDO7NZtv4bBQokXVA3qUHb6ucwParLHw4jS6OPQrClb9B/GM91u20GomjJJOeKJtr a6E4/Rd2atvM8Q4nD+Q/V8fg3p1O3AOoJ+OeSZQa5JD4/7GzGHVErq06oN/Lh9g2so7xlUv0Hlk 1mt5+BUNingwKzQ7YP1d04QJLigehOSy+bOpAvPwUsBiAzwRhFB4UJmgxrhXCUekYXxDNQlbj58 wv50XhJTMr1sJpYVLAnJeXIgpuW376dd74Qa+ixJZXo+5ov/0scoZV9lATu7VCGPm7JNJ8J0cOG xN0eUm2khXwnOVfXlM0JYIbDg05TMFeHJzcvlNl4vATbxBudv4YHGgvAkyPeRyhUTcdBoNeTfK5 sopWdebg5X8SzCgGQMTBzhK04LSrxiHZJeucP0zYrwAr7JAy/y2FI9/AfWTnc5RYOartdhkdCLL f2JrVcdSLAaMToMNOHZ4IZZddi4+nQTcg+/9OWnYESTHZ1sIgnTJxDuA2eSeJP6p3syatFohtfm BsLzPKbFSQBNnOw5sF2wGIz4DDXMqcrv1XY86Y1X/LEm7kA0uxNj6scB3+QtLzDjjbqTOe7RBIt LjjR/jmjXCsDhcg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: z71NZpG75WLZGEqDKcn4S1ZxK5CYljDy X-Proofpoint-GUID: z71NZpG75WLZGEqDKcn4S1ZxK5CYljDy X-Authority-Analysis: v=2.4 cv=RoLI7SmK c=1 sm=1 tr=0 ts=69ce7a25 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=XRX4SzNu4mOsujJFFI4A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEyOSBTYWx0ZWRfXxkdbct+K/Vmw NF/3XtFP5KD1NvVvIN6rd3nJt7DRxQv32D/y5vD2CuxblbThH+2AY+AC0sfD2PMG12p2cIx7Rx0 oOhNIlQMKrSCOC47s10Lr5EpshV3vC6ToUURtRgc60iXjtFSOBxO3ywPQNY55q33qDElwtbjerg +B7JffwukINCKocqUAkf85N3jYz4vF4hxSaRVEi8zQ0JFNPdrFoLAJeg4hgCB1eNaqSDC5mVKLO Izg3AW+e/9S7dRfPGLmq6Ye1gHD2KGHKK0t/UlnmasUHOelkIRjb34YvA3DyMtaAZkK2rwfplcX 35xeqf9OvC0Wj+08nWHRUIXNv0KcC++lQ1cdFl9TM1WujFQAXJg288F4+3UyVrJ0cEE3Rf+51xg ad5Lw8fFtVmLrkEOeyf5LUxCk+wmQm64XFQc/bz3HrOPCf9+n1m/1+iKuxXBLiMeMpwyuAi53wP jGeNqLPwAbDmSJgnC7Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 impostorscore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020129 Software nodes are currently initialized in a function registered as a postcore_initcall(). However, some devices may want to register software nodes earlier than that (or also in a postcore_initcall() where they're at the merci of the link order). Move the initialization to driver_init() making swnode available much earlier as well as making their initialization time deterministic. Suggested-by: Dmitry Torokhov Signed-off-by: Bartosz Golaszewski Acked-by: Andy Shevchenko --- drivers/base/base.h | 1 + drivers/base/init.c | 1 + drivers/base/swnode.c | 6 ++---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/base/base.h b/drivers/base/base.h index afeda89fd4710c4c5492b5f19134e2aa8e1e581e..30b416588617bbc3fb433654c99= 9c9b533d73752 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -312,6 +312,7 @@ static inline int devtmpfs_create_node(struct device *d= ev) { return 0; } static inline int devtmpfs_delete_node(struct device *dev) { return 0; } #endif =20 +void software_node_init(void); void software_node_notify(struct device *dev); void software_node_notify_remove(struct device *dev); =20 diff --git a/drivers/base/init.c b/drivers/base/init.c index 9d2b06d65dfc6bf8759f6c232e2d3f753da139ac..af8014416c2460fac91b08ce919= c082bf961fcce 100644 --- a/drivers/base/init.c +++ b/drivers/base/init.c @@ -34,6 +34,7 @@ void __init driver_init(void) */ faux_bus_init(); of_core_init(); + software_node_init(); platform_bus_init(); auxiliary_bus_init(); memory_dev_init(); diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c index 26cbe1c2a2e043a2315764085207561069c23ccd..a80575bf598b509eb1469cae8a0= 9c601726ce0c8 100644 --- a/drivers/base/swnode.c +++ b/drivers/base/swnode.c @@ -1127,11 +1127,9 @@ void software_node_notify_remove(struct device *dev) } } =20 -static int __init software_node_init(void) +void __init software_node_init(void) { swnode_kset =3D kset_create_and_add("software_nodes", NULL, kernel_kobj); if (!swnode_kset) - return -ENOMEM; - return 0; + pr_err("failed to register software nodes\n"); } -postcore_initcall(software_node_init); --=20 2.47.3 From nobody Sat Apr 4 00:10:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 D86663E9F80 for ; Thu, 2 Apr 2026 14:15:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139332; cv=none; b=q/3sR1qtM+bUFn3eyd8vvAMzCR5Ce1tVYYjXboWNYq8dbYCcbUqu7QnmDZJxrKMAKFQat38B/4pFG4kxBUiT05GWtC3ZfMC8MN2NB79LyymFq2QkQYctMC9eh7htvUXWQsR4P1ZSgmFI0I3OloijLZVQQ5DVMFwYMSph6lIhN1Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139332; c=relaxed/simple; bh=84lA+sQad0KFCHbORyyoFKtDWqR/112mWPWVfk7uVlo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uxG8PsT6FJH8VtuyDL3UMeaVK29VM//bRdi4S58DMUraH73IM1I7SOPWL0Pn0tRw1nGSy7f2H8swU84iSzrO5vqlL3qeygIH+hPkVHQ0bPPQzwTdb2GUrpqSDsw2z7xIwjpexZwgCHDzeJ6gv9F7DhwSGs8uuVmR9g5EmFBqFRA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=BCRWECBd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=avbO+lZs; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="BCRWECBd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="avbO+lZs" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632CVbIN2798761 for ; Thu, 2 Apr 2026 14:15:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ko1IaIbS30UK07529xORwTESC79YHbPzcSNYySWBN3s=; b=BCRWECBdceo8emiX zVu1XemBIxDnAfpAVprpPRAtAlqgL/yPKHibQWKIS3zbIOD01OFtUiWDAS3pX6Fn ucFB4kUiij61guxsMtPANwSlFiRlxBcTqjkm/jybIlqHtlUUaSzprNzh9eUZjlhO 4SY3Qxd3PEsLR/MdCYJkvauFJGNyoXqrSuxHJI26weardUyj6KzMZgZd0klhoQFy 0OWz113/0NiJGgwFWJ3SzZVjjjWotAojZrdACM8sI4q5TeA419H56AmYkcgMH7me yLWG2u17rfXBltd9QIdNHGVvJfaGXuY9RqSvobF3/XoDleHUGKPlwYOox0/0jbeJ NWr7Qw== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d96hk4hv3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 14:15:29 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-509044f54aaso25835261cf.1 for ; Thu, 02 Apr 2026 07:15:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775139329; x=1775744129; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ko1IaIbS30UK07529xORwTESC79YHbPzcSNYySWBN3s=; b=avbO+lZsgiEnH6AzMIeT3LFJD2MPFVQRomdLV0gqXcxdcyx0lJ5Qoy6aOMOctLmz3A pH9CyUIgh36wI7Bf/FocVWVm5DNIpKoiz/60poS1HtMvuYT3knHN/dU+WESLuktQh3F3 7xXeWhk0cNp7csgRVpxYVDix9T7SCFZwnXQ5Mt3IO7/OpsxD/kDnV3nvQN93zWSTa6wA dL4GWU+sQt5dTww37mW8etEs2xp0ARFumyW9TauUOSmTSuBdsb9REnl6ZzRK0veqmOwc nhgjOaPhiHtwgA7seDFOYkn+cvsfiApBKzXu7gNNEvoRToQN4eq6iqhvT5mUNxVNkMD0 nVYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775139329; x=1775744129; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ko1IaIbS30UK07529xORwTESC79YHbPzcSNYySWBN3s=; b=pA7MA/0ZWAe2bBBuWWHHG/Xv5Afe22gjSJmJbEOOjX0I5wkuaG/7AXwEoUriPVckZU 1Alp97PgQYD6BJ1DSH8iNbK0NAJK5z21/WrT0oEr1CxjFxPoI1X8XyxKo3GR83nb7ppb Weme4pFFO61tD03HRtFCijh08SvNHJtn/ZBNjjjRznFLiki6TlD9TmaoBmYyffgxvv18 g65c1NkB91Cjc/BfjKLluBkNfTaHaWFLnTVygdCvu/qlQx5FWdGjDOZ/qWoNnWMDonMr e/7+NA0cB9mx9Fdl9WpKe2vm5NFPjpBFEY27hcH/9mmdzp/16BHfiI+aj6591sjIYedH XblA== X-Forwarded-Encrypted: i=1; AJvYcCVS9TT4dabyS44TlAYR6CcF+XC9MMjnRehD3EZvYTIdlxG3hsgXsKbC5JEaUpmWmLicX2ZPRADGR3Cywxg=@vger.kernel.org X-Gm-Message-State: AOJu0YzN3tr5s8/GaMmV4vYzjBYVtTw2Lq9V1dL1rustbllYm0tCOMGG NGPieNh2rv15DfqciM+HvAozLRteua9jtxn0ZdbMBTm/66KoNVm1adYL0WLrf5rlBsT/uVdB7PR 4GizKucVyyzyf0FxkGZYk6i6QBqtXB6AT+aHZLo7b/o9IFyHVx9MeaSSJpWYUYR6d3JA= X-Gm-Gg: ATEYQzwt93Lx5Eslv7WXYeOvJU365p1TZqE7M4Bp8r4sbk8Zwvq5zmXzj5lL++3/pKF WpdSuJbA3DmuNsR7khYPQl+g7sRz7I0h9YF6webMQTyTMFOlBw75g+rcL0nzJ7fDj/HwPKonN1o B6LGc8cN3ppZoZxZpFlZWuqmBgYs7//3jG5R5xBaKRIzyxaijE3U/3Cp0hgQlJRQoy/ZXeI6P4Q kCh5TQkJNL2VSh07czhwnx34q0467yh0tpUKVo9QWUfykFJlsTHOvekJO1lkm7fQ54f9WPP+trO PZJ501z49R5JgyrsW42R3UKLC2n1vDEzqb3cCw/Ecdewq1Euapf/H/0+FJf7qsfmtzVbrd+0tD2 0HiqdRg7TUCZDgxNAT9b8tnkg06oAL6bpW87+QFl1+p0oIqYeN5L1 X-Received: by 2002:a05:622a:207:b0:50b:465f:706c with SMTP id d75a77b69052e-50d3bdace4fmr105254811cf.60.1775139326265; Thu, 02 Apr 2026 07:15:26 -0700 (PDT) X-Received: by 2002:a05:622a:207:b0:50b:465f:706c with SMTP id d75a77b69052e-50d3bdace4fmr105251081cf.60.1775139323963; Thu, 02 Apr 2026 07:15:23 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:4ff1:3e57:22ec:dadc]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4887e80a5e2sm192824885e9.1.2026.04.02.07.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:15:23 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 02 Apr 2026 16:15:05 +0200 Subject: [PATCH v5 4/4] ARM: omap1: enable real software node lookup of GPIOs on Nokia 770 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260402-nokia770-gpio-swnodes-v5-4-d730db3dd299@oss.qualcomm.com> References: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> In-Reply-To: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Andy Shevchenko , Daniel Scally , Heikki Krogerus , Sakari Ailus , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Russell King , Dmitry Torokhov , Kevin Hilman , Arnd Bergmann Cc: brgl@kernel.org, driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7115; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=84lA+sQad0KFCHbORyyoFKtDWqR/112mWPWVfk7uVlo=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpznnyrQduqYRzaSGCrj/a3Z+EMcoLtnR8gXIhB rRkqv36XQ6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac558gAKCRAFnS7L/zaE w051D/9/iGB6iVqBzF719/2yLqnIAn9kqb0163tgxIPoz8kXX/FI5zf+t6Q3zmC9Cygm5OUsqgK 3n9fI+svI8LS2chxUKP7kCbHvxH3MlHHM300iW3hkLUyP9lkdwOHFQ3vvgA4djp78E1MeB+GKsW /GMMtvgntw0YwmWqQqY9WFPagO8FSHAncV3ui9H6PZf9TIeQIHwDQVDjqlLZHCeUZ7BxSbwup/R +YHFwpxiLdoFtdOX90NVHPpM3Yff462amLZatiXPrHWLaJblB7ZCjKZN+C1n0Gzrz+dDtXDM8sr cPfaXSnQjZz68q0P7NWLbFGNqRJAsS58iBbcFWCg5b5gVQMw1LMdMzBHiCz9jTTrDdpG3/MbfS8 fEgjfM6Lxkd1oaH61wlXPx0Y6lmzjIvoGZb0kshhiQrymMOrMgvWjPuVX56IWKkRpW0GNXUJ0iA vLIMOuaxk43lNIX8tl/QmEeYrpw2KFAi8MR/l1JFlADn3xEr+3imTlmUsdyUthTNmqsd+Ot6YIp 3SLge6ThitT8CX8lKjNM44ZjsAijL3cRu8XH8lDcBwz7pd2Px87aAvJKBoBbwBGG1RtRhMM6pj/ 7bJLVfMTbgMApzwv+lIh6glmEODbiutZfQR3jm5iJfk8OUtD5eXjBLIgH1CiDIkXbpjcfpW0yLk W1Ge0RJ1TNMYuwA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEyOCBTYWx0ZWRfX4c885CTdTtfF jo15sjFFhP8Xb651jw+5gzqvEvGideS9J7oY98/NjZ0hIbAGMn91RljY0YR3IvJfvRf1m3x9Wdo LU1Pz7IeiL2XP7NBvR7ymWZHuFKNOYnIi7+eyk40T7zJGBPZXV4Jw0cDmBi2R+v3d6E8/SKOHXh exFCK2gz7JeCR5LkKXp4Wa7jeGgMbzy0mKrWdszLpJb7HFBPwCVcU6eTa7heWzVH2W3S+trw7aa C/hQ7sqU8jv2d4TDwIqFqZ16Fu4Q48cYPi/JDHYomDvF14XmWyKVSMzCUUeDo1VIVjSWARpd8P9 gSXutUsb1YW76EyFVse2NQx9QfmTqgQVi6bqCd8VEVCLOfegUT7qkLYw2AqVf0L/AvRBZY0A3ML IHc0p3MAbaXQlGcSdnL3r6/9IX1T6zoFLThpbx+fTA4QFwPvnP6daJAC1Kx/G48WeLfK/t204YP 5MHARr8MkXwloOmZ/mg== X-Proofpoint-GUID: _pncsOudEPDsojzJOAiZRF214lXN-BIz X-Proofpoint-ORIG-GUID: _pncsOudEPDsojzJOAiZRF214lXN-BIz X-Authority-Analysis: v=2.4 cv=e9ULiKp/ c=1 sm=1 tr=0 ts=69ce7a01 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=mL5-Ybe71cLVbzrCEFIA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_02,2026-04-02_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 phishscore=0 bulkscore=0 malwarescore=0 clxscore=1015 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020128 Currently the board file for Nokia 770 creates dummy software nodes not attached in any way to the actual GPIO controller devices and uses the fact that GPIOLIB matching swnode's name to the GPIO chip's label during software node lookup. This behavior is wrong and we want to remove it. To that end, we need to first convert all existing users to creating actual fwnode links. Create real software nodes for GPIO controllers on OMAP16xx and reference them from the software nodes in the nokia board file. Acked-by: Arnd Bergmann Acked-by: Janusz Krzysztofik Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-omap1/board-nokia770.c | 30 +++++------------------------- arch/arm/mach-omap1/common.h | 3 +++ arch/arm/mach-omap1/gpio16xx.c | 28 +++++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/boa= rd-nokia770.c index a5bf5554800fe17b430e84ae421ffa8da2bb11a0..46f817f6316b70ff37bb9dfde86= c675fd692999b 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c @@ -36,25 +36,6 @@ #include "clock.h" #include "mmc.h" =20 -static const struct software_node nokia770_mpuio_gpiochip_node =3D { - .name =3D "mpuio", -}; - -static const struct software_node nokia770_gpiochip1_node =3D { - .name =3D "gpio-0-15", -}; - -static const struct software_node nokia770_gpiochip2_node =3D { - .name =3D "gpio-16-31", -}; - -static const struct software_node *nokia770_gpiochip_nodes[] =3D { - &nokia770_mpuio_gpiochip_node, - &nokia770_gpiochip1_node, - &nokia770_gpiochip2_node, - NULL -}; - #define ADS7846_PENDOWN_GPIO 15 =20 static const unsigned int nokia770_keymap[] =3D { @@ -112,7 +93,7 @@ static const struct omap_lcd_config nokia770_lcd_config = __initconst =3D { }; =20 static const struct property_entry nokia770_mipid_props[] =3D { - PROPERTY_ENTRY_GPIO("reset-gpios", &nokia770_gpiochip1_node, + PROPERTY_ENTRY_GPIO("reset-gpios", &omap16xx_gpio1_swnode, 13, GPIO_ACTIVE_LOW), { } }; @@ -138,7 +119,7 @@ static const struct property_entry nokia770_ads7846_pro= ps[] =3D { PROPERTY_ENTRY_U16("ti,x-plate-ohms", 180), PROPERTY_ENTRY_U16("ti,debounce-tol", 3), PROPERTY_ENTRY_U16("ti,debounce-rep", 1), - PROPERTY_ENTRY_GPIO("pendown-gpios", &nokia770_gpiochip1_node, + PROPERTY_ENTRY_GPIO("pendown-gpios", &omap16xx_gpio1_swnode, ADS7846_PENDOWN_GPIO, GPIO_ACTIVE_LOW), { } }; @@ -225,9 +206,9 @@ static inline void nokia770_mmc_init(void) #if IS_ENABLED(CONFIG_I2C_CBUS_GPIO) =20 static const struct software_node_ref_args nokia770_cbus_gpio_refs[] =3D { - SOFTWARE_NODE_REFERENCE(&nokia770_mpuio_gpiochip_node, 9, 0), - SOFTWARE_NODE_REFERENCE(&nokia770_mpuio_gpiochip_node, 10, 0), - SOFTWARE_NODE_REFERENCE(&nokia770_mpuio_gpiochip_node, 11, 0), + SOFTWARE_NODE_REFERENCE(&omap16xx_mpu_gpio_swnode, 9, 0), + SOFTWARE_NODE_REFERENCE(&omap16xx_mpu_gpio_swnode, 10, 0), + SOFTWARE_NODE_REFERENCE(&omap16xx_mpu_gpio_swnode, 11, 0), }; =20 static const struct property_entry nokia770_cbus_props[] =3D { @@ -318,7 +299,6 @@ static void __init omap_nokia770_init(void) /* Unmask SleepX signal */ omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004); =20 - software_node_register_node_group(nokia770_gpiochip_nodes); platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices)); =20 gpiod_add_lookup_table(&nokia770_irq_gpio_table); diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h index 7a7c3d9eb84a06c18fbc70e7c94a161b487cd002..c0f6e231fdb4422c5d2c1aa3e33= dd6dd99d2710e 100644 --- a/arch/arm/mach-omap1/common.h +++ b/arch/arm/mach-omap1/common.h @@ -35,6 +35,9 @@ #include "soc.h" #include "i2c.h" =20 +extern const struct software_node omap16xx_mpu_gpio_swnode; +extern const struct software_node omap16xx_gpio1_swnode; + #ifdef CONFIG_OMAP_SERIAL_WAKE int omap_serial_wakeup_init(void); #else diff --git a/arch/arm/mach-omap1/gpio16xx.c b/arch/arm/mach-omap1/gpio16xx.c index 55acec22fef4e73f20935473602ef6cb2f4f379c..e371183e0213912ebfa7edd34ca= 7e7683869ab12 100644 --- a/arch/arm/mach-omap1/gpio16xx.c +++ b/arch/arm/mach-omap1/gpio16xx.c @@ -9,6 +9,7 @@ */ =20 #include +#include #include =20 #include "hardware.h" @@ -55,6 +56,8 @@ static struct omap_gpio_platform_data omap16xx_mpu_gpio_c= onfig =3D { .regs =3D &omap16xx_mpuio_regs, }; =20 +const struct software_node omap16xx_mpu_gpio_swnode =3D { }; + static struct platform_device omap16xx_mpu_gpio =3D { .name =3D "omap_gpio", .id =3D 0, @@ -99,6 +102,8 @@ static struct omap_gpio_platform_data omap16xx_gpio1_con= fig =3D { .regs =3D &omap16xx_gpio_regs, }; =20 +const struct software_node omap16xx_gpio1_swnode =3D { }; + static struct platform_device omap16xx_gpio1 =3D { .name =3D "omap_gpio", .id =3D 1, @@ -122,6 +127,8 @@ static struct resource omap16xx_gpio2_resources[] =3D { }, }; =20 +static const struct software_node omap16xx_gpio2_swnode =3D { }; + static struct omap_gpio_platform_data omap16xx_gpio2_config =3D { .bank_width =3D 16, .regs =3D &omap16xx_gpio_regs, @@ -155,6 +162,8 @@ static struct omap_gpio_platform_data omap16xx_gpio3_co= nfig =3D { .regs =3D &omap16xx_gpio_regs, }; =20 +static const struct software_node omap16xx_gpio3_swnode =3D { }; + static struct platform_device omap16xx_gpio3 =3D { .name =3D "omap_gpio", .id =3D 3, @@ -183,6 +192,8 @@ static struct omap_gpio_platform_data omap16xx_gpio4_co= nfig =3D { .regs =3D &omap16xx_gpio_regs, }; =20 +static const struct software_node omap16xx_gpio4_swnode =3D { }; + static struct platform_device omap16xx_gpio4 =3D { .name =3D "omap_gpio", .id =3D 4, @@ -201,6 +212,14 @@ static struct platform_device *omap16xx_gpio_dev[] __i= nitdata =3D { &omap16xx_gpio4, }; =20 +static const struct software_node *omap16xx_gpio_swnodes[] __initconst =3D= { + &omap16xx_mpu_gpio_swnode, + &omap16xx_gpio1_swnode, + &omap16xx_gpio2_swnode, + &omap16xx_gpio3_swnode, + &omap16xx_gpio4_swnode, +}; + /* * omap16xx_gpio_init needs to be done before * machine_init functions access gpio APIs. @@ -208,7 +227,7 @@ static struct platform_device *omap16xx_gpio_dev[] __in= itdata =3D { */ static int __init omap16xx_gpio_init(void) { - int i; + int i, ret; void __iomem *base; struct resource *res; struct platform_device *pdev; @@ -244,6 +263,13 @@ static int __init omap16xx_gpio_init(void) iounmap(base); =20 platform_device_register(omap16xx_gpio_dev[i]); + + ret =3D device_add_software_node(&omap16xx_gpio_dev[i]->dev, + omap16xx_gpio_swnodes[i]); + if (ret) { + dev_err(&pdev->dev, "Failed to add software node.\n"); + return ret; + } } =20 return 0; --=20 2.47.3