From nobody Thu Apr 2 18:47:52 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 AA6F7344D92 for ; Fri, 27 Mar 2026 10:49:25 +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=1774608567; cv=none; b=OeOLjJhnc/okjvY/+APPH52+SNovWpLco0O5vT5x2QZ2mPec2tqiqpYgZHAiMj6FMH2FsziTcz2sPSqYkPiXv+V1uOKZdXoZCaV1cugziXHGNdPnLfO7pfYsbNbDSLUPOj6rf081RvVqAFxj168Y9+POF8AoCwe4B0Mqy7Yx0ng= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774608567; c=relaxed/simple; bh=XuIPI4ieBoEl2z7TePLiJbxNf6IybKJInbnNQo0jmzk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mDc/vHp4N2PTAbbsPkHfFKplYRZUFqNH7dxLvAlNpOMSvMKsbF/DZumc7tHfhExzse5SbtlrLer3U59UoGcHCx+wF69Qi7ti/ugWryziBsNFrq6cfuJG28eUm3LqfF/gV+lbHJhC+AT3Z4ZKaKv7o6dznr+a0MrbefIRIlmjqkM= 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=I7a3tUsa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=g5qToxGh; 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="I7a3tUsa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="g5qToxGh" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62R6vqr2298575 for ; Fri, 27 Mar 2026 10:49:24 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= Y/MgRnxQcAW10ujPvz24jsVPOtUwPkJbS8tZTcpuIFI=; b=I7a3tUsaussnunkK fQ1PbUpep02E/EynskQfvlyHuvQlYbKnfOzwASK6/5D7WDXyHG+saUlhRiDGHZc0 aOum1NSv5CBHOqIckgcilDEfN7JbqPt2hBPw5UMklqnKFqyQUFdLnAzPR4dzY9Nt SwnfcI6sUjYCvKk6dj1qQDIHmCgoj/Zr3nWkvYbbFcwFgL6miF4hO09Otio84KSj IsbjYIExsXgbTjnSWyWF3zFXvGSSCk3fxALSvBM3ccZa3cKTDz6nOv1JR1RENsYQ XX1B4qiB6sSLX5HoInheFwM9NrBiObdWsR0rBBr4WcECpArm7TASgX+mu5sRmBDa gKlI1A== 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 4d5bd8trjn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 27 Mar 2026 10:49:24 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50b3544bc7bso29622191cf.2 for ; Fri, 27 Mar 2026 03:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774608564; x=1775213364; 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=Y/MgRnxQcAW10ujPvz24jsVPOtUwPkJbS8tZTcpuIFI=; b=g5qToxGhl5Uzh2kwo1lIsrUmDbjH2T96YDV9KE/ZNdZGJb2Q+EwHSxxC3kGUMHjZLN 7pHZa9MMtK1pZ7V524mAmruYygATWavotkwdv1cKl2uBxXpD2U2TdiDwWYtyjwVsiK5E Dj12NR5z+6HaEg8QxXX1iNBt0rzptY4FIEdhuqhshOZksvtIMXLaBSzl9RSn9rI/peg4 irNh91aBP5F/dXV6Rx007aeW7Pr89YWVeuWx28Xp4ohKB1wj0z7c6MppfAnO5T2/LnBk JBmV5qCnSBztrza232YqWOblWLWvjEEIycoSGJfLKIgclxHnOLVxuV9mgBN0/CtuH6Ry +h/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774608564; x=1775213364; 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=Y/MgRnxQcAW10ujPvz24jsVPOtUwPkJbS8tZTcpuIFI=; b=PeWUYcuyz7CmhsKaQEVYzoHoP9y+IQO7emNGZzgeEhZYEKR/s+Ieb/oqrOSCElISPS Swzj0LyjAV1eB2oG/iPZz8orEsnmtXbQ11P30/yWiyBiuwNqpszZ0oA26nbJmUXWJ4XV dlhf/pVvrFG+0Pk5kVgqmZUTCmj7SZqT0I1kBTk72kUfLO3zDBtfeZ+hRDw0LC/yuRuR 132mfosZbmVevukpf+oojs6Yc99O+wfyxlqJzX//w7yKEvPPG1zxoPgOOkjYYzHFoHoy N7O9TBqNNTlRxPOGW06KNF+vCQTC6bmqlcjdQPAN8xDr5Mfp/Zr/nmyVZH4Dms8RVHGe gerQ== X-Gm-Message-State: AOJu0Yyn5mi5OWaxcsSLNfE2Tdorn7wiPTF7Xsr69NLug0gyryjVb0gZ 85hePF0zvLkNwxiIUGhFmIO71CRUbXsKmELJzX4TLuheWiuKOQFV5Kp2olJdG+314pumnEo28Pv tUOgSIvRc0dfuES7RAqebySZnS/bLcc9t2rQC4do5czu0G0IB7vhRzRUbSYjMIsaL68uU12wDrW Y= X-Gm-Gg: ATEYQzwmf8+tXLN+cmkzQZWMaIzMUV2zVEn6JqGFNpy93Yr2wuZ+yYicZm4eYPQuK7s 9+pgtgjs0H+vHRGhTndAGBZ4IcT1tr1C5iL4jYWAQnvaVWKIVaz8Lbm/fdCNeI1VXOyEsFy+i6v tyiAb9Fz9tmnzQ57YRr/B2FA8Z6WQrcj5pG8qjAzy91mmO+ZQYW9hng1qeTcSPWLkdj/FSWb5B3 cf6coCzmB0NILgjZxILGgQy27p4rAsSo+AAewLXpNrv86JsRAMczOv740h9naNTY3kzdNjYglvV 6UqqY9Mr1weJ6kIfb/oSgjx7gSAUTz+kVCtgAeSkSz3TbKeV5AGmA4dPikJ3aF2VoCMc2dQJebv 8FvbfdkayFlE2+yS/KOfPgJuzsArlpJqS1QpZjoALvxlxFyEOsb0= X-Received: by 2002:a05:622a:283:b0:50b:3f50:178 with SMTP id d75a77b69052e-50ba380ba43mr23616431cf.14.1774608563919; Fri, 27 Mar 2026 03:49:23 -0700 (PDT) X-Received: by 2002:a05:622a:283:b0:50b:3f50:178 with SMTP id d75a77b69052e-50ba380ba43mr23616151cf.14.1774608563474; Fri, 27 Mar 2026 03:49:23 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:94ec:a3a:baff:9151]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b9192e5f0sm14989445f8f.4.2026.03.27.03.49.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2026 03:49:22 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 27 Mar 2026 11:49:08 +0100 Subject: [PATCH v3 2/4] mfd: timberdale: set up a software node for the GPIO cell 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: <20260327-gpio-timberdale-swnode-v3-2-9a1bc1b2b124@oss.qualcomm.com> References: <20260327-gpio-timberdale-swnode-v3-0-9a1bc1b2b124@oss.qualcomm.com> In-Reply-To: <20260327-gpio-timberdale-swnode-v3-0-9a1bc1b2b124@oss.qualcomm.com> To: Lee Jones , Linus Walleij , Andy Shevchenko , Bartosz Golaszewski Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2847; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=XuIPI4ieBoEl2z7TePLiJbxNf6IybKJInbnNQo0jmzk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpxmCqbHnz+JQ7fxxuKGEEJIDKi9207XwCNsREe K85clTSLP2JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacZgqgAKCRAFnS7L/zaE wyf2D/9JAtxu14dgjoLaRmQXDik2R1fy36UY1NQNJXziMS53lD4HjRA7QG91OFbLMv7lHmCvr16 +zvsdJUMM67aUNlc/j36xbGZUNkDCrr0r+jQlQevnu2s/XViQoshfmedPIQl/nYvBtRvytkzBFR /zHM4H21TD/TtsjSwaoX9nKj5zQ3sKRarSKKq0S0ThBoAgsB5aJeQu2vWOza18gfNFqVXbK1ZRp vRsXolvXHW3//GstCVY+QPsJY/pmp2NJi96l9bhmeiFIXcip/dcGC9Zlz1n7R431VmXLRtqC1PQ ffcm8clYnNh3/uMQ4xln7HtO0dj2/M80+qlt9oUuCfpsCuXEelZC+FSUav+asYTyNewOFLHKGBh o9y8EuHPS3C8brXNGl9Snr8CKf53L0XLx4Zsa/Zl019ao41JbuMM4NOwRb3BeDquPf1HsLpm8YA z3nB/ncR3FBEcBZHHbdCA5FgYUQQv32Ymxy5wCeO29AM4Th1U2meOY7QvAbgmlUSx9Rueoqbb4n C0/NRa/kAg2ubRIcWHOwO+7IQxe+aSUn/HIWeTOplR+WTt8Eu8LAnR7rDSu+KFcWot6xJSQCEba 4PzqUFdXAk6BukYsf6yHVXvs9PVoaoQGMzzdG4Yw3L4P3Xw27I/mLr9aTck3exx7ckmZsIebA29 5AeZelbNYyx2wYw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI3MDA3NiBTYWx0ZWRfX9mwAvdM+Vogm 7fcHXhgEARyDwAaUb/LmztmDBE2w+5jLH2Cjhq62BVSYgPGqf4ghwM3zR1YRcSfd9wYA6Y7GcmM 4Qzxav7hKtUGxA5/Eo8FforqEExW1wDvi7B2HhX9vRYNBiYSyvggL9nH+kPiYkIoXfGa5y2tRyk jtRlUgxOMdhRgRlrzxqyWSSHC+OJCRGqcTOR9976GPGUhn7Xyl+3D9hGrykbbl2Wf0piRYhoZyq ofyBRZ0n7twGluDw+c2WrLdONE4ekCG9XtNmZPEWRe2BUpqaIoItmzqghAF6Z+U6NYeMujF0ai4 WHo7KDIGItRz6EM+Azb7/jzvYvpE+CFc0rDdWSJd2tl5Jjsyid482k0LygRbeL0VBo2O7VO1mWW SzRo5wMSI0ytE7JGYrAvNDC6TCdZgJhtlCY1Q22E5kg6CKDqJG3+iNrZd93NxWizGxSbLbfgjfp Aq7jsVyMBqKAjpy2yMw== X-Proofpoint-ORIG-GUID: jJBPgI_UTF_Xnzfn9CO3jl2nXkauRbPj X-Authority-Analysis: v=2.4 cv=BZrVE7t2 c=1 sm=1 tr=0 ts=69c660b4 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=QyXUC8HyAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=XD4rdcNWEOdSxKZ21CcA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: jJBPgI_UTF_Xnzfn9CO3jl2nXkauRbPj 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-03-26_04,2026-03-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603270076 Using generic device properties instead of custom platform data structures is preferred due to the resulting unification of the way properties are accessed in consumer drivers. There's no DT node for the GPIO cell in this driver but we can create a software node with device properties and attach it to all the GPIO cells. Reviewed-by: Andy Shevchenko Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski --- drivers/mfd/timberdale.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c index d79419215cc292b705031a6432e877b94f9a1805..0ab3da3d6818e2108694dcf73f3= 2184a167b701a 100644 --- a/drivers/mfd/timberdale.c +++ b/drivers/mfd/timberdale.c @@ -38,6 +38,8 @@ #define DRIVER_NAME "timberdale" =20 #define GPIO_NR_PINS 16 +#define GPIO_BASE 0 +#define IRQ_BASE 200 =20 struct timberdale_device { resource_size_t ctl_mapbase; @@ -183,6 +185,18 @@ static struct timbgpio_platform_data .irq_base =3D 200, }; =20 +static const struct property_entry timberdale_gpio_properties[] =3D { + PROPERTY_ENTRY_U32("ngpios", GPIO_NR_PINS), + PROPERTY_ENTRY_U32("gpio-base", GPIO_BASE), + PROPERTY_ENTRY_U32("irq-base", IRQ_BASE), + { } +}; + +static const struct software_node timberdale_gpio_swnode =3D { + .name =3D "timb-gpio", + .properties =3D timberdale_gpio_properties, +}; + static const struct resource timberdale_gpio_resources[] =3D { { .start =3D GPIOOFFSET, @@ -394,6 +408,7 @@ static const struct mfd_cell timberdale_cells_bar0_cfg0= [] =3D { .resources =3D timberdale_gpio_resources, .platform_data =3D &timberdale_gpio_platform_data, .pdata_size =3D sizeof(timberdale_gpio_platform_data), + .swnode =3D &timberdale_gpio_swnode, }, { .name =3D "timb-video", @@ -456,6 +471,7 @@ static const struct mfd_cell timberdale_cells_bar0_cfg1= [] =3D { .resources =3D timberdale_gpio_resources, .platform_data =3D &timberdale_gpio_platform_data, .pdata_size =3D sizeof(timberdale_gpio_platform_data), + .swnode =3D &timberdale_gpio_swnode, }, { .name =3D "timb-mlogicore", @@ -518,6 +534,7 @@ static const struct mfd_cell timberdale_cells_bar0_cfg2= [] =3D { .resources =3D timberdale_gpio_resources, .platform_data =3D &timberdale_gpio_platform_data, .pdata_size =3D sizeof(timberdale_gpio_platform_data), + .swnode =3D &timberdale_gpio_swnode, }, { .name =3D "timb-video", @@ -568,6 +585,7 @@ static const struct mfd_cell timberdale_cells_bar0_cfg3= [] =3D { .resources =3D timberdale_gpio_resources, .platform_data =3D &timberdale_gpio_platform_data, .pdata_size =3D sizeof(timberdale_gpio_platform_data), + .swnode =3D &timberdale_gpio_swnode, }, { .name =3D "timb-video", --=20 2.47.3