From mboxrd@z Thu Jan 1 00:00:00 1970 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 CA6AD3E5564 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=1775139324; cv=none; b=CW+rersX7KKJC0IKgYvCHqtuXaRiTQhZjLSP2/lWb3ymIfLI592Lbr0xEmQ5TuPKDAGOd8s79m1qhwVNKnNRY5SpxeR+uAlX/CdZFDcjaI4dEu2cXj86Q5i6wFJAzdpAdQUldr+ezz8dz2O9PzrsD9nBoXUjx8xllQC5/ngYp8U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775139324; c=relaxed/simple; bh=9xHP9YGJtqo9V/BvuF1Xk3Wt1TALDLTxAhAxwgZviEQ=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=SYkJcigNbQry/6duW/6PhzWTXXyXq1TjDtu/1VrtshZ3MJEW5teUzeJV66Xb//4UuzGjU9ex5QQqK/rwK1TAIFy9PFlsPy9qJedbN+FUK6ZMiWD8WqzVZqosXPKFKSLuhrgzNwK0v0C5I9SsXQwBcCM8e8civnbHJpwIDOA8qDg= 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=VMfUXqfE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QHQWyaxH; 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="VMfUXqfE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QHQWyaxH" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 632BlMr22338012 for ; Thu, 2 Apr 2026 14:15:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=I0iEYnM6TxpFjlb6DDopS2 eLno0oaG8tAIZJH9RCSIc=; b=VMfUXqfEvL1i05v9ML1s09gEgzAP8RxxtyO0GR PbaWK6ex2ZXp4fX9pnyChWWI5ch0d3wSZb7Sg4H8+D9yUJ1dD4iv2HZJVKOyiyvR dWbzTl35sh18TTuk9fhAl3F88y7Q6ZDomkjzYPiLjMLwgC0afQoPeQ2wCU30ysBz BHa6PLsM/2mlEpORmwLwQCtX43DYgaT4OEUbyhVXFh70asqmwERtsSnw97QUGv2a +o8G+GZrcQZzgUDZG7oABwbqQU+8LzwG+dHeOq5TciIXJTNyN9qy4lGSBcZi7SHG J2+V8SIDyGQehrSL9uKLW9uevE+ocum0dLc02mderrSyyZrg== 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 4d9qw08mjg-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-f198.google.com with SMTP id d75a77b69052e-50b31cff27fso7386841cf.3 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:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=I0iEYnM6TxpFjlb6DDopS2eLno0oaG8tAIZJH9RCSIc=; b=QHQWyaxH+J+7oa+a/cNB8STpBjv/oA/L4nlkgyHE7E3G0ngZSwkqFIVLLrfLBsdEcu qY6z6uZh813I1M6SCnfbGp+MnoTiYnKUu7tydx6mXtgLnLYENZ4IUdA3cwdMcmuoABqj P2FZ1XgCadnTmNjadAOPdD7oo6Wu92s4bcbAGBYxiJ3sSaVjAY1NnuX5Ct+twRAjAGRr 5oM3PYQ6UR+SQaez4XSo6d5R4b8C2K49K/TiOzprL6YPoZtDiGn4Hc1bhRiLhUcsjMrh ukV8TicVBb+MeExf0XOir64XULvN1zT4pKxp1LNjT4aq0N9IYNYcFaZ3ENcMUt+jauAo Ilgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775139321; x=1775744121; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=I0iEYnM6TxpFjlb6DDopS2eLno0oaG8tAIZJH9RCSIc=; b=D5z4e/CSM+VAzZYXvgvwP1q4k36yG/2aqv3kcii4p8CIVYHhMZmCVpifL688Pwd6/j jS2h/QmkWkzL2qxmrJhKPOs7rpijKOqoCitG/Yf5lLlrzc/ZwF6IwG67JMR+LUawdPUz E089G04DUZm9WcQQEFK6k0fY3W4JWy7i8FUD9kcgdD33/W4uN6iP/4SsjofceqV67GCd aNigdc10jnJ9C39ciEZi4oGy1UXWQ+IfNd4uUiO98iOwCF2blWPwsMb5ZjR4GY/aYkMt W/Y4A9b9r3HjJD95Fy54sYEK1WqDoZNENFJYCcBn/tZuRMObXM5uYMDugOVeG92qPUed ElDA== X-Forwarded-Encrypted: i=1; AJvYcCXhhRusjnbR8U4G71ctMrP72eOsZBcJZpvGRA0aQGxwNv/zgXBg0mPK+xwmJNPdWMcRaVBIVpjkyewrvZ8=@vger.kernel.org X-Gm-Message-State: AOJu0YxBDT0LNdLdM4C97xW8fXudU6pQktfEOLQqkoE4Me07RkJY8JdL yCb4FVCTr8RyIeYJE9hJSsNWRwNPYt65Xwwf7MNBYq2qRhfTfZBRZXJL6AXZ2haGD34LoKyFzmI T69wQxexyi5auaReK5R5lSKF+Hr5dMU8V49F+wNJNwN1Ife22GDJCOt7oIRhdKZiiV9E= X-Gm-Gg: ATEYQzwQ3RADeTLQqCLXI0RQgZpNNb6gBUkW0eeE75NHKr8+vLp1jVv31KZwVvmHIZb 8f7U5rhsVXYnxSemsR1ScAPlv+IMXde9IzDcQDyPY1RlHSKkxRkqh4rrYb0lCfUGdMMXkr+3Auw UTMuiErc5oEeETK9ABcUve/d5smND+cUXOESeexmJY8O6rT1rV1HBDQDxhnxHbLBqaPej205gCz yDgLX2EdD+SoIAxW4cMu25iXMi9gpjSbUoltFkeJgbMTvupl8mM5Xfk4uyn072W/lJRTr1tmleP VZ99bqIOcCXEiguzm2Cdfp01DrTvvUdtq/AyiobROXGK1qIq8J/+Qx5vVki20HoePIm/h6zxAGt gBEsQGYoGQD7XVKJPlmGk3lT8ztSYf4hZsw+gdv+uMZFGD03a0tAd X-Received: by 2002:ac8:5a91:0:b0:50b:5056:fcc4 with SMTP id d75a77b69052e-50d3bb92f71mr104570811cf.4.1775139318261; Thu, 02 Apr 2026 07:15:18 -0700 (PDT) X-Received: by 2002:ac8:5a91:0:b0:50b:5056:fcc4 with SMTP id d75a77b69052e-50d3bb92f71mr104568721cf.4.1775139316950; Thu, 02 Apr 2026 07:15:16 -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.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 07:15:16 -0700 (PDT) From: Bartosz Golaszewski Subject: [PATCH v5 0/4] ARM: omap1: use real firmware node lookup for GPIOs on Nokia 770 Date: Thu, 02 Apr 2026 16:15:01 +0200 Message-Id: <20260402-nokia770-gpio-swnodes-v5-0-d730db3dd299@oss.qualcomm.com> 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: 7bit X-B4-Tracking: v=1; b=H4sIAOV5zmkC/4WNQQ6CMBBFr0K6dkhDKQVX3sOwKHSEidJiR1FDu LuVC7j5yfvJf38VjJGQxTFbRcSFmIJPoA+Z6EfrBwRyiUUhi0oqJcGHK1ljJAwzBeCXDw4ZtLN 1Z5VuygpF2s4RL/Tevec28Uj8CPGz3yzlr/1nXEqQ0FW1bgpsjHHyFJjz+9Pe+jBNeQrRbtv2B eDGddLBAAAA X-Change-ID: 20260330-nokia770-gpio-swnodes-5da8ba35946e 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=2587; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=9xHP9YGJtqo9V/BvuF1Xk3Wt1TALDLTxAhAxwgZviEQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpznnpgbWuE8PB92kyk7oxM0EhrfC9uGBqdWjbK 5/AVS9z4L6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCac556QAKCRAFnS7L/zaE wxWDEACXpxQ47yMXyNOUQwCxOnke7iYT5ZQOnqkVVZvzIPH/rpFUqujwJTR6i77GBhHklwMd76n nz0VXCWCxBstpkby2i801FON5C1se1aityaTE0UexGxIDX6a7UlDqNJfpwgkyWNdGXm/bhOawr5 Gt5aQZHe9u0bHKJf6Ocv5YdO/ATOtNygibon8PvTR43Bu1iynN3LWQH2I29xPtQfSTPf5eYtzef 4CtWkr1jd8ZqLnth3r4J1T68um/z3XHqjl59apZ4/gdQh9EXsx1pJTYwrwdIt5RZ4l5ezVnpDWa Wrg4S3WMXyWmKmJP+XPoZkzKIcSImHJqA1Qm5Q4Tq2Do0G46aRg8WPiSIOsqjX7WByQ/gBEqMDN WKvH8saFlplZ05ZJ7TVQKwRxBKHMhRzq0QdullzLHCnEJ3tT85P7P4Du9Zl8TKbWZWmKiXny1qw a7p1JALeRLwCRDbgDVY+ZPhblU3YF5s7AmgkX5UOxZMhvOxZSwyPtvneHGZs66I5Q0S3qS9tH7R aT/AcxEeqJZHS96PIYfpFFkFYl0yb9WrxZh5E2tu3Cl1AqPJ04bO4UVKuHbtXm+LvMgp5Dy09jm PlR1ufRVBI7A7QanvZfKMEz6Y+EcB88mzBac88+prWUsCZT7PpV00MHuHH/11UE3KZURkZDNdF9 6tH4XwQ8V4izhbw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDEyOSBTYWx0ZWRfX/H8vlXHoeAaP jvarsOzcbUNe4yOw+o+EcS/OowhXfA1vcxsCfFhDHWD4C0tAS6/1B5U130gnytLUPBWYbr4B8VD lUUdSzrLTY8EIdQF2g2CrZw8ReTde6TnbeLzc39+eKCDfOAWk3QqlOYs3qZz3ZHimx9kHCis21I s0AfyLghRB1ou1kKeTsfKRnaIpZRrHYxQop7ZA1SwWNs0ITTlUDD4RtNpt4WcA1P1VeoLt4i5X/ hmAeNGrvXjzcZNGUgOtcgTtnY5ktxtf5r6GCR2nSa29Anfhb5J9tBlHxym64+yGQEDJKx0anyqe G7+b77dxYlE9nnoTSBnxl/fu7gPmd1r66B3VAjD5mMP1uL/uUruB6WP+8H5BFRTAonnyFGbxDfg jN+z+gC/5DqYBdR+I0q2GwBfDhBB7AGZ8+2Z93GbqRRliWdErxCih3sXRASia/kX16Hjw/R5eJl 18e1+EoNCyApHUnn6pw== X-Authority-Analysis: v=2.4 cv=PNICOPqC c=1 sm=1 tr=0 ts=69ce79f9 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=gowsoOTTUOVcmtlkKump:22 a=bC-a23v3AAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=WeWpliTHXVVyQaQyHOwA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=FO4_E8m0qiDe52t0p3_H:22 X-Proofpoint-GUID: 0deINvjYoD_q2bcjn1-7Ti9TBv0t-bNh X-Proofpoint-ORIG-GUID: 0deINvjYoD_q2bcjn1-7Ti9TBv0t-bNh 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 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020129 Mergin strategy: It would be awesome if patches 1-3 could make v7.1 through the driver core tree after which the final patch could go through ARM-SoC separately in v7.2. This converts Nokia 770 to using real firmware node lookup for GPIOs by attaching the software nodes describing GPIO controllers to their target devices. As determined by Aaro's testing, both omap16xx_gpio_init() and software_node_init() run in postcore_initcall() so we need to make software nodes available earlier hence the new patches in v4. Please note that while the goal of this series is to allow Nokia 770 to use software nodes earlier, we're not modifying core kernel code just to accomodate an old ARM platform - more such conversions are coming up so the change will be useful to more consumers of the software node API. Signed-off-by: Bartosz Golaszewski --- Changes in v5: - Put ksysfs_init() in a separate new header - Remove software_node_exit() in a separate patch - Link to v4: https://patch.msgid.link/20260330-nokia770-gpio-swnodes-v4-0-b68592e977d0@oss.qualcomm.com Changes in v4: - Add patches making software nodes available earlier - Remove stray newline - Link to v3: https://lore.kernel.org/all/20260212112508.73500-1-bartosz.golaszewski@oss.qualcomm.com/ Changes in v3: - fix references to the MPU node Changes in v2: - fix build with CONFIG_I2C_CBUS_GPIO - only export the two symbols that are actually required by the nokia board file --- Bartosz Golaszewski (4): kernel: ksysfs: initialize kernel_kobj earlier software node: remove software_node_exit() driver core: make software nodes available earlier ARM: omap1: enable real software node lookup of GPIOs on Nokia 770 MAINTAINERS | 1 + arch/arm/mach-omap1/board-nokia770.c | 30 +++++------------------------- arch/arm/mach-omap1/common.h | 3 +++ arch/arm/mach-omap1/gpio16xx.c | 28 +++++++++++++++++++++++++++- drivers/base/base.h | 1 + drivers/base/init.c | 1 + drivers/base/swnode.c | 13 ++----------- include/linux/ksysfs.h | 8 ++++++++ init/main.c | 2 ++ kernel/ksysfs.c | 9 ++++----- 10 files changed, 54 insertions(+), 42 deletions(-) --- base-commit: bd0f139e5fc11182777b81cefc3893ea508544ec change-id: 20260330-nokia770-gpio-swnodes-5da8ba35946e Best regards, -- Bartosz Golaszewski