From nobody Tue Apr 7 05:58: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 B62F4386C21 for ; Mon, 16 Mar 2026 09:31:07 +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=1773653469; cv=none; b=C7srmzpsnNGcJrW9XUTAn2dh1RVfhS3qT1xXIx2uEa9EwZPgMWn0IIEggfRlsHQDB+waABncStke+/cnfwJP2+qsNwXh8T7wbQ1rGXnifjIXION/Al49ZIY3VcNXGJJqViAt/z71B7xaHIcYP1Nw/8FAqlS280i2RQEpgjDExCU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773653469; c=relaxed/simple; bh=+44tN/bN6MT5lqNgwWH+8Ci/5JUP3X2LCmvp3kkEoB0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZCHusH+GU9NhJyEpxi3lxKqIECpA1KYHXxTzbAy+dYDQDvolt/QT97dIl8HRp4cT7F7JbpbPtRgOTDDLbHmZ5SndvmZq6JB1oHRSmHLyI9ZP6/GjsJ05jNcFQdeym/KSitLUIcKayx3mvV1SSzi2vv3QwXtjEsvIJTqri4kuags= 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=kUxCM7cz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kUJ58Kdc; 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="kUxCM7cz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kUJ58Kdc" 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 62G64lLq2672292 for ; Mon, 16 Mar 2026 09:31: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= KCr1tiqyjJgScRsh3FLfIf/Dj6zE8CmQnzu+1BIIhkw=; b=kUxCM7czOyt7WX+N dyUBLNFkMil9ZYvtK8+wlu/EhULIy6hrQkaWsNnC/q3f7fjCoukQWmTvRdEk+kj6 q2GXLdmFeD6oyNZyZ742aolKgnicvKv4vT80MgAKPuJCPRRHhaTLObLfMbV+xlQB qgBoucPalqSftZwkU6uwH5RS4yRb8sLxI5Go03DnMscV8f/ZoSlTD8vDCokyrUB/ sPC5+KWdZ0m/nw59/QGzOx4v6ZB2gVAmIc70evZg6lJ9fDXEzBc4rJtNZoRuk3nS EDEudZKklG7mr0JkToSUfKWloDL0N94Fj4W7sib67Yufx4mOaZEjsSuWs7DtvD9K Av4V3A== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cw03xn2na-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 16 Mar 2026 09:31:06 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cd722c1a69so2686889985a.0 for ; Mon, 16 Mar 2026 02:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773653466; x=1774258266; 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=KCr1tiqyjJgScRsh3FLfIf/Dj6zE8CmQnzu+1BIIhkw=; b=kUJ58KdcktEzxJ0QHHnZdRqulPkj4bmPFdJAzUdB3ubhV9kbPjz0chyHQakD9R4DGw OJD9nj980qmwTUZUowkD8OOyt9AjFYBSDCc+i+Ai+R5RKVY7QByJzgWqPdH1uxjac2DV g1XBpvPgDcQT8imEs3Pz3SGo5W7BzG/hBBNX7UtowMwFKLBZlxOkFRBTNN9KEi0uzXyw piODb426OlTtspOXM2cPtHSW+5N17zs3ENzIRlSlukEP2sjWEbp//pZH1pbbgfjuvUmO X24Q7Nn/csJL+cxpmf/2BwiYxQLuQ8CFEoOu9C79lHVtLMRdEVZhMxiwoQwDw+DesElT 6D7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773653466; x=1774258266; 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=KCr1tiqyjJgScRsh3FLfIf/Dj6zE8CmQnzu+1BIIhkw=; b=MXNlWALv/EPbdRmW4N163DXCJiYvM3p0Eo+cIjoroyMM0wp1O5iQvOUeCOGJQ74xa0 SXWMUTPC5Cry8n5i7rEIMPxynZje1sBkhjkgsaR/CSmI9x32qeaCU7bNWmo7+68FoIDw TDUHvI98sHpqF14bjBYGVVcgJDcr+aa63u0ft4IEYjPu+NvOCqB3YI9Bo0yiBm9vTpu2 dxAi1Y/kI0GU4HWItDWpbNetIuFyK/LJ9UsLrKmL1gnWrH1sd3z3SZzSgPApPFBnUUWL YhH9nrqITYFrpCKO/S2HE1ULHvKMPirqBAWqqLZ8bLBjHdqpvgNvXsjfqBZGN7X/RTi1 6p+Q== X-Gm-Message-State: AOJu0YzLcrQo0eQgmiEwhcAzQt+/fjYlmdxUWy5OreHNiINtuvi0rD58 Ts9F3N2LzfRwfnkeCQArNA8oYMIggsqgBJYhRww9iX8lYuTPrE+cHzqpE+qjwSIqe4Ryt0MEBy6 xJv9y7lCMtCDsFfAOm7kD2nF16TcQPZElPHTRHWd1w9h+l4QSbq71jHWIUN5cYslxwfQ= X-Gm-Gg: ATEYQzwT8FhF1Uz65OeJ9iomzbbyRZSsgdhtA6xQEULKHFB5cY6H0YJAc9HQqCNuM0o UAMN8qvx/k+CDUtuqckJ0G6dSCdOqQZJ8HYFc7Zd1ZH67EuaOc8EqiPe3amQp0fp1dEJghhOiPk fc+Jl3Q1YdwJ2ebxoCho1GQ+PbuPEZlvI1NOYaNukAcZYky91CnMw5XcSj+HBp1W7k5vW4WBWS2 GZ6F+4XVsroH8G+tGtoscYtFtTMizswK3/RnEje8FZEsg5q6XKUJw6ZR1djTStjezGo2oEtcCEr LACIUwtgqA8j5Oo8Eeax3AGgL2uT4/GWcH/v6t/Kn8bBXZrg0QfiQMLBVCkpavWxy8Ypv8PVVEw GH6mRQ0qg0EFxOVux/plIaaf1lALLFeIIe+FhjedQcseiEqihCXx0 X-Received: by 2002:a05:620a:6608:b0:8cd:c086:98d5 with SMTP id af79cd13be357-8cdc0869906mr1162161485a.22.1773653466006; Mon, 16 Mar 2026 02:31:06 -0700 (PDT) X-Received: by 2002:a05:620a:6608:b0:8cd:c086:98d5 with SMTP id af79cd13be357-8cdc0869906mr1162159185a.22.1773653465549; Mon, 16 Mar 2026 02:31:05 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:ba9e:e504:fb0b:f1f3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe19b936sm43930688f8f.5.2026.03.16.02.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Mar 2026 02:31:04 -0700 (PDT) From: Bartosz Golaszewski Date: Mon, 16 Mar 2026 10:30:49 +0100 Subject: [PATCH v2 2/3] 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: <20260316-gpio-timberdale-swnode-v2-2-ea0078066871@oss.qualcomm.com> References: <20260316-gpio-timberdale-swnode-v2-0-ea0078066871@oss.qualcomm.com> In-Reply-To: <20260316-gpio-timberdale-swnode-v2-0-ea0078066871@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=2834; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=+44tN/bN6MT5lqNgwWH+8Ci/5JUP3X2LCmvp3kkEoB0=; b=kA0DAAoBBZ0uy/82hMMByyZiAGm3zdGh6r4LncUXJ/shWyJta9gn4gMbQFmzdjDdzXGk9wwXB okCMwQAAQoAHRYhBJHlEy3ltUYde6Jl/AWdLsv/NoTDBQJpt83RAAoJEAWdLsv/NoTDTF0P/05r VkrhOy4tI9rgJq81+hIlhFWLpUTGPrA/OxozrkuHybIfhdqmpNtgvnE6xSmaI3RMAdq/9hSbl+6 +KuDlznioBeilHfw1C6UQmRPIyXlG3NBdSZg/LQzteQlbJZr6ySv+MI45ibOWGNg6/oOXR4+6Ak 4k0YcdhsOf/jRrs05x6rryHhKOQDOP2Gf0W3JEMdy8bia9ag7WYmHtz8RCjLaww3BOpi+ybcxXM iwRsHA8IwxxlHXejrCHK9p2w7CJyd1x8z9rPlzVogTZKoqep6Z/MjHLDBTgr8CxBYGvyQ2FdHE9 aLqyd6naFwWVSGQDop6HocKANgzDAKO/JDvJkvkaeZARgzEOjoIqH55S/8LyEil5rnY3Y8UsFUu 4jCoHTnv/lUd8V/Q/8szGdRNNTW8HjK9Gc2s9Nzbg5DV/fzxROKWgKVk7ATZB5MGV1RZqhAl6/2 6IzsIZ8YxkizvvidBh3uK73pdGfLPqOmOrL8+FiVnU10WMzTsCXs/pOH+U+Yk+hHisLdZOmMeSj nVhYpHSyazXse2uR5lWCT7uXcnVmC5qGSrQXE3DK/H916JCXLGxBEfHVPsZTkVaqg4SkahXyjR6 ghLmht8Kaoj//hKXHxR6fvug/mGS97I79xV7hrHVf7WXeUG8/IUNCEsguYfBUwoJudJgeN2bYwL LoZMV X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDA3MyBTYWx0ZWRfX9wwm+93p2jJx WgQXzFIwEGlPx7PfcjMlet74QzJkrvm+YVNuI4uKPXjcVjNc6yeU831IdF0c/PF7OeCIZ8IrRIX TZsIWTJeWqcz7hAyhqN5qorguXwQFWUdzdtywwho/64+58QqoXJwh8cgETyhpiOGCY2i2e5+/3y qy/e3DIGpezfR53gYS5DIkafwQhDI1HNSQfr7GADXhG5mNCgbct5Y/P/kBRBDxEGwmwR6DAWCtH lAl5YCbE4Csud0xJUvlSy10AF68g94SBLE9+HWEeSaDNcu3B21PHsjBDvsbGprdo7EO/KT44cjX 19ny3XGzgPlC0LRoXJjvOkKcivsUKNAwrqiMrjgEJs4OF9CYaHQkpK0q/hNXhQzW2/ikU8cL7x2 8NIc3sgxGwBfyQZrjeZEzD0qEfY6Mov4BNzIpc4zqJIm7w0uTscsaZgAFCQsIdZREf+y2q4oen7 GfIf5ymdEfcO3YkMtCA== X-Authority-Analysis: v=2.4 cv=YLOSCBGx c=1 sm=1 tr=0 ts=69b7cdda cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=8x3tX-5dUG4wHQunnKcA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: -05WkXyrOnRW5Rg5tpsgE5kkLyMRNq-y X-Proofpoint-GUID: -05WkXyrOnRW5Rg5tpsgE5kkLyMRNq-y 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-16_03,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603160073 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. 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