From nobody Sun May 24 18:42:56 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 B9A463AB47C for ; Fri, 22 May 2026 09:04:57 +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=1779440699; cv=none; b=dpHY7Lpkjux8vOS5PgSixDEoawXQXzrHjghR9OgxllBDb8Xt4phJKSoxZ+FCWUn3tfb0Gz5Wrva0IE36hBEGRXZlxDkCChu1yxcXos7Vb2czuheP3NtG9DpD3e7XvwOdiSgs3DzSCVQJg3PbWKYGCgRN5rXSu6GFs8p1JUq6omo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779440699; c=relaxed/simple; bh=WTiPEvBCDpq9/fcbGRj5IvLZ8HM/HwhYmydeGqg9iGQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=C9rcQf4UmuH6zbbPNMfvxl4a7HwCRxbF8Y9MZG7dwLD0bddGBVBh9LWAc21tJwSdczfhi1LP9/vF2wa0dFNlG+bNPg6CXEjjqYeCvs8bwqY8zGUA2bKU/KSpoKsMPkbfkyGPGyy7AKt/SvRvYe96YiL0js0eZAItjebM2t4CZxg= 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=TXPnaInA; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dzetquRU; 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="TXPnaInA"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dzetquRU" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64M8t3in2765337 for ; Fri, 22 May 2026 09:04:56 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=s3DKgJxsGPLs7jxciH0o28 3PnE0vNQ9Q3nBgA193/PU=; b=TXPnaInAa9i4X/afCEX0xAa5uH8ChJC5g6lTU+ xDkWQ4ysA0zO2C7KLCuRmHxLfSBtdWUzphMoO5J8nNTH4TXh727BaHQ4TX7jnHqM 6QHDXpFtXO1NA4mXKBX/EIGoFutz7tSPAj6Yr7pGJXbeXphjowDtaaMFlYRYAR2g 6ZWIkO9f89W1DgHJK8gWEoz2N4kUxxtpWckuuVWpPMkBpVm8erCRmgUh6ge5qdFG 9BW6Kw5SxTgogISpOfM/MhwCqtkivRI+oo+56ZxJd48CdhEWsRhiNTlFNXAJ9H9A LkveNEB9PaQyV9he8z+evvmhXKvxhiP/6QtnYEVzlhNWJm7A== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ea3u7v6p8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 22 May 2026 09:04:56 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-516da5a1db4so6907611cf.0 for ; Fri, 22 May 2026 02:04:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779440696; x=1780045496; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=s3DKgJxsGPLs7jxciH0o283PnE0vNQ9Q3nBgA193/PU=; b=dzetquRUMemLBTZ4V4kY7LcINgl+Pnzohy/uxS4rjFjbsOFwewbPHYBCRX1URvOyN0 UZjKRDou3NjiQ85Jbi5tJDNyKsUOrzdKW0ZdXwU34JyC3OzwA93DMCB7dpdIFuh1eUfn 5d1I5Bfl7rmlZjLEz0u5e+pepnsuTikQZzOM3EejvEnhdSOblSJIyM9tGorZhAoB79Uf 2Zq3aJFJoOXZ387H1EjNVx8QCEbfCIITFaeEEp6L9rHaeKLpuvQf37Fe+l+ehOopf25d 9dx4JJuo3E+GfCI5lxznk6OCZeAqxPM1Iy2OnitHOXTlX+DJV5YubhHdSO6Y1lZOZ5kC 7Zjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779440696; x=1780045496; h=cc:to: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=s3DKgJxsGPLs7jxciH0o283PnE0vNQ9Q3nBgA193/PU=; b=qZ9W2Vt9t0uH9PfwZ10aIIkd2fdgwBGemu3/+5Nsw0b10EE8lKHF3ytPQl0mkByRpw 8vzyqoPNaahQP8wARyqCjoI8F8guYI2kK930g/1H4bbYgTNwnO+bqytEiSNxBDdPJeyD DATzo8+NrzBvPVB0JSw+18KmMgHVnun180H55VMzD+M0YgFVPiMcOmAMXlp0l0n7wAF3 RXo04npqFLcGUe8a6CYwod1noWf8ttdZzAdKVu9xkwrOXW73lghavguJbOFqBfNdPR5W MDjfCgcoy216YCxlWaNbn3aiqsmGbA8I20FT5MMIFfRT1SpFkHhwkezLG9Z44sAENt/A wnqQ== X-Forwarded-Encrypted: i=1; AFNElJ/kkTbcyoHWDbs3iMPMFpKEkpFSO0d1A9ZF940mlOytP4wDozE1j0htCHEmWbF6UvfQC7c6U6hUO1Bdwa8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxb4jWqitS2cXdohNzMzuMFURF6KjalMc3nloYOn+u/NDrvSXSm cy9wo+y9X39vA0uLgjXJM57Iha439aiiPM7pvcck/UPChYJ5upM6CUzEyivE5N97V4GUrWhs4uG eiohXerZidEItICEXb4XFXBYDIoc3TQ8ZpE+AiAbJdioW2ezyihguzLjQxOGjykMkSdo= X-Gm-Gg: Acq92OHWmiXXmd3fLV1NFgXL5P0qET0F0GsVR60ecP6WLE87sh0O++faMQe4FEIiGHM ZZb244cSoLDGQ91fB12xNFjmzElaYx0f1qc2OPyoyG0K3z/og/lEQNX6Utw8strAXTHPc3X+zOb Ep8t8dMTHgXK+OulMx7NUaNn0FNkuYGYrkOMToiUul701gf1l3AWaosPV/zxbOHMJzldyYRzyeW dGDLSHaxgMzE42GOCo3dHm3eVo2k1KM5HfuD9eUEUdYqaA1oOvynmQPsdrYJa+B17HF0SzH1bVF n4pWooqVHZGBUod8a3zYONCzm4ASN6yZ4wFI9w0lm0w/jLbxuc6sn0Aax1z14xOhkthUePve7qV HejDZR+r8nz1oOufNv3DS+vZ2fiKVeI8H7dvz9HYrzeIQvq6fMA== X-Received: by 2002:a05:622a:4d4a:b0:50f:c625:4dc2 with SMTP id d75a77b69052e-516d43688b3mr39000361cf.35.1779440695797; Fri, 22 May 2026 02:04:55 -0700 (PDT) X-Received: by 2002:a05:622a:4d4a:b0:50f:c625:4dc2 with SMTP id d75a77b69052e-516d43688b3mr39000011cf.35.1779440695298; Fri, 22 May 2026 02:04:55 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:2fa:6280:a48f:fb37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d4ca0dsm2510931f8f.18.2026.05.22.02.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 May 2026 02:04:54 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 22 May 2026 11:04:43 +0200 Subject: [PATCH v2] x86/platform/geode: reference the real node of the cs5535 GPIO controller 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: <20260522-cs5535-swnode-v2-1-08b2ba64886c@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIACscEGoC/3WMwQ7CIBAFf6XZszRAxaae/A/TQ4HFklhQVlHT8 O9i715eMi+ZWYEweSQ4NiskzJ58DBXkrgEzT+GCzNvKILk88L0cmCGlOsXoFaJFxl3fCSu1RsG hOreEzr+33nmsPHt6xPTZ8ln83n+lLBhnUhuForfWuOEUidr7c7qauCxtHRhLKV/M0J0BsQAAA A== X-Change-ID: 20260429-cs5535-swnode-0f731d2bbe10 To: Lee Jones , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Dmitry Torokhov Cc: brgl@kernel.org, linux-kernel@vger.kernel.org, linux-geode@lists.infradead.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5347; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=WTiPEvBCDpq9/fcbGRj5IvLZ8HM/HwhYmydeGqg9iGQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqEBwxzOj9Gz6a+hsmnq3Rhl9qHbjfQTXH5UmPa 3XPvbG+FVyJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahAcMQAKCRAFnS7L/zaE wy2YD/sGRA61VkeJ/tsFqD/N1cRlJm7MmJFJFJsRJp/LsvQ50K1xQmpaPpEAT6urRRBvXbGa9vK 18Yfh1tLBHa5xVGVdEiQHmJcLtjbDzPW+wy7vsuZB7DGMmZRPruV7Xac+TZHNyGWtYOkspAwuFP EeCnT2869y+7yM1E2Sr8NLLypu2jNm78/IdmrzboWW2XsLNWIdE71JOWVrKuSYVoUq0X6J+BB1g Z14htM0mYf/ScVGLi2TLwdHQohU6XDeae4pFro8tbT8P6poYnJJ0dor8Df+qZAHE3ppKApavJfm zigsA10dH7ut6Zej2Mxa17kO7DZDUW0IquPOceqBG+TiYiHwf0lMOQnXW66eyIaM/RFKyU1JC/g cpouL748qET3q/n+gnuV7aV8pAaTeaF5ME7OqmRchILw7Fmp1CeKPvAMyYr1K1DwPy6jV2UjfdC q4dV1zX91wgF+4MAeDnx1kkrZrZ8MS8P2/hUHxw+YpdS22k0ElWExgzAPyi2fpknXrmwePDsaCp Ivf58wzvAtNSUmYCJYq6qJAIZUqICEIs1WSFjsvyFTc0IZS8jedxQqRcwyjngJ2Fjs7utJsKC7u PtZikODiA4v7YAJzZpNM6Jp3lJlQYWxQTId521GWwYaUqc6gPZTue51B+ezKuWbwOPOVMsXupDl FQcQYchA33xpxtw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=aIXAb79m c=1 sm=1 tr=0 ts=6a101c38 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=bC-a23v3AAAA:8 a=EUspDBNiAAAA:8 a=TNWFKpbcQr7zXacQu9gA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=FO4_E8m0qiDe52t0p3_H:22 X-Proofpoint-GUID: uZSCcRMigSusLUWmxsiD3zXgreAfskEQ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIyMDA4OSBTYWx0ZWRfX8ybvkLsntDUC 8P8EgQ4zxORXBvt8Z189FnqB2V3ktc9DOqtHGdIitd4VwFtr5BnfM973UgE00htkreJ9buJzg7p rbAw5y5eHYa2xgu8Lg0YqARfJqNq2w1Ax8kQKup9+5bkW0Yuh212fyVDs25a2zho6LyDQ7g2MZx us40++zI2tD06+Xlmny/2gKy5DSpXWrHQq8xf3Y0UTzwziQ4+yUKmvVbC5UPigTprMc72dUyqX/ GWllMsC9gbgH6svUM+5zL4ETcUMN0RgvZNearBCUALZW6Tyga4McQY4hl3HkgNIXFc2KMTtxO0D M6pbSOAA6q6JgpwNFoLRDxhQefgx3EzkO3vOQS06vybYibVO4TzbQGyfYUPXSPi1qr9Re+Pk6a2 2LDKb4UNJmBMePFkcB5oCNfgr6B6uE0X44Ulwle2n3jaw36A4nfU1qpeQl+UUtuMQi5DP+EzRXa udrlKwsI6vsvshZbSlw== X-Proofpoint-ORIG-GUID: uZSCcRMigSusLUWmxsiD3zXgreAfskEQ 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-05-22_02,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605220089 We now can access the address of the software node associated with the GPIO controller cell of the cs5535 MFD device. Make it the target of the GPIO software node references in geode-common.c. Make sure the cs5535 driver is built-in for all boards selecting GEODE_COMMON. Note that the software node in question is exported in the "CS5535" namespace so we must import it in this module. Signed-off-by: Bartosz Golaszewski --- GPIO software node lookup should rely exclusively on matching the addresses of the referenced firmware nodes. I tried to enforce it with commit e5d527be7e69 ("gpio: swnode: don't use the swnode's name as the key for GPIO lookup") but it broke existing users who abuse the software node mechanism by creating "dummy" software nodes named after the device they want to get GPIOs from but never attaching them to the actual GPIO devices. They rely on the current behavior of GPIOLIB where it will match the label of the GPIO controller against the name of the software node and does not require a true link. In order to un-revert e5d527be7e69, we need to convert all existing users to real firmware node lookup for software nodes. This series exposes the software node associated with the GPIO controller cell of the cs5535 MFD device and uses it in the geode board setup for LEDs. Merging strategy: there's not much development going on for the geode board file so this could go through the MFD tree with an ack from the x86 maintainers. --- Changes in v2: - Drop the MFD patch that's already in linux-next - Rebase on top of current linux-next - Rephrase the commit message, mention the namespace import - Link to v1: https://patch.msgid.link/20260429-cs5535-swnode-v1-0-2bc5e17d= dcf9@oss.qualcomm.com --- arch/x86/Kconfig | 10 +++++----- arch/x86/platform/geode/geode-common.c | 12 +++++------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index f24810015234e00a441645f61648ce9aa174a293..63c31b91341bd50f57626d44ad3= 4648a25233393 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -3028,7 +3028,7 @@ config GEODE_COMMON =20 config ALIX bool "PCEngines ALIX System Support (LED setup)" - select GPIOLIB + depends on GPIO_CS5535=3Dy select GEODE_COMMON help This option enables system support for the PCEngines ALIX. @@ -3036,21 +3036,21 @@ config ALIX ALIX2/3/6 boards. However, other system specific setup should get added here. =20 - Note: You must still enable the drivers for GPIO and LED support - (GPIO_CS5535 & LEDS_GPIO) to actually use the LEDs + Note: You must still enable the drivers for LED support (LEDS_GPIO) + to actually use the LEDs =20 Note: You have to set alix.force=3D1 for boards with Award BIOS. =20 config NET5501 bool "Soekris Engineering net5501 System Support (LEDS, GPIO, etc)" - select GPIOLIB + depends on GPIO_CS5535=3Dy select GEODE_COMMON help This option enables system support for the Soekris Engineering net5501. =20 config GEOS bool "Traverse Technologies GEOS System Support (LEDS, GPIO, etc)" - select GPIOLIB + depends on GPIO_CS5535=3Dy select GEODE_COMMON depends on DMI help diff --git a/arch/x86/platform/geode/geode-common.c b/arch/x86/platform/geo= de/geode-common.c index 1843ae385e2dc038fde6fb02f6de0b818e22d8dd..679b4b07b790db3ce1c06bd6639= bba7516ca3f71 100644 --- a/arch/x86/platform/geode/geode-common.c +++ b/arch/x86/platform/geode/geode-common.c @@ -9,15 +9,12 @@ #include #include #include +#include #include #include =20 #include "geode-common.h" =20 -static const struct software_node geode_gpiochip_node =3D { - .name =3D "cs5535-gpio", -}; - static const struct property_entry geode_gpio_keys_props[] =3D { PROPERTY_ENTRY_U32("poll-interval", 20), { } @@ -44,7 +41,6 @@ static const struct software_node geode_restart_key_node = =3D { }; =20 static const struct software_node *geode_gpio_keys_swnodes[] __initconst = =3D { - &geode_gpiochip_node, &geode_gpio_keys_node, &geode_restart_key_node, NULL @@ -66,7 +62,7 @@ int __init geode_create_restart_key(unsigned int pin) struct platform_device *pd; int err; =20 - geode_restart_gpio_ref =3D SOFTWARE_NODE_REFERENCE(&geode_gpiochip_node, + geode_restart_gpio_ref =3D SOFTWARE_NODE_REFERENCE(&cs5535_gpio_swnode, pin, GPIO_ACTIVE_LOW); =20 err =3D software_node_register_node_group(geode_gpio_keys_swnodes); @@ -143,7 +139,7 @@ int __init geode_create_leds(const char *label, const s= truct geode_led *leds, goto err_free_names; } =20 - gpio_refs[i] =3D SOFTWARE_NODE_REFERENCE(&geode_gpiochip_node, + gpio_refs[i] =3D SOFTWARE_NODE_REFERENCE(&cs5535_gpio_swnode, leds[i].pin, GPIO_ACTIVE_LOW); props[i * 3 + 0] =3D @@ -188,3 +184,5 @@ int __init geode_create_leds(const char *label, const s= truct geode_led *leds, kfree(swnodes); return err; } + +MODULE_IMPORT_NS("CS5535"); --- base-commit: 550604d6c9b9efc8d068aff94dc301694a7afdee change-id: 20260429-cs5535-swnode-0f731d2bbe10 Best regards, --=20 Bartosz Golaszewski