Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216854/?format=api
{ "id": 2216854, "url": "http://patchwork.ozlabs.org/api/patches/2216854/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260327-gpio-timberdale-swnode-v3-3-9a1bc1b2b124@oss.qualcomm.com/", "project": { "id": 42, "url": "http://patchwork.ozlabs.org/api/projects/42/?format=api", "name": "Linux GPIO development", "link_name": "linux-gpio", "list_id": "linux-gpio.vger.kernel.org", "list_email": "linux-gpio@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260327-gpio-timberdale-swnode-v3-3-9a1bc1b2b124@oss.qualcomm.com>", "list_archive_url": null, "date": "2026-03-27T10:49:09", "name": "[v3,3/4] gpio: timberdale: use device properties", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "5e620bc26814a1ab9da66633cfbb72f09a92c729", "submitter": { "id": 92196, "url": "http://patchwork.ozlabs.org/api/people/92196/?format=api", "name": "Bartosz Golaszewski", "email": "bartosz.golaszewski@oss.qualcomm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260327-gpio-timberdale-swnode-v3-3-9a1bc1b2b124@oss.qualcomm.com/mbox/", "series": [ { "id": 497744, "url": "http://patchwork.ozlabs.org/api/series/497744/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=497744", "date": "2026-03-27T10:49:07", "name": "gpio: timberdale: remove platform data header", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/497744/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216854/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216854/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-34251-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-gpio@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=dJhCHq21;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=THwXaWlL;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34251-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"dJhCHq21\";\n\tdkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"THwXaWlL\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.180.131", "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com" ], "Received": [ "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fhyJx6Jdjz1y1j\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 21:57:21 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 25488306190D\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 10:49:49 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 25F343E4C84;\n\tFri, 27 Mar 2026 10:49:29 +0000 (UTC)", "from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com\n [205.220.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 486D33E3DA3\n\tfor <linux-gpio@vger.kernel.org>; Fri, 27 Mar 2026 10:49:27 +0000 (UTC)", "from pps.filterd (m0279870.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 62R6w8O13132274\n\tfor <linux-gpio@vger.kernel.org>; Fri, 27 Mar 2026 10:49:26 GMT", "from mail-qt1-f197.google.com (mail-qt1-f197.google.com\n [209.85.160.197])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d59s434kp-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <linux-gpio@vger.kernel.org>; Fri, 27 Mar 2026 10:49:26 +0000 (GMT)", "by mail-qt1-f197.google.com with SMTP id\n d75a77b69052e-50b52a2d70cso53346861cf.3\n for <linux-gpio@vger.kernel.org>;\n Fri, 27 Mar 2026 03:49:26 -0700 (PDT)", "from brgl-qcom.local ([2a01:cb1d:dc:7e00:94ec:a3a:baff:9151])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43b9192e5f0sm14989445f8f.4.2026.03.27.03.49.23\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 27 Mar 2026 03:49:24 -0700 (PDT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774608568; cv=none;\n b=Xkiyh3pW95/kBIwJ8KwmdXCE+7BmwdS5WIB7GQ1x9kWNaH5lEwoXjTSI0OXGxIjx3vcBOIo+lW/GhZBPHL5aOM33k+a73tVi20UuJTPDJ78r0lklSKjr4JToL5Mw1+LANAG5QVc8rHpCvMraxQguBnAwEpqKNleqT29SxELu8ws=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774608568; c=relaxed/simple;\n\tbh=Ep73WedrebpbKJnetklA1VzKV2HFZc7cQPWWzqC1Pkg=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=SstNjc1MXxf5QCDDK8i9XkKBHfdR7MlucwhaRqABwBc5XvOWFGgg0QwrhqB9/8j1UkzFN65EXm/qe8FFHKlOIcnD6Brjo52IUD892jL2+QfE5svyAcdJqD6izxqRp98tgXpcV3yXWtfG0OsTzihFxghL27o2ihpEBdiaf4cL+HM=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com;\n spf=pass smtp.mailfrom=oss.qualcomm.com;\n dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=dJhCHq21;\n dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=THwXaWlL; arc=none smtp.client-ip=205.220.180.131", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\t3gh4fJreUbVkURHW/Am6A36Xt5BQCzDlbaLC/dDBeH4=; b=dJhCHq217PK5i8xD\n\t0GTDLGoNgJe4UYeo6P+16u0nvsaPjUYSwkK09rEyTe2yK4ptv4XdkbJQBUfNrBAF\n\tBg8BBXT7un1OzbFpEiKz7Xpvoxl4ogziHoZyaYvHUDIZ4hazbenxPdKmFsS661qK\n\tYZZMi2Kvr+PDzgkU0LC/zieCgoP7JBLqW2BnT38zey/BLZsfMHx3pTDLLLKyf5fv\n\t5DhTfAizhSUo/MnSJKhpqEumvT8vThCEs/f+3CapW+IKk9h4yHfoCFvff0FeSLdb\n\tuXueE0/fJQG0TR1Nn2QoR5mVCCIHZY5bwpa+7Eze2gVcTtLXiqHFptqBcl2dAhiB\n\tcC0frg==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1774608566; x=1775213366;\n darn=vger.kernel.org;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n :reply-to;\n bh=3gh4fJreUbVkURHW/Am6A36Xt5BQCzDlbaLC/dDBeH4=;\n b=THwXaWlL7yKcW8o1XlVSCULtVy4aFeSWf/qdZnO9+cdBY0/GQhozrKPzZCxwx2okLz\n mmus6e2AdRsQLVDHm0vcx3row7LG3K9FTEbMZs6RHdHz/nWJANBRQ+i1vJZakqE0kcRK\n mjmxK4HFhf0hyjcQ+MhpJfEy5I7R2yNnTPPXXoj3VmQg/XJe3KNQtC+g5cMZhyl7U0Gk\n m4Ibq0y8ba1gTGpRK4m2+0dAbkqbWwCFpndafDigGLYRKGXjNDOcaAhgWuu1EwRYAk4w\n aplROvIsmnlkzmC8bZ1MFaNsaWi+WMEh5BoLUgPLjYDGQVXHnvBe2Zv0iaAVaqcBzp/d\n s9JQ==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774608566; x=1775213366;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=3gh4fJreUbVkURHW/Am6A36Xt5BQCzDlbaLC/dDBeH4=;\n b=drorVHoEIs5hlDfOf1sulpV29SMG97NFZzNt7tptnHs/bYD9rEYfGJ9FSvO35a72oE\n uBv5KqDV0Y9/jerpiYW/6qT8er5wXkymffUJRbVPo5e2eSZt6KagpDHlei3PMFe6uqVl\n 77aYlHmN1s+KnO2dNW6H9FwtRUvyuRmN6Xdhh+QgsgKBHo3u/+dw7xKqZtGz/PvJTS+K\n hp590HHf3kZa401OKLj4bC2B+XScm3W8k5ygOfj9kwbtnh1Tj/QrntdJZvGE+/tbl7d5\n hp4gh63SwvJb8XZR2AngB5e3FCYoyh2p+EXS8WnL5iwtvOqkbF9zwblfMEgdp2PRKsc7\n rtNA==", "X-Forwarded-Encrypted": "i=1;\n AJvYcCUkjbNnSjicWcH8QEy/UhoLrfY7MilB4E9etYRUXEab20o43KghJ9gs8Mx3msR8oDe0w4xog9M11aia@vger.kernel.org", "X-Gm-Message-State": "AOJu0YzNwjTYYRRv6TavOCofwRTbG3MOg8t0FCAujng11XyXjh2X6zCs\n\trx7Sf0BW8DwA4HVMwB/xJ8NALG1LPI671LvEKziPJVKKtu462kQ+XSGv2tgyW1GSLm+AxO8Cy63\n\tjfYBQ3vUSSQac9PsMpNZfqpXtXdQrmYEdcw1NODr8oYeQIdGArA680InQJT+F6Niy", "X-Gm-Gg": "ATEYQzyX6vJcZXma/DdlJpyXNzITIhKwT1ji9nfbrN9dZjEETejatikXk9IBeKykkXI\n\t9eI7yYMlGmrbUL5EJ12cw3bSi2onJ31n3R0ob03QEFItyTtTE9QykxNHSlUT7RguRtu6weNJ7yQ\n\t+TxYSmoJEsdqJkCjrZ46YrOL0Y7GMmhbB+EhKCpY6FMJsm99mkXcRBChrMA2vT6hRrV/Xzk8Us7\n\tH6ZFx9KPnJB75FnZnOL0PFr8gijAnwsFCKdmlkcQaNY9BRw9WTGcUJqbWZHvslSrpwMnAjb5mfB\n\tZG9Ulm51jAWXGtEZ2C8NRRS9nFcBqnzb57W1UIGJQv3iXqS06RV5g1Y0RKObUMAu8xzs6n3vnK+\n\tNEjh8SO/4VIcXHzax8GfuvRnP7kqtT1LKgJwXg9/8mSUNivEmJVQ=", "X-Received": [ "by 2002:a05:622a:215:b0:50b:4be1:7c95 with SMTP id\n d75a77b69052e-50ba3874520mr23200251cf.30.1774608565586;\n Fri, 27 Mar 2026 03:49:25 -0700 (PDT)", "by 2002:a05:622a:215:b0:50b:4be1:7c95 with SMTP id\n d75a77b69052e-50ba3874520mr23200021cf.30.1774608565186;\n Fri, 27 Mar 2026 03:49:25 -0700 (PDT)" ], "From": "Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>", "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-gpio@vger.kernel.org", "List-Id": "<linux-gpio.vger.kernel.org>", "List-Subscribe": "<mailto:linux-gpio+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-gpio+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "\n <20260327-gpio-timberdale-swnode-v3-3-9a1bc1b2b124@oss.qualcomm.com>", "References": "\n <20260327-gpio-timberdale-swnode-v3-0-9a1bc1b2b124@oss.qualcomm.com>", "In-Reply-To": "\n <20260327-gpio-timberdale-swnode-v3-0-9a1bc1b2b124@oss.qualcomm.com>", "To": "Lee Jones <lee@kernel.org>, Linus Walleij <linusw@kernel.org>,\n Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Bartosz Golaszewski <brgl@kernel.org>", "Cc": "linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,\n Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>", "X-Mailer": "b4 0.14.2", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=2948;\n i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id;\n bh=Ep73WedrebpbKJnetklA1VzKV2HFZc7cQPWWzqC1Pkg=;\n b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpxmCrMewKL3a7HaCH5yH5xN5btCwSdGah5379h\n PavOv/zMniJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCacZgqwAKCRAFnS7L/zaE\n w80iD/49UWD8QLaOpsw83Cd+CIinyErFkj5e5Lor8pXv8StI5JwEiX97lB/+KfAhKvZktE1A9T9\n gVIx4T3T1mAhovcHpqUBWE356KoWA072Xax88DLLLWKKWKKiBxVkCtlyRJ+8zzMRYJ8/di8gBK9\n +VEEuQOeF3qlUv3v1Vxyovx7W9FV8T80DVJPZCk4SQN1BFz8WXPEXVBbgX72Q6kMGlqAABxPBMj\n SKS4nE7gFpkQehmWbSrDYfLyExUISAZnXcl1uUN0UVzGAjsiRnimYn3rye77b59GBRZGxslZVr0\n wKJ0Ekzy4pglGt++lPYnzsqeWV+QCAqELo6lxRilp0lHyXqT7/cHldrKQ6r3OpGBaK4c5quS4UF\n +KHlvrUvNA69TRDQa2qdSPYhX7Ry4V6c/YAzNoR8sojYdaKDbB1GXDG7GVIbXW14DtscK+2Wokn\n TGCr37X0dXrH2Ts6iUPQWk+nB3VownOykeTO/xt0mfy2HixZuSk/OhvznKSFsAvYwvtVAuSV0ao\n WuJcrYgb5lRGIvEzU+USRQHAVKhubef0fi22eek0eUn4/FvsGONAj+4d5T6yAphOLT+8ApT24fX\n Fsscr3dv6XPGe2jrX/mwM7CG4DmIo3Aa+zI8uSkgqbBitUw2H8EKkc/U4ehFID1gxezuCdCbrCO\n Wc3GmJfYs1bqMKg==", "X-Developer-Key": "i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp;\n fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772", "X-Proofpoint-ORIG-GUID": "X9PCAfnr3frPeU6XjlaUThT2LWjz4l6M", "X-Proofpoint-GUID": "X9PCAfnr3frPeU6XjlaUThT2LWjz4l6M", "X-Authority-Analysis": "v=2.4 cv=CoGys34D c=1 sm=1 tr=0 ts=69c660b6 cx=c_pps\n a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=QyXUC8HyAAAA:8\n a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=8x3tX-5dUG4wHQunnKcA:9 a=QEXdDO2ut3YA:10\n a=a_PwQJl-kcHnX1M80qC6:22", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwMzI3MDA3NiBTYWx0ZWRfX11jh2oS3gZXo\n ZkVa53bJWbtsX+RCzkR6ok1xNMTha7sLV9TKnwdTY0i6H3LVd5D8C2wM8RzIHecYNPkWJVJcGGe\n qZNSVVmZdmVZYNpL4qDTKxdcsGCPWVugUqyXUWFtFAa4iXWdy91zIB8cunjp7OwXNMd8zH7mVK1\n yoIsVx7Z5jm3/m4uDWHz8iwjCC7MJCVWqH6qqdzHcV9CrjVpYdiHO5fIPpcki9hCwUyH5e9o6b0\n 4EUhypu1OF4ejyruiBRNIiv5o1mH1EPpz28idH2uEzNTClFyDF7knkNA7dr+yvwsj/bjEUT40F5\n kPVCYNky6LQBkHtlcmuRBgzevWlLI0rfaFW1mOf5d2MeI39WIFb7gZgF6h2g2GLpVpo/SKvlWIb\n M+rLGMba9vYE29i62R2/ovsjreww7mWjWy1uLobKNSfEc85tRW1LcbfZofhTl0310jjECnalejw\n vZ6toswUxmq8Al3qpuA==", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-03-26_04,2026-03-26_01,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n spamscore=0 adultscore=0 suspectscore=0 malwarescore=0 clxscore=1015\n lowpriorityscore=0 bulkscore=0 priorityscore=1501 impostorscore=0\n phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001\n definitions=main-2603270076" }, "content": "The top-level MFD driver now passes the device properties to the GPIO\ncell via the software node. Use generic device property accessors and\nstop using platform data. We can ignore the \"ngpios\" property here now\nas it will be retrieved internally by GPIO core.\n\nReviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>\nReviewed-by: Linus Walleij <linusw@kernel.org>\nSigned-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n---\n drivers/gpio/gpio-timberdale.c | 26 +++++++++++++-------------\n 1 file changed, 13 insertions(+), 13 deletions(-)", "diff": "diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c\nindex f488939dd00a8a7f332d3af27962a38a3b7e6ecf..78fe133f5d32350567c28a1cc982d7bb3183ff2b 100644\n--- a/drivers/gpio/gpio-timberdale.c\n+++ b/drivers/gpio/gpio-timberdale.c\n@@ -14,7 +14,6 @@\n #include <linux/platform_device.h>\n #include <linux/irq.h>\n #include <linux/io.h>\n-#include <linux/timb_gpio.h>\n #include <linux/interrupt.h>\n #include <linux/slab.h>\n \n@@ -225,19 +224,21 @@ static int timbgpio_probe(struct platform_device *pdev)\n \tstruct device *dev = &pdev->dev;\n \tstruct gpio_chip *gc;\n \tstruct timbgpio *tgpio;\n-\tstruct timbgpio_platform_data *pdata = dev_get_platdata(&pdev->dev);\n \tint irq = platform_get_irq(pdev, 0);\n \n-\tif (!pdata || pdata->nr_pins > 32) {\n-\t\tdev_err(dev, \"Invalid platform data\\n\");\n-\t\treturn -EINVAL;\n-\t}\n-\n \ttgpio = devm_kzalloc(dev, sizeof(*tgpio), GFP_KERNEL);\n \tif (!tgpio)\n \t\treturn -EINVAL;\n \n-\ttgpio->irq_base = pdata->irq_base;\n+\tgc = &tgpio->gpio;\n+\n+\terr = device_property_read_u32(dev, \"irq-base\", &tgpio->irq_base);\n+\tif (err)\n+\t\treturn err;\n+\n+\terr = device_property_read_u32(dev, \"gpio-base\", &gc->base);\n+\tif (err)\n+\t\treturn err;\n \n \tspin_lock_init(&tgpio->lock);\n \n@@ -245,8 +246,6 @@ static int timbgpio_probe(struct platform_device *pdev)\n \tif (IS_ERR(tgpio->membase))\n \t\treturn PTR_ERR(tgpio->membase);\n \n-\tgc = &tgpio->gpio;\n-\n \tgc->label = dev_name(&pdev->dev);\n \tgc->owner = THIS_MODULE;\n \tgc->parent = &pdev->dev;\n@@ -256,21 +255,22 @@ static int timbgpio_probe(struct platform_device *pdev)\n \tgc->set = timbgpio_gpio_set;\n \tgc->to_irq = (irq >= 0 && tgpio->irq_base > 0) ? timbgpio_to_irq : NULL;\n \tgc->dbg_show = NULL;\n-\tgc->base = pdata->gpio_base;\n-\tgc->ngpio = pdata->nr_pins;\n \tgc->can_sleep = false;\n \n \terr = devm_gpiochip_add_data(&pdev->dev, gc, tgpio);\n \tif (err)\n \t\treturn err;\n \n+\tif (gc->ngpio > 32)\n+\t\treturn dev_err_probe(dev, -EINVAL, \"Invalid number of pins\\n\");\n+\n \t/* make sure to disable interrupts */\n \tiowrite32(0x0, tgpio->membase + TGPIO_IER);\n \n \tif (irq < 0 || tgpio->irq_base <= 0)\n \t\treturn 0;\n \n-\tfor (i = 0; i < pdata->nr_pins; i++) {\n+\tfor (i = 0; i < gc->ngpio; i++) {\n \t\tirq_set_chip_and_handler(tgpio->irq_base + i,\n \t\t\t&timbgpio_irqchip, handle_simple_irq);\n \t\tirq_set_chip_data(tgpio->irq_base + i, tgpio);\n", "prefixes": [ "v3", "3/4" ] }