From nobody Thu Apr 2 18:49:17 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 77B673E3DAB for ; Fri, 27 Mar 2026 10:49:27 +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=1774608569; cv=none; b=SS6R/5Ta2aUlkMmYfbJyfPQDKtc1y23nHDQiv0CDv6VsU8Gjt6dLLpq4WihRzmQ5ubcSdEY8rq7yCZ3X+fE8Lx37Q0JFIWL5ATy8Lgx6H1h7iuvHKK1VmMO/Kv6EnAqEMFgO2FE0IrDM/ikVoyR/uYArbogdrJ6CybQWv3ydv+Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774608569; c=relaxed/simple; bh=Ep73WedrebpbKJnetklA1VzKV2HFZc7cQPWWzqC1Pkg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UX3KWfLWjDhjCtfDVzPPsObJ7Z1VL3FNhQWYbDMWoZv/8RxlOgJM2z87OgCNTdLYSb9Wqp+WY476rTua5Y7JNaokKYzVKlmeEsN9svKOC5BtYVwvekLuXkMUYnz/QYgCrJvpYOYkDbviIT2igvCiaD8d+D3M4ClCEyMclAU40SY= 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=dJhCHq21; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=THwXaWlL; 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="dJhCHq21"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="THwXaWlL" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62R6wEvY1710586 for ; Fri, 27 Mar 2026 10:49:26 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= 3gh4fJreUbVkURHW/Am6A36Xt5BQCzDlbaLC/dDBeH4=; b=dJhCHq217PK5i8xD 0GTDLGoNgJe4UYeo6P+16u0nvsaPjUYSwkK09rEyTe2yK4ptv4XdkbJQBUfNrBAF Bg8BBXT7un1OzbFpEiKz7Xpvoxl4ogziHoZyaYvHUDIZ4hazbenxPdKmFsS661qK YZZMi2Kvr+PDzgkU0LC/zieCgoP7JBLqW2BnT38zey/BLZsfMHx3pTDLLLKyf5fv 5DhTfAizhSUo/MnSJKhpqEumvT8vThCEs/f+3CapW+IKk9h4yHfoCFvff0FeSLdb uXueE0/fJQG0TR1Nn2QoR5mVCCIHZY5bwpa+7Eze2gVcTtLXiqHFptqBcl2dAhiB cC0frg== 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 4d5bxvjn8m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 27 Mar 2026 10:49:26 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50939597b85so44870351cf.2 for ; Fri, 27 Mar 2026 03:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774608566; x=1775213366; 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=3gh4fJreUbVkURHW/Am6A36Xt5BQCzDlbaLC/dDBeH4=; b=THwXaWlL7yKcW8o1XlVSCULtVy4aFeSWf/qdZnO9+cdBY0/GQhozrKPzZCxwx2okLz mmus6e2AdRsQLVDHm0vcx3row7LG3K9FTEbMZs6RHdHz/nWJANBRQ+i1vJZakqE0kcRK mjmxK4HFhf0hyjcQ+MhpJfEy5I7R2yNnTPPXXoj3VmQg/XJe3KNQtC+g5cMZhyl7U0Gk m4Ibq0y8ba1gTGpRK4m2+0dAbkqbWwCFpndafDigGLYRKGXjNDOcaAhgWuu1EwRYAk4w aplROvIsmnlkzmC8bZ1MFaNsaWi+WMEh5BoLUgPLjYDGQVXHnvBe2Zv0iaAVaqcBzp/d s9JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774608566; x=1775213366; 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=3gh4fJreUbVkURHW/Am6A36Xt5BQCzDlbaLC/dDBeH4=; b=Jk3g9LXvyHVZ77V/5wiiH/t9UFNPhQZ4MXOnuRObXjBVd244OzZOotEhUSyQIfFYqh j12HDPKy25f/C2AXyo6e9MqktZ3wFRP6jK3DRqj8J6hOTiSR6LdxxaaITr7lqywQQIIo pElBF8fUUyS6Wh2lzKzzuXv+D1JSwTawrReU95cGw1hAHHpEWGpNziM4iFw0Nj5v6mgx 5FL2wSgl3aOwBJtd42tJ2BZwCPAZRCoRNBEOUkvv3+47mfdr4A+VwPCTB4/dvXwSjOZw wcRM7MqTmMDUVEgk7qJo6rvZVQIn2GsWEtMdfSzs5hTNHTU5dry/Z5TeNE63m+5oLGmc 4+LA== X-Gm-Message-State: AOJu0YyLehmAzT10IvDSo/d7W+Ae6RbkJbCXgIyxsI3JO31QEjWRGfvV mroWRJ/U/fPjJbP554Wt+FApkF9TyxTGrjetkWVMhq6AIfLdAOjPEQhSlDB+iTLZgWwR76lZTpD f10gI4PQwLV2IGUG1yVjI2aO9kmg9oAgD8TD29py64wdbTQF0Rbx+Z4ZOz26PY+XWl4JMJuYQHX o= X-Gm-Gg: ATEYQzylZHFAumeK8E4Yo9fLxLb8AXYzMP7FR3XXc91RuOtRH0rPVJkNx4IjZxiuiVb 0ygo51bKzy+n/KJuC4l1JyopPuROLOEfREidMkrItkA0r3lszqD8GChoh767N63vLPgOAAqI+04 bVDZqjO55JLxDjmgnAmJxyXDyQJewjWtwqVdhX9yZ4wEyzSkpzVqp0XIIWLY4/xoyJHZuUFZXvJ FSvpXhYYc2FHDObxdN3wi2L4GtKtrAoTJ1CjXYIIyQoUJL88fPwsGjaBMsraUcGvKBRp65m0Ze6 PaqEpC8PMZZhez/mJiHG772oAzRWxFrESO6rCon6R3j4VFdhwnuYvXspVjySpKu1/y0dPivHEI8 jGyrQYowfUttqUYCmHxt4/F+s0Rh4E42gcNUSe9u+isdu5TASzqw= X-Received: by 2002:a05:622a:215:b0:50b:4be1:7c95 with SMTP id d75a77b69052e-50ba3874520mr23200301cf.30.1774608565593; Fri, 27 Mar 2026 03:49:25 -0700 (PDT) X-Received: by 2002:a05:622a:215:b0:50b:4be1:7c95 with SMTP id d75a77b69052e-50ba3874520mr23200021cf.30.1774608565186; Fri, 27 Mar 2026 03:49:25 -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.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2026 03:49:24 -0700 (PDT) From: Bartosz Golaszewski Date: Fri, 27 Mar 2026 11:49:09 +0100 Subject: [PATCH v3 3/4] gpio: timberdale: use device properties 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-3-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=2948; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Ep73WedrebpbKJnetklA1VzKV2HFZc7cQPWWzqC1Pkg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpxmCrMewKL3a7HaCH5yH5xN5btCwSdGah5379h PavOv/zMniJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacZgqwAKCRAFnS7L/zaE w80iD/49UWD8QLaOpsw83Cd+CIinyErFkj5e5Lor8pXv8StI5JwEiX97lB/+KfAhKvZktE1A9T9 gVIx4T3T1mAhovcHpqUBWE356KoWA072Xax88DLLLWKKWKKiBxVkCtlyRJ+8zzMRYJ8/di8gBK9 +VEEuQOeF3qlUv3v1Vxyovx7W9FV8T80DVJPZCk4SQN1BFz8WXPEXVBbgX72Q6kMGlqAABxPBMj SKS4nE7gFpkQehmWbSrDYfLyExUISAZnXcl1uUN0UVzGAjsiRnimYn3rye77b59GBRZGxslZVr0 wKJ0Ekzy4pglGt++lPYnzsqeWV+QCAqELo6lxRilp0lHyXqT7/cHldrKQ6r3OpGBaK4c5quS4UF +KHlvrUvNA69TRDQa2qdSPYhX7Ry4V6c/YAzNoR8sojYdaKDbB1GXDG7GVIbXW14DtscK+2Wokn TGCr37X0dXrH2Ts6iUPQWk+nB3VownOykeTO/xt0mfy2HixZuSk/OhvznKSFsAvYwvtVAuSV0ao WuJcrYgb5lRGIvEzU+USRQHAVKhubef0fi22eek0eUn4/FvsGONAj+4d5T6yAphOLT+8ApT24fX Fsscr3dv6XPGe2jrX/mwM7CG4DmIo3Aa+zI8uSkgqbBitUw2H8EKkc/U4ehFID1gxezuCdCbrCO Wc3GmJfYs1bqMKg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: RssopVW9R9HhueRWUwo47HL7v7NjGaIu X-Proofpoint-ORIG-GUID: RssopVW9R9HhueRWUwo47HL7v7NjGaIu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI3MDA3NiBTYWx0ZWRfX332RWozgLDA2 OV/R43OdSb6n4HqgIMS5Z0vdGnPuEpeqFmnTVHTySSQQVLdQZJbx+WDHMkC09xhFhskbYgJZgm7 yqY3Bia0NBN7ojEy2ZmaEUDJ5QrrPAaGThNiC25WC8occMS1MFUXkbWMNxiclDDlzji87NI8Brv SUT28G4uij0vwaYShvdaMKLgyxL7YeECq2SDpVyJPKWQoJwDyRkyMNRtLxUh5VWWhPJWw2AJVuW r01E8x79f3yCETA/aPPO0nIGme+GYAoiIzNBIa0erjtaLIY4+rph/56qF4LMruCDjXX9Q8wqKxf 6MIO0xic8QmF72TY4HXIhfpE630Cyk8/ruVNvAfhlsLtVouFzcNEDZucU87hI1sEeqrMoMCu0kO jeFoWjOPJDYtmVGoAWsK3PqpSDFWURpfumV2mWJp/7SuUrN7EzWLVtaQ3xnv5CLjdoz6VBosc27 X5WHrrxFuiGcFcNboOQ== X-Authority-Analysis: v=2.4 cv=ToXrRTXh c=1 sm=1 tr=0 ts=69c660b6 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=eoimf2acIAo5FJnRuUoq:22 a=QyXUC8HyAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=8x3tX-5dUG4wHQunnKcA: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-03-26_04,2026-03-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603270076 The top-level MFD driver now passes the device properties to the GPIO cell via the software node. Use generic device property accessors and stop using platform data. We can ignore the "ngpios" property here now as it will be retrieved internally by GPIO core. Reviewed-by: Andy Shevchenko Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-timberdale.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c index f488939dd00a8a7f332d3af27962a38a3b7e6ecf..78fe133f5d32350567c28a1cc98= 2d7bb3183ff2b 100644 --- a/drivers/gpio/gpio-timberdale.c +++ b/drivers/gpio/gpio-timberdale.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include =20 @@ -225,19 +224,21 @@ static int timbgpio_probe(struct platform_device *pde= v) struct device *dev =3D &pdev->dev; struct gpio_chip *gc; struct timbgpio *tgpio; - struct timbgpio_platform_data *pdata =3D dev_get_platdata(&pdev->dev); int irq =3D platform_get_irq(pdev, 0); =20 - if (!pdata || pdata->nr_pins > 32) { - dev_err(dev, "Invalid platform data\n"); - return -EINVAL; - } - tgpio =3D devm_kzalloc(dev, sizeof(*tgpio), GFP_KERNEL); if (!tgpio) return -EINVAL; =20 - tgpio->irq_base =3D pdata->irq_base; + gc =3D &tgpio->gpio; + + err =3D device_property_read_u32(dev, "irq-base", &tgpio->irq_base); + if (err) + return err; + + err =3D device_property_read_u32(dev, "gpio-base", &gc->base); + if (err) + return err; =20 spin_lock_init(&tgpio->lock); =20 @@ -245,8 +246,6 @@ static int timbgpio_probe(struct platform_device *pdev) if (IS_ERR(tgpio->membase)) return PTR_ERR(tgpio->membase); =20 - gc =3D &tgpio->gpio; - gc->label =3D dev_name(&pdev->dev); gc->owner =3D THIS_MODULE; gc->parent =3D &pdev->dev; @@ -256,21 +255,22 @@ static int timbgpio_probe(struct platform_device *pde= v) gc->set =3D timbgpio_gpio_set; gc->to_irq =3D (irq >=3D 0 && tgpio->irq_base > 0) ? timbgpio_to_irq : NU= LL; gc->dbg_show =3D NULL; - gc->base =3D pdata->gpio_base; - gc->ngpio =3D pdata->nr_pins; gc->can_sleep =3D false; =20 err =3D devm_gpiochip_add_data(&pdev->dev, gc, tgpio); if (err) return err; =20 + if (gc->ngpio > 32) + return dev_err_probe(dev, -EINVAL, "Invalid number of pins\n"); + /* make sure to disable interrupts */ iowrite32(0x0, tgpio->membase + TGPIO_IER); =20 if (irq < 0 || tgpio->irq_base <=3D 0) return 0; =20 - for (i =3D 0; i < pdata->nr_pins; i++) { + for (i =3D 0; i < gc->ngpio; i++) { irq_set_chip_and_handler(tgpio->irq_base + i, &timbgpio_irqchip, handle_simple_irq); irq_set_chip_data(tgpio->irq_base + i, tgpio); --=20 2.47.3